/* $GLOBAL
--------------------------------------------------------*/
html {
    font-family: "Open Sans", sans-serif;
    font-optical-sizing: auto;
    font-variation-settings: "wdth" 100;
}
.app {
    background: var(--bg-texture) top center / 153.6rem auto repeat scroll transparent;
}


/* $TYPE
 * --------------------------------------------------------
 * The marker family is per-brand and resolved via --font-marker.
 * Each child theme declares the family name on :root and provides
 * the font itself however that brand sources it (local @font-face
 * in style.css, Adobe Fonts <link> injected via the site's script
 * options, Google Fonts, etc.).
 * -------------------------------------------------------- */
.marker {
    font-family: var(--font-marker);
    font-weight: normal;
    font-style: normal;
    text-transform: uppercase;
}
h2 {
    font-weight: 600;
    font-variation-settings: "wdth" 75;
}
h4 {
    margin: 0 0 2.4rem;
}


/* $HEADER
--------------------------------------------------------*/
.hdr {
    background: var(--bg-texture) center / 153.6rem auto repeat scroll transparent;
    -webkit-box-shadow: 0 .1rem .3rem rgba(0,0,0,.06), 0 .4rem 1.2rem rgba(0,0,0,.04);
            box-shadow: 0 .1rem .3rem rgba(0,0,0,.06), 0 .4rem 1.2rem rgba(0,0,0,.04);
}
/* Undo Rocket lazy-render paint containment if a cached page still tagged .hdr. */
.hdr[data-wpr-lazyrender] {
    content-visibility: visible;
}
    .hdr__inner {
        width: var(--w-xl);
        padding-inline: 4.0rem;
        gap: 1.6rem;
    }
    .hdr__logo {
        gap: .8rem;
    }
        .hdr__logo-icon {
            position: relative;
            width: 5.6rem;
            height: 5.6rem;
            -ms-flex-negative: 0;
                flex-shrink: 0;
            padding: .2rem;
        }
            .hdr__logo-blotch {
                position: absolute;
                inset: -.4rem;
                -webkit-transition: -webkit-transform 0.3s cubic-bezier(.75,-1.27,.3,2.33);
                transition: -webkit-transform 0.3s cubic-bezier(.75,-1.27,.3,2.33);
                -o-transition: transform 0.3s cubic-bezier(.75,-1.27,.3,2.33);
                transition: transform 0.3s cubic-bezier(.75,-1.27,.3,2.33);
                transition: transform 0.3s cubic-bezier(.75,-1.27,.3,2.33), -webkit-transform 0.3s cubic-bezier(.75,-1.27,.3,2.33);
                pointer-events: none;
            }
                .hdr__logo-blotch img {
                    width: 100%;
                    height: auto;
                }
            .hdr__logo:hover .hdr__logo-blotch {
                -webkit-transform: scale(1.1);
                    -ms-transform: scale(1.1);
                        transform: scale(1.1);
            }
            .hdr__logo-wave {
                position: relative;
                width: 100%;
                height: 100%;
                border-radius: 50%;
                -o-object-fit: contain;
                   object-fit: contain;
            }
        .hdr__logo-text {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: .6rem;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }
            .hdr__logo-text-top {
                height: 2.2rem;
                width: auto;
                display: block;
            }
            .hdr__logo-text-bot {
                height: 2.2rem;
                width: auto;
                display: block;
            }
@media only screen and (max-width: 1200px) {
    .hdr__logo-text {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: .2rem;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
    }
        .hdr__logo-text-top,
        .hdr__logo-text-bot {
            height: 2.0rem;
        }
}
@media only screen and (max-width: 768px) {
    .hdr__inner {
        padding-inline: 2.4rem;
    }
}
    .hdr__more {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        height: 100%;
        margin-left: auto;
        gap: .8rem;
        border: none;
        background-color: transparent;
        cursor: pointer;
    }
        .hdr__more-text {
            position: relative;
            z-index: 1;
            font-size: 1.4rem;
            color: var(--c-sec);
            text-align: right;
            -webkit-transition: color 0.15s linear;
            -o-transition: color 0.15s linear;
            transition: color 0.15s linear;
        }
        /* When mobile nav is open, accent the More label + close icon so they
           read against the dark overlay (token: --c-ter per brand). */
        .hdr:has(.hdr__nav-toggle--open) .hdr__more-text {
            color: var(--c-ter);
        }
        .hdr__nav-toggle--open .hdr__nav-toggle-icon-rect {
            fill: var(--c-ter);
        }
        .hdr__more-circle {
            position: relative;
            width: 5.6rem;
            height: 5.6rem;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }
            .hdr__more-blotch {
                position: absolute;
                inset: -.4rem;
                -webkit-transition: -webkit-transform 0.3s cubic-bezier(.75,-1.27,.3,2.33);
                transition: -webkit-transform 0.3s cubic-bezier(.75,-1.27,.3,2.33);
                -o-transition: transform 0.3s cubic-bezier(.75,-1.27,.3,2.33);
                transition: transform 0.3s cubic-bezier(.75,-1.27,.3,2.33);
                transition: transform 0.3s cubic-bezier(.75,-1.27,.3,2.33), -webkit-transform 0.3s cubic-bezier(.75,-1.27,.3,2.33);
                pointer-events: none;
            }
                .hdr__more-blotch img {
                    width: 100%;
                    height: auto;
                    -webkit-transform: rotate(180deg);
                        -ms-transform: rotate(180deg);
                            transform: rotate(180deg);
                }
            .hdr__more:hover .hdr__more-blotch {
                -webkit-transform: scale(1.1);
                    -ms-transform: scale(1.1);
                        transform: scale(1.1);
            }
        .hdr__more-img {
            position: relative;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            -o-object-fit: cover;
               object-fit: cover;
        }


