/* HEADER CSS START */
.site-header .header-inner {
    max-width: 1380px;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .site-header {
        --dropdown-hover-background: transparent;
        --dropdown-hover-text: #d8cbb4;
    }
    .site-header .header-logo { padding-inline: 20px; }
    .site-header .header-actions { margin-right: 15px; }
    .site-header .navigation-level-1 > li > .navigation-home { display: flex; align-items: center; height: 110px; font-size: 0; }
    .site-header .navigation-home svg { display: none; }
    .site-header .navigation-home::before {
        content: "\f448";
        display: inline-block;
        width: 24px;
        font: normal 24px/1 BoutiqueControls;
        vertical-align: middle;
    }
    .site-header .navigation-home::after { content: "\00a0"; font-size: 24px; }
    .site-header .navigation-level-1 > .has-child > a { padding-right: 20px; }
    .site-header .navigation-level-1 > .has-child > .expand-subpages {
        top: 0;
        width: 20px;
        height: 110px;
    }
    .site-header .header-inner .navigation-level-1 > .has-child > .expand-subpages::after {
        content: "\f3d0";
        top: 0;
        left: 0;
        width: 20px;
        height: 110px;
        padding: 0;
        border: 0;
        font: normal 14px/110px BoutiqueControls;
        text-align: center;
        color: #fff;
        transform: none;
    }
    .nxb-page--solid-header .site-header .header-inner .navigation-level-1 > .has-child > .expand-subpages::after,
    .site-header.is-scrolled .header-inner .navigation-level-1 > .has-child > .expand-subpages::after { color: #284e63; }
    .site-header .navigation-level-1 > .has-child > .navigation-submenu {
        top: 70%;
        width: 240px;
        padding: 0;
        background: #0f2d3d;
        box-shadow: 0 0 15px #0000001a;
        letter-spacing: normal;
    }
    .site-header .navigation-submenu a {
        padding: 10px 15px;
        line-height: 1.5;
        color: #f9f6f1;
    }
}
.site-header .navigation-level-1 > li > a { transition: color .3s ease; }
.site-header .navigation-submenu a { transition: color .3s ease-in-out, background-color .3s ease-in-out; }
/* HEADER CSS END */

/* BANNER CSS START */
.nxb-banner--size-takeover .nxb-banner__content { padding: 30px 12px 60px; }
.nxb-banner__content-inner {
    width: calc((var(--boutique-content-width) + 24px) * .75 - 30px);
    max-width: none;
    align-items: stretch;
}
.nxb-banner__subtitle { margin: 0; }
.nxb-banner:has(.nxb-banner__subtitle) .nxb-banner__title { margin-top: 5px; }
.nxb-banner__intro { font-size: 20px; line-height: 1.4; }
.nxb-banner__title { letter-spacing: .3px; }
.boutique-banner--source-short.nxb-banner--no-media .nxb-banner__content { padding-inline: max(15px, calc((100% - var(--boutique-content-width)) / 2 + 3px)); }
.nxb-banner__scroll-prompt {
    bottom: 23.5px;
    width: 40px;
    height: 36px;
    padding: 1px 6px 0;
    overflow: hidden;
}
.nxb-banner__scroll-prompt span {
    position: relative;
    width: 21px;
    height: 35px;
    background: transparent;
}
.nxb-banner__scroll-prompt span::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 9px;
    width: 1px;
    height: 40px;
    background: currentColor;
    animation: boutiqueScrollLine 1.25s ease .75s infinite both;
}
@keyframes boutiqueScrollLine {
    from { opacity: 0; transform: translate3d(0, -100px, 0); }
    to { opacity: 1; transform: translateZ(0); }
}
/* BANNER CSS END */

