/* ==========================================================================
   Global
   ========================================================================== */
    
    body:not(.block-editor-page) h1 {
        font-size: var(--wp--preset--font-size--superbfont-xxlarge) !important;
    }
    
    body:not(.block-editor-page) h2 {
        font-size: var(--wp--preset--font-size--superbfont-xlarge) !important;
    }
    
    body:not(.block-editor-page) h3 {
        font-size: var(--wp--preset--font-size--superbfont-large) !important;
    }
    
    body:not(.block-editor-page) h4 {
        font-size: var(--wp--preset--font-size--superbfont-medium) !important;
    }
    
    body:not(.block-editor-page) h5 {
        font-size: var(--wp--preset--font-size--superbfont-small) !important;
    }
    
    body:not(.wp-admin) .wp-site-blocks p {
        font-size: var(--wp--preset--font-size--superbfont-medium);
    }
    
    @media (max-width: 781px) {
        body:not(.block-editor-page) ul:not(.wp-block-navigation__container) > li {
            margin-block-end: 1rem;
        }
            
        body:not(.block-editor-page) ul:not(.wp-block-navigation__container) > li:last-child {
            margin-block-end: 0;
        }  
    }
    
    body:not(.block-editor-page) .wp-site-blocks li {
        font-size: var(--wp--preset--font-size--superbfont-medium);
    }
    
    body:not(.block-editor-page) .wp-site-blocks li:last-child {
        margin-block-end: 0;
    }
    
    body:not(.block-editor-page) .wp-site-blocks a {
        font-family: var(--wp--preset--font-family--zt-nature);
        font-size: var(--wp--preset--font-size--superbfont-small) !important;
    	font-weight: 700;
    }
    
    .wp-block-heading {
        font-weight: 500 !important;
    }

/* ==========================================================================
   Header with Hero
   ========================================================================== */
   
    .asc-header-with-hero {
        position: relative;
        width: 100%;
    }

    .asc-header-with-hero--brand-color { }

