/*
Theme Name:  Hello Elementor Child
Template: 	 hello-elementor
Theme URI:	 https://wordpress.org/themes/hello-elementor/
Author:		 Atlas - TravelNet Solutions
Author URI:	 https://tnsinc.com/
Version:	 1.0.0
License:	 GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags:    	 opensource
Text Domain: helloelementorchild
*/

body .logo-holder .header-logo a img,
body .e-off-canvas__content .mob-logo-holder .mob-menu-logo {
	max-width: 172px;
}

.elementor.elementor-16.elementor-location-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    transition: all 0.3s ease-in-out;
}


.e-off-canvas__main {
    animation-duration: 0.5s !important;
    /* Adjust the time as needed */
}

#cst-main-menu ul:not(.sub-menu) a:hover {
    /* 	font-weight:600; */
}

#cst-main-menu .elementor-item.elementor-item-active::after {
    height: 0;
}

#cst-main-menu .elementor-item.elementor-item-active:hover::after {
    height: 3px;
}

#cst-main-menu .sub-menu li {
    padding: 13px;
}

#cst-main-menu .sub-menu li a {
    padding: 5px;
    border-radius: 5px;
    font-weight: 500;
}

#cst-main-menu .sub-menu li a:hover {
    background-color: #EAE9DE;
    font-weight: 500;
}

/* Circle shape + bottom-right placement */
/* 320 Ranch hero slider arrows */
#cst-slider .elementor-swiper-button {
    top: auto;
    bottom: 60px;
    transform: none;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, 1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 1);
    font-size: 16px;
    background: transparent;
    transition: all 0.3s ease;
    z-index: 3;
}

#cst-slider .elementor-swiper-button-prev {
    left: auto;
    right: 174px;
}

#cst-slider .elementor-swiper-button-next {
    left: auto;
    right: 120px;
}

#cst-slider .elementor-swiper-button:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(237, 237, 237, 0.95);
}

#cst-slider .elementor-slides-wrapper {
    position: relative;
    /* anchor for the overlay; usually already set */
}

#cst-slider .elementor-slides-wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.31) 45.98%, rgba(255, 255, 255, 0.00) 100%);
    pointer-events: none;
    /* clicks pass through to arrows/slides */
    z-index: 1;
}

.a-home-boxes.is-home-slider>.swiper-wrapper {
    display: flex;
    align-items: stretch !important;
    height: auto !important;
    width: 100%;
    box-sizing: content-box;
    transition-property: transform;
    gap: 20px;
}

.a-home-boxes.is-home-slider .a-home-box.swiper-slide {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    align-self: stretch !important;
    margin: 0 !important;
}

.a-home-boxes.is-home-slider .a-home-box.swiper-slide {
    display: flex !important;
    flex-direction: column;
}

.a-home-boxes.is-home-slider .a-home-box.swiper-slide> :last-child {
    flex-grow: 1;
}

.season-hidden {
    display: none !important;
}

/* Off-canvas mobile menu (WordPress Menu widget with class cst-menu-mob) */
.cst-menu-mob {
    width: 100%;
}

.cst-menu-mob .elementor-nav-menu--main .elementor-nav-menu>li {
    border-bottom: 1px solid #F9F6EE;
}

.cst-menu-mob .elementor-nav-menu--main .elementor-nav-menu>li>a.elementor-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 61px;
    padding: 16.5px 0 18.5px 0;
    font-family: "Calistoga", serif;
    font-size: 26px;
    font-weight: 400;
    line-height: 27px;
    color: #F9F6EE;
    background: transparent;
}

.cst-menu-mob .elementor-nav-menu--main .elementor-nav-menu>li>a.elementor-item:hover,
.cst-menu-mob .elementor-nav-menu--main .elementor-nav-menu>li>a.elementor-item:focus {
    color: #D4B07D;
}

.cst-menu-mob .elementor-nav-menu--main .elementor-nav-menu>li>a.elementor-item.has-submenu {
    min-height: 60px;
    padding: 16.5px 0 16.5px 0;
}

/* Open parent: header sits tight above its sub-items */
.cst-menu-mob .elementor-nav-menu--main .elementor-nav-menu>li>a.elementor-item.highlighted {
    min-height: 0;
    padding-bottom: 0;
}

