/* Variable --------------------------------------------- */
:root{
    --peek: 5.625rem;          
    --cols: 4;             
    --line-w: 1px;
    --grid-z: 10;
    --font-newsreader: "Newsreader";
    --font-dm-sans: "DM Sans";
    --font-work-sans: "Work Sans";
    --header-padding: 1.25rem 1.875rem;
    --introduction-padding: 5rem 0;
    --introduction-contact-padding: 6.25rem 0 7.188rem 0;
    --subpage-introduction-padding: 5.625rem 0 15.625rem 0;
    --about-introduction-padding: 5.625rem 0 0 0;
    --introduction-inner-padding: 4.063rem 0 5rem 0;
    --intro-rail-padding: 3.125rem 0 5rem 0;
    --subpage-module-padding: 0 6.25rem;
    --pinned-text-padding: 10.938rem 5.625rem 12.188rem 5.625rem;
    --accordion-padding: 5rem 5.625rem;
    --newsletter-padding: 14.375rem 5.625rem 16.875rem 5.625rem;
    --footer-padding: 10rem 5.625rem 18.75rem 5.625rem;
    --copyright-padding: 2.5rem;
    --location-padding: 17.5rem 0 10.625rem 0;
    --about-padding: 17.5rem 0 0 0;
    --about-information-padding: 0 0 20rem 0;
    --popup-padding: 1.25rem 1.25rem 6.25rem 1.25rem;
    --team-padding: 4.375rem 6.25rem 12.5rem 6.25rem;
    --economy-padding: 0 0 10rem 0;
    --grid-padding: 10rem 0 12.5rem 0;
    --contact-bottom-padding: 0 0 7.5rem 0;
    --about-bleed: 0 0 23.75rem 0;
    --btn-radius: 6.25rem;
    --btn-padding: 1.125rem 1.875rem;
    --btn-height: 2.688rem;
    --pinned-h2: 8.75rem;
    --accordion-active: 6.875rem;
    --intro-top-h2: 4.125rem;
    --newsletter-h2: 3.125rem;
    --cta-h2: 1.875rem;
    --economy-first-child: 1.5rem;
    --cta-copy: 1.25rem;
    --font-footer: 1.125rem;
    --font-copyright: 1rem;
    --wf-black: #231F20;
    --wf-light-grey: #E2E2E2;
    --wf-light-green: #7C9387;
    --wf-green: #252B29;
    --wf-neutral: #FEF9EE;
    --wf-white: #FFFFFF;
    --wf-yellow: #F3EC5F;
    --gap-x-large: 5rem;
    --gap-large: 3.125rem;
    --gap-medium: 1.875rem;
    --gap-small: 1.563rem;
    --gap-x-small: 0.938rem;
    --gap-resorts: 1.25rem;
    --team-left-gap: 6.25rem;
}
/* General --------------------------------------------- */
body, html{font-family: var(--font-dm-sans); line-height: normal; overflow-x: hidden; color: var(--wf-green);}
*, *::before, *::after{box-sizing: border-box; margin: 0; padding: 0;}
a, a:focus, a:active, a:hover, h2.pinned-text__word:focus, h2.pinned-text__word:active, h2.pinned-text__word:hover{outline: none!important; box-shadow: none;}
h1, h2, h3, h4, h5, h6{font-family: var(--font-dm-sans); margin: 0; color: var(--wf-green); z-index: 11; position: relative;}
.site-inner{max-width: 100%; padding: 0;}
.content{width: 100%;}
p{z-index: 11; position: relative;}
p:last-child{margin: 0;}
a{color: currentColor;}
button:hover, button:focus{background: transparent!important; outline: 0!important;}
a.btn{display: flex; height: var(--btn-height); padding: var(--btn-padding); justify-content: center; align-items: center; border: 1px solid var(--wf-white); border-radius: var(--btn-radius); color: var(--wf-white); text-decoration: none; font-size: var(--font-footer); font-weight: 500; letter-spacing: 1.8px; text-transform: uppercase; z-index: 11; position: relative;}
.link-underline{position: relative; text-decoration: none; color: inherit; --underline-thickness: 1px; --underline-offset: 0.15em; --underline-duration: .35s;}
.link-underline::after{content: ""; position: absolute; left: 0; right: 0; bottom: calc(-1 * var(--underline-offset)); height: var(--underline-thickness); background: currentColor; transform: scaleX(0); transform-origin: 0 50%; transition: transform var(--underline-duration) ease;}
.link-underline:hover::after, .link-underline:focus-visible::after{transform: scaleX(1);}
.link-underline:focus-visible{outline: 2px solid currentColor; outline-offset: 2px;}
.burger-nav__list .link-underline{--underline-offset: -0.60em;}
.burger-nav__list .link-underline::after{transform-origin: 100% 50%; height: 4px; color: var(--wf-yellow);}
@media (prefers-reduced-motion: reduce) {
  .link-underline::after{transition: none;}
  .pinned-text__frame, .pinned-text__word{transition: none !important;}
}
/* Gridlines --------------------------------------------- */
.site-gridlines{position: fixed; inset: 0; pointer-events: none; z-index: var(--grid-z);}
.site-gridlines::before{content: ""; position: absolute; inset: 0; --tile: calc((100vw - (var(--peek) * 2)) / var(--cols)); background-image: repeating-linear-gradient(to right, rgba(255,255,255,0.30) 0, rgba(255,255,255,0.30) var(--line-w), transparent var(--line-w), transparent var(--tile)), repeating-linear-gradient(to right, rgba(0,0,0,0.30) 0, rgba(0,0,0,0.30) var(--line-w), transparent var(--line-w), transparent var(--tile)); background-position: var(--peek) 0, var(--peek) 0; background-repeat: no-repeat, no-repeat;}
/* Header --------------------------------------------- */
.custom-header{z-index: 11; position: fixed; top: 0; left: 0; right: 0; background: transparent !important; color: #fff; mix-blend-mode: difference; isolation: isolate; transform: none !important; will-change: auto !important; filter: none!important; padding: var(--header-padding); width: 100%;}
.header-wrap{display: flex; align-items: flex-start;}
.custom-header .site-branding .header-logo{display: none;}
.site-branding{display: inline-flex; justify-content: flex-end; width: 100%;}
.header-blend__item a, .header-blend__item svg{mix-blend-mode: difference; color: var(--wf-white);}
.header-logo, .logo-layer .header-logo{height: 122px; width: auto; display: inline-block;}
.logo-layer{will-change: auto!important; backface-visibility: hidden; transform: translateZ(0); position: fixed; top: 1.25rem; right: 1.875rem; z-index: 12; mix-blend-mode: difference; color: var(--wf-white)!important;}
.logo-layer .header-logo path{fill: currentColor;}
.logo-layer, .logo-layer * {isolation: auto;}
.logo-layer a, .logo-layer svg, .logo-layer path{transition: none !important; opacity: 1 !important; color: inherit !important; fill: currentColor !important; filter: none !important;}
.logo-layer:hover, .logo-layer a:hover, .logo-layer svg:hover, .logo-layer path:hover{opacity: 1 !important; color: inherit !important; fill: currentColor !important; mix-blend-mode: difference !important;}
.header-logo path{fill: currentColor;}
.burger-toggle{pointer-events: auto; mix-blend-mode: difference; color: var(--wf-white);}
.burger-toggle .burger-lines, .burger-toggle .burger-lines::before, .burger-toggle .burger-lines::after{background: currentColor !important;}
.burger-toggle{display: inline-flex; align-items: center; justify-content: center; position: relative; width: 23px; height: 26px; background: transparent; border: none; cursor: pointer; color: inherit; pointer-events: auto;}
.burger-lines, .burger-lines::before, .burger-lines::after{width: 23px; content: ""; position: absolute; left: 0; right: 0; height: 2px; background: currentColor; transition: transform .35s ease, opacity .35s ease, top .35s ease, bottom .35s ease; border-radius: 2px;}
.burger-lines{top: 50%; transform: translateY(-50%);}
.burger-lines::before{top: -8px;}
.burger-lines::after{bottom: -8px;}
.menu-open .burger-toggle .burger-lines{transform: rotate(45deg);}
.menu-open .burger-toggle .burger-lines::before{transform: rotate(-90deg); top: 0;}
.menu-open .burger-toggle .burger-lines::after{opacity: 0;}
.burger-menu{z-index: 60; position: fixed; inset: 0; background: var(--wf-black); color: var(--wf-light-grey); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .35s ease, visibility 0s linear .35s; overflow: hidden;}
.burger-menu__inner{z-index: 7; position: relative; height: 100%; width: 100%; display: flex; flex-direction: column; justify-content: center; padding: 105px;}
.burger-nav__list{display: grid; gap: 14px;     justify-content: flex-end; place-items: flex-end;}
.burger-nav__list > li > a{font-family: var(--font-newsreader); font-size: 125px; font-weight: 700; line-height: 115px; letter-spacing: -5px; color: var(--wf-white); text-decoration: none;}
.burger-nav__list > li.current-menu-item a, .burger-nav__list > li > a:hover{color: var(--wf-yellow);}
.menu-open .burger-menu{opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .35s ease, visibility 0s linear 0s;}
body.menu-open{overflow: hidden; touch-action: none; overscroll-behavior: contain;}
.burger-menu::before{content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 6; --tile: calc((100vw - (var(--peek) * 2)) / var(--cols)); background-image: repeating-linear-gradient(to right, rgba(255,255,255,0.30) 0, rgba(255,255,255,0.30) var(--line-w), transparent var(--line-w), transparent var(--tile)); background-position: var(--peek) 0; background-repeat: no-repeat;}
.burger-menu__header{position: absolute; top: 0; left: 0; right: 0; padding: var(--header-padding); display: flex; align-items: flex-start;}
.burger-contact{position: absolute; bottom: 90px; left: 105px;}
.burger-contact a{color: var(--wf-white); font-family: var(--font-dm-sans); font-size: var(--font-footer); font-weight: 500; letter-spacing: 1.8px; text-transform: uppercase; text-decoration: none; width: fit-content; display: block;}
.burger-contact a:hover{color: var(--wf-yellow);}
.social-wrapper{display: flex; flex-direction: column; gap: var(--gap-x-small); margin-top: var(--gap-medium);}
.social-media{display: flex; gap: var(--gap-x-small);}
body.past-hero .logo-layer{z-index: 40; pointer-events: auto;}
/* Slideshow --------------------------------------------- */
.acf-slideshow{width: 100%; position: relative;}
.flickity-slider{position: inherit!important;}
body.home .acf-slider .slide{position: relative; width: 100%; overflow: visible; align-items: center; justify-content: center; height: 100vh;}
.media-wrapper{position: relative; width: 100%; height: 100%; overflow: hidden;}
.media-wrapper img, .media-wrapper video{width: 100%; height: 100%; object-fit: cover; display: block;}
.acf-slideshow .media-overlay, .carousel .media-overlay{position: absolute; inset: 0; background: rgba(0, 0, 0, 0.35); pointer-events: none; z-index: 2;}
body.home .slide-inner{padding: 0 0.625rem; position: absolute; width: 35%; text-align: center; top: 25%; left: 50%; transform: translate(-50%, -25%); display: flex; flex-direction: column; justify-content: center; align-items: center; gap: var(--gap-medium);}
body.home .slide-inner h1{color: var(--wf-neutral); font-family: var(--font-newsreader); font-size: var(--cta-h2); line-height: 40px; letter-spacing: -0.3px; text-transform: inherit; font-style: normal; font-weight: normal; max-width: 100%; padding: 0;}
body.home .acf-slideshow .media-overlay{width: 100%; backdrop-filter: none;}
.acf-slideshow .slide{position: relative; width: 100%; overflow: visible; align-items: center; justify-content: center; height: 80vh;}
.slide-inner{padding: 0 0.625rem; z-index: 3; position: absolute; width: 50%; top: 50%; left: 5.625rem; transform: translate(0, -50%); display: flex; flex-direction: column; gap: 10px;}
.subheading{z-index: 11; color: var(--wf-white); font-family: var(--font-dm-sans); font-size: var(--font-footer); font-weight: 500; letter-spacing: 1.8px; text-transform: uppercase;}
.slide-inner h1{color: var(--wf-neutral); font-family: var(--font-work-sans); font-size: var(--intro-top-h2); font-style: italic; font-weight: 800; line-height: 59.4px; letter-spacing: -1.98px; text-transform: uppercase; max-width: 66%;}
body.home .slide-logo-overlay{display: block; position: absolute; bottom: 0; width: 100%; padding: 12px; z-index: 11;}
.slide-logo-overlay{display: none;}
.buttons-row{display: flex;}
.buttons-row a{border-radius: var(--btn-radius); border: 1px solid var(--wf-white); display: flex; height: 43px; padding: var(--btn-padding); justify-content: center; align-items: center; text-decoration: none;}
.buttons-row span{color: var(--wf-white); font-family: var(--font-dm-sans); font-size: var(--font-footer); font-weight: 500; letter-spacing: 1.8px; text-transform: uppercase;}
.acf-slideshow .media-overlay{position: absolute; left: 0; top: 0; width: 50%; background: rgba(0, 0, 0, 0.35); backdrop-filter: blur(7.5px); height: 100%;}
/* Introduction --------------------------------------------- */
.introduction{position: relative; overflow: hidden; background: var(--wf-neutral); padding: var(--introduction-padding);}
#vision.introduction{padding: var(--subpage-introduction-padding);}
/*#about.introduction{padding: var(--about-introduction-padding);}*/
.introduction-inner{text-align: center; width: 54%; margin: 0 auto; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: var(--gap-medium); padding: var( --introduction-inner-padding);}
.introduction-inner h2{z-index: 11; color: var(--wf-green); font-family: var(--font-newsreader); font-size: var(--cta-h2); line-height: 40px; letter-spacing: -0.3px;}
.introduction-inner .copy p{font-size: var(--cta-copy);}
body.page-template-afan .introduction-inner{width: 61%;}
.intro-row--top, .intro-row--middle, .intro-row--bottom{display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); align-items: start; position: relative;}
.intro-row--middle{margin-bottom: 4.563rem;}
.intro-row--bottom{margin-bottom: 1.25rem;}
.intro-slot--top-left{grid-column: 3 / span 3; aspect-ratio: 1 / 1; z-index: 11; }
.intro-slot--top-center{grid-column: 7 / span 3; transform: translate(10px, -50px); z-index: 11; }
.intro-slot--top-right{grid-column: 8 / span 3; z-index: 11; }
.intro-slot--middle-left{grid-column: 2 / span 2; z-index: 11; }
.intro-slot--middle-center{grid-column: 5 / span 3; z-index: 11; margin-top: 50%;}
.intro-slot--middle-right{grid-column: 9 / span 3;}
body.home .intro-slot--middle-right{z-index: 11;}
.intro-slot--bottom-left{grid-column: 3 / span 3; z-index: 11;}
.intro-slot--bottom-right{grid-column: 10 / span 2; aspect-ratio: 1 / 1; z-index: 11;}
.intro-media img, .intro-media video, .intro-media iframe{width: 100%; height: 100%; display: block; object-fit: cover; overflow: hidden;}
.introduction-top{padding: var(--subpage-module-padding); display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: var(--gap-medium);}
.introduction-top .subheading{color: var(--wf-green);}
.introduction-top h2{color: var(--wf-black); font-family: var(--font-newsreader); font-size: var(--intro-top-h2); line-height: 68px; letter-spacing: -1.32px; width: 75%; margin-bottom: var(--gap-x-large);}
.intro-rail{padding: var(--intro-rail-padding); position: relative; width: 100vw; z-index: 1;}
.intro-rail .flickity-viewport, .team-rail .flickity-viewport{overflow: visible;}
.intro-rail__cell, .team-rail__cell{margin: 0 15px;}
.intro-rail__figure{overflow: hidden;}
.intro-rail .flickity-page-dots, .team-rail .flickity-page-dots{position: absolute; left: 50%; bottom: -38px; width: auto; padding: 0 10px;}
.intro-rail .flickity-page-dots .dot:first-child, .team-rail .flickity-page-dots .dot:first-child, .carousel .flickity-page-dots .dot:first-child{margin: 0 10px 0 4px!important;}
.intro-rail .flickity-page-dots .dot, .team-rail .flickity-page-dots .dot{width: 8px; height: 8px; opacity: 0.2; border-radius: 0; transform: rotate(45deg); background: currentColor; margin: 0 10px;}
.intro-rail .flickity-page-dots .dot.is-selected, .team-rail .flickity-page-dots .dot.is-selected{background: currentColor;}
.introduction-bottom{padding: var(--subpage-module-padding);}
.introduction-bottom .copy{width: 50%; margin-left: auto; display: flex; flex-direction: column; align-items: normal; justify-content: flex-end; padding: 0 0.938rem;}
body.page-template-afan .intro-slot--middle-left{grid-column: 2 / span 3; z-index: 2; padding-right: 0.934rem; margin-top: 40%;}
body.page-template-afan .intro-slot--middle-center{grid-column: 5 / span 2; z-index: 2; padding-right: 0.938rem; margin: 0;}
body.page-template-afan .intro-row--middle{margin-bottom: 2.563rem;}
/* Page Builder --------------------------------------------- */
.carousel{position: relative; overflow: hidden;}
.carousel .flickity-viewport{overflow: hidden !important;}
.carousel .slide{width: 100%;}
.carousel .slide-inner{bottom: 6.875rem; transform: translate(0, 0); top: inherit; color: var(--wf-white); gap: var(--gap-medium);}
.carousel h2{color: var(--wf-white); font-family: var(--font-newsreader); font-size: var(--newsletter-h2); line-height: 55px; letter-spacing: -0.5px;}
.carousel .module-copy p{max-width: 75%;}
.carousel .flickity-slider{position: absolute !important;}
.carousel .flickity-page-dots{width: auto!important; left: 6.563rem; bottom: 4.125rem!important;}
.carousel .flickity-page-dots .dot{width: 8px!important; height: 8px!important; border-radius: 0!important; transform: rotate(45deg); background: var(--wf-white)!important; margin: 0 10px!important;}
.pinned-text{padding: var(--pinned-text-padding); position: relative; background: var(--wf-black); color: var(--wf-white);}
.pinned-text .wrap{position: relative;}
.pinned-text__stage{position: relative;}
.pinned-text__frames{position: absolute; inset: 0; z-index: 2;}
.pinned-text__frame{position: absolute; inset: 0; opacity: 0; transition: opacity .5s ease;}
.pinned-text__frame.is-active{opacity: 1;}
.pinned-text__media{position: absolute; overflow: hidden;}
.pinned-text__media img{display: block; width: 100%; height: auto; object-fit: cover;}
.pinned-text__media--belong-left{top: 0; left: -5.625rem; width: 25%;}
.pinned-text__media--belong-right{bottom: 0; right: -5.625rem; width: 57%;}
.pinned-text__media--discover-left{width: 30%; top: 0; left: 0;}
.pinned-text__media--discover-right{right: 2.813rem; width: 20%; top: 20%;}
.pinned-text__media--discover-bottom{bottom: 0; width: 30%; left: 7.5rem;}
.pinned-text__media--breathe-left{bottom: 0; width: 32%;}
.pinned-text__media--breathe-right{top: 0; right: 0; width: 50%;}
.pinned-text__media--connect-left{width: 32%; top: 25%;}
.pinned-text__media--connect-right{right: -4.375rem; top: 30%; width: 25%;}
.pinned-text__media--feast-left{left: -4.375rem; width: 32%; bottom: 0;}
.pinned-text__media--feast-right{width: 45%; right: -4.375rem; bottom: 0;}
.pinned-text__words{position: relative; z-index: 11;}
h2.pinned-text__word{cursor: pointer; color: var(--wf-neutral); text-align: center; font-family: var(--font-newsreader); font-size: var(--pinned-h2); font-weight: 700; line-height: 148.4px; letter-spacing: -7px; transition: color .35s ease, opacity .35s ease, transform .35s ease; will-change: color, transform, opacity; opacity: 0.5;}
h2.pinned-text__word.is-active{color: var(--wf-white); opacity: 1;}
.pinned-text::before, .pinned-text::after{content: ""; position: absolute; left: 50%; transform: translateX(-50%); width: 100vw; height: 1px; background: rgba(255,255,255,0.18); pointer-events: none; z-index: 3;}
.pinned-text::before{top: 5.438rem;}
.pinned-text::after{bottom: 6.063rem;}
.pinned-text__frames{z-index: 2;}
.accordion{position: relative; background: var(--wf-green); color: var(--wf-white); padding: var(--accordion-padding); --title-overlap-x: 50%;}
.accordion__grid{position: relative; min-height: clamp(600px, 80vh, 900px); display: grid; grid-template-columns: 1fr 1fr; align-items: start;}
.accordion__left{position: relative; z-index: 11;}
.accordion__right{position: absolute; top: 0; right: 0; bottom: 0; width: 50%; z-index: 1; overflow: hidden; pointer-events: none; }
.accordion__row, .accordion__left, .accordion__grid{overflow:visible;}
.accordion__row{position: relative; display: flex; align-items: center; padding: 0.938rem;}
.accordion__row::before{content: ""; position: absolute; left: -100vw; right: -100vw; top: 0; height: 1px; background: rgba(255, 255, 255, 0.30); pointer-events: none; background-image: repeating-linear-gradient(to right, rgba(255, 255, 255, 0.30) 0, rgba(255, 255, 255, 0.30) var(--line-w), transparent var(--line-w), transparent var(--tile)), repeating-linear-gradient(to right, rgba(0, 0, 0, 0.30) 0, rgba(0, 0, 0, 0.30) var(--line-w), transparent var(--line-w), transparent var(--tile)); background-position: var(--peek) 0, var(--peek) 0; background-repeat: no-repeat, no-repeat;}
.accordion__grid::after{content: ""; position: absolute; left: -100vw; right: -100vw; bottom: 0; height: 1px; background: rgba(255, 255, 255, 0.30); pointer-events: none; background-image: repeating-linear-gradient(to right, rgba(255, 255, 255, 0.30) 0, rgba(255, 255, 255, 0.30) var(--line-w), transparent var(--line-w), transparent var(--tile)), repeating-linear-gradient(to right, rgba(0, 0, 0, 0.30) 0, rgba(0, 0, 0, 0.30) var(--line-w), transparent var(--line-w), transparent var(--tile)); background-position: var(--peek) 0, var(--peek) 0; background-repeat: no-repeat, no-repeat;}
li.accordion__item.is-active .accordion__toggle{font-size: var(--accordion-active); line-height: 115px; letter-spacing: -2.2px;}
.accordion__toggle{text-align: left; appearance: none; background: transparent; width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 0; cursor: pointer; color: var(--wf-white); font-family: var(--font-newsreader); font-size: var(--cta-h2); font-weight: 700; line-height: 40px; letter-spacing: -0.3px; position:relative; overflow:visible;}
.accordion__title-text{display:inline-block; width: calc(100% + var(--title-overlap-x)); margin-right: calc(-1 * var(--title-overlap-x)); hyphens:auto; overflow:visible; position:relative; z-index:3;}
.accordion__panel[hidden]{display: block; height: 0; overflow: hidden;}
.accordion__panel{overflow: hidden;}
.accordion__panel-inner{padding: 0 0.938rem 1.25rem 0.938rem;}
.accordion__copy{color: var(--wf-light-grey); max-width: 86%; font-size: var(--cta-copy);}
.accordion__media-stage{position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; pointer-events: none;}
.accordion__media-slide{position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity .28s ease;}
.accordion__media-slide.is-active{opacity: 1; pointer-events: auto; }
.accordion__media-img, .accordion__media-video{width: 100%; height: 100%; object-fit: cover; display: block;}
.cta{position: relative; overflow: clip;}
.cta__overlay{position: absolute; inset: 0; background: rgba(0, 0, 0, .35);}
.cta__inner{position: absolute; inset: 0; color: var(--wf-white); text-align: center; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: var(--gap-large); max-width: 53%; margin: 0 auto;}
body.home .cta__inner h2{z-index: 11; color: var(--wf-white); font-family: var(--font-newsreader); font-size: var(--cta-h2); letter-spacing: -0.3px; line-height: 40px;}
.cta__inner h2{color: var(--wf-white); font-family: var(--font-newsreader); font-size: var(--newsletter-h2); line-height: 55px; letter-spacing: -0.5px;}
.cta__inner p{font-size: var(--cta-copy); z-index: 11; position: relative;}
.newsletter{position: relative; background: var(--wf-green); padding: var(--newsletter-padding); color: var(--wf-light-grey);}
.newsletter .wrap{display: flex; flex-direction: column; justify-content: center; align-items: center; gap: var(--gap-x-small);}
.newsletter h2{z-index: 11; color: var(--wf-white); font-family: "Newsreader"; font-size: var(--newsletter-h2); letter-spacing: -0.5px;}
form#mc4wp-form-1{width: 100%; padding: 0 10px;}
.newsletter-form{display: flex; background: var(--wf-light-green); border-radius: 100px; padding: 10px; align-items: center;}
.newsletter-form input#email{background: transparent; padding: 0 15px;}
.newsletter-form input[type="submit"]{width: 13%;}
.newsletter-checkbox{display: flex; align-items: center; justify-content: center; margin-top: var(--gap-x-small); gap: var(--gap-x-small);}
.mc4wp-response{text-align: center; margin-top: var(--gap-x-small);}
.copy p{font-size: var(--font-footer);}
.grid{position: relative; overflow: hidden; background: var(--wf-green); padding: var(--grid-padding);}
.grid .wrap{padding: var(--subpage-module-padding);}
h2.grid__heading{color: var(--wf-white); font-family: var(--font-newsreader); font-size: var(--newsletter-h2); line-height: 55px; letter-spacing: -0.5px; margin-bottom: var(--gap-medium);}
.grid__inner{display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--gap-x-small);}
.grid__item{display: flex; flex-direction: column; gap: var(--gap-x-small);}
.grid__media img{position: relative; width: 100%; height: auto; display: block;}
h3.grid__title{z-index: 11; color: var(--wf-yellow); font-family: var(--font-work-sans); font-size: var(--newsletter-h2); font-style: italic; font-weight: 800; line-height: 55px; letter-spacing: -0.5px; text-transform: uppercase;}
.grid__copy p{z-index: 11; position: relative; color: var(--wf-white); font-family: var(--font-dm-sans); font-size: var(--cta-copy);}
.our-resorts{position: relative; background: var(--wf-green); padding: 150px 0 280px 0;}
.our-resorts .wrap{width: 100%; padding: var(--subpage-module-padding);}
.our-resorts h2.module-heading{color: var(--wf-white); font-family: var(--font-newsreader); font-size: var(--intro-top-h2); line-height: 68px; letter-spacing: -1.32px; margin-bottom: var(--gap-medium);}
.our-resorts__map{margin-bottom: var(--gap-large);}
.our-resorts__map-image{display: block; width: 100%; height: auto; object-fit: cover; z-index: 11; position: relative;}
.our-resorts__grid{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-resorts);} 
.our-resorts__zones-heading{display: flex; align-items: flex-start; justify-content: flex-start;}
.zones-heading{font-family: var(--font-newsreader); color: var(--wf-white); font-size: var(--newsletter-h2); line-height: 55px; letter-spacing: -0.5px;}
.resort-card{position: relative;}
.resort-card__inner{display: block; padding: 0; border: 0; background: none; cursor: pointer; text-align: left;}
.resort-card__media{position: relative; overflow: hidden;}
.resort-card__image{display: block; width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: transform 300ms ease-out; z-index: 11; position: relative;}
@media (hover: hover) and (pointer: fine) {
  .resort-card__inner:hover .resort-card__image{transform: scale(1.04);}
}  
.resort-card__meta{position: absolute; left: 0; top: 0; right: 0; display: flex; align-items: center; justify-content: space-between; padding: var(--gap-resorts); color: var(--wf-white); pointer-events: none; z-index: 12;}
.resort-card__title{color: var(--wf-white); letter-spacing: -0.3px; font-family: var(--font-newsreader); font-size: var(--cta-h2); line-height: 40px;}
.resort-card__icon{width: 28px; height: 28px; border-radius: 999px; border: 1px solid var(--wf-white); display: inline-flex; align-items: center; justify-content: center; color: var(--wf-white); font-family: var(--font-newsreader); font-size: 21px; font-weight: 400; line-height: 1; letter-spacing: -0.216px;}
.resort-overlay[hidden]{display: none;}
.resort-overlay{position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; pointer-events: none; opacity: 0; transition: opacity 220ms ease-out;} 
.resort-overlay.is-open{opacity: 1; pointer-events: auto;}
.resort-overlay__backdrop{position: absolute; inset: 0; background: rgba(0, 0, 0, 0.75);}
html.resort-overlay-open{overflow: hidden;}
.resort-overlay__inner{position: relative; z-index: 1; width: 50%; background: var(--wf-neutral); overflow: hidden; display: flex; flex-direction: column;}
.resort-overlay__close{position: absolute; top: var(--gap-resorts); right: var(--gap-resorts); z-index: 2; border: none; background: transparent; color: var(--wf-white); cursor: pointer; display: flex; align-items: flex-start; justify-content: flex-end; font-size: 30px; padding: 0;}
.resort-overlay__slider{position: relative; background: var(--wf-black);}
.our-resorts .acf-slider{width: 100%;}
.our-resorts .slide{width: 100%;}
.our-resorts .media-overlay{position: absolute; inset: 0; pointer-events: none;}
.our-resorts .acf-slider .flickity-page-dots{bottom: var(--gap-resorts); left: var(--gap-resorts);}
.resort-overlay__content{padding: var(--popup-padding); overflow-y: auto;}
.resort-overlay__title{color: var(--wf-black); font-family: var(--font-newsreader); font-size: var(--cta-h2); line-height: 40px; letter-spacing: -0.3px; margin-bottom: var(--gap-resorts);}
.resort-overlay__copy{font-size: var(--font-footer); line-height: 25.2px;}
/* Afan Valley --------------------------------------------- */
.afan-bottom{position: relative; overflow: hidden; background: var(--wf-neutral);}
.afan-bottom__wrap{width: 100%; padding: var(--subpage-module-padding);}
.afan-bottom--location{padding: var(--location-padding);}
.afan-location{display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-x-small);}
.loc-media .loc-big, .loc-small__img{width: 100%; height: auto; display: block;}
.loc-aside{position: relative;}
.loc-small{width: 300px;}
.location-inner{position: absolute; bottom: 0; right: 0; padding-left: 125px;}
.afan-bottom--economy{padding: var(--economy-padding);}
.loc-heading{color: var(--wf-black); font-family: var(--font-newsreader); font-size: var(--newsletter-h2); line-height: 55px; letter-spacing: -0.5px; margin-bottom: 40px;}
.eco-heading{color: var(--wf-black); font-family: var(--font-newsreader); font-size: var(--intro-top-h2); line-height: 68px; letter-spacing: -1.32px; margin-bottom: var(--gap-x-large);}
.eco-right{width: 100%; display: flex; flex-direction: column; align-items: normal; justify-content: flex-end; padding: 0 0.938rem; margin-left: 35%;}
.eco-copy{width: 50%;}
.eco-copy p:first-child{font-size: var(--economy-first-child);}
.eco-right .buttons-row{margin-top: var(--gap-large);}
.eco-right .buttons-row a{border: 1px solid var(--wf-black);}
.eco-right .buttons-row span{color: var(--wf-black)}
/* About --------------------------------------------- */
.about-bottom{position: relative; overflow: hidden; background: var(--wf-neutral); padding: var(--about-padding); background-image: url(/wp-content/themes/wildfox/assets/img/yellow-gradient.png); background-repeat: no-repeat; background-position: bottom right; background-size: auto 100%;}
.about-bottom__wrap{width: 100%; padding: var(--subpage-module-padding);}
.about-information{display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-x-small); padding: var(--about-information-padding);}
.about-aside{position: relative; display: flex; flex-direction: column; align-items: flex-end;}
.about-small{width: 300px;}
.about-media .about-big, .about-small__img{width: 100%; height: auto; display: block;}
.about-inner{position: absolute; top: 320px; left: 0; padding-right: 90px;}
h2.about-heading{color: var(--wf-black); font-family: var(--font-newsreader); font-size: var(--cta-h2); line-height: 40px; letter-spacing: -0.3px; margin-bottom: 35px;}
.bleed{position: relative; overflow: hidden; padding: var(--about-bleed); background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 7.69%, #252B29 100%);}
#bottom.bleed{background: linear-gradient(180deg, #252B29 0%, rgba(254, 249, 238) 100%);}
.our-team{position: relative; background: var(--wf-white); padding: var(--team-padding); overflow: visible;}
.our-team__heading-wrapper{display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--gap-medium);}
.our-team__heading{margin: 0;}
.team-dots{margin-left: auto; display: flex; align-items: flex-end;}
.our-team .flickity-page-dots{position: static; display: flex; gap: 10px; margin: 0; transform: none;}
.our-team .flickity-page-dots .dot{width: 8px; height: 8px; border-radius: 0; background: var(--wf-black); transform: rotate(45deg); opacity: 0.2;}
.our-team .flickity-page-dots .dot.is-selected{opacity: 1;}
h2.our-team__heading{color: var(--wf-black); font-family: var(--font-newsreader); font-size: var(--newsletter-h2); line-height: 55px; letter-spacing: -0.5px}
h3.team-card__name{margin-top: var(--gap-x-small); color: var(--wf-black); font-family: var(--font-newsreader); font-size: var(--cta-h2); line-height: 40px; letter-spacing: -0.3px;}
.team-card__role{color: var(--wf-black); font-family: var(--font-dm-sans); font-size: var(--cta-copy); font-weight: 700; line-height: 20px;}
.team-rail{position: relative; width: calc(100vw - var(--team-left-gap)); margin-left: calc(50% - 50vw + var(--team-left-gap)); margin-top: var(--gap-medium);}
.team-rail .flickity-viewport{overflow: visible;}
.team-rail .flickity-slider{margin-right: var(--team-left-gap);}
/* Contact --------------------------------------------- */
body.page-template-contact .acf-slider .slide{position: relative; width: 100%; overflow: visible; align-items: center; justify-content: center; height: 50vh;}
#contact.introduction{padding: var(--introduction-contact-padding); text-align: center;}
#contact.introduction .wrap{width: 60%; margin: 0 auto;}
#contact.introduction h2{color: var(--wf-black); font-family: var(--font-newsreader); font-size: var(--newsletter-h2); line-height: 55px; letter-spacing: -0.5px; padding-bottom: var(--gap-x-small);}
#contact.introduction .copy{padding-bottom: var(--gap-small);}
.contact-form p{margin-bottom: var(--gap-small);}
input, textarea{position: relative; z-index: 11; color: var(--wf-black); font-family: var(--font-dm-sans); font-weight: 500; line-height: normal; letter-spacing: 1.8px; text-transform: uppercase; border-radius: 10px; background: var(--wf-white); border: 0;}
input:focus, textarea:focus{border: 0;}
.wpcf7-list-item{margin: 0;}
.submit{display: flex; justify-content: center; align-items: center;}
input[type="submit"]{border-radius: var(--btn-radius); border: 1px solid var(--wf-black); display: flex; padding: 9px 27px; color: var(--wf-black); font-family: var(--font-dm-sans); font-size: var(--font-footer); font-weight: 500; letter-spacing: 1.8px; text-transform: uppercase; background: transparent; align-items: center; justify-content: center;}
input[type="submit"]:hover, input[type="submit"]:focus{color: var(--wf-black); border: 1px solid var(--wf-black); background: transparent;}
.wpcf7 form.sent .wpcf7-response-output{border: 0 !important; margin: 0 !important; padding: 0 !important;}
.wpcf7-spinner{display: none;}
.submit p{margin-bottom: 0;}
.contact-bottom{position: relative; overflow: hidden; background: var(--wf-neutral); text-align: center; padding: var(--contact-bottom-padding);}
.contact-bottom__numbers, .contact-bottom__emails{display: flex; flex-direction: column;}
.contact-bottom__emails{margin-bottom: var(--gap-large);}
p.contact-bottom__number, p.contact-bottom__email, .contact-bottom__address p{margin: 0;}
p.contact-bottom__number a, p.contact-bottom__email a, .contact-bottom__address{color: var(--wf-green); font-family: var(--font-newsreader); font-size: var(--cta-h2); line-height: 40px; letter-spacing: -0.3px; text-decoration: none;}
.wpcf7-not-valid-tip{font-size: var(--font-footer)!important; padding-top: var(--gap-x-small)!important;}
/* Footer --------------------------------------------- */
.footer{position: relative; background: var(--wf-black); color: var(--wf-light-grey); text-align: center;}
.footer-widget-area{padding: 0;}
.footer-widget-area .social-media{justify-content: center; margin-bottom: 19px;}
.footer-widgets{padding: var(--footer-padding); border-top: 0; background-color: var(--wf-black); clear: both;}
.widget-title{z-index: 11; position: relative; font-size: var(--font-footer); font-weight: 500; letter-spacing: 1.8px; text-transform: uppercase; color: var(--wf-light-grey); margin-bottom: var(--gap-x-small);}
.widget ul{display: flex; padding: 0 10px; flex-direction: column; justify-content: center; align-items: center; gap: 5px;}
.widget ul > li{z-index: 11; position: relative; margin-bottom: 0;}
.widget ul > li a{z-index: 11; position: relative; font-weight: 500; letter-spacing: 1.8px; text-transform: uppercase; color: var(--wf-light-grey); text-decoration: none;}
.copyright{padding-bottom: var(--copyright-padding);}
.copyright p{z-index: 11; position: relative; font-size: var(--font-copyright); margin: 0;}
.footer-logo img{z-index: 11; position: relative; width: 100%; padding: 0 12px 12px 12px;}
.footer .social-wrapper{margin-top: 0;}
a.social-link{z-index: 11;}