/* ==========================================================================
   Header
   ========================================================================== */

    .asc-header {
        padding-block: 16px;
        padding-inline: clamp(20px, 4vw, 40px);
        background: rgba(97, 68, 24, 0.8);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }
    
    .asc-header__container {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 50;
    }
    
    /* ======================================================================
        Navigation Links Customisation
        ===================================================================== */
    
    .wp-block-navigation .wp-block-navigation-item__content {
        position: relative;
        display: inline-block;
        text-decoration: none;
        padding-bottom: 4px;
        transition: color 0.3s ease;
    }
    
    .wp-block-navigation__container .wp-block-navigation-item__content {
        font-size: var(--wp--preset--font-size--superbfont-medium) !important;
        font-weight: 200 !important;
    }
    
    .wp-block-navigation .wp-block-navigation-item__content::after {
        content: '';
        position: absolute;
        bottom: -1.5px;
        left: 0;
        width: 0;
        height: 1.5px;
        background-color: #f2a316;
        transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .wp-block-navigation .wp-block-navigation-item__content:hover::after,
    .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after,
    .wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content::after,
    .wp-block-navigation .current-page-ancestor > .wp-block-navigation-item__content::after,
    .wp-block-navigation .current_page_ancestor > .wp-block-navigation-item__content::after,
    .wp-block-navigation a[aria-current="page"]::after {
        width: 100%;
    }
    
    .wp-block-navigation .current-menu-item > a,
    .wp-block-navigation .current-menu-ancestor > a,
    .wp-block-navigation .current-page-ancestor > a,
    .wp-block-navigation .current_page_ancestor > a {
        font-style: italic;
        font-weight: 700 !important;
    }
    
    /* ======================================================================
        Mobile Overlay Menu Overrides
        ===================================================================== */

    @media (max-width: 700px) {
        .wp-block-navigation__responsive-container.is-menu-open,
        .wp-block-navigation__responsive-close,
        .wp-block-navigation__responsive-dialog,
        .wp-block-navigation__responsive-container-content,
        .wp-block-navigation__overlay-container {
            position: fixed !important;
            top: 0 !important;
            left: 0 !important;
            right: 0 !important;
            bottom: 0 !important;
            inset: 0 !important;
            width: 100vw !important;
            height: 100vh !important;
            height: 100dvh !important;
            max-height: none !important;
            min-height: 100vh !important;
            margin: 0 !important;
            padding: 0 !important;
            transform: none !important;
            contain: none !important;
        }
        
        .wp-block-navigation__responsive-container.is-menu-open {
            z-index: 999999 !important;
            overflow: visible !important;
        }
        
        .wp-block-navigation__overlay-container > .wp-block-group {
            width: 100vw !important;
            height: 100vh !important;
            height: 100dvh !important;
            min-height: 100vh !important;
            box-sizing: border-box !important;
            overflow-y: auto !important;
        }
        
        .wp-block-navigation .wp-block-navigation-item__content {
            color: #f2a316 !important;
        }
    }

/* ==========================================================================
   Hero
   ========================================================================== */
   
    .asc-hero__container {
        position: relative;
        height: 100dvh;
        min-height: 600px;
    }
    
    .asc-hero__scrim {
      --gradient-end: #000000CC;
    
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100dvh;
      min-height: 600px;
      background-image: linear-gradient(
        to bottom, 
        #00000000 0px, 
        #00000000 50%, 
        var(--gradient-end) 100%
      );
      z-index: 10;
    }
    
    .asc-header-with-hero--brand-color .asc-hero__scrim {
      --gradient-end: #614418;
    }
    
    .asc-hero__background {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100dvh;
        min-height: 600px;
    }
    
    .asc-hero__content {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        margin-bottom: clamp(20px, 6vw, 30px) !important;
        padding-inline: clamp(10px, 4vw, 30px) !important;
        z-index: 15;
    }
    
/* ==========================================================================
   Intro Banner
   ========================================================================== */

    .asc-intro-banner > * {
        max-width: 850px;
        margin-inline-start: 0;
    }
    
    .asc-intro-banner--no-links { }
    
    .asc-intro-banner .wp-block-paragraph {
        padding-left: clamp(40px, 8vw, 80px);
    }
    
    .asc-intro-banner--no-links .asc-intro-banner__links {
        display: none;
    }

/* ==========================================================================
   Tabs
   ========================================================================== */

    .asc-tab {
        display: none !important;
        margin-block-start: 0;
        opacity: 0;
        transform: translateY(6px);
        transition: opacity 0.3s ease, transform 0.3s ease;
    }
    
    .asc-tab--active {
        display: flex !important;
        animation: fadeUp 0.35s ease forwards;
    }
    
    .asc-tab--grid.asc-tab--active {
        display: grid !important;
    }
    
    @keyframes fadeUp {
        from { opacity: 0; transform: translateY(6px); }
        to { opacity: 1; transform: translateY(0); }
    }
    
    .asc-tab__container {
        gap: clamp(10px, 2vw, 20px);
    }
    
    .asc-tab__button {
        width: 100%;
        background: none;
        border: none;
        border-bottom: 1.5px solid #9B8A72;
        padding: 0 0 14px 0;
        color: #9B8A72;
        font-family: var(--wp--preset--font-family--zt-nature) !important;
        font-weight: 200 !important;
        text-align: left;
        cursor: pointer;
        margin-bottom: 1px;
        letter-spacing: 0.01em;
        transition: color 0.3s ease, border-color 0.3s ease;
        position: relative;
        word-break: normal;
        overflow-wrap: normal;
        hyphens: none;
    }
    
    .asc-tab__button::after {
        content: '';
        position: absolute;
        bottom: -1px;
        left: 0;
        width: 0;
        height: 1.5px;
        background: #614418;
        transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .asc-tab__button:hover { color: #614418; }
    
    .asc-tab__button--active {
        color: #614418;
        font-weight: 700 !important;
        font-style: italic;
    }
    
    .asc-tab__button--active::after { width: 100%; }
    
    @media (max-width: 768px) {
        .asc-tab__container--wrap {
            flex-wrap: wrap !important;
        }
    }
    
/* ==========================================================================
   Card Layout
   ========================================================================== */
    
    .card-container {
        gap: 48px !important;
    }
    
    .card {
        position: relative;
        width: 100%;
        transition: background-color 0.4s ease, color 0.4s ease, padding 0.4s ease;
        padding: 20px !important;
        gap: var(--wp--preset--spacing--superbspacing-small) var(--wp--preset--spacing--superbspacing-xsmall) !important;
        margin-top: 0 !important;
    }
        
    .card.portrait {
        gap: 25px !important;
    }
    
    .card.is-static {
        cursor: default;
    }
        
    .card .card-content {
        padding-inline: var(--wp--preset--spacing--superbspacing-small) !important;
    }
        
    .card a.link {
        position: absolute;
        inset: 0;
        z-index: 10;
    }
    
    .card .wp-block-heading,
    .card .wp-block-paragraph,
    .card a {
        transition: color 0.4s ease !important;
    }
    
    .card:not(.is-static):hover {
        background-color: #614418 !important;
        border-color: transparent !important;
    }
    
    .card .wp-block-heading,
    .card .wp-block-paragraph,
    .card a,
    .card svg,
    .card .svg-inline--fa {
        transition: color 0.4s ease, fill 0.4s ease !important;
    }
    
    .card:not(.is-static):hover .wp-block-heading,
    .card:not(.is-static):hover .wp-block-paragraph,
    .card:not(.is-static):hover a,
    .card:not(.is-static):hover svg,
    .card:not(.is-static):hover .svg-inline--fa {
        color: #f2a316 !important;
        fill: #f2a316 !important;
    }
    
    @media (max-width: 768px) {	
        .card {
        	width: 100%;
        }
        
        .card:not(.has-background) {
        	padding: 0 !important;
        }
        
        .card:not(is-static):hover {
        	padding: 20px !important;
        }
        
        .card:not(.has-background),
        .card:not(.has-background) .wp-block-heading,
        .card:not(.has-background) .wp-block-paragraph {
            text-align: left !important;
        }
        
        .card .card-content {
            padding-inline: 0 !important;
        }
        
        .card-content .body {
        	max-width: 500px;
        }
        
        .card .wp-block-cover {
            min-height: 400px !important;
            height: 400px !important;
        }
        
        .card .wp-block-cover__image-background {
            height: 100% !important;
            object-fit: cover !important;
        }
    }
    
    /* Override Cover Size on Mobile */
    @media (max-width: 600px) {
        .card .wp-block-cover {
            min-height: 300px !important;
            height: 300px !important;
        }
    }
    
    .card .wp-block-cover {
        overflow: hidden !important;
    }
    
    .card .wp-block-cover .wp-block-cover__image-background {
        transition: transform 8s cubic-bezier(0.25, 1, 0.5, 1) !important;
        transform: scale(1);
        will-change: transform;
    }
    
    .card:hover .wp-block-cover .wp-block-cover__image-background {
        transform: scale(1.15);
    }

/* ==========================================================================
   Overlapping Image Layout
   ========================================================================== */
    
    .asc-image-overlap-container {
        position: relative;
        width: 100%;
        max-width: 900px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: 1.5rem; 
    }
    
    .asc-image-overlap-container .main, .asc-image-overlap-container .overlay {
        position: static;
        width: 100%;
        height: auto;
        margin: 0;
    }

    .asc-image-overlap-container .overlay {
        border: none;
    }
    
    /* Mobile */
    @media (max-width: 900px) {
        .asc-has-overlapping-image-layout.wp-block-columns.is-not-stacked-on-mobile {
            flex-wrap: wrap !important;
        }
      
        .asc-has-overlapping-image-layout.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
            flex-basis: 100% !important;
            width: 100% !important;
        }
    }

    /* Tablet */
    @media (min-width: 768px) and (max-width: 899px) {
        .asc-image-overlap-container {
          flex-direction: row;
          align-items: center;
      }
    	
        .asc-image-overlap-container .main,
        .asc-image-overlap-container .overlay {
          width: 50%;
      }
    }

    /* Desktop */
    @media (min-width: 900px) {
        .asc-image-overlap-container {
            display: block;
        }
	
	    .asc-image-overlap-container .main {
            width: 85%;
		    margin-left: auto;
	    }

        .asc-image-overlap-container .overlay {
            position: absolute;
            bottom: -15%;
            left: -15%;
            width: 50%;
            z-index: 2;
            border: 8px solid #f0e3d8;
        }
    }
    
/* ==========================================================================
   Testimonials
   ========================================================================== */
    
    .asc-testimonial p {
        font-size: var(--wp--preset--font-size--superbfont-large) !important;
        font-family: var(--wp--preset--font-family--zt-nature) !important;
        font-weight: 200 !important;
    }
    
/* ==========================================================================
   MetaSlider Overrides
   ========================================================================== */
    
    #metaslider_12792,
    #metaslider_12792 .flexslider,
    #metaslider_12792 .nivoSlider,
    #metaslider_12792 ul.slides,
    #metaslider_12792 ul.slides li,
    #metaslider_12792 ul.slides li img {
        height: 100vh !important;
        min-height: 600px !important;
    }
    
    #metaslider_12792 ul.slides li img {
        object-fit: cover !important;
        width: 100% !important;
    }
    