/* $NAV
--------------------------------------------------------*/
    .nav__item--active::after {
        background: var(--c-ter);
    }
        .nav__link,
        .nav__button {
            gap: .4rem;
            font-size: 1.4rem;
            color: var(--c-75);
            font-variation-settings: "wdth" 75;
        }
        .nav__link:focus,
        .nav__button:focus {
            background-color: transparent;
        }
            .nav__button-icon {
                fill: var(--c-pri);
            }
        .nav__sub {
            background: color-mix(in srgb, var(--c-sec) 85%, transparent);
            -webkit-backdrop-filter: saturate(180%) blur(1.6rem);
                    backdrop-filter: saturate(180%) blur(1.6rem);
        }
            .nav__sub::before {
                border-bottom-color: var(--c-sec);
            }
                .nav__sub-link {
                    color: var(--c-w);
                    border-radius: .4rem;
                }
                .nav__sub-link:hover,
                .nav__sub-link:focus {
                    background: var(--c-pri);
                }
                .nav__sub-link[aria-current="page"],
                .nav__flyout-link[aria-current="page"] {
                    position: relative;
                }
                .nav__sub-link[aria-current="page"]::before,
                .nav__flyout-link[aria-current="page"]::before {
                    content: '';
                    position: absolute;
                    top: .4rem;
                    left: .4rem;
                    bottom: .4rem;
                    width: .2rem;
                    background: var(--c-ter);
                }
                /* Tier-3 hover flyout. Parent link stays fully clickable; flyout reveals
                   adjacent on :hover or :focus-within. */
                .nav__sub-item--has-children {
                    position: relative;
                }
                    .nav__sub-item--has-children > .nav__sub-link {
                        display: -webkit-box;
                        display: -ms-flexbox;
                        display: flex;
                        -webkit-box-align: center;
                            -ms-flex-align: center;
                                align-items: center;
                        -webkit-box-pack: justify;
                            -ms-flex-pack: justify;
                                justify-content: space-between;
                        gap: .8rem;
                    }
                        .nav__sub-arrow {
                            width: 1.2rem;
                            height: 1.2rem;
                            fill: currentColor;
                            -ms-flex-negative: 0;
                                flex-shrink: 0;
                            -webkit-transform: rotate(-90deg);
                                -ms-transform: rotate(-90deg);
                                    transform: rotate(-90deg);
                            opacity: .6;
                            -webkit-transition: opacity 0.15s linear;
                            -o-transition: opacity 0.15s linear;
                            transition: opacity 0.15s linear;
                        }
                        .nav__sub-item--has-children:hover > .nav__sub-link .nav__sub-arrow,
                        .nav__sub-item--has-children:focus-within > .nav__sub-link .nav__sub-arrow {
                            opacity: 1;
                        }
                    .nav__flyout {
                        position: absolute;
                        top: 0;
                        left: 100%;
                        min-width: 20.8rem;
                        background: color-mix(in srgb, var(--c-sec) 85%, transparent);
                        background: var(--c-sec);
                        -webkit-backdrop-filter: saturate(180%) blur(1.6rem);
                                backdrop-filter: saturate(180%) blur(1.6rem);
                        border-radius: .8rem;
                        -webkit-box-shadow: 0 .4rem 1.6rem rgba(0,0,0,0.1);
                                box-shadow: 0 .4rem 1.6rem rgba(0,0,0,0.1);
                        opacity: 0;
                        visibility: hidden;
                        -webkit-transform: translateX(-.8rem);
                            -ms-transform: translateX(-.8rem);
                                transform: translateX(-.8rem);
                        -webkit-transition: opacity 0.15s linear, visibility 0s linear 0.15s, -webkit-transform 0.15s linear;
                        transition: opacity 0.15s linear, visibility 0s linear 0.15s, -webkit-transform 0.15s linear;
                        -o-transition: opacity 0.15s linear, transform 0.15s linear, visibility 0s linear 0.15s;
                        transition: opacity 0.15s linear, transform 0.15s linear, visibility 0s linear 0.15s;
                        transition: opacity 0.15s linear, transform 0.15s linear, visibility 0s linear 0.15s, -webkit-transform 0.15s linear;
                        z-index: 1;
                    }
                    .nav__sub-item--has-children:hover > .nav__flyout,
                    .nav__sub-item--has-children:focus-within > .nav__flyout {
                        opacity: 1;
                        visibility: visible;
                        -webkit-transform: translateX(0);
                            -ms-transform: translateX(0);
                                transform: translateX(0);
                        -webkit-transition-delay: 0s;
                             -o-transition-delay: 0s;
                                transition-delay: 0s;
                    }
                        .nav__flyout-list {
                            list-style: none;
                            margin: 0;
                            padding: 1.6rem;
                        }
                            .nav__flyout-link {
                                display: block;
                                padding: 1.6rem;
                                font-size: 1.2rem;
                                line-height: 1.5;
                                color: var(--c-w);
                                border-radius: .4rem;
                                -webkit-transition: background-color 0.15s linear;
                                -o-transition: background-color 0.15s linear;
                                transition: background-color 0.15s linear;
                            }
                            .nav__flyout-link:hover,
                            .nav__flyout-link:focus {
                                background: var(--c-pri);
                            }
/* Mobile nav: keep apparatus backdrop (blur + --c-bd), restyle everything else
   into a clean accordion — no tree borders, clear tier hierarchy. */
@media only screen and (max-width: 768px) {
    .nav {
        --c-bd: color-mix(in srgb, var(--c-sec) 90%, transparent);
        color-scheme: dark;
    }
        .nav__list {
            -webkit-box-align: stretch;
                -ms-flex-align: stretch;
                    align-items: stretch;
            gap: 0;
            padding: 11.2rem 2.4rem 4.8rem;
        }
        .nav__item {
            width: 100%;
            border-bottom: .2rem solid var(--c-10);
        }
            .nav__link,
            .nav__button {
                height: auto;
                min-height: 6.4rem;
                padding: 2.4rem .4rem;
                font-size: 2.4rem;
                font-weight: 700;
                line-height: 1.2;
                letter-spacing: -.01em;
                color: var(--c-w);
                text-transform: none;
                -webkit-transition: background-color 0.15s linear, color 0.15s linear;
                -o-transition: background-color 0.15s linear, color 0.15s linear;
                transition: background-color 0.15s linear, color 0.15s linear;
            }
            .nav__button[aria-expanded="true"] {
                color: var(--c-w);
            }
                .nav__button-icon {
                    width: 2.4rem;
                    height: 2.4rem;
                    fill: var(--c-ter);
                }
            .nav__sub {
                background: transparent;
                -webkit-backdrop-filter: none;
                        backdrop-filter: none;
            }
                .nav__sub-inner {
                    padding: 0 0 1.6rem;
                }
                    .nav__sub-list {
                        display: -webkit-box;
                        display: -ms-flexbox;
                        display: flex;
                        -webkit-box-orient: vertical;
                        -webkit-box-direction: normal;
                            -ms-flex-direction: column;
                                flex-direction: column;
                        gap: .2rem;
                        padding: .4rem 0 0;
                    }
                        .nav__sub-item--has-children > .nav__sub-link .nav__sub-arrow {
                            display: none;
                        }
                        .nav__sub-link {
                            display: block;
                            padding: 1.4rem 1.2rem;
                            font-size: 1.6rem;
                            font-weight: 600;
                            line-height: 1.35;
                            color: color-mix(in srgb, var(--c-w) 92%, transparent);
                            border-left: 0;
                            border-radius: .6rem;
                            -webkit-transition: background-color 0.15s linear, color 0.15s linear;
                            -o-transition: background-color 0.15s linear, color 0.15s linear;
                            transition: background-color 0.15s linear, color 0.15s linear;
                        }
                        .nav__sub-link:hover,
                        .nav__sub-link:focus {
                            background: color-mix(in srgb, var(--c-w) 10%, transparent);
                            color: var(--c-w);
                        }
                        .nav__sub-link[aria-current="page"],
                        .nav__flyout-link[aria-current="page"] {
                            background: color-mix(in srgb, var(--c-pri) 55%, transparent);
                            color: var(--c-w);
                        }
                        .nav__sub-link[aria-current="page"]::before,
                        .nav__flyout-link[aria-current="page"]::before {
                            display: none;
                        }
    /* Tier-3: inline under parent (no hover on touch). Parent row already links
       to the page, so hide the duplicate self-link that desktop flyouts need. */
    .nav__flyout {
        position: static;
        opacity: 1;
        visibility: visible;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
        min-width: 0;
        margin: .2rem 0 .6rem .8rem;
        padding: .4rem 0 .4rem 1.2rem;
        background: transparent;
        -webkit-backdrop-filter: none;
                backdrop-filter: none;
        -webkit-box-shadow: none;
                box-shadow: none;
        border-radius: 0;
        border-left: .2rem solid color-mix(in srgb, var(--c-w) 18%, transparent);
    }
        .nav__flyout-list {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: .1rem;
            padding: 0;
        }
            .nav__flyout-item:first-child {
                display: none;
            }
            .nav__flyout-link {
                display: block;
                padding: 1.1rem 1.2rem;
                font-size: 1.4rem;
                font-weight: 500;
                line-height: 1.35;
                color: color-mix(in srgb, var(--c-w) 72%, transparent);
                border-left: 0;
                border-radius: .6rem;
                -webkit-transition: background-color 0.15s linear, color 0.15s linear;
                -o-transition: background-color 0.15s linear, color 0.15s linear;
                transition: background-color 0.15s linear, color 0.15s linear;
            }
            .nav__flyout-link:hover,
            .nav__flyout-link:focus {
                background: color-mix(in srgb, var(--c-w) 10%, transparent);
                color: var(--c-w);
            }
}