/* +/− indicator replaces the widget's submenu icon */
.cst-menu-mob .elementor-nav-menu--main .sub-arrow {
    padding: 0;
    margin: 0;
}

.cst-menu-mob .elementor-nav-menu--main .sub-arrow i,
.cst-menu-mob .elementor-nav-menu--main .sub-arrow svg {
    display: none;
}

.cst-menu-mob .elementor-nav-menu--main .sub-arrow::after {
    content: "+";
    font-family: "Manrope", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: normal;
    color: #D4B07D;
}

.cst-menu-mob .elementor-nav-menu--main a.highlighted .sub-arrow::after {
    content: "\2212";
}

.cst-menu-mob .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu {
    position: static;
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 8px 0 16px 4px;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.cst-menu-mob .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li {
    border: 0;
}

.cst-menu-mob .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu a.elementor-sub-item {
    padding: 4px 0;
    font-family: "Manrope", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    color: rgba(249, 246, 238, 0.7);
    background: transparent;
    border: 0;
}

.cst-menu-mob .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu a.elementor-sub-item:hover,
.cst-menu-mob .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu a.elementor-sub-item:focus {
    color: #D4B07D;
    background: transparent;
}

.g-map .elementor-widget-google_maps,
.g-map .elementor-widget-google_maps .elementor-custom-embed {
    height: 100%;

}

.g-map .elementor-widget-google_maps .elementor-custom-embed iframe {
    border-radius: 20px;
    border: 1px solid #2F3C2E;
}

.testimonial-slider .elementor-swiper-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 56px 56px;
    cursor: pointer;
    z-index: 10;
    display: block !important;
    transition: background-image .2s ease;
}

/* .toggle-summer-winter-section .e-tabs-base {
    display: flex !important
} */

/* Hide Elementor's default icon */
.testimonial-slider .elementor-swiper-button>* {
    display: none !important;
}

/* Position */
.testimonial-slider .elementor-swiper-button-prev {
    left: 15%;
    right: auto;
}

.testimonial-slider .elementor-swiper-button-next {
    right: 15%;
    left: auto;
}