/* ==========================================================================
   Splide Overrides
   ========================================================================== */
    
    /* Slide Settings (Height) */
    .splide__list {
        display: flex !important;
        align-items: stretch !important;
    }
        
    .splide__slide {
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
    }
    
    .splide__slide > .wp-block-group {
        flex: 1 1 auto !important;
        height: 100% !important;
    }
        
    /* This is what makes the overflow visible */
    /*
    .splide__track,
    .splide__list {
        overflow: visible !important;
    }
    */
    
    .splide__slide,
    .wp-block-cloudcatch-splide-carousel-item {
        overflow: visible !important;
    }
    
    .splide__slide > .wp-block-group {
        overflow: visible !important;
    }
        
    /* Pagination (Dots) Settings */
    
    .splide__pagination {
        visibility: hidden;
        margin-bottom: 54px !important;
        position: relative !important;
    }
        
    .splide__pagination li {
        margin: 0 6px !important;
    }
    
    .splide__pagination__page {
        width: 14px !important;
        height: 14px !important;
        background-color: #F2A31666 !important;
        opacity: 1 !important;
        transition: all 0.3s ease !important;
        border: none !important;
        border-radius: 50% !important;
    }
        
        
    .splide__pagination__page.is-active {
        background-color: #F2A316 !important;
        transform: scale(1.15) !important;
    }
    
    .splide__pagination__page:hover:not(.is-active) {
        background-color: #F2A316 !important;
        opacity: 0.5 !important;
    }
    
    /* Slide Navigation (Arrows) Settings */
    
    .splide__arrows {
        display: flex !important;
        justify-content: center !important;
        position: absolute !important;
        bottom: -50px !important;
        transform: none !important;
        width: 100% !important;
    }
    
    .splide__arrow {
        position: relative !important;
        top: auto !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        background-color: #F2A31680 !important;
        opacity: 1 !important;
        width: 42px !important;
        height: 42px !important;
        border-radius: 50% !important;
        transition: all 0.3s ease !important;
    }
    
    .splide__arrow svg {
        fill: #ffffff !important;
        width: 16px !important;
        height: 16px !important;
    }
    
    .splide__arrow:hover:not(:disabled) {
        background-color: #F2A316 !important; 
        transform: scale(1.08);
    }
        
    
    .splide__arrow:disabled {
        opacity: 0.35 !important;
        cursor: not-allowed !important;
    }
    
    /* Moves left arrow slightly further outside or inside */
    .splide__arrow--prev {
        left: -60px !important;
    }
        
    /* Moves right arrow slightly further outside or inside */
    .splide__arrow--next {
        right: -60px !important;
    }
    
/* ==========================================================================
   Smart Slider Overrides
   ========================================================================== */
   
    .nextend-thumbnail-button {
        display: none !important;
    }
        
    @media (max-width: 900px) {
        .n2-ss-slider-controls-side {
        	display: flex !important;
        	flex-direction: column !important;
        }
        
        .n2-ss-slider-controls-right {
        	order: 1 !important;
        	width: 100% !important;
        	max-width: 100% !important;
        	height: auto !important;
        	margin-bottom: 15px !important;
        }
        
        .n2-ss-slider-1 {
        	order: 2 !important;
        	width: 100% !important;
        }
        
        .nextend-thumbnail,
        .nextend-thumbnail-inner {
        	width: 100% !important;
        	max-width: 100% !important;
        	height: auto !important;
        	min-height: 90px !important;
        	--widget-offset: 0 !important;
        	margin-bottom: 5px !important;
        	overflow: visible !important;
        	position: relative !important;
        }
        
        .nextend-thumbnail-scroller {
    	    display: flex !important;
        	flex-direction: row !important;
        	flex-wrap: nowrap !important;
        	grid-template-columns: none !important;
        	width: 100% !important;
        	max-width: 100% !important;
        	height: auto !important;
        
        	/* Horizontal Scrolling Configuration */
        	overflow-x: auto !important;
        	overflow-y: hidden !important;
        	justify-content: flex-start !important;
        	align-items: center !important;
        	padding: 5px 0 !important;
        	
        	-webkit-overflow-scrolling: touch !important;
        	scrollbar-width: thin !important;
        }
        
        .n2-thumbnail-dot {
        	flex-shrink: 0 !important;
        }
        
        .nextend-thumbnail-button img {
        	transform: rotateZ(-90deg) !important;
        }
        
        .nextend-thumbnail-previous {
        	left: 0 !important;
        	top: 50% !important;
        	transform: translateY(-50%) !important;
        }
        
        .nextend-thumbnail-next {
        	right: 0 !important;
        	top: 50% !important;
        	transform: translateY(-50%) !important;
        }
    }
    