/* $UTILITIES
--------------------------------------------------------*/
.fancy-link {
    margin: 0;
    font-size: 1.2rem;
    line-height: 1.5;
    font-style: italic;
    letter-spacing: .05em;
    color: var(--c-w);
    text-decoration: underline;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
    .fancy-link__arrow {
        width: 2.4rem;
        height: 2.4rem;
        fill: var(--c-ter);
        position: relative;
        top: -.2rem;
    }

/* $BUTTONS
--------------------------------------------------------*/
.button.flybook-book-now-button,
.button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
    padding: 1.6rem 2.4rem;
    font-size: 1.2rem;
    font-style: italic;
    text-transform: uppercase;
    letter-spacing: .05em;
    border-radius: .4rem;
    border: none;
    -webkit-transition: background-color 0.15s linear;
    -o-transition: background-color 0.15s linear;
    transition: background-color 0.15s linear;
}
.button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
    background-color: var(--c-ter);
}
/* Inverted button variants: default ter, hover pri (opposite of base). */
.hero__button-cta-book-now,
.cta-banner__button {
    background-color: var(--c-ter);
    border-color: var(--c-ter);
}
.hero__button-cta-book-now:hover,
.cta-banner__button:hover {
    background-color: var(--c-pri);
}


/* $HERO
--------------------------------------------------------*/
.hero {
    position: relative;
    background: var(--c-sec);
    display: -ms-grid;
    display: grid;
    width: var(--w-xl);
    margin: 0 auto;
    aspect-ratio: var(--ar);
    -webkit-box-shadow: 0 .1rem 0 0 var(--c-w), 0 .5rem 0 0 var(--c-pri);
            box-shadow: 0 .1rem 0 0 var(--c-w), 0 .5rem 0 0 var(--c-pri);
    color-scheme: dark;
}
.hero--primary {
    --ar: 16/9;
}
.hero--secondary {
    --ar: 21/9;
}
    .hero__img-wrap {
        position: relative;
        -ms-grid-row: 1;
        -ms-grid-column: 1;
        grid-area: 1/1;
        contain: paint;
        overflow: clip;
    }
        .hero__img {
            width: 100%;
            height: 100%;
            -o-object-fit: cover;
               object-fit: cover;
            aspect-ratio: var(--ar);
        }
        .hero__img-wrap::after {
            content: '';
            position: absolute;
            inset: 0;
            background:
                -o-linear-gradient(bottom,
                var(--c-sec) 0%,
                color-mix(in srgb, var(--c-sec) 75%, transparent) 20%,
                color-mix(in srgb, var(--c-sec) 10%, transparent) 40%,
                color-mix(in srgb, var(--c-sec) 10%, transparent) 100%);
            background:
                -webkit-gradient(linear,
                left bottom, left top,
                from(var(--c-sec)),
                color-stop(20%, color-mix(in srgb, var(--c-sec) 75%, transparent)),
                color-stop(40%, color-mix(in srgb, var(--c-sec) 10%, transparent)),
                to(color-mix(in srgb, var(--c-sec) 10%, transparent)));
            background:
                linear-gradient(0deg,
                var(--c-sec) 0%,
                color-mix(in srgb, var(--c-sec) 75%, transparent) 20%,
                color-mix(in srgb, var(--c-sec) 10%, transparent) 40%,
                color-mix(in srgb, var(--c-sec) 10%, transparent) 100%);
        }
        .hero .vim--bg::after {
            content: '';
            position: absolute;
            inset: 0;
            z-index: 1;
            background:
                -o-linear-gradient(bottom,
                var(--c-sec) 0%,
                color-mix(in srgb, var(--c-sec) 75%, transparent) 20%,
                color-mix(in srgb, var(--c-sec) 10%, transparent) 40%,
                color-mix(in srgb, var(--c-sec) 10%, transparent) 100%);
            background:
                -webkit-gradient(linear,
                left bottom, left top,
                from(var(--c-sec)),
                color-stop(20%, color-mix(in srgb, var(--c-sec) 75%, transparent)),
                color-stop(40%, color-mix(in srgb, var(--c-sec) 10%, transparent)),
                to(color-mix(in srgb, var(--c-sec) 10%, transparent)));
            background:
                linear-gradient(0deg,
                var(--c-sec) 0%,
                color-mix(in srgb, var(--c-sec) 75%, transparent) 20%,
                color-mix(in srgb, var(--c-sec) 10%, transparent) 40%,
                color-mix(in srgb, var(--c-sec) 10%, transparent) 100%);
        }
        .vim--bg {
            -webkit-filter: contrast(1.15) saturate(1.25);
                    filter: contrast(1.15) saturate(1.25);
        }
    .hero__content {
        position: relative;
        -ms-grid-row: 1;
        -ms-grid-column: 1;
        grid-area: 1/1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        margin: 0 auto;
        padding-block: 16.0rem 3.2rem;
        width: var(--w-md);
        color: var(--c-w);
    }
    .hero--utility .hero__content {
        padding-block: 8.0rem;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        text-align: center;
    }
        .hero__title {
            font-size: 3.2rem;
            font-weight: 400;
            font-variation-settings: "wdth" 75;
            margin: 0;
            line-height: 1;
            text-shadow: 0 .1em .2em rgba(0, 0, 0, 0.25);
            color: var(--c-w);
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: .8rem;
        }
            .hero__title-ol {
                border-left: .2rem solid var(--c-ter);
                padding-left: 1.6rem;
                text-transform: uppercase;
            }
            .hero__title-bottom {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                gap: 2.4rem;
                -webkit-transform: translateX(-2.4rem);
                    -ms-transform: translateX(-2.4rem);
                        transform: translateX(-2.4rem);
                text-transform: uppercase;
            }
            .hero--utility .hero__title-bottom {
                -webkit-transform: translateX(0);
                    -ms-transform: translateX(0);
                        transform: translateX(0);
            }
                .hero__title-hl {
                    display: block;
                    font-size: 9.6rem;
                    line-height: 1;
                }
                .hero--utility .hero__title-hl {
                    font-size: 6.4rem;
                }
        .hero__details {
            margin-top: 2.4rem;
        }
        .hero__cta {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            gap: 1.6rem;
            margin-top: 1.6rem;
        }
            .hero__button-cta-link {
                max-width: 23.2rem;
            }
@media only screen and (max-width: 768px) {
    .hero--primary,
    .hero--secondary {
        --ar: 3/4;
    }
    .hero__title-hl {
        font-size: 6.4rem;
    }
}


/* $OUTRO
--------------------------------------------------------*/
.outro-top {
    background-color: var(--c-05);
    background-image: var(--bg-outro-top);
    background-position: center bottom;
    background-size: 100% 75%;
    background-repeat: no-repeat;
    width: var(--w-xl);
    margin-inline: auto;
}
.home .outro-top {
    background-color: transparent;
}
@media only screen and (max-width: 768px) {
    .outro-top {
        background-size: 100% 56.25%;
    }
}