/* CONTENT CSS START */
body[data-page-type="ownershipListing"] h1.nxb-text-block__heading { letter-spacing: .3px; }
.umb-block-grid__area-container:has(> [data-area-col-span="12"]) > .umb-block-grid__area:not(:has(.umb-block-grid__layout-item)) { display: none; }
.nxb-section > .nxb-gallery--multi-column[style*="--gallery-image-ratio: 3 / 4;"] { width: calc(100% - 24px); max-width: none; }
.page-test.boutique-page--header-space #site-content { padding-top: 0; }
.page-park-map .nxb-text-block--buttons-only .nxb-text-block__outro { margin-top: 0; }
:is(.page-our-resorts, .page-lodges, .page-test) .page-heading { padding-bottom: 0; }
.page-content-shell__sidebar .nxb-reusable-pods .nxb-simple-pods__heading { font-size: 24px; }
.page-content-shell__sidebar .nxb-reusable-pods .nxb-simple-pods__card:first-child .nxb-simple-pods__heading { font-size: 28px; }
.page-content-shell__sidebar .nxb-reusable-pods .nxb-simple-pods__text a { color: #284e63; }
/* Match text smoothing on the live sidebar's animated layer. */
.page-content-shell__sidebar .nxb-reusable-pods .nxb-simple-pods__card:has(.nxb-simple-pods__text > p > span + strong) {
    will-change: transform;
}
.page-content-shell__sidebar .nxb-reusable-pods .nxb-simple-pods__card:has(.nxb-simple-pods__text > p > span + strong) .nxb-simple-pods__heading {
    margin: 0;
    font-family: "Crimson Text", serif;
    font-style: normal;
    font-weight: 600;
}
.page-content-shell__sidebar .nxb-reusable-pods .nxb-simple-pods__text:has(> p > span + strong) {
    display: grid;
    gap: 16px;
    margin-top: 15px;
    padding-block: 8px;
    font-family: "Crimson Text", serif;
    font-style: normal;
    font-weight: 400;
    color: #284e63;
}
.page-content-shell__sidebar .nxb-reusable-pods .nxb-simple-pods__text p:has(> span + strong) {
    position: relative;
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
}
.page-content-shell__sidebar .nxb-reusable-pods .nxb-simple-pods__text p:has(> span + strong):not(:last-child)::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 1px;
    background: #e9e9e9;
}
.page-content-shell__sidebar .nxb-reusable-pods .nxb-simple-pods__text p:has(> span + strong) > span { font-weight: 400; }
.page-content-shell__sidebar .nxb-reusable-pods .nxb-simple-pods__text p > span + strong { font-weight: 700; }
.page-privacy-policy .nxb-text-block__content .intro.lg { display: block; letter-spacing: -.15px; }
.nxb-contact-form__field :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { border-color: #e9e9e9; color: #212529; letter-spacing: inherit; }
.nxb-contact-form__field--question { padding-top: 10px; }
.nxb-contact-form__field--question legend { margin-top: 0; }
.page-ownership-enquiry .nxb-component-intro .nxb-text-block__intro { margin-bottom: 0; }
.page-ownership-enquiry .nxb-grid-layout { --nxb-grid-row-gap: 30px; }
.nxb-search-results__feedback { margin-top: 10px; }
.nxb-search-results__form input { border-color: #e9e9e9; color: #212529; letter-spacing: inherit; }
.nxb-search-results__list { margin-block: 15px; }
.nxb-search-results__title { letter-spacing: normal; }
.nxb-search-results__summary,
.nxb-search-results__url { font: inherit; color: #5c5e62; }
.nxb-gallery:not([data-gallery-transition="none"]) :is(.slick-track, .slick-slide)[style*="transition:"],
.nxb-banner-carousel:not([data-transition="none"]) :is(.slick-track, .slick-slide)[style*="transition:"] { transition-duration: .6s !important; }
.nxb-action,
.site-header .header-actions .button,
.nxb-contact-form__submit {
    position: relative;
    z-index: 1;
    --boutique-cta-background: #fff;
    --boutique-cta-hover-background: #fff;
    --boutique-cta-hover-border: #fff;
    --boutique-cta-hover-colour: #bfa77d;
    transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out;
}
.nxb-action::before,
.site-header .header-actions .button::before,
.nxb-contact-form__submit::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    pointer-events: none;
    background: transparent;
    opacity: 0;
    transition: opacity .3s ease-in-out, background-color .3s ease-in-out;
}
.nxb-action--light,
.site-header .header-actions .button {
    --boutique-cta-background: #f9f6f1;
    --boutique-cta-hover-background: #284e63;
    --boutique-cta-hover-border: #284e63;
    --boutique-cta-hover-colour: #f9f6f1;
}
.nxb-action--accent,
.nxb-action--sage,
.nxb-contact-form__submit {
    --boutique-cta-background: #284e63;
    --boutique-cta-hover-background: #203f50;
    --boutique-cta-hover-border: #203f50;
    --boutique-cta-hover-colour: #fff;
}
.nxb-action:is(:hover, :focus-visible),
.site-header .header-actions .button:is(:hover, :focus-visible),
.nxb-contact-form__submit:is(:hover, :focus-visible) {
    background: var(--boutique-cta-background);
    border-color: var(--boutique-cta-hover-border);
    color: var(--boutique-cta-hover-colour);
    filter: none;
}
.nxb-action:is(:hover, :focus-visible)::before,
.site-header .header-actions .button:is(:hover, :focus-visible)::before,
.nxb-contact-form__submit:is(:hover, :focus-visible)::before { background: var(--boutique-cta-hover-background); opacity: 1; }
/* Center the ownership resort links whenever the full group fits. */
.page-ownership .nxb-anchor-navigation .nxb-text-block__buttons {
    justify-content: safe center;
    scrollbar-width: none;
}
.page-ownership .nxb-anchor-navigation .nxb-text-block__buttons::-webkit-scrollbar { display: none; }
.page-ownership .nxb-anchor-navigation .nxb-action[aria-current="location"] {
    border-color: #284e63;
    color: #284e63;
}
.nxb-anchor-navigation .nxb-action {
    --boutique-cta-background: transparent;
    --boutique-cta-hover-background: transparent;
    --boutique-cta-hover-border: #eee;
    --boutique-cta-hover-colour: #bfa77d;
}
.nxb-gallery--carousel[data-gallery-columns="1"] .nxb-gallery__viewport.slick-initialized { margin-inline: -12px; }
.nxb-gallery--carousel[data-gallery-columns="1"] .nxb-gallery__item.slick-slide { padding-inline: 15px; }
.nxb-text-block__content a { text-decoration: none; transition: color .3s ease-in-out; }
.nxb-text-block__content a:is(:hover, :focus-visible) { color: #bfa77d; text-decoration: none; }
.page-contact .nxb-section--textBlock:has(> .nxb-component-intro) { display: flow-root; }
.page-contact .gold-background { width: calc(100% + 24px); margin-inline: -12px; }
.page-contact .gold-background .intro.sm { font-size: 20px; line-height: 1.4; }
.page-contact .gold-background .nxb-action,
.page-contact .nxb-contact-form__submit { font-size: 20px; line-height: 30px; }
.page-contact .gold-background .nxb-action { letter-spacing: normal; }
.page-contact .nxb-contact-form__submit { margin-top: 35px; padding: 8px 16px; }
.page-contact .nxb-contact-form__fields { row-gap: 15px; }
.page-contact .nxb-contact-form__field:not(.nxb-contact-form__field--question) { margin-bottom: 1px; }
.page-contact .nxb-contact-form__choice input[type="checkbox"] {
    appearance: none;
    position: relative;
    margin-top: 4px;
    border: 1px solid rgb(233 233 233 / .75);
    background: #fff;
    transition: border-color .35s ease-in-out, box-shadow .35s ease-in-out;
}
.page-contact .nxb-contact-form__choice input[type="checkbox"]::after {
    content: "";
    position: absolute;
    top: 0;
    left: 4.5px;
    width: 5px;
    height: 10px;
    border: solid #000;
    border-width: 0 2px 2px 0;
    opacity: 0;
    transform: rotate(45deg) scale(.25);
    transition: opacity .35s ease-in-out, transform .35s ease-in-out;
}
.page-contact .nxb-contact-form__choice:hover input[type="checkbox"],
.page-contact .nxb-contact-form__choice input[type="checkbox"]:checked { border-color: #e9e9e9; box-shadow: inset 2px 2px 1px rgb(0 0 0 / .1); }
.page-contact .nxb-contact-form__choice input[type="checkbox"]:checked::after { opacity: 1; transform: rotate(45deg) scale(1); }
.page-contact .nxb-section--reusableContent .nxb-text-block__content .small { line-height: calc(1.5em / .875); }
/* CONTENT CSS END */

/* FOOTER CSS START */
.site-footer .back-to-top-button { color: #284e63; transition: color .3s ease-in-out; }
.back-to-top-button::before { transition: border-color .3s ease-in-out; }
.site-footer .back-to-top-button:is(:hover, :focus-visible) { color: #bfa77d; }
.back-to-top-button:is(:hover, :focus-visible)::before { border-color: #bfa77d; }
.site-footer .footer-content .nxb-simple-pods__text a { transition: color .3s ease-in-out; }
.site-footer .footer-content .nxb-simple-pods__text a:is(:hover, :focus-visible),
.site-footer .footer-content .nxb-simple-pods__card:first-child .nxb-simple-pods__text a[href^="mailto:"]:is(:hover, :focus-visible) { color: #284e63; }
/* FOOTER CSS END */