/* ==========================================================================
   Formidable Forms Overrides
   ========================================================================== */
    
    .frm_forms .frm_primary_label, .frm_forms .frm_description {
        font-family: "Garamontio" !important;
    }
    
    .frm_button_submit {
        font-family: "ZT Nature", serif !important;
        font-size: var(--wp--preset--font-size--superbfont-medium) !important;
        font-weight: 700 !important;
        border-block: 3px solid #f2a316 !important;
    }
        
    .frm_message {
        font-family: "Garamontio", serif !important;
        border-radius: 0px !important;
        font-size: var(--wp--preset--font-size--superbfont-medium) !important;
    }
        
    .frm_error_style {
        font-family: "Garamontio", serif !important;
        border-radius: 0px !important;
        font-size: var(--wp--preset--font-size--superbfont-medium) !important;
    }
    
/* ==========================================================================
   Popup Maker Overrides
   ========================================================================== */

    @media (max-width: 768px) {
        #popmake-14679 {
        	width: 95% !important;
        	max-width: 100% !important;
        }
    }
    
    .popmake-close {
        font-family: "ZT Nature", serif !important;
        font-size: var(--wp--preset--font-size--superbfont-large) !important;
        font-weight: 200 !important;
    }
    
/* ==========================================================================
   Flatpickr Overrides
   ========================================================================== */
    
    .flatpickr-calendar {
        font-family: "ZT Nature", serif !important;
        font-size: var(--wp--preset--font-size--superbfont-xxsmall) !important;
    }
    
/* ==========================================================================
   Utility Classes
   ========================================================================== */
    
    .block-link {
        position: relative;
    }
    
    .block-link a.link {
        position: absolute;
        inset: 0;
        z-index: 10;
    }
    
    @media (max-width: 768px) {
        .reverse-mobile.wp-block-columns {
            flex-direction: column-reverse !important;
        }
            
        .center-mobile {
        	justify-content: center !important;
        }
    }
    
    @media (max-width: 768px) {
        .has-margin {
            margin-left: 0 !important;
        }
    }
    
    @media screen and (max-width: 1200px) {
    	.no-padding-tablet {
    		padding: 0 !important;	
    	}
    }
    
    @media screen and (max-width: 768px) {
    	.no-padding-mobile {
    		padding: 0 !important;	
    	}
    }