.outro {
    position: relative;
    overflow: hidden;
    padding-top: 8.0rem;
}
    .outro__inner {
        width: var(--w-md);
        margin: 0 auto;
        position: relative;
        z-index: 1;
    }
    .outro__header {
        margin-bottom: 2.4rem;
        text-align: left;
    }
        .outro__hl {
            margin: 0;
            color: var(--c-pri);
            font-size: 3.2rem;
            text-transform: uppercase;
            font-weight: 600;
            font-variation-settings: "wdth" 75;
        }
        .outro__sl {
            font-size: 4.0rem;
            margin: 0 0 0 -2.4rem;
            color: var(--c-sec);
            line-height: 1.2;
        }
    .outro__content p {
        line-height: 2;
    }
    .outro__content a {
        font-weight: 700;
        text-decoration: none;
        -webkit-transition: color 0.15s linear;
        -o-transition: color 0.15s linear;
        transition: color 0.15s linear;
    }


/* $TEASERS
--------------------------------------------------------*/
.teasers {
    position: relative;
    padding: 8.0rem 0;
    color-scheme: dark;
    overflow-x: clip;
    background:
        -o-linear-gradient(top,
        transparent 0%,
        transparent 40%,
        var(--c-sec) 80%,
        var(--c-sec) 100%);
    background:
        -webkit-gradient(linear,
        left top, left bottom,
        from(transparent),
        color-stop(40%, transparent),
        color-stop(80%, var(--c-sec)),
        to(var(--c-sec)));
    background:
        linear-gradient(180deg,
        transparent 0%,
        transparent 40%,
        var(--c-sec) 80%,
        var(--c-sec) 100%);
}
    .teasers__inner {
        width: var(--w-lg);
        margin: 0 auto;
    }
    .teasers__slider {
        overflow: visible;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
    }
    .teasers__slide--intro {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
        .teasers__intro {
            padding: 2.4rem 4.0rem;
            background: color-mix(in srgb, var(--c-pri) 75%, transparent);
            border-radius: .8rem;
            -webkit-backdrop-filter: saturate(180%) blur(1.6rem);
                    backdrop-filter: saturate(180%) blur(1.6rem);
        }
            .teasers__hl {
                font-size: 3.2rem;
                margin: 0 0 1.6rem -.8rem;
            }
            .teasers__cta-link {
                margin-left: -1.6rem;
            }
    .teasers__slide {
        width: 28.8rem;
        margin-right: 2.4rem;
    }
        .teasers__card {
            border-radius: .8rem;
            overflow: hidden;
            -webkit-box-shadow: 0 .8rem 2.4rem rgba(0, 0, 0, 0.2);
                    box-shadow: 0 .8rem 2.4rem rgba(0, 0, 0, 0.2);
            height: 100%;
            display: -ms-grid;
            display: grid;
            --ar: 2/3;
            -webkit-transition: -webkit-transform 0.3s ease;
            transition: -webkit-transform 0.3s ease;
            -o-transition: transform 0.3s ease;
            transition: transform 0.3s ease;
            transition: transform 0.3s ease, -webkit-transform 0.3s ease;
        }
        .teasers__card:hover {
            -webkit-transform: translateY(-0.8rem);
                -ms-transform: translateY(-0.8rem);
                    transform: translateY(-0.8rem);
        }
            .teasers__image {
                aspect-ratio: var(--ar);
                -ms-grid-row: 1;
                -ms-grid-column: 1;
                grid-area: 1/1;
                width: 100%;
                height: 100%;
                -o-object-fit: cover;
                   object-fit: cover;
            }
            .teasers__info {
                position: relative;
                -ms-grid-row: 1;
                -ms-grid-column: 1;
                grid-area: 1 / 1;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
                padding: 2.4rem;
            }
                .teasers__info .button {
                    -ms-flex-item-align: end;
                        align-self: flex-end;
                }
                .teasers__card:hover .button {
                    background-color: var(--c-ter);
                }
        .teasers__button {
            cursor: pointer;
            width: 4.8rem;
            height: 4.8rem;
            border-radius: 50%;
            background-color: transparent;
            border: none;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }
            .teasers__button .swiper-arr__arrow-icon {
                width: 2.4rem;
                height: 2.4rem;
                fill: var(--c-w);
            }
@media only screen and (max-width: 768px) {
    .teasers {
        padding: 4.0rem 0;
    }
    .teasers__inner {
        width: var(--w-xl);
    }
    .teasers__slide:first-child {
        margin-left: 2.4rem;
    }
    .teasers__slide:last-child {
        margin-right: 2.4rem;
    }
}


/* $EVENTS
--------------------------------------------------------*/
.outro-bot {
    background: var(--bg-outro-bot) center bottom / cover no-repeat scroll transparent;
    width: var(--w-xl);
    margin-inline: auto;
}

.events {
    color-scheme: dark;
    background:
        -o-linear-gradient(bottom,
            transparent 0%,
            var(--c-sec) 60%,
            var(--c-sec) 100%);
    background:
        -webkit-gradient(linear,
            left bottom, left top,
            from(transparent),
            color-stop(60%, var(--c-sec)),
            to(var(--c-sec)));
    background:
        linear-gradient(0deg,
            transparent 0%,
            var(--c-sec) 60%,
            var(--c-sec) 100%);
    padding: 0 0 8.0rem;
}
    .events__inner {
        width: var(--w-lg);
        margin: 0 auto;
    }
    .events__columns {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 2.4rem;
    }
        .events__column {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
        }
        .events__column--info {
            padding: 0 4.0rem;
            -webkit-box-flex: 0;
                -ms-flex: 0 0 28.8rem;
                    flex: 0 0 28.8rem;
        }
        .events__header {
            margin-bottom: 4.0rem;
        }
            .events__title {
                font-size: 3.2rem;
                margin: 0 0 1.6rem -.8rem;
            }
            .events__all-link {
                margin-left: -1.6rem;
            }
        .events__card {
            margin-bottom: 3.2rem;
        }
            .events__card-title {
                font-size: 2.4rem;
                font-weight: 400;
                font-variation-settings: "wdth" 75;
                margin: 0 0 .8rem;
                line-height: 1;
                border-left: .2rem solid var(--c-pri);
                padding-left: .8rem;
            }
            .events__date {
                font-size: 1.4rem;
                color: rgba(255, 255, 255, 0.7);
                margin: 0;
            }
                .events__card-link {
                    color: var(--c-ter);
                    font-weight: 700;
                    text-decoration: none;
                    -webkit-transition: color 0.15s linear;
                    -o-transition: color 0.15s linear;
                    transition: color 0.15s linear;
                }
                .events__card-link:hover {
                    text-decoration: underline;
                }
    .events .pix-gcal-list {
        margin: 0;
    }
    .events .pix-gcal-list-view {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 3.2rem 1fr;
        grid-template-columns: 1fr 1fr;
        gap: 3.2rem;
    }
    .events .pix-gcal-list-item {
        padding: 0 0 0 1.6rem;
        border: none;
        border-left: .3rem solid var(--c-pri);
    }
    .events .pix-gcal-list-color-dot {
        display: none;
    }
    .events .pix-gcal-list-item-title {
        font-size: 2.4rem;
        font-weight: 400;
        font-variation-settings: "wdth" 75;
        text-transform: uppercase;
        margin: 0;
    }
    .events .pix-gcal-list-item-title a {
        color: var(--c-w);
        text-decoration: underline;
        -webkit-text-decoration-color: var(--c-ter);
                text-decoration-color: var(--c-ter);
        text-underline-offset: .3rem;
        -webkit-transition: all .2s ease;
        -o-transition: all .2s ease;
        transition: all .2s ease;
    }
    .events .pix-gcal-list-item-title a:hover {
        color: var(--c-ter);
    }
    .events .pix-gcal-list-item-date {
        font-size: 1.4rem;
        color: rgba(255, 255, 255, 0.7);
        margin: .4rem 0 0;
    }
@media only screen and (max-width: 768px) {
    .events__columns {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .events__column--info {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }
    .events .pix-gcal-list-view {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        gap: 2.4rem;
    }
}


/* $FLX
--------------------------------------------------------*/
.flx h1,
.flx h2,
.flx h3,
.flx h4,
.flx h5,
.flx h6 {
    color: var(--c-sec);
}
.flx-acc__title {
    padding: 1.6rem 4.8rem 1.6rem 0;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 700;
}
    .flx-acc__title::after {
        font-size: 2.4rem;
        color: var(--c-ter);
    }
.flx__col--video {
    border-radius: .8rem;
    overflow: hidden;
}

/* $FAQ
--------------------------------------------------------*/
.faq-global .flx-acc__title {
    font-size: 2.0rem;
    font-weight: 400;
    padding-block: 2.4rem;
}
.faq-global .flx-acc__content {
    padding-top: 1.6rem;
}

/* $GAL
--------------------------------------------------------*/
.gal-swiper {
    border-radius: .8rem;
}
    .gal-grid img,
    .gal-swiper--thumbs-nav .swiper-slide img {
        border-radius: .8rem;
    }


/* $TESTIMONIAL-FEATURE
--------------------------------------------------------*/
.testimonial-feature {
    padding: 0 0 16.0rem;
    -webkit-box-shadow: 0 .1rem 0 0 var(--c-w), 0 .5rem 0 0 var(--c-pri);
            box-shadow: 0 .1rem 0 0 var(--c-w), 0 .5rem 0 0 var(--c-pri);
    color-scheme: dark;
}
    .testimonial-feature .testimonials {
        margin-block: 0;
    }
    .testimonials-swiper {
        background: transparent;
        border-radius: 0;
    }
    .testimonial {
        width: var(--w-md);
        margin: 0 auto;
        padding-block: 8.0rem;
        background: transparent;
        border-radius: 0;
    }
    .testimonials-swiper .testimonial {
        padding: 8.0rem 0;
    }
        .testimonial__quote {
            position: relative;
            font-size: 2.4rem;
            font-weight: 400;
            font-style: italic;
            line-height: 1.25;
            text-shadow: 0 .1em .2em rgba(0, 0, 0, 0.25);
            color: inherit;
        }
            .testimonial__quote::before {
                content: '\201C';
                position: absolute;
                top: 0;
                left: 0;
                -webkit-transform: translate(-100%, -30%);
                    -ms-transform: translate(-100%, -30%);
                        transform: translate(-100%, -30%);
                font-size: 16.0rem;
                font-style: italic;
                line-height: 1;
                color: var(--c-ter);
            }
            .testimonial__quote p {
                color: var(--c-fg);
            }
        .testimonial__content {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            width: 100%;
            text-shadow: 0 .1em .2em rgba(0, 0, 0, 0.25);
        }
            .testimonial__name {
                font-family: var(--font-marker);
                font-size: 3.2rem;
                text-transform: uppercase;
            }
                .testimonial__name::before {
                    content: '— ';
                }
            .testimonial__title {
                font-size: 1.6rem;
            }


/* $SWIPER
--------------------------------------------------------*/
.swiper-arr {
    background-color: transparent;
    border-color: transparent;
    overflow: visible;
}
.swiper-arr::before {
    content: '';
    position: absolute;
    inset: -.8rem;
    background-image: var(--blotch-01-ter);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -1;
    -webkit-transition: -webkit-transform .3s cubic-bezier(0.34, 1.56, 0.64, 1);
    transition: -webkit-transform .3s cubic-bezier(0.34, 1.56, 0.64, 1);
    -o-transition: transform .3s cubic-bezier(0.34, 1.56, 0.64, 1);
    transition: transform .3s cubic-bezier(0.34, 1.56, 0.64, 1);
    transition: transform .3s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform .3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.swiper-arr:hover::before {
    -webkit-transform: scale(1.15);
        -ms-transform: scale(1.15);
            transform: scale(1.15);
}
.swiper-arr:hover {
    background-color: transparent;
}
    .swiper-arr__arrow-icon {
        fill: var(--c-w);
    }
    .swiper-arr:hover .swiper-arr__arrow-icon {
        fill: var(--c-w);
    }
    .swiper-arr--next::before {
        -webkit-transform: scaleX(-1);
            -ms-transform: scaleX(-1);
                transform: scaleX(-1);
    }
    .swiper-arr--next:hover::before {
        -webkit-transform: scaleX(-1) scale(1.15);
            -ms-transform: scaleX(-1) scale(1.15);
                transform: scaleX(-1) scale(1.15);
    }
.swiper-pagination-bullet {
    margin: 0 .4rem !important;
    width: 1.6rem !important;
    height: 1.6rem !important;
    background: var(--c-ter) !important;
    opacity: .5 !important;
}
.swiper-pagination-bullet-active {
    opacity: 1 !important;
}


/* $NEWSLETTER
--------------------------------------------------------*/
.newsletter {
    padding: 8.0rem 0;
}
    .newsletter__inner {
        width: var(--w-md);
        margin: 0 auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 4.0rem;
    }
        .newsletter__header {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
        }
            .newsletter__title {
                font-size: 3.2rem;
                margin: 0 0 1.6rem -.8rem;
                color: var(--c-sec);
            }
            .newsletter__subtitle {
                font-size: 1.6rem;
                margin: 1.6rem 0 0;
                color: var(--c-75);
            }
        .newsletter__form {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            gap: 1.6rem;
        }
            .newsletter__input {
                -webkit-box-flex: 1;
                    -ms-flex: 1;
                        flex: 1;
                min-width: 20.0rem;
                height: 4.8rem;
                padding: 0 1.6rem;
                border: .1rem solid var(--c-10);
                border-radius: .4rem;
                font-size: 1.4rem;
                background-color: var(--c-bg);
            }
            .newsletter__submit {
                background-color: var(--c-ter);
                color: var(--c-w);
                height: 4.8rem;
                padding: 0 2.4rem;
                border: none;
                border-radius: .4rem;
                font-size: 1.4rem;
                font-weight: 700;
                cursor: pointer;
                -webkit-transition: background-color 0.15s linear;
                -o-transition: background-color 0.15s linear;
                transition: background-color 0.15s linear;
            }
            .newsletter__submit:hover {
                background-color: var(--c-sec);
            }
@media only screen and (max-width: 768px) {
    .newsletter__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
}


/* $CTA-BANNER
--------------------------------------------------------*/
.cta-banner {
    position: relative;
    padding: 4.0rem;
    background-color: var(--c-sec);
    color: var(--c-w);
    width: var(--w-lg);
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8.0rem;
    border-radius: .8rem;
    background: var(--bg-cta-banner) top left / auto 150% no-repeat scroll transparent;
    overflow: hidden;
    color-scheme: dark;
}
    .cta-banner::before {
        content: '';
        position: absolute;
        inset: 0;
        background:
            -o-linear-gradient(left,
            transparent 0%,
            var(--c-sec) 60%,
            var(--c-sec) 100%);
        background:
            -webkit-gradient(linear,
            left top, right top,
            from(transparent),
            color-stop(60%, var(--c-sec)),
            to(var(--c-sec)));
        background:
            linear-gradient(90deg,
            transparent 0%,
            var(--c-sec) 60%,
            var(--c-sec) 100%);
    }
    .cta-banner__image {
        position: relative;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
        .cta-banner__preview {
            max-width: 100%;
            height: auto;
            -webkit-box-shadow: 0 1.6rem 3.2rem rgba(0, 0, 0, 0.3);
                    box-shadow: 0 1.6rem 3.2rem rgba(0, 0, 0, 0.3);
        }
    .cta-banner__content {
        position: relative;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }
        .cta-banner__hl {
            font-size: 3.2rem;
            font-weight: 700;
            margin: 0 0 2.4rem;
            line-height: 1.2;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }
            .cta-banner__ol {
                font-size: 3.2rem;
                font-weight: 400;
                font-variation-settings: "wdth" 75;
                text-transform: uppercase;
                margin: 0;
                line-height: 1;
                border-left: .2rem solid var(--c-ter);
                padding-left: 1.6rem;
            }
        .catalog__text {
            font-size: 1.6rem;
            line-height: 1.6;
            margin: 0 0 3.2rem;
            color: rgba(255, 255, 255, 0.8);
        }
@media only screen and (max-width: 768px) {
    .cta-banner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 2.4rem;
    }
}


/* $BUG-BUTTONS
--------------------------------------------------------*/
.bug,
.bug.flybook-book-now-button {
    z-index: 897;
    position: fixed;
    right: 4.0rem;
    font-size: 1.6rem;
    cursor: pointer;
    padding: 0;
    color: var(--c-w);
    width: 7.2rem;
    height: 7.2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
}
.bug--book-now {
    bottom: 21.6rem;
}
.bug--share {
    bottom: 12.8rem;
}
.bug--chat-trigger {
    bottom: 4.0rem;
}
    .bug__blotch {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        -webkit-transition: -webkit-transform 0.3s cubic-bezier(.75,-1.27,.3,2.33);
        transition: -webkit-transform 0.3s cubic-bezier(.75,-1.27,.3,2.33);
        -o-transition: transform 0.3s cubic-bezier(.75,-1.27,.3,2.33);
        transition: transform 0.3s cubic-bezier(.75,-1.27,.3,2.33);
        transition: transform 0.3s cubic-bezier(.75,-1.27,.3,2.33), -webkit-transform 0.3s cubic-bezier(.75,-1.27,.3,2.33);
        pointer-events: none;
    }
    .bug:hover .bug__blotch {
        -webkit-transform: scale(1.15);
            -ms-transform: scale(1.15);
                transform: scale(1.15);
    }
        .bug__blotch img {
            width: 100%;
            height: auto;
        }
    .bug__text {
        position: relative;
        pointer-events: none;
    }
    .bug__icon {
        position: relative;
    }
        .bug__icon-svg {
            width: 3.2rem;
            height: auto;
            fill: var(--c-w);
        }
    .bug__trigger {
        position: relative;
        width: 100%;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        cursor: pointer;
        padding: 0;
        background: none;
        border: none;
        color: inherit;
    }
    .bug__flyout {
        position: absolute;
        right: calc(100% + 1.2rem);
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: .8rem;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        -webkit-transition: opacity .2s ease, visibility .2s ease;
        -o-transition: opacity .2s ease, visibility .2s ease;
        transition: opacity .2s ease, visibility .2s ease;
    }
    .bug--share.bug--active .bug__flyout {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
        .bug__flyout-action {
            width: 4.0rem;
            height: 4.0rem;
            border-radius: 50%;
            background: var(--c-sec);
            color: var(--c-w);
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            cursor: pointer;
            border: none;
            padding: 0;
            -webkit-transition: background-color .15s linear, -webkit-transform .2s cubic-bezier(.75,-1.27,.3,2.33);
            transition: background-color .15s linear, -webkit-transform .2s cubic-bezier(.75,-1.27,.3,2.33);
            -o-transition: background-color .15s linear, transform .2s cubic-bezier(.75,-1.27,.3,2.33);
            transition: background-color .15s linear, transform .2s cubic-bezier(.75,-1.27,.3,2.33);
            transition: background-color .15s linear, transform .2s cubic-bezier(.75,-1.27,.3,2.33), -webkit-transform .2s cubic-bezier(.75,-1.27,.3,2.33);
            -webkit-transform: scale(0);
                -ms-transform: scale(0);
                    transform: scale(0);
        }
        .bug--share.bug--active .bug__flyout-action {
            -webkit-transform: scale(1);
                -ms-transform: scale(1);
                    transform: scale(1);
        }
        .bug__flyout-action--native { display: none; }
        .bug--has-native .bug__flyout-action--native { display: -webkit-box; display: -ms-flexbox; display: flex; }
        .bug--has-native .bug__flyout-action--fallback { display: none; }
        .bug__flyout-action:hover {
            background: var(--c-ter);
        }
        .bug__flyout-action--copied {
            background: var(--c-ter) !important;
        }
            .bug__flyout-action svg {
                width: 1.6rem;
                height: 1.6rem;
                fill: var(--c-w);
            }
@media only screen and (max-width: 768px) {
    .bug,
    .bug.flybook-book-now-button {
        right: .8rem;
    }
}


/* $LODGING — styles are self-contained in page-lodging.php */


/* $FOOTER
--------------------------------------------------------*/
.ftr {
    color-scheme: dark;
    color: var(--c-fg);
    background: var(--c-sec);
    padding-block: 8.0rem;
    width: var(--w-xl);
    margin-inline: auto;
    margin-top: 8.0rem;
    -webkit-box-shadow: 0 -.1rem 0 0 var(--c-w), 0 -.5rem 0 0 var(--c-pri);
            box-shadow: 0 -.1rem 0 0 var(--c-w), 0 -.5rem 0 0 var(--c-pri);
}
    .ftr a {
        color: var(--c-ter);
    }
    .ftr__inner {
        gap: 4.0rem;
    }
        .ftr__colophon-cr {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }
        .ftr__colophon-by {
            margin-right: 8.0rem;
        }
            .clu-logo {
                height: 4.0rem;
                width: auto;
                position: relative;
                top: .15rem;
            }
        .ftr__social {
            display: -webkit-inline-box;
            display: -ms-inline-flexbox;
            display: inline-flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            gap: .6rem;
            margin-left: .8rem;
        }
            .ftr__social-link {
                display: -webkit-inline-box;
                display: -ms-inline-flexbox;
                display: inline-flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
                width: 3.2rem;
                height: 3.2rem;
                border-radius: 50%;
                background: var(--c-10);
                color: var(--c-50);
                -webkit-transition: background-color .3s cubic-bezier(.4,0,.2,1), color .3s cubic-bezier(.4,0,.2,1), -webkit-transform .3s cubic-bezier(.4,0,.2,1);
                transition: background-color .3s cubic-bezier(.4,0,.2,1), color .3s cubic-bezier(.4,0,.2,1), -webkit-transform .3s cubic-bezier(.4,0,.2,1);
                -o-transition: background-color .3s cubic-bezier(.4,0,.2,1), color .3s cubic-bezier(.4,0,.2,1), transform .3s cubic-bezier(.4,0,.2,1);
                transition: background-color .3s cubic-bezier(.4,0,.2,1), color .3s cubic-bezier(.4,0,.2,1), transform .3s cubic-bezier(.4,0,.2,1);
                transition: background-color .3s cubic-bezier(.4,0,.2,1), color .3s cubic-bezier(.4,0,.2,1), transform .3s cubic-bezier(.4,0,.2,1), -webkit-transform .3s cubic-bezier(.4,0,.2,1);
            }
            .ftr__social-link:hover {
                background: var(--c-pri);
                color: #fff;
                -webkit-transform: scale(1.1);
                    -ms-transform: scale(1.1);
                        transform: scale(1.1);
            }
            .ftr__social-link svg {
                width: 1.4rem;
                height: 1.4rem;
            }
@media only screen and (max-width: 768px) {
    .ftr {
        padding-block: 6.4rem;
    }
    .ftr__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 3.2rem;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
    }
        .ftr__rolo {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: 2.4rem;
        }
        .ftr__colophon {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-align: start;
                -ms-flex-align: start;
                    align-items: flex-start;
            gap: 2.4rem;
        }
            .ftr__colophon-cr {
                -ms-flex-wrap: wrap;
                    flex-wrap: wrap;
                gap: 2.4rem;
            }
            .ftr__colophon-by {
                margin-right: 0;
            }
        .ftr__social {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            width: 100%;
            margin-left: 0;
            margin-top: .4rem;
        }
}


/* $POP
--------------------------------------------------------*/
.pop {
    --c-bd: color-mix(in srgb, var(--c-sec) 90%, transparent);
}

/* $POP-MORE
--------------------------------------------------------*/
.pop--more {
    background: transparent;
    -webkit-backdrop-filter: none;
            backdrop-filter: none;
    padding: 0;
}
    .pop--more .pop__item {
        width: 100%;
        height: 100%;
        background: transparent;
        border-radius: 0;
    }
    .pop--more .pop__close {
        top: 4.0rem;
        right: 4.0rem;
        height: 4.8rem;
        width: 4.8rem;
        border: .2rem solid var(--c-ter);
        border-radius: 50%;
    }
        .pop--more .pop__close-icon {
            fill: var(--c-ter);
        }
.more {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
    .more__option {
        width: 100%;
        height: 100%;
        background: center / cover no-repeat scroll transparent;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 2.4rem;
        -webkit-transition: -webkit-transform .6s cubic-bezier(.86,0,.07,1);
        transition: -webkit-transform .6s cubic-bezier(.86,0,.07,1);
        -o-transition: transform .6s cubic-bezier(.86,0,.07,1);
        transition: transform .6s cubic-bezier(.86,0,.07,1);
        transition: transform .6s cubic-bezier(.86,0,.07,1), -webkit-transform .6s cubic-bezier(.86,0,.07,1);
    }
        .more__option-logo {
            width: 80%;
            height: auto;
        }
        .more__option-button {
            font-weight: 700;
        }
        .more__option-button--ww {
            background: #f78d22 !important;
            border-color: #f78d22 !important;
            color: #093875 !important;
        }
        .more__option-button--skirm {
            background: #2662af !important;
            border-color: #2662af !important;
            color: #fff !important;
        }
        .more__option-button--biking {
            background: #fff200 !important;
            border-color: #fff200 !important;
            color: #00582b !important;
        }
    .more__option:first-child {
        -webkit-transform: translateX(-100%);
            -ms-transform: translateX(-100%);
                transform: translateX(-100%);
    }
    .more__option:last-child {
        -webkit-transform: translateX(100%);
            -ms-transform: translateX(100%);
                transform: translateX(100%);
    }
    .pop--active .more__option {
        -webkit-transform: translateX(0);
            -ms-transform: translateX(0);
                transform: translateX(0);
        -webkit-transition: -webkit-transform .6s cubic-bezier(.19,1,.22,1);
        transition: -webkit-transform .6s cubic-bezier(.19,1,.22,1);
        -o-transition: transform .6s cubic-bezier(.19,1,.22,1);
        transition: transform .6s cubic-bezier(.19,1,.22,1);
        transition: transform .6s cubic-bezier(.19,1,.22,1), -webkit-transform .6s cubic-bezier(.19,1,.22,1);
    }
@media only screen and (max-width: 768px) {
    .more {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
}

/* $POP-CONTACT-BOOK
--------------------------------------------------------*/
.pop--contact-book .pop__item {
    width: var(--w-xs);
}
.p-contact-book {
    padding: 4.0rem;
}
    .p-contact-book__title {
        margin: 0 0 2.4rem;
        color: var(--c-sec);
    }
    .p-contact-book__desc {
        margin-bottom: 2.4rem;
    }
    .p-contact-book__desc p {
        margin: 0;
    }
    .p-contact-book__desc p + p {
        margin-top: 2.4rem;
    }
@media only screen and (max-width: 768px) {
    .p-contact-book {
        padding: 2.4rem;
    }
}

/* $GCAL
--------------------------------------------------------*/
.pix-gcal-view-toggle {
    margin-bottom: -3em !important;
    position: relative;
    z-index: 1;
    pointer-events: none;
}
.pix-gcal-toggle-btn {
    pointer-events: auto;
}
.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events {
    min-height: 6em;
}

/* $GCAL-MINI-CAL
--------------------------------------------------------*/
.mini-cal .pix-gcal-list-view .pix-gcal-list-month-header {
    margin: 0;
}
.mini-cal .pix-gcal-list {
    margin-top: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--c-ter) var(--c-10);
    height: 36.0rem;
    padding: 2.4rem;
    margin-inline: -2.4rem;
    background: var(--c-05);
    border-radius: .8rem;
}
    .mini-cal .pix-gcal-list::-webkit-scrollbar {
        width: .6rem;
    }
    .mini-cal .pix-gcal-list::-webkit-scrollbar-track {
        background: var(--c-10);
        border-radius: .3rem;
    }
    .mini-cal .pix-gcal-list::-webkit-scrollbar-thumb {
        background: var(--c-ter);
        border-radius: .3rem;
    }
.mini-cal .pix-gcal-list-view .pix-gcal-list-month-header {
    padding-top: .6em;
    border-bottom: .1em solid var(--c-10);
}
.mini-cal .pix-gcal-list-view .pix-gcal-list-month-header:first-child {
    padding-top: 0;
}
.mini-cal .pix-gcal-list-event-link {
    pointer-events: none;
}
.mini-cal .button {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}


/* $NOTICE
--------------------------------------------------------*/
.notice {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.6rem;
    padding: 2.4rem;
    border-radius: .8rem;
    border-left: .4rem solid var(--notice-color, var(--c-ter));
    background: var(--c-05);
}
    .notice__icon {
        -ms-flex-negative: 0;
            flex-shrink: 0;
        font-size: 2.4rem;
        color: var(--notice-color, var(--c-ter));
    }
    .notice__title {
        display: block;
        font-size: 1.6rem;
        font-weight: 700;
        margin-bottom: .8rem;
        color: var(--c-sec);
        color: var(--notice-color, var(--c-ter));
        line-height: 1.5;
    }
    .notice__body p {
        font-size: 1.2rem;
        margin: 0;
    }
    .notice__body p + p {
        margin-top: .8rem;
    }
    .notice__body a {
        text-decoration: underline;
        text-underline-offset: .2rem;
    }


/* $FAQ-SEARCH
--------------------------------------------------------*/
.faq-search__bar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: .8rem;
    padding: .4rem;
    background-color: #fff;
    border: .2rem solid var(--c-10);
    border-radius: 10rem;
    -webkit-transition: border-color .2s ease;
    -o-transition: border-color .2s ease;
    transition: border-color .2s ease;
}
.faq-search__bar:focus-within {
    border-color: var(--c-ter);
}
.faq-search__highlight {
    background-color: color-mix(in srgb, var(--c-ter) 20%, transparent);
    color: inherit;
    border-radius: .2rem;
}
.faq-search__bar[hidden] {
    display: none;
}

/* Toggle pills */
.faq-search__toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    gap: .2rem;
    padding: .2rem;
    background-color: var(--c-10);
    border-radius: 10rem;
}
    .faq-search__toggle-btn {
        padding: .8rem 1.6rem;
        font-size: 1.2rem;
        font-weight: 700;
        color: var(--c-50);
        background: transparent;
        border-radius: 10rem;
        -webkit-transition: all .2s ease;
        -o-transition: all .2s ease;
        transition: all .2s ease;
        white-space: nowrap;
        text-transform: uppercase;
        letter-spacing: .05em;
    }
    .faq-search__toggle-btn:hover {
        color: var(--c-sec);
    }
    .faq-search__toggle-btn--active,
    .faq-search__toggle-btn--active:hover {
        background-color: var(--c-ter);
        color: #fff;
    }

/* Search icon */
.faq-search__icon {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 1.6rem;
    height: 1.6rem;
    color: var(--c-25);
}

/* Input */
input.faq-search__input {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    padding: .8rem 0;
    font-size: 1.6rem;
    background: transparent;
    border: 0;
    outline: none;
}

/* Clear button */
.faq-search__clear {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 2.8rem;
    height: 2.8rem;
    color: var(--c-25);
    -webkit-transition: color .2s ease;
    -o-transition: color .2s ease;
    transition: color .2s ease;
}
.faq-search__clear:hover {
    color: var(--c-sec);
}
.faq-search__clear svg {
    width: 1.4rem;
    height: 1.4rem;
}

/* Site search submit */
.faq-search__submit {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: .8rem 2rem;
    font-size: 1.3rem;
    font-weight: 700;
    color: #fff;
    background-color: var(--c-ter);
    border-radius: 10rem;
    -webkit-transition: background-color .15s linear;
    -o-transition: background-color .15s linear;
    transition: background-color .15s linear;
    white-space: nowrap;
}
.faq-search__submit:hover {
    background-color: var(--c-sec);
}

/* Status */
.faq-search__status {
    font-size: 1.4rem;
    color: var(--c-50);
    margin-top: .8rem;
    padding-left: 1.6rem;
    min-height: 2rem;
}

/* No results */
.faq-search__no-results {
    text-align: center;
    padding: 4rem 1.6rem;
}
.faq-search__no-results[hidden] {
    display: none;
}
    .faq-search__no-results-text {
        font-size: 2rem;
        font-weight: 600;
        color: var(--c-sec);
        margin: 0 0 .8rem;
    }
    .faq-search__no-results-hint {
        font-size: 1.6rem;
        color: var(--c-50);
        margin: 0;
    }

@media only screen and (max-width: 768px) {
    .faq-search__bar {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        border-radius: 1.6rem;
        padding: .8rem;
    }
    .faq-search__toggle {
        width: 100%;
    }
    .faq-search__toggle-btn {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        text-align: center;
    }
}


/* $SEARCH
========================================================================== */
.search .title {
    position: relative;
    background: var(--c-sec);
    margin: 0 auto;
    aspect-ratio: var(--ar);
    -webkit-box-shadow: 0 .1rem 0 0 var(--c-w), 0 .5rem 0 0 var(--c-pri);
            box-shadow: 0 .1rem 0 0 var(--c-w), 0 .5rem 0 0 var(--c-pri);
    color-scheme: dark;
    text-align: center;
}
    .search .title__heading {
        padding: 8.0rem 0;
        font-size: 6.4rem;
        font-weight: 400;
        font-variation-settings: "wdth" 75;
        margin: 0 auto;
        line-height: 1;
        text-shadow: 0 .1em .2em rgba(0, 0, 0, 0.25);
        color: var(--c-w);
        font-family: var(--font-marker);
        font-weight: normal;
        font-style: normal;
        text-transform: uppercase;
    }
.s-results__meta {
    display: none;
}

/* $404
========================================================================== */
.e404 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 80vh;
    overflow: hidden;
    color-scheme: dark;
}
.e404__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
    .e404__bg-img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        -webkit-filter: brightness(.4);
                filter: brightness(.4);
    }