/* Next arrow */
.testimonial-slider .elementor-swiper-button-next {
    background-image: url("data:image/svg+xml,%3Csvg width='56' height='56' viewBox='0 0 56 56' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='55' height='55' rx='27.5' stroke='%232C4029'/%3E%3Cpath d='M24 21L32 28L24 35' stroke='%232C4029' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Prev arrow */
.testimonial-slider .elementor-swiper-button-prev {
    background-image: url("data:image/svg+xml,%3Csvg width='56' height='56' viewBox='0 0 56 56' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='55' height='55' rx='27.5' stroke='%232C4029'/%3E%3Cpath d='M32 21L24 28L32 35' stroke='%232C4029' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Hover – filled circle, white chevron */
.testimonial-slider .elementor-swiper-button-next:hover {
    background-image: url("data:image/svg+xml,%3Csvg width='56' height='56' viewBox='0 0 56 56' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='55' height='55' rx='27.5' fill='%232C4029' stroke='%232C4029'/%3E%3Cpath d='M24 21L32 28L24 35' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.testimonial-slider .elementor-swiper-button-prev:hover {
    background-image: url("data:image/svg+xml,%3Csvg width='56' height='56' viewBox='0 0 56 56' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='55' height='55' rx='27.5' fill='%232C4029' stroke='%232C4029'/%3E%3Cpath d='M32 21L24 28L32 35' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Keyboard focus */
.testimonial-slider .elementor-swiper-button:focus-visible {
    outline: 2px solid #2C4029;
    outline-offset: 3px;
}

/*  Blog */
.blog-posts-holder.elementor-widget-posts > .elementor-widget-container {
    max-width: 1528px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}
.blog-posts-holder.elementor-widget-posts .elementor-post__text {
	padding-right: 20px !important;
	padding-left: 20px !important;
}
.blog-posts-holder.elementor-widget-posts .elementor-post__meta-data {
	margin-top: 10px !important;
}

/* Accordion */
.elementor-widget-n-accordion .e-n-accordion-item-title-icon {
	margin-left: auto;
}

/* Footer */
.footer-holder .elementor-icon-list-items a {
    font-weight: 400 !important;
}
body .margin-bottom-0,
body .margin-bottom-0 p {
    margin-bottom: 0 !important;
}

@media all and (min-width: 1024px) {
    /* body .header-row-holder {
        max-width: 1508px;
        margin: auto;
        padding-left: 0;
        padding-right: 0;
    } */
    body #cst-main-menu ul.sub-menu {
        padding: 20px 12px !important;
    }
    body #cst-main-menu ul.sub-menu li {
        padding: 0 !important;
        margin-bottom: 16px !important;
    }
    body #cst-main-menu ul.sub-menu li:last-of-type {
        margin-bottom: 0 !important;
    }
    body #cst-main-menu ul.sub-menu li a {
        border: 0 !important;
        display: inline-block;
    }
    body #cst-main-menu .sub-menu li.current_page_item a {
        background-color: #EAE9DE;
    }
    body .elementor .act-season {
        /* grid-template-columns: minmax(0px, 2fr) minmax(0px, 4fr) !important; */
        grid-template-columns: minmax(0px, 500px) minmax(0px, 970px) !important;
        place-content: center;
    }
}

@media all and (min-width: 1024px) and (max-width: 1100px) {
    body .din-content {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }
}

@media all and (min-width: 1023px) and (max-width: 1180px) {
    body .desktop-menu-holder .elementor-nav-menu>.menu-item a {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}

@media all and (min-width: 1023px) and (max-width: 1180px) {
    body .desktop-menu-holder .elementor-nav-menu>.menu-item a {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}
/* @media all and (min-width: 1500px) {
    body .header-row-holder {
        max-width: 1508px;
        margin: auto;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
} */

/* Tablet */
@media (max-width: 1024px) {
    .testimonial-slider .elementor-swiper-button-prev {
        left: 4%;
    }

    .testimonial-slider .elementor-swiper-button-next {
        right: 4%;
    }
}



@media (max-width: 767px) {

    .testimonial-slider .elementor-swiper-button {
        width: 40px;
        height: 40px;
        background-size: 40px 40px;
    }

    .testimonial-slider .elementor-swiper-button-prev {
        left: 0;
    }

    .testimonial-slider .elementor-swiper-button-next {
        right: 0;
    }

    #cst-slider .elementor-swiper-button {
        width: 38px;
        height: 38px;
        bottom: 20px;
    }

    #cst-slider .elementor-swiper-button-prev {
        right: 66px;
    }

    #cst-slider .elementor-swiper-button-next {
        right: 20px;
    }
}

/* Activities & Gatherings - photo carousels (V3 Image Carousel with class cst-gth-carousel) */

.cst-gth-carousel .swiper-slide-image {
    display: block;
    width: 100%;
    aspect-ratio: 330 / 204;
    object-fit: cover;
    border-radius: 28px;
}

/* Tablet: 3 slides + half peek. Swiper subtracts padding from its width, so the
   padding area shows the next slide: p = W/7 + 4*gap/7 (gap 24px) */
@media (max-width: 1024px) {
    .cst-gth-carousel .elementor-image-carousel-wrapper {
        padding-inline-end: calc(14.286% + 14px);
    }
    .cst-gth-carousel.mob-square .elementor-image-carousel-wrapper {
		padding-inline-end: unset !important;
    }
	.cst-gth-carousel.mob-square .elementor-image-carousel {
		flex-wrap: wrap;
		gap: 24px;
	}
	.cst-gth-carousel.mob-square .elementor-image-carousel .swiper-slide {
		width: calc(50% - 12px) !important;
        margin-right: 0 !important;
	}
}

.cst-form-family .ginput_container.ginput_container_date input {
    width: 100%;
}

/* Mobile: 2 slides + half peek: p = W/5 + 3*gap/5 (gap 12px) */
@media (max-width: 767px) {
    .cst-gth-carousel .elementor-image-carousel-wrapper {
        padding-inline-end: calc(20% + 7px);
    }

    .cst-gth-carousel .swiper-slide-image {
        border-radius: 16px;
    }
}