.e404__content {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 56rem;
    padding: 6.4rem 2.4rem;
}
    .e404__title {
        font-size: 6.4rem;
        color: #fff;
        margin: 0 0 .8rem;
        line-height: 1;
    }
    .e404__subtitle {
        font-size: 2.4rem;
        color: var(--c-ter);
        font-weight: 700;
        margin: 0 0 1.6rem;
    }
    .e404__text {
        font-size: 1.6rem;
        color: rgba(255,255,255,.8);
        line-height: 1.7;
        margin: 0 0 3.2rem;
    }
.e404__search {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 48rem;
    margin: 0 auto 2.4rem;
    overflow: hidden;
    -webkit-box-shadow: 0 .4rem 2.4rem rgba(0,0,0,.3);
            box-shadow: 0 .4rem 2.4rem rgba(0,0,0,.3);
}
    .e404__input {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        padding: 1.4rem 2rem;
        border: none;
        font-size: 1.6rem;
        outline: none;
        background: #fff;
        color: var(--c-sec);
    }
    .e404__input::-webkit-input-placeholder {
        color: var(--c-50);
    }
    .e404__input::-moz-placeholder {
        color: var(--c-50);
    }
    .e404__input:-ms-input-placeholder {
        color: var(--c-50);
    }
    .e404__input::-ms-input-placeholder {
        color: var(--c-50);
    }
    .e404__input::placeholder {
        color: var(--c-50);
    }
    .e404__submit {
        -ms-flex-negative: 0;
            flex-shrink: 0;
        border-radius: 0;
    }
.e404__home {
    display: inline-block;
    font-size: 1.4rem;
    color: rgba(255,255,255,.6);
    text-decoration: underline;
    text-underline-offset: .3rem;
    -webkit-transition: color .2s ease;
    -o-transition: color .2s ease;
    transition: color .2s ease;
}
.e404__home:hover {
    color: #fff;
}
.error404 .ftr {
    margin-top: 0;
}
@media only screen and (max-width: 768px) {
    .e404 {
        min-height: 70vh;
    }
    .e404__title {
        font-size: 4.8rem;
    }
    .e404__subtitle {
        font-size: 1.8rem;
    }
    .e404__text {
        font-size: 1.4rem;
    }
    .e404__search {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
        .e404__submit {
            width: 100%;
        }
}

/* $GRAVITY FORMS
========================================================================== */
.app .gform_wrapper.gravity-theme .gfield_checkbox .gfield-choice-input:checked + label::after {
    background-image: var(--icon-check);
}
.app .gform_wrapper.gravity-theme .gfield_radio .gfield-choice-input:checked + label::after {
    background-image: var(--icon-radio);
}

/* $JOBS
========================================================================== */
.job-post {
    line-height: 1.5;
}
    .job-post .button {
        width: 100%;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }