*, :after, :before {
    box-sizing: border-box
}

* {
    margin: 0
}

html:focus-within {
    scroll-behavior: auto
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 400
}

body, html {
    height: 100%
}

canvas, img, picture, svg, video {
    display: block;
    height: auto;
    max-width: 100%
}

button, input, select, textarea {
    font: inherit
}

ul[role^=list] {
    list-style: none
}

#__nuxt {
    isolation: isolate
}

body {
    overflow-x: hidden
}

fieldset {
    border: none;
    display: block;
    padding: 0
}

button[data-reset] {
    -webkit-font-smoothing: inherit;
    -moz-osx-font-smoothing: inherit;
    -webkit-appearance: none;
    background: transparent;
    border: none;
    color: inherit;
    cursor: pointer;
    line-height: normal;
    margin: 0;
    overflow: visible;
    padding: 0;
    width: auto
}

html {
    font-family: var(--font-primary);
    height: 100%
}

body, html {
    scroll-behavior: smooth
}

body {
    display: flex;
    flex-direction: column;
    font-size: var(--ts-body);
    line-height: var(--lh-body)
}

main {
    flex: auto;
    outline: none
}

[class*=" bg-"], [class*=" theme-"], [class^=bg-], [class^=theme-] {
    background-color: var(--bg-color)
}

[class*=" text-"], [class*=" theme-"], [class^=text-], [class^=theme-] {
    color: var(--text-color)
}

h1, h2, h3, h4, h5, h6 {
    -webkit-font-smoothing: antialiased;
    color: var(--heading-color,var(--text-color,inherit))
}

a {
    color: inherit;
    text-decoration: none
}

    .t-link:not(:hover), a:not([class]):not(:hover) {
        text-decoration: underline;
        text-underline-offset: .175em
    }

button.t-link {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    display: inline
}

button.clean, button.t-link {
    border: none;
    cursor: pointer;
    padding: 0
}

button.clean {
    background: none;
    color: inherit;
    font: inherit;
    outline: inherit
}

.t-h1, .t-h2, .t-h3, .t-h4, h1, h2, h3, h4 {
    font-family: var(--font-headline);
    font-weight: 600;
    letter-spacing: .02em
}

.t-h5, h5 {
    font-weight: 400
}

.t-h5, .t-h6, h5, h6 {
    font-family: var(--font-primary)
}

.t-h6, h6 {
    font-weight: 600
}

.t-h3, .t-h4, h3, h4 {
    letter-spacing: .03em
}

.t-h1, h1 {
    font-size: var(--ts-heading-1);
    line-height: var(--lh-heading-1)
}

.t-h2, h2 {
    font-size: var(--ts-heading-2);
    line-height: var(--lh-heading-2)
}

.t-h3, h3 {
    font-size: var(--ts-heading-3);
    line-height: var(--lh-heading-3)
}

.t-h4, h4 {
    font-size: var(--ts-heading-4);
    line-height: var(--lh-heading-4)
}

.t-h5, h5 {
    font-size: var(--ts-heading-5);
    line-height: var(--lh-heading-5)
}

.t-h6, h6 {
    font-size: var(--ts-body-large);
    line-height: var(--lh-body-large)
}

.t-label {
    font-family: var(--font-primary);
    font-size: var(--ts-label);
    font-weight: 600;
    line-height: var(--lh-label);
    text-transform: uppercase
}

.t-body {
    font-size: var(--ts-body);
    line-height: var(--lh-body)
}

.t-body, .t-body-large {
    font-family: var(--font-primary);
    letter-spacing: normal
}

.t-body-large {
    font-size: var(--ts-body-large);
    line-height: var(--lh-body-large)
}

.page-leave-active {
    transition: opacity .15s cubic-bezier(.39,.57,.56,1) 0s
}

.page-enter-active, .page-leave-active {
    transition: opacity .25s cubic-bezier(.39,.57,.56,1) .1s,transform .55s cubic-bezier(.39,.57,.56,1)
}

.page-enter-from, .page-leave-to {
    opacity: 0
}

.page-enter-from {
    transform: translate3d(0,-.25rem,0)
}

.loading-overlay {
    background-color: #0000004d;
    display: flex;
    height: 100vh;
    left: 0;
    place-items: center;
    position: fixed;
    top: 0;
    width: 100vw
}

.agent-menu {
    padding: var(--space-3) var(--space-2) var(--space-2)
}

@media screen and (min-width: 60.0625rem) {
    .agent-menu {
        max-width: 22.5rem;
        min-width: 22.5rem
    }
}

.agent-menu__actions, .agent-menu__content {
    align-items: center;
    display: flex;
    flex-direction: column
}

.agent-menu__initials, .site-header li button.agent-menu__initials {
    align-items: center;
    background-color: var(--c-warm-gold);
    border-radius: 50%;
    color: var(--c-navy-blue);
    display: flex;
    font-size: 1.125rem;
    font-weight: 600;
    height: 3.125rem;
    justify-content: center;
    width: 3.125rem
}

.site-header .agent-menu__initials, .site-header .site-header li button.agent-menu__initials {
    display: none
}

@media screen and (min-width: 60.0625rem) {
    .site-header .agent-menu__initials, .site-header .site-header li button.agent-menu__initials {
        display: flex
    }
}

.agent-menu__initials--sm, .site-header li button.agent-menu__initials--sm {
    height: 2.5rem;
    width: 2.5rem
}

.agent-menu__initials--lg {
    font-size: 2rem;
    font-weight: 400;
    height: 5rem;
    width: 5rem
}

.agent-menu__name {
    font-size: 1.5rem;
    margin-bottom: var(--space-05);
    margin-top: var(--space-1)
}

.agent-menu__actions {
    gap: var(--space-1)
}

.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner {
    border-width: 0 14px 14px;
    left: -7px;
    top: -12px
}

.v-popper--theme-dropdown.v-popper__popper .v-popper__inner {
    border: 0;
    border-radius: 0
}

.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-outer {
    display: none
}

.form {
    --sbs-align-vertical: stretch
}

    .form .cta {
        min-width: none;
        width: auto
    }

.site-header {
    position: relative
}

.site-header__main .wrapper-page {
    position: static
}

.site-header__top {
    background-color: var(--c-moroccan-teal);
    padding-block: calc((1.875rem - var(--ts-tiny))*.5)
}

.site-header__main {
    background: var(--c-navy-blue);
    padding-block: var(--space-2)
}

.site-header.fixed .site-header__main {
    position: fixed;
    top: 0;
    transition: all .3s ease-out;
    width: 100%;
    z-index: 100
}

    .site-header.fixed .site-header__main.hidden {
        transform: translateY(-100%)
    }

.site-header__top-links {
    --flex-gap: var(--space-2);
    padding: 0
}

.site-header__top-link {
    white-space: nowrap
}

    .site-header__top-link[data-portal] {
        background-color: var(--c-burnt-orange);
        margin-block: calc((1.875rem - var(--ts-tiny))*-.5);
        padding-block: calc((1.875rem - var(--ts-tiny))*.5);
        padding-inline: var(--space-1);
        position: relative
    }

.site-header__contact-trigger {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: none;
    color: inherit;
    cursor: pointer
}

.site-header .contact-trigger__chevron {
    transition: all .25s ease-out
}

.site-header__contact-trigger[aria-expanded=true] .contact-trigger__chevron {
    transform: rotate(-180deg)
}

.site-header__contact {
    margin-block: calc((1.875rem - var(--ts-tiny))*-.5);
    padding-block: calc((1.875rem - var(--ts-tiny))*.5);
    position: relative
}

.site-header__sub {
    padding: 0
}

    .site-header__sub li {
        flex: 0 0 auto;
        font-size: 1.125rem
    }

        .site-header__sub li a, .site-header__sub li button {
            align-items: center;
            cursor: pointer;
            display: flex;
            height: 3.75rem;
            justify-content: center;
            width: 3.75rem
        }

        .site-header__sub li button {
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            background: transparent;
            border: none;
            color: inherit;
            font-size: 1.5rem;
            pointer-events: all
        }

            .site-header__sub li button[aria-expanded=true] {
                background: #fff;
                color: var(--c-navy-blue);
                font-size: 1.25rem
            }

            .site-header__sub li button.site-header__mobile-trigger {
                display: none
            }

@media screen and (max-width: 60rem) {
    .site-header .logo__tagline, .site-header__top-links.flex {
        display: none
    }

    .site-header__main {
        padding-block: 1rem
    }

    .site-header .logo {
        flex: 0 1 8.5rem
    }

    .main-nav {
        display: none
    }

    .site-header__sub {
        margin-inline-end: calc(var(--space-2)*-1)
    }

        .site-header__sub: has(li:only-child) {
            margin-inline-end: 0
        }

        .site-header__sub li button.site-header__mobile-trigger {
            display: flex !important
        }
}

.menu-open .site-header {
    pointer-events: all
}

.site-header-scs, .site-header-scs__main {
    padding-block: var(--space-1)
}

.site-header-scs__logo {
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    gap: var(--space-4)
}

.site-header-scs__agent-info {
    display: flex;
    flex-direction: column
}

@media screen and (max-width: 48rem) {
    .site-header-scs__agent-info {
        display: none !important
    }
}

@media screen and (max-width: 64rem) {
    .site-header-scs__quick-info {
        display: none !important
    }
}

.site-header-scs__sub {
    padding: 0
}

    .site-header-scs__sub li {
        flex: 0 0 auto
    }

        .site-header-scs__sub li a, .site-header-scs__sub li button {
            align-items: center;
            color: inherit;
            cursor: pointer;
            display: flex;
            font-size: 2rem;
            justify-content: center;
            padding-inline: .5rem
        }

.site-header-scs__sidebar {
    background-color: #fff;
    box-shadow: 0 1rem 4rem #00000080;
    font-size: 1.25rem;
    height: 100lvh;
    position: fixed;
    right: -100%;
    top: 0;
    transition: right .5s;
    width: 28.125rem;
    z-index: 99999
}

@media screen and (max-width: 28rem) {
    .site-header-scs__sidebar {
        width: 100%
    }
}

.site-header-scs__sidebar-session-details header {
    font-size: 1.25rem;
    padding-bottom: 1rem
}

    .site-header-scs__sidebar-session-details header svg {
        height: 1rem;
        padding-left: .375rem
    }

.site-header-scs__sidebar-list {
    --ts-body-large: 1rem;
    font-size: 1rem;
    list-style-type: none;
    margin: 0;
    padding: 0
}

.site-header-scs__sidebar-list-item {
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    gap: .625rem;
    padding-block: .25rem
}

    .site-header-scs__sidebar-list-item h6 {
        min-width: 5rem
    }

.site-header-scs__sidebar-session-details {
    width: 100%
}

    .site-header-scs__sidebar-session-details:first-child {
        background-color: var(--c-white-sands);
        padding: 1rem
    }

    .site-header-scs__sidebar-session-details:last-child {
        border-top: 1px solid var(--c-grey-4);
        padding-top: 1.25rem
    }

    .site-header-scs__sidebar-session-details header {
        color: var(--c-near-black);
        font-weight: 700
    }

.site-header-scs__sidebar-link {
    padding-block: 1rem
}

    .site-header-scs__sidebar-link:hover {
        color: var(--c-burnt-orange)
    }

.side-header-scs__sidebar-key-info:first-child {
    margin-bottom: 1rem
}

.site-header-scs__call {
    color: var(--c-warm-gold);
    cursor: pointer;
    font-weight: 600;
    padding-block: .375rem 20px
}

    .site-header-scs__call:hover {
        text-decoration: underline;
        text-underline-offset: .125rem
    }



.site-header-scs__sidebar-contact-links {
    --flex-gap: .5rem;
    padding-top: 1rem
}

.site-footer.is-hidden {
    height: 0;
    margin: 0;
    overflow: hidden;
    padding: 0;
    pointer-events: none;
    visibility: hidden
}

.site-footer__primary-links, .site-footer__secondary-links, .site-footer__social-links {
    padding: 0
}

.site-footer__primary ul {
    --flow-gap: var(--space-1);
    font-size: var(--ts-body-large);
    line-height: var(--lh-body-large)
}

.site-footer__primary-link {
    --flex-align-vertical: center;
    color: var(--c-navy-blue)
}

.site-footer__primary-link--title {
    margin-bottom: 1rem
}

.site-footer__primary-link svg {
    font-size: 1rem
}

.site-footer__primary {
    --flex-align-vertical: stretch
}

    .site-footer__primary > * {
        flex: 1;
        flex-basis: 25%
    }

.site-footer__secondary-links {
    white-space: nowrap
}

.site-footer__trustpilot .trustpilot-widget {
    margin-inline: auto;
    max-width: 12.75rem
}

@media screen and (max-width: 60rem) {
    .site-footer__secondary {
        --flex-align-vertical: stretch;
        --flex-gap: var(--space-2);
        flex-direction: column
    }
}

@media screen and (max-width: 40rem) {
    .site-footer__primary {
        flex-direction: column
    }

    .site-footer__secondary-links {
        --flex-align-vertical: stretch;
        --flex-gap: var(--space-2);
        flex-direction: column;
        white-space: normal
    }
}

.site-footer__newsletter h3 {
    margin-bottom: var(--space-1)
}

.logo, .site-footer__newsletter a.cta {
    max-width: 10rem
}

.logo__tagline {
    color: var(--c-warm-gold);
    display: block;
    font-size: .6875rem;
    line-height: 1;
    margin-block-start: var(--space-05)
}

.favourite-toggle {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: 1.5rem;
    padding: 1rem;
    position: relative;
    transition: transform .2s ease-out
}

    .favourite-cta:hover .favourite-toggle, .favourite-toggle:hover {
        transform: scale(1.1)
    }

    .favourite-cta:active .favourite-toggle, .favourite-toggle:active {
        transform: scale(.8)
    }

    .favourite-toggle svg {
        display: block
    }

.favourite-toggle__outline {
    color: #fff;
    position: relative;
    z-index: 1
}

.favourite-toggle__filled {
    color: var(--c-strong-red);
    height: 100%;
    left: 50%;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    transition: opacity .35s ease-out;
    width: 100%;
    z-index: 0
}

.favourite-toggle[data-active=true] .favourite-toggle__filled {
    opacity: 1
}

.card__head .favourite-toggle {
    bottom: 0;
    position: absolute;
    right: 0;
    z-index: 10
}

.favourite-cta {
    --flex-align-horizontal: center;
    --flex-gap: var(--space-1)
}

    .favourite-cta .favourite-toggle {
        font-size: 1em;
        padding: 0
    }

    .favourite-cta .favourite-toggle__filled {
        color: var(--cta-text);
        font-size: 1em;
        padding: 0
    }

.article-listing {
    --card-padding-block: var(--space-2-3) 0;
    --card-padding-inline: 0;
    --card-border: none;
    position: relative
}

    .article-listing a:after {
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%
    }

.article-listing__category {
    color: var(--heading-color);
    display: block;
    font-weight: 600;
    text-transform: uppercase
}

.holiday-listing {
    --card-actions-padding-block: 0;
    --card-actions-padding-inline: 0;
    overflow: hidden
}

    .holiday-listing .card__actions {
        background-color: var(--c-grey-5)
    }

.holiday-listing__location {
    --flex-gap: .5rem
}

.holiday-listing__location-icon {
    width: 1em;
    height: 1em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 1em;
}


.holiday-listing__location svg {
    color: var(--c-near-black);
    font-size: .8rem;
    min-width: .8rem
}

.holiday-listing__previous-price {
    text-decoration: line-through
}

.holiday-listing__features {
    --flex-gap: .5rem
}

.holiday-listing .key-info-list {
    margin-inline: -1px
}

[data-layout-mode=list] .holiday-listing .key-info-list {
    margin-inline: 0
}

.holiday-listing .key-info-item {
    --key-info-item-bg: transparent
}

.holiday-listing__sub-brand {
    height: 30px;
    max-height: 30px;
    max-width: 180px;
    -o-object-fit: contain;
    object-fit: contain
}

.holiday-listing .highlights-list {
    padding-inline-start: var(--space-3)
}

.holiday-listing:not([data-with-summary]) .holiday-listing__summary {
    display: none
}

.holiday-listing__cta {
    align-items: flex-end;
    display: flex;
    flex: 1
}

@media screen and (min-width: 1060px) {
    [data-layout-mode=list] {
        --grid-max-cols: 1
    }

        [data-layout-mode=list] > .holiday-listing .card__body, [data-layout-mode=list] > .holiday-listing .card__main {
            flex-direction: row
        }

        [data-layout-mode=list] > .holiday-listing .card__head {
            flex: 0 0 35%
        }

        [data-layout-mode=list] > .holiday-listing .card__image {
            height: 100%
        }

        [data-layout-mode=list] > .holiday-listing .card__body {
            display: flex;
            flex: 0 0 65%
        }

            [data-layout-mode=list] > .holiday-listing .card__body .card__content {
                flex: 0 0 52%
            }

        [data-layout-mode=list] > .holiday-listing .card__actions {
            border-left: .0625rem solid var(--key-info-border,var(--c-white-sands));
            flex: 0 0 48%
        }

        [data-layout-mode=list] > .holiday-listing .holiday-listing__summary {
            display: block
        }
}

.cta, button.cta {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid;
    display: block;
    font-family: var(--cta-font,var(--font-primary));
    font-size: var(--cta-text-size,var(--ts-body));
    font-weight: 500;
    line-height: 1;
    max-width: var(--cta-max-width,25rem);
    overflow: hidden;
    padding-block: var(--cta-padding-block,calc(var(--space-2) - .1875rem));
    padding-inline: var(--cta-padding-inline,var(--space-2));
    position: relative;
    text-align: center;
    width: 100%
}

    .cta.ignore-disabled-style, .cta:not([disabled]) {
        cursor: pointer
    }

    .cta:not([data-variant=none]):before {
        backface-visibility: hidden;
        border-radius: 100%;
        content: "";
        height: 0;
        left: 50%;
        opacity: .075;
        padding-top: 150%;
        pointer-events: none;
        position: absolute;
        top: 50%;
        transform: translate3d(-50%,-10%,0) scale(.01);
        transition: transform .5s ease-out;
        width: 150%
    }

    .cta:hover:before {
        transform: translate3d(-50%,-50%,0) scale(1)
    }

    .cta[data-variant=primary] {
        --cta-spinner-color: var(--cta-text-primary,var(--cta-text,#fff));
        background-color: var(--cta-bg-primary,var(--cta-bg,var(--c-burnt-orange)));
        border-color: var(--cta-border-primary,var(--cta-border,var(--c-burnt-orange)));
        color: var(--cta-text-primary,var(--cta-text,#fff))
    }

        .cta[data-variant=primary]:before {
            background: var(--cta-hover-primary,var(--cta-hover,var(--c-grey-5)))
        }

    .cta[data-variant=secondary] {
        --cta-spinner-color: var(--cta-text-secondary,var(--cta-text,var(--c-burnt-orange)));
        background-color: var(--cta-bg-secondary,var(--cta-bg,#fff));
        border-color: var(--cta-border-secondary,var(--cta-border,var(--c-burnt-orange)));
        color: var(--cta-text-secondary,var(--cta-text,var(--c-burnt-orange)))
    }

        .cta[data-variant=secondary]:before {
            background: var(--cta-hover-secondary,var(--cta-hover,var(--c-grey-2)))
        }

    .cta[data-size=small] {
        padding-block: var(--cta-padding-block,calc(var(--space-1) - .1875rem))
    }

    .cta[data-size=slim] {
        --cta-max-width: 15rem
    }

    .cta[data-size=empty] {
        --cta-padding-block: 0;
        --cta-padding-inline: 0;
        --cta-max-width: none;
        width: auto
    }

    .cta[data-variant=none] {
        background-color: var(--cta-bg,transparent);
        border: none
    }

    .cta.theme-dark[data-variant=primary] {
        --cta-spinner-color: var(--cta-text,#fff);
        background-color: var(--cta-bg,var(--c-navy-blue));
        border-color: var(--cta-border,var(--c-navy-blue));
        color: var(--cta-text,#fff)
    }

    .cta.theme-dark[data-variant=secondary] {
        --cta-spinner-color: var(--cta-text,#fff);
        background-color: var(--cta-bg,transparent);
        border-color: var(--cta-border,#fff);
        color: var(--cta-text,#fff)
    }

    .cta.theme-dark[data-variant=none] {
        background-color: transparent;
        border-color: transparent;
        color: transparent
    }

    .cta[disabled]:not([disabled=false]):not([data-loading=true]):not(.ignore-disabled-style) {
        background-color: var(--c-grey-4);
        border-color: var(--c-grey-2);
        color: var(--c-grey-2);
        cursor: not-allowed
    }

        .cta[disabled]:not([disabled=false]):not([data-loading=true]):not(.ignore-disabled-style):before {
            content: none
        }

@keyframes pulse {
    0% {
        transform: translate(-100%)
    }

    50% {
        transform: translate(0)
    }

    to {
        transform: translate(100%)
    }
}

.cta[data-loading=true]:before {
    animation: pulse 2s ease-in-out infinite;
    background: var(--c-white-sands);
    background-size: 200%;
    border-radius: 0;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}

.cta__spinner {
    --spinner-color: var(--cta-spinner-color,var(--c-off-white));
    --spinner-width: 1.125rem;
    --spinner-height: 1.125rem;
    --spinner-border-width: .2rem;
    --bg-color: transparent;
    display: block;
    left: 50%;
    position: absolute !important;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: 3
}

    .cta__spinner + .cta__inner {
        opacity: 0
    }

.cta__inner {
    white-space: nowrap
}

.side-by-side > .cta {
    max-width: none
}

.cta--navy-blue {
    --cta-bg-primary: var(--c-deep-blue);
    --cta-border-primary: var(--c-deep-blue);
    --cta-bg-secondary: #fff;
    --cta-border-secondary: var(--c-deep-blue);
    --cta-text-secondary: var(--c-deep-blue)
}

.cta--orange {
    --cta-bg-primary: var(--c-nectar-orange);
    --cta-border-primary: var(--c-nectar-orange);
    --cta-bg-secondary: #fff;
    --cta-border-secondary: var(--c-nectar-orange);
    --cta-text-secondary: var(--c-nectar-orange)
}

.cta--purple {
    --cta-bg-primary: var(--c-happy-purple);
    --cta-border-primary: var(--c-happy-purple);
    --cta-bg-secondary: #fff;
    --cta-border-secondary: var(--c-happy-purple);
    --cta-text-secondary: var(--c-happy-purple)
}

.cta--red {
    --cta-bg-primary: var(--c-strong-red);
    --cta-border-primary: var(--c-strong-red);
    --cta-bg-secondary: #fff;
    --cta-border-secondary: var(--c-strong-red);
    --cta-text-secondary: var(--c-strong-red)
}

.cta--gold {
    --cta-bg-primary: var(--c-warm-gold);
    --cta-border-primary: var(--c-warm-gold);
    --cta-bg-secondary: #fff;
    --cta-border-secondary: var(--c-warm-gold);
    --cta-text-secondary: var(--c-warm-gold)
}

.cta--nectar-orange {
    --cta-bg-primary: #f29a00;
    --cta-border-primary: #f29a00;
    --cta-bg-secondary: #fff;
    --cta-border-secondary: #f29a00;
    --cta-text-secondary: #f29a00
}

.cta--turquoise {
    --cta-bg-primary: #008eaa;
    --cta-border-primary: #008eaa;
    --cta-bg-secondary: #fff;
    --cta-border-secondary: #008eaa;
    --cta-text-secondary: #008eaa
}

.cta--black {
    --cta-bg-primary: #000;
    --cta-border-primary: #000;
    --cta-bg-secondary: #fff;
    --cta-border-secondary: #000;
    --cta-text-secondary: #000
}

.cta--white {
    --cta-bg-primary: #fff;
    --cta-border-primary: #fff;
    --cta-bg-secondary: #072142;
    --cta-border-secondary: #fff;
    --cta-text-secondary: #fff
}

.simple-listing {
    --card-padding-block: var(--space-2);
    --card-padding-inline: 0;
    --card-border: none;
    position: relative
}

.simple-listing__subtitle {
    color: var(--heading-color,var(--text-color,inherit))
}

.simple-listing a:after {
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.simple-listing button {
    position: relative
}

.simple-listing__link:hover {
    text-decoration: underline
}

.carousel .simple-listing .card__image {
    min-height: 15rem
}

.card {
    --cta-max-width: 100%;
    border: var(--card-border,1px solid var(--c-white-sands))
}

.card, .card__body, .card__main {
    display: flex;
    flex-direction: column
}

.card__main {
    flex: 1
}

.card__head, .card__image {
    position: relative
}

.card__image {
    height: 0;
    padding-top: 56.25%;
    width: 100%
}

    .card__image.card__image--link {
        cursor: pointer
    }

    .card__image:after {
        background: linear-gradient(180deg,transparent 50%,#000);
        content: "";
        opacity: .6
    }

    .card__image img, .card__image:after {
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%
    }

    .card__image img {
        -o-object-fit: cover;
        object-fit: cover
    }

.card__body {
    flex: 1;
    justify-content: space-between
}

.card__content {
    display: block;
    padding: var(--card-padding-block,var(--space-2-3)) var(--card-padding-inline,var(--space-2))
}

@media screen and (max-width: 37.5rem) {
    .card__content {
        flex: 1;
        height: auto
    }
}

.card__actions {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: flex-end;
    padding: var(--card-actions-padding-block,var(--card-padding-block,0)) var(--card-actions-padding-inline,var(--card-padding-inline,var(--space-2))) var(--card-actions-padding-block,var(--card-padding-inline,var(--space-2-3)))
}

.card__actions--inline {
    max-width: -moz-fit-content !important;
    max-width: fit-content !important
}

@media screen and (max-width: 48rem) {
    .card__actions--inline {
        max-width: 100% !important
    }
}

@media screen and (max-width: 25rem) {
    .card__actions--inline {
        flex-direction: column
    }
}

.actions__footer {
    border-left: var(--card-border,1px solid var(--c-white-sands));
    min-width: 13.75rem
}

@media screen and (max-width: 48rem) {
    .actions__footer, .actions__header {
        width: 50%
    }
}

@media screen and (max-width: 25rem) {
    .actions__footer, .actions__header {
        flex-flow: wrap !important;
        width: 100%
    }

    .actions__footer {
        border-left: 0;
        border-top: var(--card-border,1px solid var(--c-white-sands))
    }
}

.card[data-waiting] {
    transition: opacity .5s calc(.15s + .1s*var(--card-index, 0)) ease-out,transform .45s calc(.1s + .1s*var(--card-index, 0)) cubic-bezier(.39,.57,.56,1)
}

.card[data-waiting=true] {
    opacity: 0;
    transform: translate3d(0,.75rem,0)
}

.image-promo.grid {
    --grid-max-cols: 2;
    align-items: center
}

.image-promo figure {
    width: 100%
}

.image-promo img {
    aspect-ratio: 16/9;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.chip__icon {
    width: 1em;
    height: 1em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 1em;
}

.chip, .chip > .tooltip, .chip > .tooltip .tooltip__trigger {
    align-items: center;
    display: inline-flex;
    gap: var(--flex-gap,.5em)
}

    .chip[data-variant=default] {
        background-color: var(--chip-bg,var(--c-grey-3));
        border-radius: var(--chip-radius,var(--radius-tight));
        color: var(--chip-text,var(--c-navy-blue));
        font-size: var(--chip-text-size,var(--ts-label));
        font-weight: 600;
        line-height: var(--chip-line-height,var(--lh-label));
        padding: var(--chip-padding-block,.34375rem) var(--chip-padding-inline,.5rem)
    }

    .chip[data-variant=with-icon] {
        background-color: var(--chip-bg,var(--c-white-sands));
        border-radius: var(--chip-radius,var(--radius-default));
        color: var(--chip-text,var(--c-grey-1));
        font-size: var(--chip-text-size,var(--ts-label));
        font-weight: 400;
        line-height: var(--chip-line-height,var(--lh-body));
        padding: var(--chip-padding-block,.34375rem) var(--chip-padding-inline,var(--space-1))
    }

    .chip[data-tip=true] {
        --chip-text: var(--c-navy-blue);
        cursor: help !important;
    }

        .chip[data-tip=true]:has(.tooltip .tooltip__trigger) {
            padding: 0;
        }

        .chip[data-tip=true] > .tooltip .tooltip__trigger {
            padding: var(--chip-padding-block,.34375rem) var(--chip-padding-inline,var(--space-1))
        }

    .chip[data-type=badge], .chip[data-type=badge][data-tip=true] {
        --tooltip-size: 12px;
        --chip-text-size: var(--ts-tiny)
    }

        .chip[data-type=badge][data-theme=default] {
            --tooltip-color: var(--c-navy-blue);
            --chip-bg: var(--c-white-sands);
            --chip-text: var(--c-navy-blue)
        }

        .chip[data-type=badge][data-theme=exclusively-solos] {
            --tooltip-color: var(--c-white);
            --chip-bg: var(--c-burnt-orange);
            --chip-text: var(--c-white)
        }

        .chip[data-type=badge][data-theme=no-single-supplement] {
            --tooltip-color: var(--c-off-white);
            --chip-bg: var(--c-near-black);
            --chip-text: var(--c-off-white)
        }

.tooltip {
    cursor: help !important
}

    .tooltip, .tooltip .v-popper {
        color: var(--tooltip-color,var(--c-navy-blue));
        display: inline-block
    }

        .tooltip.disabled, .tooltip.disabled .v-popper {
            color: var(--c-grey-2)
        }

        .tooltip .v-popper {
            font-size: var(--tooltip-size,var(--ts-label))
        }

.tooltip__popper .v-popper__popper, .v-popper__popper {
    z-index: 99 !important
}

.tooltip__popper .v-popper__inner {
    max-width: 19rem
}

@media screen and (max-width: 576px) {
    .tooltip__popper .v-popper__inner {
        max-width: 13rem
    }
}

.slice {
    padding-block: var(--slice-gap,var(--space-5-8))
}

    .slice.theme-dark + .slice.theme-dark, .slice.theme-light + .slice.theme-light, .slice.theme-mid + .slice.theme-mid {
        padding-block-start: 0
    }

.slice__header .cta {
    width: auto
}

.slice__header {
    margin-block-end: var(--slice-header-gap,var(--space-4))
}

.slice__footer {
    margin-block-start: var(--slice-footer-gap,var(--space-4))
}

.key-info-list {
    border: 1px solid var(--key-info-border,var(--c-white-sands))
}

.key-info-list__header {
    background-color: var(--key-info-bg,var(--c-white-sands));
    font-size: var(--key-info-header-size,var(--ts-label));
    line-height: var(--key-info-header-lh,var(--lh-label))
}

.theme-mid .key-info-list__header {
    background-color: var(--key-info-bg,var(--c-grey-5))
}

.key-info-list ul[data-layout=standard] .key-info-item__title, .key-info-list__header {
    leading-trim: both;
    color: var(--key-info-header-text,var(--c-navy-blue));
    font-size: var(--key-info-header-size,var(--ts-label));
    font-weight: 600;
    line-height: var(--key-info-header-lh,var(--lh-label));
    text-transform: uppercase
}

.key-info-list__body {
    display: grid;
    gap: .0625rem;
    grid-template-columns: repeat(6,1fr);
    padding: 0
}

.key-info-item {
    outline: 1px solid var(--key-info-border,var(--c-white-sands));
    padding: var(--space-2);
    padding-block-end: .9375rem
}

    .key-info-item:not([data-with-icon]) {
        grid-column: span 3
    }

    .key-info-item[data-full-width=true] {
        grid-column: span 6
    }

.key-info-item {
    background-color: var(--key-info-item-bg,#fff)
}

    .key-info-item > span {
        display: block
    }

    .key-info-item[data-with-icon] {
        display: flex;
        flex-direction: column;
        text-align: center
    }

        .key-info-item[data-with-icon] .key-info-item__title:last-child {
            font-weight: 400
        }

.key-info-item__icon {
    font-size: var(--ts-heading-4);
    margin-inline: auto
}

.key-info-item[data-with-icon] {
    grid-column: span 3
}

@media screen and (min-width: 600px) {
    .key-info-item[data-with-icon] {
        grid-column: span 2
    }
}

@media screen and (min-width: 980px) {
    .key-info-item[data-with-icon] {
        grid-column: span 1
    }
}

.key-info-list__body[data-layout=split] .key-info-item {
    --flex-gap: 0;
    padding: 0
}

    .key-info-list__body[data-layout=split] .key-info-item > * {
        flex: 1 1 60%;
        font-size: var(--ts-body);
        line-height: var(--lh-body);
        padding: calc(var(--space-1)*1.5) var(--space-2)
    }

    .key-info-list__body[data-layout=split] .key-info-item > :first-child {
        border-inline-end: 1px solid var(--key-info-border,var(--c-white-sands));
        flex: 1 1 40%
    }

.key-info-list__body[data-layout=inline] .key-info-item__title {
    color: var(--text-color);
    display: inline-block;
    font-size: var(--ts-body);
    padding-right: .25em
}

    .key-info-list__body[data-layout=inline] .key-info-item__title:after {
        content: ":"
    }

.key-info-list__body[data-layout=inline] .key-info-item p, .key-info-list__body[data-layout=inline] .key-info-item__title {
    display: inline
}

@media screen and (max-width: 40rem) {
    .key-info-list__body[data-layout=inline] .key-info-item {
        grid-column: span 6
    }
}

[data-layout-mode=list] .key-info-list {
    border: 0
}

@media screen and (min-width: 1060px) {
    [data-layout-mode=list] .key-info-item {
        border-bottom: .0625rem solid var(--key-info-border,var(--c-white-sands));
        outline: none
    }

        [data-layout-mode=list] .key-info-item[data-full-width=false]:nth-child(odd) {
            border-right: .0625rem solid var(--key-info-border,var(--c-white-sands))
        }
}

.price__current {
    font-family: var(--price-current-font,var(--font-primary));
    font-size: var(--price-current-size,var(--ts-heading-5))
}

    .price__current > .unit {
        font-family: var(--price-current-unit-font,inherit);
        font-size: var(--price-current-unit-size,inherit)
    }

.price__previous {
    font-family: var(--price-previous-font,var(--font-primary));
    font-size: var(--price-previous-size,var(--ts-body));
    text-decoration: line-through
}

.holiday-listing-collection .slice__footer .cta {
    max-width: none;
    width: 100%
}

@media screen and (max-width: 709px) {
    .holiday-listing-collection .slice__header .cta {
        display: none
    }
}

@media screen and (min-width: 710px) {
    .holiday-listing-collection .slice__footer {
        display: none
    }
}

.holiday-listing-collection[data-late-escapes=true] .cta[data-variant=primary], .holiday-listing-collection[data-late-escapes=true] .cta[data-variant=secondary] {
    --cta-border: var(--c-strong-red)
}

.holiday-listing-collection[data-late-escapes=true] .cta[data-variant=primary] {
    --cta-bg: var(--c-strong-red)
}

.holiday-listing-collection[data-late-escapes=true] .cta[data-variant=secondary] {
    --cta-text: var(--c-strong-red)
}

.expander {
    position: relative
}

.expander__tray {
    overflow: hidden;
    transition: max-height .2s ease-out
}

.expander__trigger {
    position: relative
}

.expander[data-open=false] .expander__tray {
    max-height: 0
}

.expander[data-open=true] .expander__tray {
    max-height: var(--expander-tray-height)
}

.expander__trigger .icon {
    transition: transform .25s ease-out
}

.expander[data-open=true] .expander__trigger .icon {
    transform: rotate(-180deg)
}

.icon-bullets {
    overflow: hidden
}

.icon-bullets__items {
    display: grid;
    font-size: var(--bullet-font-size,var(--ts-body-large));
    gap: var(--space-2) var(--space-3);
    line-height: var(--bullet-line-height,var(--lh-body-large));
    margin-top: -1px;
    padding: 0
}

.icon-bullets__item {
    --flex-gap: var(--space-2);
    border-top: 1px solid var(--bullet-divider,var(--c-white-sands));
    padding-block-start: var(--space-2)
}

.icon-bullets__bullet {
    color: var(--bullet-color,inherit);
    flex: 0 0 1rem;
    font-size: 1rem
}

@media screen and (min-width: 750px) {
    .icon-bullets__items {
        grid-auto-flow: column;
        grid-template-columns: repeat(var(--bullet-max-cols,2),1fr);
        grid-template-rows: repeat(var(--bullet-max-rows,3),1fr)
    }
}

.tick-list {
    --flex-align-vertical: flex-start;
    --slice-header-gap: var(--space-2);
    --bullet-color: var(--c-success)
}

    .tick-list[data-with-body] {
        --slice-header-gap: var(--space-3)
    }

    .tick-list .icon-bullets__bullet {
        margin-block-start: .125rem
    }

.accordion-list {
    --slice-header-gap: var(--space-2)
}

.accordion-item__trigger {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid var(--c-white-sands);
    color: var(--heading-color);
    cursor: pointer;
    font-weight: 600;
    padding-block: calc(30px - var(--ts-body-large)*var(--lh-body-large)*.5);
    text-align: left;
    width: 100%
}

    .accordion-item__trigger > span:last-of-type {
        flex-shrink: 0
    }

    .accordion-item__trigger svg {
        color: var(--heading-color);
        font-size: 1.25rem;
        transition: transform .25s ease-out
    }

.expander[data-open=true] .accordion-item__trigger svg {
    transform: rotate(-180deg)
}

.accordion-item .expander__content {
    font-size: var(--ts-body-large);
    padding-block: var(--space-2)
}

.slice.theme-light .accordion-itinerary-wrapper {
    --bg-color: var(--c-grey-5);
    padding: var(--space-2) 0
}

.accordion-itinerary-items {
    counter-reset: step
}

    .accordion-itinerary-items:before {
        background: linear-gradient(to bottom,var(--c-grey-3) 50%,transparent 50%,transparent) repeat-y;
        background-size: 100% .75rem;
        content: "";
        height: calc(100% - var(--space-4));
        left: calc(var(--space-4)*.5);
        margin-inline-start: -1px;
        position: absolute;
        top: var(--space-2);
        width: 2px
    }

    .accordion-itinerary-items .accordion-itinerary-item {
        position: relative; /* FIX new design */
        counter-increment: step;
        padding-inline-start: var(--space-6)
    }

        .accordion-itinerary-items .accordion-itinerary-item: after {
            align-items: center;
            background: #fff;
            border: 4px solid var(--linked-list-border,var(--c-warm-gold));
            border-radius: 100%;
            color: var(--linked-list-text,var(--c-navy-blue));
            content: counter(step);
            display: flex;
            font-size: var(--ts-body-large);
            height: var(--space-4);
            justify-content: center;
            left: 0;
            line-height: 1;
            position: absolute;
            top: calc(25px - var(--ts-body-large)*var(--lh-body-large)*.5);
            width: var(--space-4)
        }

.accordian-list--itinerary .expander__content {
    max-width: var(--rt-max-width,52.6875rem)
}

.accordian-list--itinerary .accordian-item__image {
    aspect-ratio: 16/9;
    overflow: hidden;
    position: relative;
    width: 100%
}

    .accordian-list--itinerary .accordian-item__image > img {
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        width: 100%
    }

.promo-flash {
    word-wrap: break-word;
    max-width: 6.25rem;
    position: relative
}

.promo-flash__content {
    background-color: var(--promo-bg,var(--c-strong-red));
    color: var(--promo-text,var(--c-off-white));
    font-size: var(--promo-text-size,var(--ts-micro));
    font-weight: 600;
    line-height: 1;
    padding: var(--space-1) var(--space-05);
    padding-block-end: calc(var(--space-1)*.5);
    text-transform: uppercase
}

.promo-flash__point {
    fill: var(--promo-bg,var(--c-strong-red));
    fill-rule: nonzero;
    height: auto;
    left: 0;
    position: absolute;
    top: 100%;
    width: 100%
}

.promo-flash.theme--navy-blue .promo-flash__content {
    background-color: var(--c-deep-blue);
    color: var(--promo-text,var(--c-off-white))
}

.promo-flash.theme--navy-blue .promo-flash__point {
    fill: var(--c-deep-blue)
}

.promo-flash.theme--gold .promo-flash__content {
    background-color: var(--c-warm-gold);
    color: var(--promo-text,var(--c-off-white))
}

.promo-flash.theme--gold .promo-flash__point {
    fill: var(--c-warm-gold)
}

.promo-flash.theme--purple .promo-flash__content {
    background-color: var(--c-happy-purple);
    color: var(--promo-text,var(--c-off-white))
}

.promo-flash.theme--purple .promo-flash__point {
    fill: var(--c-happy-purple)
}

.promo-flash.theme--orange .promo-flash__content {
    background-color: var(--c-nectar-orange);
    color: var(--promo-text,var(--c-off-white))
}

.promo-flash.theme--orange .promo-flash__point {
    fill: var(--c-nectar-orange)
}

.promo-flash.theme--red .promo-flash__content {
    background-color: var(--c-strong-red);
    color: var(--promo-text,var(--c-off-white))
}

.promo-flash.theme--red .promo-flash__point {
    fill: var(--c-strong-red)
}

.promo-flash.theme--nectar-orange .promo-flash__content {
    background-color: #f29a00;
    color: #fff
}

.promo-flash.theme--nectar-orange .promo-flash__point {
    fill: #f29a00
}

.promo-flash.theme--turquoise .promo-flash__content {
    background-color: #008eaa;
    color: #fff
}

.promo-flash.theme--turquoise .promo-flash__point {
    fill: #008eaa
}

.promo-flash.theme--black .promo-flash__content {
    background-color: #000;
    color: #fff
}

.promo-flash.theme--black .promo-flash__point {
    fill: #000
}

.promo-flash.theme--white .promo-flash__content {
    background-color: #fff;
    color: #072142
}

.promo-flash.theme--white .promo-flash__point {
    fill: #fff
}

.card .promo-flash {
    position: absolute;
    right: var(--space-2);
    top: 0
}

[data-anchor-target]:before {
    content: " ";
    display: block;
    margin-top: -3.75rem;
    padding-top: 3.75rem
}

.quick-nav {
    background-color: var(--c-grey-5);
    position: sticky;
    top: 0;
    z-index: 10
}

.quick-nav__link {
    border-bottom: .0625rem solid transparent;
    color: var(--c-grey-1);
    display: block;
    padding: 1.1rem 0
}

.quick-nav--active {
    border-color: var(--c-burnt-orange);
    color: var(--c-navy-blue);
    font-weight: 600
}

.quick-nav__cols {
    display: flex;
    justify-content: space-between
}

.quick-nav__link {
    flex-shrink: 0
}

.quick-nav__cta {
    align-items: center;
    background-color: var(--c-navy-blue);
    bottom: 0;
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    left: 0;
    padding: var(--space-2);
    position: fixed;
    width: 100%;
    z-index: 1
}

@media screen and (min-width: 60.0625rem) {
    .quick-nav__cta {
        align-items: stretch;
        background-color: transparent;
        padding: 0;
        position: relative;
        width: auto
    }

        .quick-nav__cta .cta {
            align-items: center;
            border-radius: 0;
            display: flex
        }
}

.quick-nav__swiper.swiper {
    margin: 0;
    max-width: 100%
}

@media screen and (min-width: 60.0625rem) {
    .quick-nav__swiper.swiper {
        max-width: 80%
    }
}

.quick-nav__slide {
    width: auto !important
}

    .quick-nav__slide:not(:first-child) {
        padding-left: var(--space-05);
        padding-right: var(--space-05)
    }

.toolbar-item {
    color: #333;
    font-size: 13px;
    padding: 1.7rem 0 0;
    position: relative;
    text-align: center
}

@media (min-width: 768px) {
    .toolbar-item {
        padding: 1.7rem 2rem 0
    }
}

@media (min-width: 992px) {
    .toolbar-item {
        margin-left: 17rem;
        padding: 1.7rem 0 0
    }
}

.toolbar-item:hover {
    color: #142e4a;
    text-decoration: none
}

.toolbar-item > i {
    display: block;
    font-size: 1.5rem;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translate(-50%)
}

.highlight-card {
    --flex-gap: 0;
    --flex-align-vertical: stretch;
    flex-direction: column
}

.highlight-card-base {
    --highlight-card-ts: var(--ts-heading-5);
    --highlight-card-lh: var(--lh-heading-5)
}

.highlight-card > * {
    flex: 1
}

.highlight-card__content {
    --flex-align-vertical: stretch;
    align-items: stretch;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: var(--space-3) var(--space-2)
}

.highlight-card__icon {
    font-size: 2.25rem;
    margin-block-end: var(--space-1)
}

.highlight-card__image {
    height: 100%
}

.highlight-card img {
    aspect-ratio: 320/180;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.highlight-card__body {
    font-size: var(--highlight-card-ts);
    line-height: var(--highlight-card-ln)
}

.highlight-card:nth-of-type(6n+1) {
    background-color: var(--highlight-card-bg,var(--c-moss-green))
}

.highlight-card:nth-of-type(6n+2) {
    background-color: var(--highlight-card-bg,var(--c-sage-green))
}

.highlight-card:nth-of-type(6n+3) {
    background-color: var(--highlight-card-bg,var(--c-cold-stone))
}

.highlight-card:nth-of-type(6n+4) {
    background-color: var(--highlight-card-bg,var(--c-warm-beige))
}

.highlight-card:nth-of-type(6n+5) {
    background-color: var(--highlight-card-bg,var(--c-cool-lilac))
}

.highlight-card:nth-of-type(6n+6) {
    background-color: var(--highlight-card-bg,var(--c-white-sands))
}

.highlight-card_withoutIcon:nth-of-type(6n+1) {
    background-color: var(--highlight-card-bg,var(--c-moss-green))
}

.highlight-card_withoutIcon:nth-of-type(6n+2) {
    background-color: var(--highlight-card-bg,var(--c-sage-green))
}

.highlight-card_withoutIcon:nth-of-type(6n+3) {
    background-color: var(--highlight-card-bg,var(--c-cold-stone))
}

.highlight-card_withoutIcon:nth-of-type(6n+4) {
    background-color: var(--highlight-card-bg,var(--c-warm-beige))
}

.highlight-card_withoutIcon:nth-of-type(6n+5) {
    background-color: var(--highlight-card-bg,var(--c-cool-lilac))
}

.highlight-card_withoutIcon:nth-of-type(6n+6) {
    background-color: var(--highlight-card-bg,var(--c-white-sands))
}

@media screen and (min-width: 720px) {
    .highlight-card {
        flex-direction: row;
        min-height: 255px
    }

    .highlight-card_withoutIcon {
        flex-direction: row;
        min-height: 150px
    }

    .highlight-card > * {
        flex: 0 0 50%
    }

    .highlight-card__image {
        aspect-ratio: 1/1;
        max-width: 50%;
        position: relative
    }

    .highlight-card img {
        aspect-ratio: 312/305;
        height: 100%;
        position: absolute;
        width: 100%
    }
}

.slider {
    position: relative
}

.slider__controls {
    bottom: 0;
    position: absolute;
    right: 0
}

.slider__track {
    --flex-gap: var(--slider-gap,var(--space-1-3));
    --offset-x: calc((100% + var(--flex-gap))*var(--current-slide)*-1);
    flex-wrap: nowrap
}

    .slider__track, .slider__track > * {
        -webkit-user-select: none;
        user-select: none;
        -moz-user-select: text
    }

        .slider__track > * {
            flex: 1 0 100%;
            max-width: 100%;
            scroll-snap-align: left;
            transform: translate3d(var(--offset-x),0,0);
            transition: transform .65s cubic-bezier(.65,.05,.36,1);
            width: 100%
        }

.slider picture {
    aspect-ratio: 16/9;
    background: #f5f5f5;
    display: block;
    overflow: hidden;
    width: 100%
}

    .slider picture img {
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        width: 100%
    }

.direction-controls {
    --flex-gap: .1875rem;
    width: 7.6875rem
}

    .direction-controls .cta {
        --cta-bg: var(--c-burnt-orange);
        border-radius: 0;
        color: #fff;
        height: var(--space-6);
        width: var(--space-6)
    }

.info-card {
    background-color: var(--info-card-bg,var(--c-grey-5));
    padding: var(--space-2)
}

.info-card__content {
    display: flex;
    flex-direction: column;
    height: 100%
}

.info-card__body {
    flex-grow: 1
}

.info-card__icon {
    color: var(--c-navy-blue);
    font-size: var(--info-card-icon-size,2.25rem);
    line-height: 1
}

.info-card-collection[data-with-body] {
    --slice-header-gap: var(--space-6)
}

.slice__header > .info-card-collection__intro {
    font-size: var(--ts-body-large);
    line-height: var(--lh-body-large);
    max-width: 45rem
}

@media screen and (max-width: 55rem) {
    .slice__header {
        --flex-align-vertical: stretch;
        --flex-gap: var(--flow-gap,var(--space-2));
        flex-direction: column
    }

    .slice[data-header-row] .slice__header {
        --flex-align-vertical: initial;
        --flex-gap: var(--flow-gap,var(--space-2));
        flex-direction: row;
        flex-wrap: wrap
    }

    .slice__header > .info-card-collection__intro {
        max-width: 100%
    }
}

.masthead {
    --shade-gradient: linear-gradient(180deg,transparent,rgba(0,0,0,.3));
    --masthead-content-padding-inline: 0;
    --masthead-campaign-theme: var(--text-color);
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    padding-block: var(--space-7);
    position: relative
}

.masthead--navy-blue {
    --masthead-campaign-theme: var(--c-deep-blue)
}

.masthead--orange {
    --masthead-campaign-theme: var(--c-nectar-orange)
}

.masthead--purple {
    --masthead-campaign-theme: var(--c-happy-purple)
}

.masthead--red {
    --masthead-campaign-theme: var(--c-strong-red)
}

.masthead--gold {
    --masthead-campaign-theme: var(--c-warm-gold)
}

.masthead--nectar-orange {
    --masthead-campaign-theme: #f29a00
}

.masthead--turquoise {
    --masthead-campaign-theme: #008eaa
}

.masthead--black {
    --masthead-campaign-theme: #000
}

.masthead--white {
    --masthead-campaign-theme: #fff
}

.masthead.theme-light {
    --bg-color: var(--c-grey-5)
}

.masthead[data-variant=standard] {
    min-height: 420px
}

.masthead[data-variant=expanded] {
    min-height: 620px;
    padding-block: var(--space-9)
}

.masthead[data-variant=reduced] {
    min-height: 200px
}

.masthead__image img, .masthead__image.image-shade {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.masthead__image {
    overflow: hidden;
    z-index: 0
}

    .masthead__image img {
        -o-object-fit: cover;
        object-fit: cover
    }

.masthead__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    padding-inline: var(--masthead-content-padding-inline);
    z-index: 1
}

    .masthead__content .flow > p {
        max-width: 625px
    }

.masthead__footer {
    --flex-align-vertical: flex-end;
    flex: 0;
    z-index: 1
}

.masthead__footer-logo--right {
    margin-left: auto
}

.masthead__location {
    background-color: var(--c-near-black);
    border-radius: var(--radius-default);
    font-size: var(--ts-label);
    line-height: var(--lh-heading-5);
    padding: var(--space-05) var(--space-1)
}

.masthead .callback-promo {
    margin-inline: auto 0
}

.masthead__overlay {
    cursor: pointer;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}

.masthead__banner {
    background-color: #fff3;
    bottom: 0;
    color: var(--text-color,var(--c-white));
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 5
}

.masthead__banner-inner {
    padding-block: 1rem;
    padding-inline: var(--masthead-content-padding-inline)
}

.masthead__banner ~ :last-of-type {
    margin-bottom: 2rem
}

@media screen and (max-width: 30rem) {
    .masthead__footer {
        margin-top: 1rem
    }

    .masthead--pulse .masthead__pulse-wrapper {
        padding: var(--space-3) var(--space-1) !important
    }

    .masthead--pulse .masthead__pulse-badge {
        right: -2rem !important;
        top: -2rem !important
    }
}

@media screen and (min-width: 30rem) and (max-width:80rem) {
    .masthead--pulse .masthead__pulse-badge {
        right: -1rem !important
    }
}

.masthead--simple-campaign .masthead__inner, .masthead--simple-campaign .masthead__inner--secondary {
    align-items: center;
    display: flex;
    flex-direction: column
}

.masthead--simple-campaign .masthead__title {
    font-family: var(--font-primary)
}

    .masthead--simple-campaign .masthead__title .title-suffix {
        font-weight: 100
    }

.masthead--simple-campaign .countdown {
    color: var(--masthead-campaign-theme)
}

.masthead--pulse .masthead__pulse-wrapper {
    background-color: #0006;
    border: 1px solid var(--c-off-white);
    max-width: 60rem;
    padding: var(--space-3);
    position: relative;
    width: 100%
}

.masthead--pulse .masthead__pulse-badge {
    align-items: center;
    background-color: var(--masthead-campaign-theme);
    border-radius: 50%;
    display: flex;
    font-size: var(--ts-label);
    height: 5rem;
    justify-content: center;
    line-height: var(--lh-heading-2);
    min-width: 1em;
    padding: 1em;
    position: absolute;
    right: -2rem;
    text-align: center;
    text-transform: uppercase;
    top: -2rem;
    transform: rotate(20deg);
    width: 5rem
}

.masthead--pulse .masthead__content {
    align-items: center;
    display: flex
}

    .masthead--pulse .masthead__content * {
        color: #fff !important
    }

.masthead--pulse .masthead__content__footer {
    align-items: center;
    background-color: var(--masthead-campaign-theme);
    border: 1px solid var(--c-off-white);
    border-top: 0;
    display: flex;
    justify-content: center;
    line-height: var(--lh-heading-5);
    max-width: 60rem;
    padding: var(--space-1) var(--space-3);
    width: 100%
}

.masthead--pulse .masthead__content--white .cta, .masthead--pulse .masthead__content--white .masthead__content__footer, .masthead--pulse .masthead__content--white .masthead__content__footer strong, .masthead--pulse .masthead__content--white .masthead__pulse-badge * {
    color: #072142 !important
}

.masthead--pulse .masthead__content .cta {
    margin-top: var(--space-2)
}

.masthead--pulse .masthead__inner {
    align-items: center;
    display: flex;
    flex-direction: column
}

.masthead--pulse .countdown-full {
    background-color: transparent;
    padding: 0
}

    .masthead--pulse .countdown-full .countdown__content {
        font-weight: 600
    }

    .masthead--pulse .countdown-full .countdown__divider {
        display: none
    }

.masthead__content:has(.masthead__content__footer) .masthead__pulse-wrapper {
    border-bottom: 0
}

.hero-gradient {
    bottom: 0;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    width: 100%
}

.medical-information__container {
    border: 1px solid var(--c-white-sands)
}

.cta.medical-information__cta {
    max-width: 12rem
}

.product-intro {
    --sbs-align-vertical: stretch
}

.product-intro__sidebar {
    flex-shrink: 0
}

.product-intro .key-info-list {
    width: 100%
}

.product-intro__tags {
    --flow-gap: var(--space-2-5)
}

.product-intro__price {
    --flex-gap: var(--space-05);
    --flex-align-vertical: baseline
}

    .product-intro__price .price__current {
        font-family: var(--font-headline);
        font-size: var(--ts-heading-3)
    }

        .product-intro__price .price__current .unit {
            font-family: var(--font-primary);
            font-size: var(--ts-body-large)
        }

    .product-intro__price .price__previous {
        font-size: var(--ts-body-large)
    }

.product-intro__desktop-header {
    display: none
}

@media screen and (min-width: 60rem) {
    .product-intro__body {
        padding-top: 0
    }

    .product-intro__mobile-header {
        display: none
    }

    .product-intro__desktop-header {
        display: block;
        margin-bottom: 1.875rem
    }
}

.product-intro .favourite-cta {
    max-width: none;
    width: 100%
}

.product-intro .key-info-list {
    container-name: items;
    container-type: inline-size
}

@container items (max-width: 320px) {
    .product-intro .key-info-item:not([data-with-icon]) {
        grid-column: span 6
    }
}

.modal .product-intro__body {
    padding-block-start: 0
}

.product-cta-anchor {
    margin-top: inherit;
    max-width: none;
    text-decoration: none !important
}

.promo-code {
    background: var(--c-grey-5);
    border: .0625rem dashed var(--c-grey-3);
    padding: var(--space-2)
}

@media screen and (max-width: 44.9375rem) {
    .promo-code.side-by-side {
        align-items: stretch
    }
}

.promo-code__form .cta {
    max-width: 5rem
}

.promo-code__form .text-input__input {
    background-color: var(--c-white)
}

@media screen and (max-width: 37.5rem) {
    .promo-code__form {
        flex-direction: column
    }

        .promo-code__form .cta {
            max-width: 100%
        }
}

.promo-code__remove.cta {
    background-color: transparent;
    border-color: var(--c-white);
    color: var(--c-white)
}

    .promo-code__remove.cta[disabled]:not([disabled=false]):not([data-loading=true]) {
        background-color: var(--c-grey-4);
        border-color: var(--c-grey-2);
        color: var(--c-grey-2);
        cursor: not-allowed
    }

.offer-promo {
    --sbs-align-vertical: flex-start;
    background-color: var(--offer-bg,var(--c-grey-5));
    border: 1px dashed var(--c-grey-3);
    color: var(--c-navy-blue);
    margin-block: var(--space-2-5);
    padding: var(--space-2)
}

.offer-promo__copy {
    border: none;
    border-radius: var(--radius-default);
    color: var(--c-navy-blue);
    cursor: pointer;
    font-family: var(--font-primary);
    font-weight: 600;
    padding: calc(var(--space-2)*.6) var(--space-2);
    text-transform: uppercase;
    width: 100%
}

.offer-promo .modal {
    --slice-gap: var(--space-2)
}

.offer-promo__success {
    animation: successBounce .25s cubic-bezier(.79,.14,.15,.86);
    color: var(--c-success)
}

@keyframes successBounce {
    0% {
        transform: scale(1)
    }

    30% {
        transform: scale(1.25)
    }

    to {
        transform: scale(1)
    }
}

.breadcrumb {
    color: var(--c-navy-blue);
    font-size: var(--ts-label);
    line-height: var(--lh-label);
    padding-block: calc(1.5625rem - var(--ts-label)*.5)
}

.breadcrumb__items {
    padding: 0
}

    .breadcrumb__items a {
        text-decoration: underline;
        text-underline-offset: .175em
    }

.breadcrumb__item {
    position: relative
}

    .breadcrumb__item a:after {
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 1
    }

@media screen and (max-width: 60rem) {
    .breadcrumb__current, .breadcrumb__item:not([data-parent=true]) {
        display: none
    }

    .breadcrumb__item[data-parent=true] {
        flex-direction: row-reverse
    }

    .breadcrumb__chevron {
        transform: scaleX(-1)
    }
}

/* =========================
   Modal Styles
   ========================= */

.modal {
    width: 100%;
    max-width: 100vw;
    height: 100%;
    border: none;
    background-color: transparent;
    pointer-events: all;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .modal[data-size=small] .modal__inr {
        max-width: 40rem
    }

    .modal .modal__body > header:not(.masthead) {
        padding-inline-end: var(--space-4)
    }

.modal__inr [class*=" wrapper-"],
.modal__inr [class^=wrapper-] {
    width: 100%
}

.modal__close,
.modal__dismiss {
    font-size: 36px
}

.modal__inr {
    width: 100%;
    overflow: hidden;
    animation: modalSlideUp 250ms 150ms backwards ease-out;
    margin: auto;
    max-width: 60rem;
    padding: var(--modal-inner-padding, var(--space-2-5));
    position: relative;
    background: white;
}

.modal__body {
    padding: var(--modal-body-padding)
}

.modal__footer {
    background: var(--modal-footer-bg);
    padding: var(--modal-footer-padding)
}

.modal::backdrop {
    animation: modalFadeIn;
    animation: modalFadeIn .35s ease-out;
    background-color: #00000080
}

.modal__close.br-default,
.modal__dismiss.br-default {
    --cta-bg: var(--c-navy-blue);
    --cta-text-size: var(--ts-heading-4);
    border-radius: 0;
    color: #fff;
    height: 3.125rem;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 3.125rem
}

.modal .slice {
    --slice-gap: var(--space-2-5)
}

.modal__overlay {
    background-color: #0000004d;
    display: flex;
    height: 100vh;
    left: 0;
    place-items: center;
    position: fixed;
    top: 0;
    width: 100vw
}

@keyframes modalFadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes modalSlideUp {
    0% {
        opacity: 0;
        transform: translate3d(0,.5rem,0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.modal .masthead {
    --masthead-content-padding-inline: var(--space-2-5);
    --shade-gradient: linear-gradient(180deg,transparent,rgba(0,0,0,.8))
}

.extension-modal .modal__inr {
    --modal-inner-padding: 0
}

.extension-modal .modal__body {
    --modal-body-padding: var(--space-2-5)
}

.extension-modal .modal__footer {
    --modal-footer-bg: var(--c-white-sands);
    --modal-footer-padding: var(--space-2-5)
}

.extension-modal .price__current {
    --price-current-font: var(--font-headline);
    --price-current-size: var(--ts-heading-3)
}

    .extension-modal .price__current .unit {
        --price-current-unit-font: var(--font-primary);
        --price-current-unit-size: var(--ts-body-large)
    }

.extension-modal .masthead__banner--extension {
    display: flex;
    flex-direction: column
}

@media screen and (min-width: 38rem) {
    .extension-modal .masthead__banner--extension {
        flex-direction: row;
        gap: var(--space-05);
        justify-content: space-between
    }
}

.extension-modal .accordion-itinerary-wrapper {
    --bg-color: transparent !important
}

.extension-modal .highlight-card-base {
    --highlight-card-ts: var(--ts-body-large)
}

@media screen and (min-width: 66.25rem) {
    .extension-modal .highlight-card__image {
        aspect-ratio: auto
    }
}

@media screen and (max-width: 45rem) {
    .extension-modal .extension-cta-banner {
        text-align: center
    }
}

.add-on-listing button.add-on-listing__trigger {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    position: static
}

.add-on-listing__trigger:after {
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.mapbox {
    height: 100vh;
    width: 50vw
}

.itinerary__tray {
    --flex-align-vertical: flex-start
}

.itinerary__map {
    position: sticky;
    top: 0
}

.itinerary__body {
    flex: 1;
    padding: max(25vh,var(--space-7)) var(--space-7)
}

.itinerary__items {
    margin-inline: auto;
    max-width: 626px
}

@media screen and (max-width: 55rem) {
    .itinerary__tray {
        flex-direction: column
    }

    .itinerary__map {
        z-index: 2
    }

    .itinerary .mapbox {
        height: 100vw;
        max-height: 35vh;
        width: 100vw
    }

    .itinerary__items {
        max-width: 100%
    }

    .itinerary__body {
        flex: 1;
        padding: var(--space-2);
        z-index: 1
    }
}

.modal .itinerary__map {
    display: none
}

.modal .itinerary__tray.bg-grey-5 {
    --bg-color: #fff
}

.modal .itinerary__body {
    padding: 0
}

.modal .itinerary__items {
    max-width: 100%
}

.linked-list {
    counter-reset: step;
    list-style: none;
    padding: 0;
    position: relative
}

    .linked-list:before {
        background: linear-gradient(to bottom,var(--c-grey-3) 50%,transparent 50%,transparent) repeat-y;
        background-size: 100% .75rem;
        content: "";
        height: 100%;
        left: calc(var(--space-5)*.5);
        margin-inline-start: -1px;
        position: absolute;
        top: 0;
        width: 2px
    }

.linked-list__item {
    counter-increment: step;
    padding-inline-start: var(--space-8);
    position: relative
}

    .linked-list__item:last-child:before {
        background: var(--bg-color);
        content: "";
        height: 100%;
        left: calc(var(--space-5)*.5);
        margin-inline-start: -1px;
        position: absolute;
        top: 0;
        width: 2px
    }

    .linked-list__item:after {
        align-items: center;
        background: #fff;
        border: 4px solid var(--linked-list-border,var(--c-warm-gold));
        border-radius: 100%;
        color: var(--linked-list-text,var(--c-navy-blue));
        content: counter(step);
        display: flex;
        font-size: var(--ts-heading-5);
        height: var(--space-5);
        justify-content: center;
        left: 0;
        line-height: 1;
        position: absolute;
        top: -.4rem;
        width: var(--space-5)
    }

.contact-info__inr {
    padding: var(--space-2)
}

.site-header .contact-info {
    animation: contactInfoIn .2s ease-out .15s backwards;
    box-shadow: 0 0 30px #00000040;
    left: 0;
    max-width: 22.5rem;
    position: absolute;
    top: 100%;
    width: 100vw;
    z-index: 100
}

.contact-info__close.br-default {
    --cta-bg: #162436;
    --cta-text-size: var(--ts-heading-4);
    border-radius: 0;
    color: #fff;
    height: 3.125rem;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 3.125rem
}

.contact-info__tel span {
    display: block
}

.contact-info__tel a {
    text-decoration: none
}

@keyframes contactInfoIn {
    0% {
        opacity: 0;
        transform: translateY(-.35rem)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@media screen and (max-width: 30rem) {
    .contact-open {
        overflow: hidden
    }

    .contact-info__close.br-default {
        --cta-bg: var(--c-navy-blue);
        height: 3.75rem;
        width: 3.75rem;
        z-index: 2
    }

    .site-header .contact-info .cta {
        max-width: 100%
    }

    .site-header .contact-info {
        bottom: 0;
        left: 0;
        max-width: none;
        position: fixed;
        right: 0;
        top: 0
    }

    .site-header .contact-info__inr {
        bottom: 0;
        left: 0;
        overflow: auto;
        position: absolute;
        right: 0;
        top: 0;
        z-index: 1
    }
}

.price-list__head {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%
}

.price-list__toggle-container {
    align-items: center;
    display: flex;
    gap: var(--space-2)
}

.price-list__toggle-wrapper {
    align-items: center;
    display: flex;
    gap: var(--space-05)
}

.price-list__toggle-label {
    text-box: trim-both ex alphabetic;
    font-weight: 700
}

.price-list__table {
    border-spacing: 0;
    width: 100%
}

.price-list__header th, .price-list__row td {
    background-color: var(--c-grey-4);
    color: var(--c-navy-blue);
    text-align: left
}

.price-list__header th {
    border-bottom: 1px solid #fff
}

.price-list__group:not([data-open=true]) .price-list__group-header td {
    border-bottom: 1px solid var(--c-white-sands)
}

.price-list__group-header td {
    color: var(--c-navy-blue);
    font-weight: 600
}

.price-list__row + .price-list__row td {
    border-top: var(--space-05) solid #fff
}

.price-list__header th {
    font-size: var(--ts-label);
    font-weight: 600;
    line-height: var(--lh-label);
    padding: var(--space-2) var(--space-2);
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 2
}

.price-list__group td {
    font-size: var(--ts-body-large);
    line-height: var(--ts-body-large);
    padding: var(--space-2) var(--space-2)
}

.price-list__toggle.br-default {
    --cta-bg: var(--c-navy-blue);
    --cta-text-size: var(--ts-heading-4);
    border-radius: 0;
    color: #fff;
    height: 3.75rem;
    padding: 0;
    right: 0;
    top: 0;
    width: 3.75rem
}

.price-list__table [data-col=offer] {
    padding: 0;
    vertical-align: top;
    width: 3.125rem
}

.price-list__table [data-col=expander] {
    padding: 0;
    width: 3.75rem
}

.price-list__table [data-col=dates] {
    width: 30%
}

.price-list__toggle svg {
    transition: transform .25s ease-out
}

.price-list__group[data-open=true] .price-list__toggle svg {
    transform: rotate(-180deg)
}

.price-list__date {
    --flex-align-horizontal: center
}

.price-list__duration {
    align-items: center;
    background-color: #fff;
    border-radius: 100%;
    display: flex;
    flex: 0 0 3.75rem;
    flex-direction: column;
    height: 3.75rem;
    justify-content: center;
    width: 3.75rem
}

.price-list__from, .price-list__to {
    display: flex;
    flex-direction: column;
    white-space: nowrap
}

.price-list__from {
    text-align: right
}

.price-list__table .price {
    --price-current-size: var(--ts-body-large);
    --price-previous-size: var(--ts-body);
    color: var(--c-navy-blue);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-05)
}

.price-list tr:not([data-unavailable=true]) [data-col=price] .price p:first-child:not(:last-child), .price-list tr:not([data-unavailable=true]) [data-col=price] .price p:first-child:not(:last-child) * {
    color: var(--c-strong-red)
}

.price-list .price p:last-child {
    font-size: var(--ts-body)
}

.price-list tr[data-unavailable=true] td, .price-list tr[data-unavailable=true] td .price, .price-list tr[data-unavailable=true] td [class*=text-], .price-list tr[data-unavailable=true] th, .price-list tr[data-unavailable=true] th .price {
    color: var(--c-grey-2)
}

    .price-list tr[data-unavailable=true] td .price-list__duration {
        opacity: .75
    }

@media screen and (max-width: 60rem) {
    .price-list__header {
        display: none
    }

    .price-list__group-header, .price-list__row:not([hidden]) {
        align-items: stretch;
        display: flex;
        flex-direction: column;
        gap: var(--space-2);
        position: relative
    }

    .price-list__group-header {
        gap: var(--space-1)
    }

    .price-list .cta {
        max-width: none
    }

    .price-list [data-col]:not([data-col=offer]) {
        width: 100%
    }

    .price-list .price-list__row {
        background-color: var(--c-grey-4);
        padding: var(--space-2)
    }

    .price-list__group-header {
        padding-block: var(--space-2);
        padding-inline-end: var(--space-6);
        position: relative
    }

    .price-list__group {
        border-top: 1px solid var(--c-white-sands);
        display: block
    }

    .price-list__row + .price-list__row {
        margin-block-start: var(--space-05)
    }

    .price-list .price-list__group-header td, .price-list .price-list__row td {
        border: none;
        padding: 0
    }

    .price-list__group:not([data-open=true]) .price-list__group-header td {
        border-bottom: none
    }

    .price-list .price-list__row [data-col=airport] {
        font-weight: 600
    }

    .price-list .price-list__group-header [data-col=offer] {
        display: none
    }

    .price-list .price-list__row [data-col=offer] {
        position: absolute;
        right: var(--space-2);
        top: 0;
        width: 3.75rem
    }

    .price-list .price-list__row [data-col=expander] {
        display: none
    }

    .price-list__toggle.br-default {
        --cta-bg: transparent;
        color: var(--c-navy-blue);
        margin-top: -1.875rem;
        position: absolute;
        right: 0;
        top: 50%
    }
}

@media screen and (max-width: 25rem) {
    .price-list__head:has(.price-list__toggle-container) {
        align-items: flex-start;
        flex-direction: column
    }
}

.hero-carousel.theme-mid {
    background-color: #000;
    position: relative;
    width: 100%
}

.hero-carousel .wrapper-page {
    align-items: center;
    display: flex;
    min-height: 45rem;
    padding-block: var(--space-13);
    position: relative
}

.hero-carousel__image img {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.hero-carousel__content.theme-mid {
    --bg-color: hsla(0,0%,98%,.9);
    max-width: 40rem;
    padding: var(--space-2-5);
    position: relative;
    z-index: 1
}

.hero-carousel .cta {
    display: inline-block;
    max-width: 100%;
    width: auto
}

.hero-carousel-fade-enter-active, .hero-carousel-fade-leave-active {
    transition: opacity .75s cubic-bezier(.22,.61,.36,1);
    transition-delay: .35s
}

.hero-carousel-fade-enter-from, .hero-carousel-fade-leave-to {
    opacity: 0
}

@media screen and (min-width: 40.0625rem) {
    .hero-carousel-content-enter-active {
        transition: -webkit-clip-path .35s cubic-bezier(.22,.61,.36,1);
        transition: clip-path .35s cubic-bezier(.22,.61,.36,1);
        transition: clip-path .35s cubic-bezier(.22,.61,.36,1),-webkit-clip-path .35s cubic-bezier(.22,.61,.36,1)
    }

        .hero-carousel-content-enter-active > * {
            transition: all .2s cubic-bezier(.39,.57,.56,1) .325s
        }

    .hero-carousel-content-leave-active {
        transition: opacity .5s ease-out,-webkit-clip-path .35s cubic-bezier(.39,.57,.56,1);
        transition: opacity .5s ease-out,clip-path .35s cubic-bezier(.39,.57,.56,1);
        transition: opacity .5s ease-out,clip-path .35s cubic-bezier(.39,.57,.56,1),-webkit-clip-path .35s cubic-bezier(.39,.57,.56,1);
        transition-delay: .1s,0s
    }

    .hero-carousel-content-enter-active {
        transition-delay: .125s
    }

    .hero-carousel-content-enter-to, .hero-carousel-content-leave-from {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0);
        opacity: 1
    }

        .hero-carousel-content-enter-to > *, .hero-carousel-content-leave-from > * {
            opacity: 1;
            transform: translateZ(0)
        }

    .hero-carousel-content-enter-from, .hero-carousel-content-leave-to {
        opacity: 0
    }

    .hero-carousel-content-leave-to {
        -webkit-clip-path: inset(100% 0 0 0);
        clip-path: inset(100% 0 0 0)
    }

    .hero-carousel-content-enter-from {
        -webkit-clip-path: inset(0 0 100% 0);
        clip-path: inset(0 0 100% 0)
    }

        .hero-carousel-content-enter-from > * {
            opacity: 0;
            transform: translate3d(0,-.45rem,0)
        }
}

@media screen and (max-width: 40rem) {
    .hero-carousel-content-enter-active {
        transition: opacity .5s ease-out
    }

    .hero-carousel-content-enter-from, .hero-carousel-content-leave-to {
        opacity: 0
    }

    .hero-carousel-fade-enter-active, .hero-carousel-fade-leave-active {
        transition-delay: 0s
    }

    .hero-carousel.theme-mid {
        background-color: var(--bg-color)
    }

    .hero-carousel__image {
        height: 100vw;
        position: relative
    }

    .hero-carousel .wrapper-page {
        min-height: 0;
        padding-block: var(--slice-gap,var(--space-5-8))
    }

    .hero-carousel__content.theme-mid {
        --bg-color: transparent;
        max-width: 100%;
        padding: 0
    }

    .hero-carousel .cta {
        display: block;
        width: 100%
    }

    .hero-carousel .direction-controls {
        bottom: 100%;
        right: calc(var(--site-gutter, var(--space-2))*-1)
    }
}

.main-nav__top-links {
    padding: 0
}

.main-nav__top-group, .main-nav__top-link {
    -webkit-font-smoothing: antialiased;
    cursor: pointer;
    font-family: var(--font-headline);
    font-size: var(--ts-body-large);
    font-weight: 600;
    letter-spacing: .03em;
    white-space: nowrap
}

.main-nav__top-group {
    --flex-gap: var(--space-05);
    background: transparent;
    border: none;
    color: inherit;
    position: relative;
    z-index: 1
}

    .main-nav__top-group svg {
        opacity: .5;
        transition: all .15s ease-out;
        width: .5rem
    }

    .main-nav__top-group[aria-expanded=true] svg, .main-nav__top-links li:hover .main-nav__top-group svg {
        opacity: 1;
        transform: rotate(-180deg)
    }

    .main-nav__top-group[aria-expanded=true], .main-nav__top-link:hover, .main-nav__top-links li:hover {
        text-decoration: underline;
        text-decoration-color: var(--c-warm-gold);
        text-decoration-thickness: 1px;
        text-underline-offset: .25em
    }

        .main-nav__top-group[aria-expanded=true] svg path, .main-nav__top-links li:hover .main-nav__top-group svg path {
            fill: var(--c-warm-gold)
        }

.flyout {
    background-color: #fff;
    box-shadow: 0 0 30px #00000040;
    display: none;
    left: 0;
    overflow: hidden;
    padding-block: var(--space-1) var(--space-4);
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 20
}

.main-nav__top-group[aria-expanded=true] + .flyout, .main-nav__top-links li:hover .flyout, .main-nav__top-links li[data-focus=true] .flyout {
    display: block
}

.main-nav__top-links li:hover .main-nav__top-group:before {
    content: "";
    height: 400%;
    left: -50%;
    position: absolute;
    top: 0;
    width: 200%;
    z-index: -1
}

.mobile-nav {
    display: none
}

@media screen and (max-width: 60rem) {
    .mobile-nav {
        display: initial
    }

    .menu-open {
        overflow: hidden;
        pointer-events: none
    }
}

.mobile-nav {
    animation: mobileNavReveal .45s cubic-bezier(.22,.61,.36,1) backwards;
    bottom: 0;
    left: 0;
    overflow: auto;
    pointer-events: all;
    position: fixed;
    right: 0;
    top: 114px;
    width: 100%;
    z-index: 99999
}

    .mobile-nav ul {
        padding: 0
    }

    .mobile-nav li + li, .mobile-nav__action {
        border-top: 1px solid var(--c-white-sands)
    }

.mobile-nav__sub-title {
    border-bottom: 1px solid var(--c-white-sands)
}

.mobile-nav a:not(.cta), .mobile-nav button:not(.cta), .mobile-nav__sub-title {
    padding: calc(var(--space-1)*1.5) var(--space-2)
}

.mobile-nav .cta {
    max-width: 100%;
    width: 100%
}

.mobile-nav a:not(.cta), .mobile-nav button:not(.cta) {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: none;
    color: var(--c-navy-blue);
    cursor: pointer;
    display: flex;
    width: 100%
}

.mobile-nav__sub-link {
    color: var(--c-grey-1);
    font-size: 1.125rem
}

.mobile-nav a.mobile-nav__sub-link[data-portal] {
    background-color: var(--c-burnt-orange);
    color: var(--c-off-white)
}

@keyframes mobileNavReveal {
    0% {
        -webkit-clip-path: inset(0 0 100% 0);
        clip-path: inset(0 0 100% 0)
    }

    to {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0)
    }
}

.mobile-nav button.mobile-nav__back {
    border-bottom: 1px solid var(--c-white-sands);
    color: var(--c-burnt-orange)
}

.mobile-nav__column, .mobile-nav__column-group {
    display: flex;
    flex-direction: column
}

    .mobile-nav__column-group + .mobile-nav__column-group {
        border-top: 1px solid var(--c-white-sands)
    }

.flyout__tabs {
    --flex-gap: var(--space-4);
    border-bottom: 1px solid var(--c-white-sands);
    padding: 0
}

    .flyout__tabs button {
        background-color: transparent;
        border: none;
        cursor: pointer;
        font-family: var(--font-primary);
        font-size: var(--ts-body);
        line-height: var(--lh-body);
        padding-block: calc(var(--space-1)*1.5);
        position: relative
    }

        .flyout__tabs button[aria-expanded=true] {
            font-weight: 700
        }

        .flyout__tabs button:after {
            background-color: transparent;
            content: "";
            height: 1px;
            left: 0;
            position: absolute;
            top: 100%;
            transition: background-color .25s ease-out;
            width: 100%
        }

        .flyout__tabs button[aria-expanded=false] {
            color: var(--c-grey-1)
        }

        .flyout__tabs button[aria-expanded=true]:after {
            background-color: var(--c-burnt-orange)
        }

.flyout__primary {
    --flex-align-vertical: stretch;
    --flex-gap: var(--space-3)
}

.flyout__main {
    flex: 1
}

.flyout__primary-links {
    --flow-gap: var(--space-1);
    flex: 0 1 33.33%;
    padding: 0
}

.flyout .wrapper-page {
    --flex-align-vertical: stretch;
    --flex-gap: var(--space-6)
}

.flyout__featured h4.t-label {
    border-bottom: 1px solid var(--c-near-black);
    display: block;
    line-height: var(--lh-body);
    padding-block: calc(var(--space-1)*1.5) var(--space-2)
}

.flyout__featured {
    flex: 0 0 25%;
    min-width: 20rem;
    position: relative
}

    .flyout__featured :after {
        background: var(--c-white-sands);
        content: "";
        height: 100vh;
        left: calc(var(--space-3)*-1);
        position: absolute;
        top: calc(var(--space-3)*-1);
        width: 100vw;
        z-index: -1
    }

.flyout-feature {
    --flex-gap: var(--space-1);
    display: block
}

.flyout-feature__image {
    flex: 0 0 6.25rem
}

.flyout-feature:hover h5, .flyout__primary-link:hover {
    text-decoration: underline
}

.flyout__column {
    display: flex;
    flex: 0 1 33.33%;
    flex-direction: column;
    gap: 1.5rem
}

.flyout__column-group {
    --flow-gap: var(--space-1);
    display: flex;
    flex-direction: column
}

.stat-card-collection__items {
    --flex-align-horizontal: stretch;
    --flex-align-vertical: flex-start
}

.stat-card-collection .info-card {
    flex: 1 1 30.3333%
}

.stat-card-collection .info-card__content {
    --flow-gap: var(--space-7)
}

    .stat-card-collection .info-card__content .flow {
        --flow-gap: 0
    }

    .stat-card-collection .info-card__content h4 {
        font-family: var(--font-primary);
        font-size: var(--ts-label);
        line-height: var(--lh-label);
        text-transform: uppercase
    }

    .stat-card-collection .info-card__content .rich-text {
        color: var(--c-navy-blue);
        font-size: var(--ts-heading-5);
        line-height: var(--lh-heading-5)
    }

@media screen and (max-width: 60rem) {
    .stat-card-collection .info-card {
        flex: 1 1 45%
    }
}

@media screen and (max-width: 40rem) {
    .stat-card-collection__items {
        --flex-gap: var(--space-2)
    }

    .stat-card-collection .info-card__content {
        --flow-gap: var(--space-2)
    }

    .stat-card-collection .info-card {
        flex: 100%
    }
}

.stat-card-collection .info-card:nth-of-type(6n+1) {
    background-color: var(--stat-card-bg,var(--c-moss-green))
}

.stat-card-collection .info-card:nth-of-type(6n+2) {
    background-color: var(--stat-card-bg,var(--c-sage-green))
}

.stat-card-collection .info-card:nth-of-type(6n+3) {
    background-color: var(--stat-card-bg,var(--c-cold-stone))
}

.stat-card-collection .info-card:nth-of-type(6n+4) {
    background-color: var(--stat-card-bg,var(--c-warm-beige))
}

.stat-card-collection .info-card:nth-of-type(6n+5) {
    background-color: var(--stat-card-bg,var(--c-cool-lilac))
}

.stat-card-collection .info-card:nth-of-type(6n+6) {
    background-color: var(--stat-card-bg,var(--c-white-sands))
}

.pagination, .pagination__pages {
    --flex-gap: var(--space-1);
    padding: 0
}

.pagination__ellipsis, .pagination__link {
    align-items: center;
    background-color: #fff;
    border: 1px solid var(--c-white-sands);
    color: var(--c-near-black);
    display: inline-flex;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem
}

.pagination__link {
    cursor: pointer
}

    .pagination__link:hover {
        text-decoration: underline
    }

    .pagination__link[data-current-page=true] {
        background-color: var(--c-navy-blue);
        border-color: var(--c-navy-blue);
        color: #fff
    }

.pagination__next, .pagination__previous {
    background-color: var(--c-burnt-orange);
    border-color: var(--c-burnt-orange);
    color: #fff
}

    .pagination__next:disabled, .pagination__previous:disabled {
        background-color: var(--c-grey-4);
        border-color: var(--c-grey-4);
        color: var(--c-grey-3)
    }

.holiday-search {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: var(--space-3)
}

@media screen and (min-width: 60rem) {
    .quick-search + .holiday-search {
        padding-top: var(--space-5)
    }
}

.holiday-search__actions {
    align-items: flex-end;
    display: flex;
    flex-flow: nowrap;
    justify-content: space-between;
    width: 100%
}

.holiday-search__actions-controls {
    display: flex;
    flex-direction: row;
    gap: var(--space-3);
    z-index: 10
}

.holiday-search__actions-toggle-filters {
    display: none !important
}

.holiday-search__late-availability-masthead .masthead {
    --shade-gradient: linear-gradient(180deg,transparent,rgba(0,0,0,.8));
    background-color: var(--c-navy-blue)
}

.holiday-search__late-availability .modal__inr {
    max-width: 80rem;
    padding: 0
}

.holiday-search__late-availability-table .modal__inr {
    padding: var(--space-2-5)
}

.holiday-search__late-availability .masthead__content {
    padding-inline: 2.5rem
}

.holiday-search__late-availability-masthead {
    position: relative
}

.holiday-search__late-availability-cta {
    background-color: #fff3;
    bottom: 0;
    color: #fff;
    padding-block: .5rem;
    padding-inline: 1rem;
    position: absolute;
    width: 100%;
}

.holiday-search__late-availability .cta[data-variant=primary]
{
    --cta-bg: var(--c-strong-red);
}

.holiday-search__late-availability-result-number {
    padding-top: 1rem
}

.holiday-search__late-availability-table {
    width: 100%
}

.holiday-search__late-availability-cta--mobile {
    display: none !important;
    flex-flow: wrap;
    margin-block: 1.5rem .5rem;
    padding-inline: var(--space-2)
}

.holiday-search__late-availability-link {
    background-color: inherit;
    border: none;
    cursor: pointer;
    padding: 0;
    text-align: left
}

@media screen and (max-width: 28.125rem) {
    .holiday-search__late-availability {
        padding: 0
    }

    .holiday-search__late-availability-cta {
        display: none !important
    }

    .holiday-search__late-availability-cta--mobile {
        display: flex !important
    }

    .holiday-search__late-availability-modal-container {
        padding: var(--space-2) !important
    }
}

.holiday-search__body {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: 1fr 3fr
}

.holiday-search__body-slice {
    --slice-gap: var(--space-2) 0;
    min-width: 20rem
}

@media screen and (max-width: 28rem) {
    .holiday-search__body-slice {
        min-width: auto
    }
}

.holiday-listing-collection .slice__footer {
    display: block
}

.holiday-search__filters {
    --slice-gap: var(--space-3);
    left: 0;
    max-height: 98vh;
    overflow-y: auto;
    position: sticky;
    scrollbar-width: thin;
    top: 2vh
}

    .holiday-search__filters .t-link {
        white-space: nowrap
    }

.holiday-search__filter-groups-header {
    margin-bottom: 10px;
    width: 100%
}

    .holiday-search__filter-groups-header span {
        color: var(--c-grey-2)
    }

.search-filter {
    width: 90%
}

.holiday-search__actions, .holiday-search__controls {
    --flex-align-vertical: center
}

.holiday-search__results {
    margin-top: var(--space-1);
    padding-top: 0
}

.applied-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: var(--space-1)
}

.applied-filters__label {
    background-color: var(--c-grey-4);
    border-radius: 5px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px !important;
    max-width: -moz-fit-content;
    max-width: fit-content;
    padding: 5px 10px
}

    .applied-filters__label[data-disabled] {
        cursor: not-allowed
    }

.applied-filters__label-close-button {
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    padding-right: 0
}

    .applied-filters__label-close-button .icon {
        height: 14px;
        width: 14px
    }

    .applied-filters__label-close-button:disabled {
        cursor: not-allowed
    }

.holiday-search__actions-toggle-filters {
    align-items: center;
    background-color: var(--c-white);
    border: 2px solid var(--c-burnt-orange);
    border-radius: 5px;
    color: var(--c-burnt-orange);
    cursor: pointer;
    display: flex;
    flex-direction: row;
    gap: 10px;
    justify-content: center;
    padding: 13px 21px;
    width: 100%
}

.holiday-search__filters-mobile {
    background-color: #fff;
    display: none !important;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100
}

.holiday-search__filters-mobile-header {
    display: grid;
    gap: 10px;
    margin-bottom: 20px
}

    .holiday-search__filters-mobile-header .holiday-search__filter-groups-header, .holiday-search__filters-mobile-header .holiday-search__title {
        margin: 0;
        padding: 0 20px
    }

@media screen and (max-width: 66.25rem) {
    .holiday-search__title + .holiday-search__actions {
        margin-top: var(--space-1)
    }
}

.holiday-search__filters-mobile-header-controls {
    margin-bottom: 10px;
    width: 100%
}

.holiday-search__filters-mobile-body {
    -ms-overflow-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: 100%;
    overflow: auto;
    padding: 20px;
    position: relative;
    scrollbar-width: none
}

    .holiday-search__filters-mobile-body::-webkit-scrollbar {
        display: none
    }

.holiday-search__filters-mobile-footer {
    background-color: var(--c-white-sands);
    padding: 20px
}

.holiday-search__filters-mobile-footer-button {
    --cta-max-width: none
}

.holiday-search__dropdown-late-availability {
    width: auto !important
}

.holiday-search__grid {
    margin: 0 !important
}

@media screen and (min-width: 38rem) and (max-width:90rem) {
    .holiday-search__grid[data-layout-mode=grid] {
        grid-template-columns: 1fr 1fr !important
    }
}

@media screen and (max-width: 66.25rem) {
    .holiday-search__actions {
        --flex-align-horizontal: space-between
    }

    .holiday-search__layout-switcher.flex {
        display: none
    }

    .holiday-search__results {
        margin-top: 0
    }

    .holiday-search__filters-mobile.show-mobile-view {
        display: flex !important
    }

    .holiday-search__filters {
        display: none !important
    }

    .holiday-search__body {
        gap: 0;
        grid-template-columns: 1fr;
        width: 100%
    }

        .holiday-search__body .slice {
            padding-block: 0
        }

    .holiday-search__dropdown {
        height: 100%;
        width: 100%
    }

        .holiday-search__dropdown label {
            display: none !important
        }

        .holiday-search__dropdown .form-field__input {
            width: 100%
        }

    .holiday-search__actions-results-num {
        align-self: flex-start
    }

    .holiday-search__actions-controls {
        align-items: flex-end;
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr;
        justify-content: center;
        padding-bottom: var(--space-2);
        padding-top: var(--space-2);
        width: 100%
    }
}

@media screen and (max-width: 66.25rem) {
    .holiday-search__actions-controls :deep(label) {
        display: none !important
    }
}

@media screen and (max-width: 66.25rem) and (max-width:23.4375rem) {
    .holiday-search__actions-controls {
        gap: .75rem
    }
}

@media screen and (max-width: 66.25rem) {
    .holiday-search__actions-toggle-filters {
        display: flex !important
    }

    .holiday-search__filters > .wrapper-page.flex {
        --flex-gap: var(--space-3);
        flex-direction: column
    }

    .holiday-search__controls {
        --flex-align-vertical: stetch;
        flex-direction: column
    }

    .holiday-search__actions, .holiday-search__actions .form-field.flex {
        flex-direction: column
    }

    .holiday-search__sort {
        --flex-align-vertical: stetch;
        align-self: stretch
    }

    .holiday-search__actions-controls.is-stuck {
        background: var(--c-white);
        box-shadow: -20px 0 15px -10px var(--c-grey-1),20px 0 15px -10px var(--c-grey-1);
        left: 0;
        padding: var(--space-2);
        position: fixed;
        top: 0;
        transition: transform .3s ease-out,opacity .3s ease;
        width: 100%;
        will-change: transform;
        z-index: 15
    }

    .holiday-search__actions-controls.is-hidden {
        opacity: 0;
        pointer-events: none;
        transform: translateY(-150%)
    }
}

/* Search Pagination */
.search-pagination {
    display: flex;
    justify-content: center;
    padding: var(--space-3) 0;
}

.search-pagination__list {
    display: flex;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.search-pagination__btn {
    background: var(--c-white);
    border: 1px solid var(--c-grey-2, #ccc);
    border-radius: 4px;
    color: var(--c-navy-blue, #1a2b4a);
    cursor: pointer;
    font-size: 0.875rem;
    min-width: 2.5rem;
    padding: 0.5rem 0.75rem;
    transition: background 0.2s, color 0.2s;
}

    .search-pagination__btn:hover {
        background: var(--c-grey-1, #f5f5f5);
    }

.search-pagination__btn--active {
    background: var(--c-navy-blue, #1a2b4a);
    border-color: var(--c-navy-blue, #1a2b4a);
    color: var(--c-white);
    pointer-events: none;
}

/* Loading state for results */
.holiday-search__results--loading {
    pointer-events: none;
    position: relative;
}

/* See more button */
.search-filter__trigger-see-more-btn {
    background: none;
    border: none;
    color: var(--c-navy-blue, #1a2b4a);
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.5rem 0;
    text-decoration: underline;
    width: 100%;
    text-align: left;
}

    .search-filter__trigger-see-more-btn:hover {
        color: var(--c-blue, #0066cc);
    }

.search-filter__item--hidden {
    display: none !important;
}

/* Mobile filter panel toggle */
@media screen and (max-width: 66.25rem) {
    .holiday-search__filters.holiday-search__filters--open {
        display: flex !important;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 20;
        background: var(--c-white);
        overflow-y: auto;
    }
}

/* Hide the inline filter-groups-header when filter groups are inside the mobile overlay body */
.holiday-search__filters-mobile-body .holiday-search__filter-groups-header {
    display: none !important;
}

/* noUiSlider overrides for search filter sliders */
.search-filter__slider .noUi-connect {
    background: var(--c-navy-blue, #1a2b4a)
}

.search-filter__slider .noUi-horizontal {
    height: 7px;
}

.search-fliter__slider_extra_padding {
    padding: .9rem;
}

.search-filter__slider .noUi-handle {
    background: var(--c-navy-blue, #1a2b4a);
    border: 2px solid var(--c-navy-blue, #1a2b4a);
    border-radius: 50%;
    box-shadow: none;
    cursor: pointer;
    height: 20px !important;
    width: 20px !important;
    right: -10px !important;
    top: -8px !important
}

    .search-filter__slider .noUi-handle::before,
    .search-filter__slider .noUi-handle::after {
        display: none
    }

.search-filter__slider .noUi-target {
    background: var(--c-grey-3, #e0e0e0);
    border: none;
    border-radius: 4px;
    box-shadow: none;
    height: 6px
}

.search-filter__slider .noUi-tooltip {
    background: var(--slider-tooltip-bg,#10b981);
    border: 1px solid var(--slider-tooltip-bg,#10b981);
    border-radius: var(--slider-tooltip-radius,5px);
    color: var(--slider-tooltip-color,#fff);
    display: block;
    font-size: var(--slider-tooltip-font-size,.875rem);
    font-weight: var(--slider-tooltip-font-weight,600);
    line-height: var(--slider-tooltip-line-height,1.25rem);
    min-width: var(--slider-tooltip-min-width,20px);
    padding: var(--slider-tooltip-py,2px) var(--slider-tooltip-px,6px);
    position: absolute;
    text-align: center;
    white-space: nowrap;
}

/* Merged tooltip positioned on .noUi-base — sits above handles */
.search-filter__slider .noUi-tooltip-merged {
    bottom: 12px;
    transform: translate(-50%, 0);
}

/* Active filter tags */
.search-active-filters {
    padding: 0.5rem 0;
    flex-wrap: wrap;
    align-items: center;
}

.search-active-filter__tag {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    background: var(--c-navy-blue, #1a2b4a);
    color: var(--c-white, #fff);
    border-radius: 2rem;
    padding: 0.25rem 0.75rem;
    font-size: 0.8125rem;
    line-height: 1.4;
}

.search-active-filter__tag-label {
    white-space: nowrap;
}

.search-active-filter__tag-remove {
    background: none;
    border: none;
    color: var(--c-white, #fff);
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    padding: 0 0 0 0.25rem;
    opacity: 0.8;
}

    .search-active-filter__tag-remove:hover {
        opacity: 1;
    }

.search-active-filter__clear-all {
    background: none;
    border: none;
    color: var(--c-navy-blue, #1a2b4a);
    cursor: pointer;
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.25rem 0.5rem;
    text-decoration: underline;
}

    .search-active-filter__clear-all:hover {
        text-decoration: none;
    }

/* Filter count badge */
/* Loading spinner — icon variant with compass rotation (filter change / full search) */
.search-loading-spinner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 60vh;
    color: var(--c-navy-blue);
    --fa-primary-color: var(--c-navy-blue);
    --fa-secondary-color: var(--c-navy-blue);
    --fa-secondary-opacity: 1;
}

    .search-loading-spinner .icon {
        font-size: 6rem;
        padding: 4rem;
    }

    .search-loading-spinner .icon--small {
        font-size: 4rem;
    }

    .search-loading-spinner .animate {
        animation: spin 2s linear infinite;
    }

/* Loading spinner — ring (infinite scroll load-more) */
.search-load-more__circle {
    width: 2.5rem;
    height: 2.5rem;
    border: 3px solid var(--c-grey-3, #e0e0e0);
    border-top-color: var(--c-burnt-orange, #c4842d);
    border-radius: 50%;
    animation: search-spinner-rotate 0.7s linear infinite;
}

@keyframes search-spinner-rotate {
    to {
        transform: rotate(360deg);
    }
}

/* Infinite scroll sentinel and load-more indicator */
.search-scroll-sentinel {
    width: 100%;
    min-height: 1px;
}

.search-load-more {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem 0;
    width: 100%;
}

.form-field {
    width: 100%
}

    .form-field[data-fill] .form-field__input > * {
        flex: 1
    }

.form-field__placeholder--alternative {
    --placeholder-color: #acacac;
    --placeholder-style: italic
}

.form-field .mockinput::-moz-placeholder, .form-field input::-moz-placeholder, .form-field select::-moz-placeholder, .form-field textarea::-moz-placeholder {
    color: var(--placeholder-color,inherit);
    font-style: var(--placeholder-style,inherit)
}

.form-field .mockinput::placeholder, .form-field input::placeholder, .form-field select::placeholder, .form-field textarea::placeholder {
    color: var(--placeholder-color,inherit);
    font-style: var(--placeholder-style,inherit)
}

.form-field__input {
    position: relative
}

    .form-field__input input {
        flex-shrink: 0
    }

    .form-field__input .mockinput {
        color: inherit;
        overflow: hidden;
        position: relative;
        text-align: left;
        text-overflow: ellipsis;
        white-space: nowrap
    }

    .form-field__input .mockinput, .form-field__input input, .form-field__input select, .form-field__input textarea {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background: var(--input-bg,var(--c-grey-5));
        border: 1px solid transparent;
        border-bottom: 1px solid var(--input-border,var(--c-grey-3));
        padding: calc(var(--space-1)*1.2);
        transition: border-color .15s ease-out;
        width: 100%
    }

    .form-field__input .mockinput, .form-field__input select {
        padding-inline-end: 2.25rem
    }

.theme-mid .form-field .mockinput, .theme-mid .form-field input, .theme-mid .form-field select, .theme-mid .form-field textarea {
    --input-bg: var(--bg-color);
    --input-border: var(--c-navy-blue)
}

.form-field[data-error=true] .form-field__input .mockinput:not(:focus-visible):not(:disabled),
.form-field[data-error=true] .form-field__input input:not(:focus-visible):not(:disabled),
.form-field[data-error=true] .form-field__input select:not(:focus-visible):not(:disabled),
.form-field[data-error=true] .form-field__input textarea:not(:focus-visible):not(:disabled) {
    border-bottom-color: var(--c-error)
}

.form-field:not(:has(.form-field)):has(input.error) .form-field__input input:not(:focus-visible):not(:disabled),
.form-field:not(:has(.form-field)):has(textarea.error) .form-field__input textarea:not(:focus-visible):not(:disabled),
.form-field:not(:has(.form-field)):has(select.error) .form-field__input select:not(:focus-visible):not(:disabled) {
    border-bottom-color: var(--c-error);
}

.form-field__input .mockinput:focus-visible, .form-field__input input:focus-visible, .form-field__input select:focus-visible, .form-field__input textarea:focus-visible {
    border-color: var(--c-grey-1);
    outline: none
}

.form-field__input .mockinput:disabled, .form-field__input input:disabled, .form-field__input select:disabled, .form-field__input textarea:disabled {
    border-bottom-color: var(--c-grey-3);
    color: var(--c-grey-3)
}

    .form-field__input select:disabled + svg path {
        color: var(--c-grey-3)
    }

.form-field__input textarea {
    min-height: calc(var(--space-1)*2.5 + 5em*var(--lh-body))
}

.form-dropdown__wrap {
    position: relative
}

    .form-dropdown__wrap select {
        color: var(--c-near-black)
    }

    .form-dropdown__wrap svg, .form-field__input .mockinput svg {
        pointer-events: none;
        position: absolute;
        right: 1em;
        top: 50%;
        transform: translateY(-50%);
        width: .625rem
    }

        .form-dropdown__wrap svg path, .form-field__input .mockinput svg path {
            fill: currentcolor
        }

.form-field__input-icon {
    cursor: pointer;
    position: absolute;
    right: .75rem;
    top: .875rem;
    width: auto
}

.form-field__error--with-icon {
    display: flex;
    align-items: var(--flex-align-vertical, center);
    gap: var(--flex-gap, var(--space-05));
    justify-content: var(--flex-align-horizontal, flex-start);
}

    .form-field__error--with-icon::before {
        content: "";
        width: 1em;
        height: 1em;
        flex-shrink: 0;
        background-color: currentColor;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z'/%3E%3C/svg%3E");
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z'/%3E%3C/svg%3E");
        mask-repeat: no-repeat;
        mask-size: contain;
    }

.masthead + .quick-search {
    margin-top: -3.875rem
}

.quick-search {
    background-color: transparent;
    gap: 0 !important;
    margin-top: 2rem;
    transition: transform .3s ease-out
}

.quick-search--sticky {
    background: var(--c-white);
    position: sticky;
    top: 0;
    z-index: 15
}

.quick-search--unpinned {
    transform: translate3d(0,-150%,0)
}

.quick-search--quick-nav {
    background: var(--c-grey-5);
    padding-bottom: 1rem
}

@media screen and (max-width: 60rem) {
    .quick-search--quick-nav {
        padding-bottom: 0;
        padding-top: 2rem
    }
}

.quick-search--full {
    box-shadow: -20px 0 15px -10px var(--c-grey-1),20px 0 15px -10px var(--c-grey-1);
    margin-top: 0;
    padding-top: 1rem;
    width: 100%
}

@media screen and (max-width: 60rem) {
    .quick-search--full {
        box-shadow: none
    }
}

.quick-search {
    --sidebar-col-b-width: 13rem
}

.quick-search-desktop {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 30px;
    justify-content: center;
    width: 100%
}

.quick-search--full .quick-search-desktop {
    gap: .5rem
}

.quick-search-mobile {
    display: none;
    flex-direction: column;
    left: 0;
    position: fixed;
    top: 0
}

.quick-search__cta {
    display: inline-block;
    max-width: 100%;
    min-width: 180px;
    width: auto
}

.quick-search__fields-container {
    background-color: #fff;
    justify-content: space-around;
    width: 100%;
    z-index: 15
}

.quick-search__fields-container--shadow {
    box-shadow: 0 0 20px 0 var(--c-white-sands)
}

.quick-search__fields {
    display: flex;
    flex-direction: row;
    width: 100%
}

.quick-search__holiday-button-group {
    display: flex;
    z-index: 3
}

    .quick-search__holiday-button-group button {
        align-items: center;
        background-color: var(--c-grey-5);
        border: 1px solid var(--c-grey-3);
        color: var(--c-black);
        cursor: pointer;
        display: flex;
        flex-direction: row;
        gap: 10px;
        justify-content: center;
        padding: 13px 30px;
        width: 200px
    }

        .quick-search__holiday-button-group button:first-child {
            border-radius: 5px 0 0 5px;
            border-right: none
        }

        .quick-search__holiday-button-group button:last-child {
            border-left: none;
            border-radius: 0 5px 5px 0
        }

        .quick-search__holiday-button-group button.active {
            background-color: var(--c-burnt-orange);
            border: 1px solid var(--c-burnt-orange);
            color: var(--c-white)
        }

@media screen and (max-width: 23.4375rem) {
    .quick-search__holiday-button-group {
        font-size: .875rem
    }
}

.quick-search-dropdown {
    border-right: 1px solid var(--c-grey-3);
    cursor: pointer;
    display: flex;
    flex: 1;
    max-width: 25%
}

    .quick-search-dropdown:last-child {
        border-right: 0
    }

.quick-search-dropdown__header {
    align-items: center;
    color: var(--c-navy-blue);
    display: flex;
    flex: 1;
    gap: 15px;
    justify-content: space-between;
    max-width: 100%;
    padding: 0 15px
}

.quick-search-dropdown__header-content {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 70%
}

    .quick-search-dropdown__header-content span:first-child {
        font-size: .875rem;
        font-weight: 600
    }

    .quick-search-dropdown__header-content span:last-child {
        text-wrap: nowrap;
        font-size: 1rem;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis
    }

@media screen and (max-width: 67.5rem) {
    .quick-search-dropdown__header-content span:last-child {
        font-size: 12px
    }
}

@media screen and (max-width: 60rem) {
    .quick-search-dropdown__header-content span:last-child {
        font-size: 1rem
    }
}

.quick-search-dropdown__chevron {
    min-width: .625rem;
    pointer-events: none;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    width: .625rem
}

    .quick-search-dropdown__chevron path {
        fill: currentcolor
    }

.quick-search-dropdown__body {
    background-color: var(--c-white);
    border: 1px solid var(--c-grey-3);
    display: none;
    height: -moz-fit-content;
    height: fit-content;
    max-height: 37.5rem;
    width: 25rem;
    z-index: 11
}

    .quick-search-dropdown__body.display-dropdown-body {
        display: block;
        position: absolute;
        top: 8.75rem
    }

.quick-search__mobile {
    align-items: center;
    background-color: #fff;
    box-shadow: 0 0 20px #0003;
    display: none;
    justify-content: center;
    padding: 20px;
    width: calc(100% - var(--site-gutter, var(--space-2))*2)
}

.quick-search__mobile-button {
    align-items: center;
    border: 0;
    border-bottom: 1px solid var(--c-grey-3);
    color: var(--c-grey-1);
    display: flex;
    gap: 10px;
    justify-content: flex-start;
    padding: 12px;
    width: 100%
}

    .quick-search__mobile-button svg {
        height: .9rem;
        padding-inline: .625rem
    }

@media screen and (max-width: 23rem) {
    .quick-search__mobile-button, .quick-search__mobile-button svg {
        padding-inline: .3125rem
    }
}

.quick-search-mobile__body {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-start
}

.quick-search-mobile__footer {
    background-color: var(--c-white-sands);
    display: flex;
    justify-content: center;
    padding: 20px
}

.quick-search-mobile__footer-button {
    align-items: center;
    background-color: var(--c-burnt-orange);
    border: 2px solid var(--c-burnt-orange);
    border-radius: 5px;
    color: var(--c-white);
    cursor: pointer;
    flex-direction: row;
    gap: 10px;
    justify-content: center;
    padding: 13px 21px;
    width: 100%
}

.quick-search__passengers-cta {
    padding: 40px 20px
}

    .quick-search__passengers-cta button {
        background-color: var(--c-navy-blue) !important;
        border-color: var(--c-navy-blue) !important
    }

.quick-search__passengers-footer {
    align-items: center;
    background-color: var(--c-white-sands);
    display: flex;
    justify-content: center;
    padding: 20px
}

.quick-search__fields-list {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    height: 100%;
    list-style-type: none;
    max-height: 380px;
    overflow-y: auto;
    padding: 0;
    width: 100%
}

.quick-search__fields-sub-list {
    padding: 0;
    width: 100%
}

    .quick-search__fields-sub-list .quick-search-list-item:not(:first-child) {
        padding-left: 50px
    }

.quick-search-list-item {
    align-items: center;
    border-bottom: 1px solid var(--c-grey-3);
    display: flex;
    flex-direction: row;
    gap: 20px;
    padding: 15px 5px;
    width: 100%
}

    .quick-search-list-item svg {
        color: var(--c-navy-blue);
        height: 20px;
        width: 20px
    }

    .quick-search-list-item .quick-search-list-item_text {
        display: flex;
        flex-direction: column;
        flex-grow: 1
    }

        .quick-search-list-item .quick-search-list-item_text span:first-child {
            color: var(--c-navy-blue);
            font-size: 16px
        }

        .quick-search-list-item .quick-search-list-item_text span:last-child {
            color: var(--c-grey-1);
            font-size: 14px
        }

    .quick-search-list-item .quick-search-list-item_text-title {
        align-items: center;
        display: flex;
        gap: 10px
    }

        .quick-search-list-item .quick-search-list-item_text-title svg {
            height: 12px;
            width: 12px
        }

    .quick-search-list-item .quick-search-list-item__checkbox {
        margin-right: 20px
    }

    .quick-search-list-item.selected {
        background-color: var(--c-grey-4)
    }

.quick-search__fields-destination-search {
    align-items: center;
    background-color: var(--c-grey-5);
    border: 0;
    border-bottom: 1px solid var(--c-grey-3);
    color: var(--c-grey-1);
    display: flex;
    gap: 10px;
    justify-content: flex-start;
    padding: 12px;
    width: 100%
}

.quick-search__departure-location, .quick-search__destination {
    gap: 20px !important
}

.departure-month__container {
    display: none
}

    .departure-month__container.active-index {
        display: block !important
    }

.departure-month__header {
    align-items: center;
    color: var(--c-navy-blue);
    display: flex;
    font-size: 18px;
    font-weight: 600;
    justify-content: center;
    justify-content: space-between;
    padding-bottom: 20px
}

.departure-month__header-cta {
    align-items: center;
    background-color: var(--c-navy-blue) !important;
    border-color: var(--c-navy-blue) !important;
    display: flex !important;
    flex: 0 0 50px;
    height: 50px;
    justify-content: center;
    padding: 0
}

.departure-month__body {
    display: grid;
    gap: 15px 10px;
    grid-template-columns: repeat(3,1fr);
    grid-template-rows: repeat(3,1fr)
}

    .departure-month__body .cta {
        width: 100px
    }

.quick-search__empty-message {
    width: 100%
}

.quick-search-mobile {
    background-color: #fff;
    height: 100%;
    width: 100%;
    z-index: 101
}

.quick-search-mobile__header {
    display: none
}

@media screen and (max-width: 60rem) {
    .quick-search__mobile {
        display: flex;
        z-index: 99
    }

        .quick-search__mobile.quick-search__mobile-view {
            display: none !important
        }

    .quick-search-mobile {
        display: flex
    }

    .quick-search__fields-container, .quick-search__holiday-button-group {
        display: none !important;
        padding: 0 20px
    }

        .quick-search__fields-container.quick-search__mobile-view, .quick-search__holiday-button-group.quick-search__mobile-view {
            display: flex !important
        }

    .quick-search__cta {
        display: none
    }

    .quick-search-mobile__footer .cta {
        display: inline-block;
        width: 100%
    }

    .quick-search__fields-container {
        box-shadow: none;
        flex-direction: column
    }

    .quick-search__fields {
        display: flex;
        flex-direction: column
    }

    .quick-search__holiday-button-group {
        justify-content: center
    }

        .quick-search__holiday-button-group button {
            padding: .5rem
        }

    .quick-search-dropdown {
        border-bottom: 1px solid var(--c-grey-3);
        border-right: 0;
        cursor: pointer;
        flex: 1;
        max-width: 100%;
        padding: 20px 0
    }

        .quick-search-dropdown:last-child {
            border-right: 0
        }

    .quick-search-dropdown__body {
        height: 100vh;
        left: 0;
        max-height: 100%;
        position: fixed;
        top: 0;
        width: 100%
    }

    .quick-search__fields-list {
        max-height: 75vh
    }

    .quick-search__destination {
        height: 85%
    }

    .quick-search__departure-location, .quick-search__passengers-cta {
        height: 73%
    }

    .quick-search__departure-location, .quick-search__destination, .quick-search__passengers-cta {
        flex: 1
    }

    .quick-search__passengers-cta {
        display: flex;
        flex-direction: column;
        justify-content: flex-end
    }

    .quick-search__holiday-button-group {
        padding-top: 20px
    }

    .quick-search-dropdown__body.display-dropdown-body {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 0
    }

    .quick-search-mobile__header {
        display: grid;
        gap: 10px
    }

    .quick-search-mobile__header-title {
        padding: 0 20px
    }

    .quick-search__departure-month {
        width: 100%
    }

    .departure-month__body .cta {
        width: auto
    }

    .mt-auto {
        margin-top: auto
    }

    /*    .passengers-dropdown-mobile .quick-search__passengers-cta {
        justify-content: center;
        align-items: center;
        height: auto;
        flex: 1
    }

    .passengers-dropdown-mobile .form-field__input {
        justify-content: center;
        align-items: center;
        gap: var(--space-1)
    }

    .passengers-dropdown-mobile .form-field__input .form-quantity__input {
        display: flex;
        height: 40px;
        max-width: 80px;
        text-align: center;
        border: 1px solid var(--c-grey-3);
        font-size: 1rem
    }*/

    .passengers-dropdown-mobile .form-field__input .cta {
        flex: 0 0 40px;
        height: 40px;
        width: 40px;
        align-items: center;
        justify-content: center;
        padding: 0
    }
}

.masthead-carousel + .quick-search {
    margin-top: -3.875rem;
    position: relative;
    z-index: 10
}

.combo .cta {
    max-width: 100%;
    min-width: 80px;
    white-space: nowrap;
    width: 100%
}

.combo {
    --sidebar-col-a-width: 25%;
    --sidebar-col-b-width: 75%;
    --sidebar-align-vertical: flex-start;
    width: 100%
}

    .combo > .form-field__input > * {
        flex: 1
    }

.vertical-headings-table {
    border: .0625rem solid var(--c-white-sands);
    overflow-x: auto;
    width: 100%
}

.vertical-headings-table__content {
    border-spacing: 0;
    width: 100%
}

.vertical-headings-table__border {
    border-bottom: .0625rem solid var(--c-white-sands)
}

.vertical-headings-table__row:last-child .vertical-headings-table__border {
    border-bottom: none
}

@media screen and (max-width: 44.9375rem) {
    .vertical-headings-table__heading, .vertical-headings-table__title {
        left: 0;
        position: sticky;
        top: 0
    }
}

.vertical-headings-table__heading {
    background-color: var(--c-white);
    border-right: .0625rem solid var(--c-white-sands);
    text-align: left;
    vertical-align: top;
    width: 50%
}

.video-player {
    display: block;
    width: 100%
}

.video-player__viewport {
    background: var(--c-near-black);
    max-width: 100%;
    padding-top: 56.25%;
    position: relative
}

.video-player__poster {
    background-color: var(--bg-color);
    cursor: pointer
}

    .video-player__poster:hover .video-player__icon {
        transform: scale(1.15)
    }

.video-player .custom-cursor, .video-player__player, .video-player__poster {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

    .video-player__player[data-visible=false] {
        display: none
    }

    .video-player__player[style], .video-player__player[style] iframe[style] {
        aspect-ratio: 16/9;
        height: 100% !important;
        left: 0;
        position: absolute !important;
        top: 0;
        width: 100% !important
    }

.video-player__icon {
    font-size: var(--space-7);
    height: auto;
    pointer-events: none;
    position: relative;
    transition: transform .15s ease-out
}

.brochure-listing {
    --slice-header-gap: var(--space-6)
}

.brochure-listing__item {
    --flex-align-vertical: stretch
}

    .brochure-listing__item:not([data-disabled=true]) label {
        cursor: pointer
    }

.brochure-listing__item-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--space-1);
    position: relative
}

.brochure-listing__item-footer {
    display: grid;
    gap: var(--space-1);
    grid-template-rows: repeat(2,1fr)
}

.brochure-listing__cover {
    margin-top: 0;
    padding-top: 141.141414%;
    position: relative;
    transition: opacity .2s ease-out;
    width: 100%
}

    .brochure-listing__cover:after {
        box-shadow: inset 0 0 0 5px var(--c-warm-gold);
        content: "";
        opacity: 0;
        transition: opacity .2s ease-out
    }

    .brochure-listing__cover img, .brochure-listing__cover:after {
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%
    }

    .brochure-listing__cover img {
        aspect-ratio: 297/420;
        -o-object-fit: cover;
        object-fit: cover
    }

.brochure-listing__item input:disabled + .brochure-listing__cover {
    opacity: .3
}

.brochure-listing__item input:checked + .brochure-listing__cover:after {
    opacity: 1
}

.brochure-listing__submit.cta {
    display: inline-block;
    margin-inline-end: 0;
    min-width: 0;
    width: auto
}

.brochure-listing__actions {
    display: flex;
    flex-direction: column;
    gap: var(--space-2)
}

@media screen and (min-width: 40rem) {
    .brochure-listing__actions {
        align-items: center;
        flex-direction: row;
        justify-content: flex-end
    }
}

@media screen and (max-width: 40rem) {
    .brochure-listing__items.grid {
        grid-template-columns: repeat(2,1fr)
    }

    .brochure-listing__actions .tooltip {
        --flex-align-horizontal: center
    }

        .brochure-listing__actions .tooltip, .brochure-listing__actions .tooltip .v-popper, .brochure-listing__submit.cta {
            display: block;
            max-width: none;
            width: 100%
        }
}

.grecaptcha-badge {
    visibility: hidden
}

.recaptcha-visible .grecaptcha-badge {
    visibility: visible
}

.rich-text:not(.rich-text-full) {
    max-width: var(--rt-max-width,52.6875rem)
}

.rich-text.flow:not(.flex) > :not(.hide-a11y) + * {
    margin-block-start: var(--flow-gap,var(--space-2))
}

.rich-text.flow: not(.flex) > :not(.hide-a11y) + h4 {
    margin-block-start: var(--space-6)
}

.rich-text blockquote {
    border: .3125rem solid var(--c-warm-gold);
    display: block;
    margin-block: var(--space-2-5);
    max-width: 52.6875rem;
    padding: var(--space-3);
    position: relative;
    text-align: center
}

    .rich-text blockquote p {
        margin-inline: auto;
        max-width: 40rem
    }

    .rich-text blockquote cite {
        display: block;
        font-size: var(--ts-label);
        font-style: normal;
        font-weight: 600;
        line-height: var(--lh-label);
        margin-block-start: calc(var(--space-1)*1.5);
        text-transform: uppercase
    }

    .rich-text blockquote:after, .rich-text blockquote:before {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='21' fill='none'%3E%3Cpath fill='%23CD9C54' d='M14.693 20.717v-6.79c0-2.05.384-3.99 1.152-5.816.768-1.827 1.643-3.41 2.625-4.75C19.473 2 20.305 1.035 20.967.467l3.425 1.4c-.534.589-1.174 1.442-1.92 2.558-.726 1.096-1.367 2.335-1.921 3.715-.555 1.38-.833 2.771-.833 4.172H25v8.404H14.693ZM0 20.717v-6.79c0-2.05.384-3.99 1.152-5.816.769-1.827 1.644-3.41 2.625-4.75C4.78 2 5.612 1.035 6.274.467l3.425 1.4c-.533.589-1.174 1.442-1.92 2.558-.726 1.096-1.366 2.335-1.921 3.715-.555 1.38-.832 2.771-.832 4.172h5.281v8.404H0Z'/%3E%3C/svg%3E");
        content: "";
        height: 1.25rem;
        pointer-events: none;
        position: absolute;
        width: 1.5625rem
    }

    .rich-text blockquote:before {
        left: var(--space-2);
        top: var(--space-2)
    }

    .rich-text blockquote:after {
        bottom: var(--space-2);
        right: var(--space-2);
        transform: rotate(180deg)
    }

.rich-text.flow:not(.flex) > :not(.hide-a11y) + blockquote {
    margin-block: var(--space-2-5)
}

.rich-text ol, .rich-text ul {
    padding: 0;
    padding-inline-start: 1rem
}

    .rich-text ol li + li, .rich-text ul li + li {
        margin-top: .5rem
    }

.rich-text-block .rich-text {
    margin-inline: auto
}

.rich-text img, .rich-text img[height], .rich-text img[width] {
    height: auto;
    max-width: 100%;
    width: auto
}

.rich-text p {
    white-space: pre-wrap
}

p:not(:first-child) img {
    margin: 0 var(--space-2-5)
}

    p:not(:first-child) img:first-child {
        margin-top: 0
    }

    p:not(:first-child) img:last-child {
        margin-bottom: 0
    }

.toggle-button {
    cursor: pointer
}

.toggle-button__label {
    display: block;
    margin-bottom: 1.25rem
}

.toggle-button__options {
    display: flex;
    max-width: 12.5rem;
    width: 100%
}

.toggle-button__options--expanded {
    max-width: 100%
}

.toggle-button__option {
    align-items: center;
    background-color: transparent;
    border: .0625rem solid var(--c-white-sands);
    display: flex;
    flex: 1;
    gap: .5rem;
    justify-content: center;
    padding: .75rem 1.25rem;
    transition: background-color .25s ease-out;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

    .toggle-button__option:first-child {
        border-bottom-left-radius: .3125rem;
        border-top-left-radius: .3125rem
    }

    .toggle-button__option:last-child {
        border-bottom-right-radius: .3125rem;
        border-top-right-radius: .3125rem
    }

    .toggle-button__option.active {
        background-color: var(--c-navy-blue);
        border-color: var(--c-navy-blue);
        color: var(--c-white)
    }

[data-theme=primary] .toggle-button__option.active {
    background-color: var(--c-burnt-orange);
    border-color: var(--c-burnt-orange);
    color: var(--c-white)
}

.toggle-button__option:not(.active) > .toggle-button__option--icon {
    display: none;
}

.toggle {
    --flex-align-vertical: stretch;
    cursor: pointer;
    position: relative
}

    .toggle a {
        color: var(--c-burnt-orange)
    }

    .toggle:before {
        background-color: var(--c-grey-5);
        border: 1px solid var(--c-grey-3);
        border-radius: var(--radius-tight)
    }

    .toggle:before, .toggle[data-type=radio]:after {
        background-position: 50%;
        background-repeat: no-repeat;
        content: "";
        flex: 0 0 1.125rem;
        height: 1.125rem;
        margin-top: .1875rem;
        width: 1.125rem
    }

    .toggle[data-type=radio]:after {
        background-color: var(--c-navy-blue);
        border-radius: 100%;
        position: absolute;
        transform: scale(0);
        transition: transform 80ms ease-out
    }

    .toggle[data-type=checkbox][data-style=auto]:has(input[type=checkbox]:checked):before,
    .toggle[data-type=checkbox][data-checked=true]:before {
        background-color: var(--c-navy-blue);
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='9' fill='none'%3E%3Cpath fill='%23fff' d='M10.195.469c.117-.117.305-.117.399 0l.68.656c.093.117.093.305 0 .398L4.241 8.555a.27.27 0 0 1-.398 0L.704 5.438c-.095-.118-.095-.305 0-.399l.679-.68c.094-.093.281-.093.398 0l2.25 2.274L10.195.469Z'/%3E%3C/svg%3E");
        border-color: var(--c-navy-blue)
    }

    .toggle[data-type=checkbox][data-style=auto]:has(input[type=checkbox]:disabled):before,
    .toggle[data-type=checkbox][data-disabled=true]:before {
        background-color: var(--c-grey-5);
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='13' fill='none'%3E%3Cpath fill='%23CCC' d='M6 .688c3.188 0 5.813 2.625 5.813 5.812 0 3.21-2.626 5.813-5.813 5.813A5.811 5.811 0 0 1 .187 6.5C.188 3.312 2.79.687 6 .687Zm3.305 2.507c-1.711-1.71-4.383-1.804-6.211-.375L9.68 9.406c1.43-1.828 1.336-4.5-.375-6.21ZM2.672 9.828c1.71 1.711 4.383 1.805 6.21.375L2.298 3.617c-1.43 1.828-1.336 4.5.375 6.211Z'/%3E%3C/svg%3E");
        border: 1px solid var(--c-grey-3)
    }

    .toggle[data-type=checkbox][data-style=auto]:has(input:focus-visible):before {
        border-color: var(--c-grey-1);
        outline: none;
    }

    .toggle[data-type=radio]:before {
        border-radius: 100%
    }

    .toggle[data-type=radio][data-checked=true]:after {
        transform: scale(.6)
    }

.autocomplete__wrap {
    max-width: 100%;
    position: relative
}

.autocomplete__tray {
    background: var(--input-bg,var(--c-grey-5));
    box-shadow: 0 10px 15px #0002;
    left: 0;
    max-height: 12rem;
    overflow: auto;
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 100
}

    .autocomplete__tray ul {
        padding: 0
    }

    .autocomplete__tray li {
        cursor: pointer;
        padding: calc(var(--space-1)*1.2)
    }

        .autocomplete__tray li:hover, .autocomplete__tray li[aria-selected=true] {
            background-color: var(--c-navy-blue);
            color: #fff
        }

        .autocomplete__tray li + li {
            border-top: 1px solid var(--input-border,var(--c-grey-3))
        }

.destination-collection .slice__footer .cta {
    max-width: none;
    width: 100%
}

@media screen and (max-width: 709px) {
    .destination-collection .slice__header .cta {
        display: none
    }
}

@media screen and (min-width: 710px) {
    .destination-collection .slice__footer.flex {
        display: none
    }
}

.alpha-pagination__group {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: var(--bg-color);
    border: 1px solid var(--c-white-sands);
    border-radius: var(--radius-default);
    cursor: pointer;
    font-size: var(--ts-body);
    line-height: var(--lh-body);
    padding: .5rem .75rem
}

    .alpha-pagination__group:hover {
        text-decoration: underline
    }

    .alpha-pagination__group[aria-current=true] {
        background-color: var(--c-navy-blue);
        border-color: var(--c-navy-blue);
        color: var(--c-off-white)
    }

.search-filter {
    background-color: var(--c-grey-5);
    border: 1px solid var(--c-white-sands);
    padding: 1rem;
    width: 100%
}

    .search-filter > button ~ div {
        display: none
    }

    .search-filter.show-dropdown > button ~ div {
        display: block
    }

    .search-filter .v-popper {
        font-size: var(--tooltip-size,var(--ts-label))
    }

.search-filter__trigger {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: inherit;
    border: none;
    color: var(--navy-blue);
    cursor: pointer;
    font-size: var(--ts-body);
    line-height: var(--lh-body);
    padding-left: 5px;
    position: relative;
    width: 100%
}

.search-filter__dropdown {
    margin-bottom: 0
}

.search-filter__dropdown--touronly {
    --tooltip-color: var(--c-grey-1) !important;
    border-bottom: 1px solid var(--c-white-sands);
    border-top: 1px solid var(--c-white-sands);
    margin: 1rem 0;
    padding: 1rem 0;
    width: 100%
}

.search-filter__dropdown--touronly-actions {
    display: flex;
    flex-direction: column
}

.search-filter__dropdown--touronly-actions-label {
    align-items: center;
    display: flex;
    font-size: 1.1rem;
    gap: .5rem
}

.search-filter__filters-container {
    margin-top: 20px
}

    .search-filter__filters-container > .search-filter__trigger:first-child.search-filter__dropdown--touronly {
        border-top: 0;
        margin-top: 0;
        padding-top: 0
    }

.search-filter__trigger:disabled {
    cursor: not-allowed;
    opacity: .5
}

.search-filter__trigger-header {
    color: var(--c-navy-blue);
    display: flex;
    flex-direction: row;
    font-size: 18px;
    gap: 10px;
    text-transform: capitalize
}

.search-filter__count, .search-filter__trigger-header {
    align-items: center;
    font-weight: 600;
    justify-content: center
}

.search-filter__count {
    border-radius: 100%;
    color: var(--heading-color);
    display: inline-flex;
    font-size: .875em;
    height: 1.25rem;
    width: 1.25rem
}

.search-filter__remove {
    font-size: .75em
}

.search-filter__modal .form-field select {
    --input-bg: var(--c-grey-5)
}

.search-filter__modal .cta {
    max-width: 100%
}

.search-filter__modal .form-field__label {
    color: var(--heading-color);
    font-size: var(--ts-label);
    font-weight: 600;
    line-height: var(--lh-label);
    text-transform: uppercase
}

.search-filter__group {
    padding-left: 5px;
    width: 100%
}

    .search-filter__group:not(:first-child) .search-filter__group-input, .search-filter__group:not(:first-child) .search-filter__group-label {
        margin-top: 1.2rem
    }

.search-filter__chevron {
    display: block;
    transition: transform 0.2s ease
}

.search-filter:not(.show-dropdown) .search-filter__chevron {
    transform: rotate(180deg)
}

.search-filter__slider-container {
    width: 100%
}

    .search-filter__slider-container button {
        padding-bottom: 0
    }

.search-filter__slider {
    margin: 15px auto;
    width: 90%
}

.search-filter__slider-reset {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 4px 0 0;
    display: block;
    margin-left: 5%
}

    .search-filter__slider-reset[hidden] {
        display: none
    }

.search-filter__input {
    --input-bg: var(--c-white);
    display: flex;
    gap: 10px;
    justify-content: space-evenly;
    width: 100%
}

.search-filter__input--button {
    color: var(--c-burnt-orange);
    flex-shrink: 4;
    padding-inline: 0 !important
}

.search-filter__toggle-container {
    align-items: center;
    display: flex;
    gap: 1rem;
    width: 100%
}

.search-filter__trigger-see-more-btn {
    background: transparent;
    border: none;
    color: var(--c-burnt-orange);
    cursor: pointer;
    font-weight: 400;
    padding: 1rem 0;
    text-decoration: underline
}

.search-filter__trigger-header-title {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: flex-start
}

.search-filter__trigger-header-inline-tooltip {
    color: var(--c-grey-2);
    font-size: 12px;
    font-weight: 400;
    text-align: left
}

.search-filter__trigger-header-tooltip {
    align-items: center;
    display: flex;
    font-size: 14px;
    height: -moz-fit-content;
    height: fit-content;
    justify-content: center;
    position: relative;
    width: -moz-fit-content;
    width: fit-content
}

    .search-filter__trigger-header-tooltip:hover .search-filter__trigger-header-tooltip-msg {
        display: block
    }

.search-filter__trigger-header-tooltip-msg {
    background-color: #0009;
    border-radius: 5px;
    bottom: 25px;
    color: var(--c-white);
    display: none;
    font-size: 14px;
    font-weight: 400;
    padding: 5px 10px;
    position: absolute;
    text-align: center;
    width: 180px;
    z-index: 5
}

    .search-filter__trigger-header-tooltip-msg:after {
        border: 8px solid transparent;
        border-left-color: #0009;
        bottom: -16px;
        content: "";
        left: 50%;
        position: absolute;
        transform: translate(-50%) rotate(90deg)
    }

input[type=checkbox] {
    accent-color: var(--c-navy-blue);
    -webkit-accent-color: var(--c-navy-blue);
    height: 1rem;
    width: 1rem
}

:root {
    --slider-bg: var(--c-grey-3);
    --slider-connect-bg: var(--c-navy-blue);
    --slider-handle-bg: var(--c-navy-blue);
    --slider-tooltip-bg: transparent;
    --slider-tooltip-color: var(--c-navy-blue);
    --slider-handle-shadow: 0;
    --slider-tooltip-bg-disabled: transparent;
    --slider-connect-bg-disabled: var(--c-navy-blue)
}

[disabled].slider-target .slider-connect {
    cursor: not-allowed
}

[disabled].slider-target .slider-handle {
    background: var(--slider-connect-bg-disabled,#fff)
}

.spinner {
    display: inline-block;
    height: var(--spinner-width,var(--space-8));
    margin-inline: auto;
    position: relative;
    transition: transform .25s cubic-bezier(.18,.89,.32,1) .25s;
    width: var(--spinner-width,var(--space-8))
}

    .spinner:after {
        animation: spin 1s linear infinite;
        border: var(--spinner-border-width,.35rem) solid var(--spinner-color,var(--c-warm-gold));
        border-radius: 100%;
        border-top-color: var(--bg-color,transparent);
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%
    }

@keyframes spin {
    to {
        transform: rotate(1turn)
    }
}

.spinner-enter-from, .spinner-leave-to {
    opacity: 0
}

.spinner-enter-active {
    transition-delay: .25s
}

.spinner-enter-active, .spinner-leave-active {
    transition: opacity .5s cubic-bezier(.18,.89,.32,1)
}

.spinner-enter-to, .spinner-leave-from {
    opacity: 1
}

.switcher button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: var(--switcher-bg,var(--bg-color));
    border: 1px solid var(--switcher-border,var(--c-grey-3));
    color: var(--switcher-text,var(--c-navy-blue));
    cursor: pointer;
    flex-shrink: 0;
    height: 2.5rem;
    width: 2.5rem
}

    .switcher button:first-child {
        border-radius: var(--radius-default) 0 0 var(--radius-default)
    }

    .switcher button:last-child {
        border-inline-start: none;
        border-radius: 0 var(--radius-default) var(--radius-default) 0
    }

    .switcher button[aria-pressed=true] {
        background-color: var(--switcher-bg,var(--c-navy-blue));
        border-color: var(--switcher-border,var(--c-navy-blue));
        color: var(--switcher-text,var(--c-off-white))
    }

.data-table {
    border: 1px solid var(--c-white-sands);
    border-spacing: 0;
    width: 100%
}

    .data-table td, .data-table th {
        border-top: 1px solid var
    }

    .data-table thead th {
        background-color: var(--c-grey-4);
        color: var(--c-navy-blue);
        text-align: var(--ta-l)
    }

        .data-table thead th.ta-c {
            text-align: var(--ta-c)
        }

    .data-table tr + tr td {
        border-top: 1px solid var(--c-white-sands)
    }

    .data-table thead th {
        font-size: var(--ts-label);
        font-weight: 600;
        line-height: var(--lh-label);
        padding: var(--space-2) var(--space-2);
        text-transform: uppercase
    }

    .data-table[data-sticky=true] thead th {
        position: sticky;
        top: 0;
        z-index: 2
    }

    .data-table td {
        font-size: var(--ts-body-large);
        line-height: var(--ts-body-large);
        padding: var(--space-2) var(--space-2)
    }

.data-table-overflow {
    overflow-x: auto;
    width: 100%
}

.cabin-details-list + .cabin-details-list, .price-list .cabin-details-list {
    --slice-gap: var(--space-5) 0
}

.slice.cabin-details-list + .slice.cabin-details-list:last-child {
    padding-block-start: var(--space-5)
}

.cabin-details-list .slice__header {
    --slice-header-gap: var(--space-2)
}

.cabin-details-list__subtitle {
    color: var(--c-grey-1);
    font-family: var(--font-primary);
    font-size: var(--ts-body-large);
    letter-spacing: normal
}

.cabin-details-list .price__current .unit, .cabin-details-list__subtitle {
    font-weight: 400
}

.cabin-details-list .price__current .unit {
    font-size: var(--ts-body)
}

.cabin-details-list td {
    vertical-align: middle
}

    .cabin-details-list td > p:not(.cabin-details-list__offer) {
        color: var(--heading-color);
        font-weight: 600
    }

.cabin-details-list__offer {
    color: var(--c-strong-red);
    font-weight: 600
}

.cabin-details-list .price__current {
    font-weight: 600
}

.cabin-details-list [data-cols="2"] td[data-col=cabintype] {
    width: 75%
}

.cabin-details-list td .flow {
    --flow-gap: var(--space-05)
}

.cabin-details-list .price > p:last-child, .cabin-details-list__supplement > p:last-child {
    font-size: var(--ts-body)
}

.cabin-details-list__supplement .price .text-navy-blue {
    color: #632579
}

    .cabin-details-list__supplement .price .text-navy-blue .unit {
        color: var(--c-navy-blue)
    }

@media screen and (max-width: 60rem) {
    .cabin-details-list .data-table {
        border: none
    }

    .cabin-details-list__header {
        display: none
    }

    .cabin-details-list__row {
        align-items: stretch;
        border: 1px solid var(--c-white-sands);
        display: flex;
        flex-direction: column;
        padding: 0;
        position: relative
    }

    .cabin-details-list [data-col] {
        width: 100%
    }

    .cabin-details-list__row + .cabin-details-list__row {
        margin-block-start: var(--space-2)
    }

    .cabin-details-list .cabin-details-list__row td {
        border: none;
        padding: var(--space-2)
    }

        .cabin-details-list .cabin-details-list__row td:before {
            color: var(--heading-color);
            content: attr(data-label);
            display: block;
            font-size: var(--ts-label);
            font-weight: 600;
            line-height: var(--lh-label);
            margin-block-end: var(--space-1);
            text-transform: uppercase
        }

        .cabin-details-list .cabin-details-list__row td:empty {
            display: none
        }

        .cabin-details-list .cabin-details-list__row td[data-col=upgrade] {
            background-color: var(--c-grey-4)
        }
}

.callback-promo {
    --flex-align-vertical: center;
    max-width: 26rem
}

.callback-promo--full-width {
    background: var(--c-grey-5);
    border: 1px solid var(--c-grey-3);
    max-width: 100%
}

.callback-promo svg {
    font-size: .75em
}

.callback-promo__logo {
    max-height: 6.25rem;
    max-width: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.callback-promo__phone {
    color: var(--text-color)
}

@media screen and (max-width: 34rem) {
    .callback-promo__ctas {
        --flex-align-horizontal: center;
        --flex-gap: .625rem;
        flex-wrap: wrap
    }
}

.basket .page-manager .slice:first-child {
    padding-block-start: 0
}

.basket .page-manager {
    --slice-gap: var(--space-2-5);
    --slice-header-gap: var(--space-2)
}

.basket__boxin {
    background-color: var(--c-grey-5);
    border: 1px solid var(--c-white-sands);
    padding: var(--space-2)
}

    .basket__boxin .spinner {
        --spinner-width: var(--space-5);
        --bg-color: var(--c-grey-5)
    }

@media screen and (max-width: 25rem) {
    .payment-gateway .basket__boxin {
        background-color: inherit;
        border-color: #fff;
        padding: 0 !important
    }

        .payment-gateway .basket__boxin .payment-gateway__wrapper {
            border: 1px solid var(--c-white-sands)
        }
}

.basket__lead .basket__address, .basket__lead h6 {
    margin-bottom: var(--space-1)
}

.basket__lead p strong {
    color: var(--c-navy-blue);
    font-weight: 600
}

.basket__lead {
    overflow: hidden
}

    .basket__lead p {
        word-wrap: break-word;
        max-width: 100%
    }

.basket__sbs.side-by-side {
    align-items: flex-start
}

.basket__hr {
    border: 0;
    border-top: .0625rem solid var(--c-grey-3);
    margin-block-end: var(--space-2);
    margin-block-start: var(--space-2)
}

.basket__lead {
    width: 100%
}

body[data-touched=true] .accommodation-arrangments[data-valid=false]:not(:has(.active-hotel)) .accommodation-arrangements__list--accommodations .card {
    border: 1px solid var(--c-error)
}

body[data-touched=true] .accommodation-arrangments[data-valid=false]:not(.active-hotel) .accommodation-arrangements__list--units .card,
body[data-touched=true] .conditions-collection[data-valid=false] .conditions-collection__group,
body[data-touched=true] .extras-collection[data-valid=false] .extras-collection__container,
body[data-touched=true] .extras-collection[data-valid=false] .extras-collection__list .basket-card,
body[data-touched=true] .medical-information[data-valid=false] .medical-information__container,
body[data-touched=true] .passenger-details[data-valid=false] .passenger-details__add {
    border: 1px solid var(--c-error)
}

.basket-steps {
    --slice-gap: var(--space-3);
    background-color: var(--c-grey-5);
    counter-reset: step
}

.basket-steps__track {
    padding: 0;
    position: relative
}

    .basket-steps__track:before {
        background-color: var(--c-grey-3);
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        right: 0;
        top: 50%
    }

.basket-steps li {
    background-color: var(--c-grey-5);
    color: var(--c-grey-2);
    counter-increment: step;
    padding-inline: var(--space-2);
    position: relative;
    z-index: 1
}

    .basket-steps li:first-child {
        padding-inline-start: 0
    }

    .basket-steps li:last-child {
        padding-inline-end: 0
    }

    .basket-steps li:before {
        align-items: center;
        background-color: transparent;
        border: 2px solid var(--c-grey-2);
        border-radius: 100%;
        color: inherit;
        content: counter(step);
        display: inline-flex;
        flex: 0 0 30px;
        font-weight: 600;
        height: 30px;
        justify-content: center;
        width: 30px
    }

    .basket-steps li[data-current=true]:before {
        background-color: var(--c-navy-blue);
        border: none;
        color: var(--c-off-white)
    }

    .basket-steps li[data-current=true] {
        color: var(--c-navy-blue);
        font-weight: 700
    }

    .basket-steps li a, .basket-steps li span {
        white-space: nowrap
    }

    .basket-steps li a {
        color: var(--c-burnt-orange);
        font-weight: 600
    }

        .basket-steps li a:hover {
            text-decoration: underline
        }

    .basket-steps li[data-completed=true]:before {
        background-color: var(--c-burnt-orange);
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='11' fill='none'%3E%3Cpath fill='%23fff' d='m15 2-8.5 8.5a.594.594 0 0 1-.5.25.723.723 0 0 1-.531-.219l-4.5-4.5c-.292-.354-.292-.708 0-1.062.354-.292.708-.292 1.062 0L6 8.937 13.969.97c.354-.292.708-.292 1.062 0 .292.354.281.698-.031 1.031Z'/%3E%3C/svg%3E");
        background-position: 50%;
        background-repeat: no-repeat;
        border: none;
        color: var(--c-off-white);
        content: ""
    }

.basket-steps__mobile {
    display: none
}

@media screen and (max-width: 40rem) {
    .basket-steps {
        --slice-gap: var(--space-2) var(--space-4)
    }

    .basket-steps__mobile {
        align-items: center;
        display: flex;
        justify-content: center
    }

    .basket-steps li {
        position: relative;
        padding-inline: var(--space-1)
    }

        .basket-steps li a {
            position: absolute;
            display: block;
            inset: 0;
            z-index: 2;
        }

            .basket-steps li a > span,
            .basket-steps li span {
                clip: rect(0 0 0 0);
                border: 0;
                height: 0;
                margin: 0;
                overflow: hidden;
                padding: 0;
                position: absolute;
                width: 0
            }
}

.basket-summary {
    --chip-bg: var(--c-navy-blue);
    --chip-text: var(--c-off-white);
    --card-actions-padding-block: var(--space-2)
}

.basket-summary__actions {
    background-color: var(--c-grey-5);
    border-top: var(--card-border,1px solid var(--c-white-sands))
}

.basket-summary__section-trigger {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: var(--c-grey-5);
    border: var(--card-border,1px solid var(--c-white-sands));
    border-inline: none;
    color: var(--c-navy-blue);
    cursor: pointer;
    padding: calc(var(--space-1)*1.8) var(--space-2)
}

    .basket-summary__section-trigger svg {
        color: var(--heading-color);
        font-size: 1.25rem;
        transition: transform .25s ease-out
    }

.expander[data-open=true] .basket-summary__section-trigger svg {
    transform: rotate(-180deg)
}

.basket-summary__pricing {
    width: 100%
}

.basket-summary__payment-plan {
    padding-inline: 2px
}

.basket-summary__image {
    position: relative
}

.basket-summary__accommodation img {
    height: 64px;
    -o-object-fit: cover;
    object-fit: cover;
    width: 112px
}

.basket-summary__deposit-banner {
    background-color: var(--c-nectar-orange);
    color: var(--c-navy-blue);
    font-weight: 600
}

.basket-summary__tour-only-details, .basket-summary__travel-details + .basket-summary__travel-details {
    border-block-start: var(--card-border,1px solid var(--c-white-sands))
}

.basket-summary__logo {
    max-height: 1.25rem;
    max-width: 100px;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: right center;
    object-position: right center;
    width: 100%
}

.basket-summary .card__content {
    height: auto;
    padding: var(--card-padding-block,var(--space-2-3)) var(--card-padding-inline,var(--space-2))
}

.basket-summary__ambassador {
    font-weight: 600
}

.form-quantity {
    --flex-gap: var(--space-1)
}

    .form-quantity .form-field__input input {
        display: flex;
        flex: 1;
        height: 40px;
        margin: 0;
        max-width: 80px;
        padding-inline: 0;
        text-align: center
    }

    .form-quantity .cta {
        align-items: center;
        display: flex;
        flex: 0 0 40px;
        height: 40px;
        justify-content: center;
        padding: 0
    }

.basket-card {
    --card-actions-padding-block: 0;
    --card-actions-padding-inline: 0;
    opacity: 1;
    transition: opacity .25s ease-out
}

    .basket-card.disabled, .basket-card.loading {
        opacity: .8
    }

        .basket-card.disabled > *, .basket-card.loading > * {
            pointer-events: none
        }

    .basket-card.disabled {
        cursor: not-allowed
    }

    .basket-card.loading {
        cursor: wait
    }

.basket-card {
    container-name: card;
    container-type: inline-size
}

    .basket-card .card__content {
        flex: 1
    }

    .basket-card .card__actions {
        background-color: var(--c-grey-5)
    }

    .basket-card .card__footer {
        border-top: 1px solid var(--c-white-sands)
    }

    .basket-card .card__actions .form-field .mockinput, .basket-card .card__actions .form-field input, .basket-card .card__actions .form-field select, .basket-card .card__actions .form-field textarea {
        --input-bg: #fff
    }

    .basket-card .price p:first-child {
        font-size: var(--ts-body-large);
        line-height: 1
    }

    .basket-card .price__current {
        font-family: var(--font-headline);
        font-size: 1.75rem
    }

        .basket-card .price__current .unit {
            font-family: var(--font-primary);
            font-size: var(--ts-body-large)
        }

    .basket-card .price__previous {
        font-size: var(--ts-body-large)
    }

@container card (min-width: 700px) {
    .basket-card .card__body, .basket-card .card__main {
        flex-direction: row
    }

    .basket-card .card__head {
        flex: 1;
        max-width: 280px
    }

    .basket-card .card__image {
        height: 100%
    }

    .basket-card .card__body {
        flex: 2
    }

    .basket-card .card__actions {
        flex: 1 1 33.33%;
        max-width: 218px
    }

    .basket-card .basket-card__summary {
        display: block
    }
}

.switch-toggle {
    --toggle-border: var(--c-grey-3);
    --toggle-border-hover: var(--c-burnt-orange);
    --toggle-checked: var(--c-success);
    --toggle-background: var(--c-grey-2)
}

    .switch-toggle.solo-switch {
        --toggle-border-hover: var(--c-near-black);
        --toggle-checked: var(--c-near-black)
    }

    .switch-toggle.disabled {
        --toggle-border: var(--c-grey-2);
        --toggle-checked: var(--c-grey-2);
        --toggle-border-hover: var(--c-grey-2)
    }

        .switch-toggle.disabled .switch-toggle__track {
            cursor: not-allowed
        }

.tooltip .disabled {
    display: block
}

.switch-toggle__track {
    background-color: transparent;
    border: 1.25px solid var(--toggle-border);
    border-radius: var(--radius-pill);
    cursor: pointer;
    display: flex;
    height: 1.75rem;
    padding: 3px;
    position: relative;
    transition: border-color .15s ease-out 25ms;
    width: 3rem
}

input[type=checkbox]:focus-visible:not(:checked) + .switch-toggle__track, input[type=checkbox]:not(:checked) + .switch-toggle__track:hover {
    border-color: var(--toggle-border-hover)
}

.switch-toggle__track:before {
    background-color: var(--toggle-checked);
    border-radius: var(--radius-pill);
    bottom: -1.25px;
    -webkit-clip-path: inset(0 100% 0 0 round 1.25rem);
    clip-path: inset(0 100% 0 0 round 1.25rem);
    content: "";
    left: -1.25px;
    position: absolute;
    right: -1.25px;
    top: -1.25px
}

.switch-toggle__track:after {
    background-color: var(--toggle-background);
    border-radius: 100%;
    content: "";
    display: inline-block;
    height: 1.25rem;
    left: 3px;
    margin-top: -.625rem;
    position: absolute;
    top: 50%;
    transform: translate(0) rotate(-125deg);
    transform-origin: center;
    transition: all 275ms cubic-bezier(.17,.84,.44,1);
    width: 1.25rem
}

input[type=checkbox]:checked ~ .switch-toggle__track:before {
    -webkit-clip-path: inset(0 0 0 0 round 1.25rem);
    clip-path: inset(0 0 0 0 round 1.25rem);
    transition: -webkit-clip-path 275ms cubic-bezier(.17,.84,.44,1);
    transition: clip-path 275ms cubic-bezier(.17,.84,.44,1);
    transition: clip-path 275ms cubic-bezier(.17,.84,.44,1),-webkit-clip-path 275ms cubic-bezier(.17,.84,.44,1)
}

input[type=checkbox]:checked ~ .switch-toggle__track:after {
    background-color: transparent;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='22' fill='none'%3E%3Cpath fill='%23fff' d='M0 11c.026-1.909.487-3.62 1.382-5.13a10.05 10.05 0 0 1 3.631-3.66C6.513 1.31 8.21.845 10.105.818c1.895.027 3.592.49 5.092 1.392a10.05 10.05 0 0 1 3.632 3.66c.895 1.51 1.355 3.221 1.381 5.13-.026 1.91-.486 3.62-1.381 5.13a10.05 10.05 0 0 1-3.632 3.66c-1.5.902-3.197 1.366-5.092 1.392-1.895-.026-3.592-.49-5.092-1.392a10.05 10.05 0 0 1-3.631-3.66C.487 14.62.026 12.91 0 11Zm14.684-1.75c.21-.238.316-.504.316-.795 0-.292-.105-.557-.316-.796a1.156 1.156 0 0 0-.79-.318c-.289 0-.552.106-.789.318l-4.263 4.296-1.737-1.75a1.156 1.156 0 0 0-.79-.318c-.289 0-.552.106-.789.318-.21.238-.316.504-.316.795 0 .292.106.557.316.796l2.527 2.545c.236.212.5.318.789.318.29 0 .553-.106.79-.318l5.052-5.09Z'/%3E%3C/svg%3E");
    background-position: 50%;
    background-size: 1.25rem;
    justify-content: flex-end;
    transform: translate(100%) rotate(0);
    transition-delay: 50ms
}

.basket-flash {
    --flex-align-vertical: stretch;
    padding: var(--space-2) var(--space-3) var(--space-2) var(--space-2)
}

    .basket-flash.flex {
        align-items: center;
        flex-wrap: wrap
    }

.basket-flash__icon {
    flex: 0 0 3.125rem;
    font-size: 2.25rem;
    text-align: center
}

.basket-flash[data-variant=bestSeller] {
    --heading-color: var(--c-off-white);
    background-color: var(--c-turquoise-sea);
    color: var(--c-off-white)
}

.basket-flash[data-variant=lateEscapes] {
    --heading-color: var(--c-off-white);
    background-color: var(--c-success);
    color: var(--c-off-white)
}

.basket-flash[data-variant=warning] {
    --heading-color: var(--c-navy-blue);
    background-color: #ffa3001a;
    border: 1px solid var(--c-warning);
    color: var(--c-navy-blue)
}

.basket-flash[data-variant=none], .basket-flash[data-variant=offerApplied] {
    --heading-color: var(--c-off-white);
    background-color: var(--c-success);
    color: var(--c-off-white)
}

.basket-flash[data-variant=none] {
    padding-left: 6%;
    text-align: center
}

.basket-flash__content {
    flex-grow: 1
}

.basket-flash__actions {
    flex-shrink: 0
}

.basket-flash--condition {
    container-name: basket-flash-container;
    container-type: inline-size
}

    .basket-flash--condition .basket-flash__ctas {
        --flex-align-vertical: center !important
    }

@container basket-flash-container (max-width: 32rem) {
    .basket-flash__content {
        --flex-align-vertical: flex-start;
        flex-direction: column
    }

    .basket-flash__ctas {
        --flex-align-horizontal: center;
        --flex-gap: .625rem;
        flex-direction: column;
        flex-wrap: wrap
    }

        .basket-flash__ctas .cta {
            max-width: none
        }
}

.conditions-collection__group {
    border: 1px solid var(--c-white-sands)
}

.passenger-details__items {
    --grid-max-cols: 2
}

    .passenger-details__items .passenger-details__item {
        min-height: 12.5rem
    }

.passenger-details__item {
    background-color: var(--c-grey-5);
    border: 1px solid var(--c-white-sands);
    color: var(--c-navy-blue);
    padding: var(--space-2);
    position: relative
}

    .passenger-details__action, .passenger-details__item:not(button) {
        --flex-align-vertical: stretch
    }

    .passenger-details__item[data-lead=true] {
        padding-block-start: var(--space-4)
    }

.passenger-details__lead-banner {
    left: 0;
    padding: calc(var(--space-1)*.8) var(--space-2);
    position: absolute;
    top: 0;
    width: 100%
}

.passenger-details__add {
    align-items: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    font-weight: 600;
    gap: var(--space-1);
    justify-content: center
}

    .passenger-details__add svg {
        font-size: 2.375rem
    }

.passenger-details__insurance {
    --flow-gap: var(--space-3);
    border: 1px solid var(--c-white-sands);
    font-size: var(--ts-body);
    line-height: var(--lh-body)
}

.passenger-details__insurance-heading {
    background-color: var(--c-grey-5);
    border-block-end: 1px solid var(--c-white-sands);
    padding: calc(var(--space-1)*1.5) var(--space-2)
}

.passenger-details__insurance .rich-text {
    --flow-gap: var(--space-1);
    color: var(--c-grey-1)
}

@media screen and (max-width: 48rem) {
    .passenger-details-edit__numbers {
        --flex-gap: .625rem;
        flex-flow: wrap
    }
}

/* Passenger modal: keep sibling fields top-aligned so an error under one
   input doesn't push the neighbour off-axis, and give rows a little more
   breathing room to absorb the error message row. */
.passenger-details-modal form .flex {
    --flex-align-vertical: flex-start
}

.passenger-details-modal form fieldset > .flow {
    --flow-gap: var(--space-2)
}

.passenger-details-modal .form-field__error--with-icon {
    margin-block-start: var(--space-05)
}

.lead-passenger-header-message {
    color: red;
    font-weight: 900
}

@media screen and (max-width: 48rem) {
    .passenger-wrap-text a {
        overflow-wrap: anywhere;
        word-break: break-word
    }
}

.booking-cta__modal {
    --flex-align-vertical: stretch
}

    .booking-cta__modal .modal__inr {
        max-width: 736px
    }

.booking-cta__passenger-row {
    --flex-align-vertical: center
}

@media screen and (max-width: 25rem) {
    .booking-cta__passenger-row {
        flex-direction: column
    }

        .booking-cta__passenger-row .form-field__input > .cta {
            width: 40px
        }
}

.booking-cta__passenger-row-sm {
    --flex-align-vertical: flex-start;
    flex-direction: column
}

.booking-cta__modal .form-quantity {
    flex: 0 0 170px;
    margin-inline: auto var(--space-1);
    max-width: 170px
}

@media screen and (max-width: 25rem) {
    .booking-cta__modal .form-quantity {
        margin: 0
    }
}

.booking-cta__action {
    flex: 1 1 40%;
    max-width: 432px
}

.booking-cta__modal .cta {
    max-width: none
}

.booking-cta__price {
    --flex-gap: var(--space-05);
    --flex-align-vertical: baseline
}

    .booking-cta__price .price__current {
        font-family: var(--font-headline);
        font-size: var(--ts-heading-3)
    }

        .booking-cta__price .price__current .unit {
            font-family: var(--font-primary);
            font-size: var(--ts-body-large)
        }

    .booking-cta__price .price__previous {
        font-size: var(--ts-body-large)
    }

.travel-arrangements {
    border: 1px solid var(--c-white-sands);
    border-spacing: 0;
    width: 100%
}

.travel-arrangements__group-header td {
    background-color: var(--c-grey-5);
    text-align: left
}

.travel-arrangements__row td {
    vertical-align: top
}

.travel-arrangements td {
    padding: var(--space-1) 0;
    text-align: left
}

.travel-arrangements__group td .flex {
    --flex-align-vertical: stretch;
    height: 100%
}

.travel-arrangements [data-col=carrier] {
    width: 6.25rem
}

.travel-arrangements__group [data-col=icon] {
    padding: var(--space-2);
    width: 3.75rem
}

.travel-arrangements__group [data-col=expander] {
    width: 3.75rem
}

.travel-arrangements tr:not(.travel-arrangements__layover) + tr:not(.travel-arrangements__layover) td, .travel-arrangements__group + .travel-arrangements__group tr:first-child td {
    border-top: 1px solid var(--c-white-sands)
}

.travel-arrangements__layover td {
    border-bottom: 1px dashed var(--c-white-sands);
    border-top: 1px dashed var(--c-white-sands);
    padding: var(--space-2) 0
}

.travel-arrangements__toggle.br-default {
    --cta-bg: transparent;
    --cta-text-size: var(--ts-heading-4);
    border-radius: 0;
    color: var(--c-navy-blue);
    height: 3.75rem;
    padding: var(--space-2);
    right: 0;
    top: 0;
    width: 3.75rem
}

.travel-arrangements__toggle svg {
    transition: transform .25s ease-out
}

.travel-arrangements__group[data-open=true] .travel-arrangements__toggle svg {
    transform: rotate(-180deg)
}

.travel-arrangements__group[data-group=inbound] [data-col=icon] {
    transform: scaleX(-1)
}

.sub-heading {
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

@media screen and (max-width: 60rem) {
    .travel-arrangements__group-header, .travel-arrangements__layover:not([hidden]), .travel-arrangements__row:not([hidden]) {
        align-items: stretch;
        display: flex;
        flex-direction: column;
        gap: var(--space-2);
        position: relative
    }

    .travel-arrangements__group-header {
        gap: var(--space-1)
    }

    .travel-arrangements .cta {
        max-width: none
    }

    .travel-arrangements [data-col]:not([data-col=icon]) {
        width: 100%
    }

    .travel-arrangements .travel-arrangements__row {
        background-color: #fff;
        padding: var(--space-2) var(--space-2) var(--space-2) var(--space-6)
    }

    .travel-arrangements__group-header {
        padding-block: var(--space-2);
        padding-inline-end: var(--space-6);
        position: relative
    }

    .travel-arrangements__group {
        background-color: var(--c-grey-5);
        display: block
    }

        .travel-arrangements__group + .travel-arrangements__group {
            border-top: 1px solid var(--c-white-sands)
        }

            .travel-arrangements tr:not(.travel-arrangements__layover) + tr:not(.travel-arrangements__layover) td, .travel-arrangements__group + .travel-arrangements__group tr:first-child td {
                border: none
            }

    .travel-arrangements td {
        background-color: transparent;
        border: none;
        padding: 0
    }

    .travel-arrangements__group-header td {
        padding-inline: var(--space-6) var(--space-2)
    }

    .travel-arrangements [data-col=carrier] img {
        max-width: 8rem
    }

    .travel-arrangements__group-header [data-col=icon] {
        left: var(--space-2);
        padding: 0;
        position: absolute;
        top: var(--space-2);
        width: 1.25rem
    }

    .travel-arrangements__row [data-col=baggage], .travel-arrangements__row [data-col=dates], .travel-arrangements__row [data-col=duration], .travel-arrangements__row [data-col=expander], .travel-arrangements__row [data-col=icon] {
        display: none
    }

    .travel-arrangements__toggle.br-default {
        --cta-bg: transparent;
        color: var(--c-navy-blue);
        margin-top: -1.875rem;
        position: absolute;
        right: 0;
        top: 50%
    }

    .travel-arrangements__layover td:not([colspan="5"]) {
        display: none
    }

    .travel-arrangements__layover td[colspan="5"] {
        background-color: #fff;
        border-bottom: 1px dashed var(--c-white-sands);
        border-top: 1px dashed var(--c-white-sands);
        padding: var(--space-2) var(--space-2) var(--space-2) var(--space-6);
        width: 100%
    }
}

.agent-login {
    padding: 5rem 0;
    position: relative
}

    .agent-login .form-field__label.t-body-large {
        font-size: var(--ts-body);
        font-weight: 600
    }

.agent-login__container {
    border: 1px solid rgba(0,0,0,.239);
    display: flex;
    flex-direction: column;
    min-height: 24.5rem
}

.agent-login__container, .agent-login__success-container {
    background-color: var(--c-white);
    margin: 0 auto;
    max-width: 40rem;
    position: relative;
    z-index: 1
}

.agent-login__success-container {
    padding: 1.875rem
}

    .agent-login__success-container .form-action-button {
        margin-top: var(--space-2)
    }

.agent-login__container-headers {
    gap: 0;
    width: 100%
}

    .agent-login__container-headers span {
        align-items: center;
        background-color: var(--c-grey-4);
        cursor: pointer;
        display: flex;
        justify-content: center;
        padding: 1.25rem 0;
        width: 50%
    }

    .agent-login__container-headers .active {
        background-color: var(--c-white);
        color: var(--c-navy-blue)
    }

.agent-forgot-password__container-header {
    display: flex;
    justify-content: center;
    width: 100%
}

    .agent-forgot-password__container-header span {
        padding: 1.25rem 1.875rem;
        width: 100%
    }

        .agent-forgot-password__container-header span.active {
            background-color: var(--c-grey-4)
        }

.agent-login__container-forms {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 1.875rem;
    padding: 1.875rem
}

    .agent-login__container-forms p.form-action-button {
        color: var(--c-burnt-orange);
        cursor: pointer;
        font-size: var(--ts-body)
    }

.tab-radio-group {
    -webkit-box-align: center;
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-bottom: 1rem
}

.tab-radio-options {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1rem
}

.tab-radio-input {
    opacity: 0;
    position: absolute
}

.tab-radio-label {
    background: #f8f9fa;
    border: 1px solid #ddd;
    cursor: pointer;
    font-size: 1.1rem;
    font-weight: 600;
    padding: 1rem 1.4rem;
    text-align: center;
    transition: all .2s
}

    .tab-radio-label:hover {
        background: #e9ecef
    }

.tab-radio-input:checked + .tab-radio-label {
    background: #007bff;
    border-color: #007bff;
    color: #fff
}

.tab-radio-input:focus + .tab-radio-label {
    box-shadow: 0 0 0 .2rem #007bff40
}

.form-control {
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
    padding: .5rem;
    width: 100%
}

.agentLoginTerm {
    margin-bottom: 4%;
    margin-top: 4% !important
}

.agentLoginTermText {
    font-size: 1.2rem !important
}

.agentRegistration-text-input {
    border-color: var(--input-border,var(--c-grey-3)) !important;
    font-weight: 200
}

.agent-login__image img {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.agent-login__content {
    padding: 2rem;
    position: relative;
    z-index: 1
}

.login-logo-container {
    margin-bottom: 2rem;
    text-align: center
}

.login-logo {
    display: block;
    height: auto;
    margin: 0 auto;
    max-height: 20%;
    max-width: 18%;
    width: auto
}

.agent-login__container-headers {
    display: flex;
    gap: 2rem;
    justify-content: center;
    margin-bottom: 1.5rem
}

.agentRegistrationButton {
    max-width: 100% !important;
    width: 100% !important
}

.holidaySumaryEmailError {
    background-color: #dd0000;
    color: white;
    padding: 2%;
    height: 64px;
    font-size: 15px
}

.holidaySummaryEmail-privacy-note {
    background: #eceae6;
    text-align: left;
    margin-top: 4%;
    padding: 3%;
    color: #666666;
    font-size: 16px
}

.membership-textbox {
    padding: .75rem !important
}

.agent-success-message {
    color: green;
    font-size: 1rem;
    margin: 1rem 0
}

.agent-login-form {
    display: flex;
    flex-flow: column;
    gap: 30px
}

.form .agent-login-form__cta {
    max-width: 100%
}

.agent-registration-form {
    display: flex;
    flex-direction: column;
    gap: 1.875rem
}

.agent-registration-form__name-section {
    display: flex;
    flex-direction: row;
    gap: 1.875rem
}

@media screen and (max-width: 23.75rem) {
    .agent-registration-form__name-section {
        flex-direction: column
    }
}

.form .agent-registration-form__cta {
    max-width: 100%
}

.selfbilling-padding {
    margin-bottom: 2%
}

.agent-reset-password-form {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: space-between
}

.success-message h4 {
    margin-bottom: 1.875rem
}

.success-message .body:not(:last-child) {
    margin-bottom: var(--space-2)
}

.success-message .action {
    color: var(--c-burnt-orange)
}

.agent-registration-confirmation h4 {
    margin-bottom: 1.875rem
}

.extras__collection--actions > :not(:last-child) {
    border-bottom: var(--card-border,1px solid var(--c-white-sands))
}

.td--extended {
    min-width: 13.75rem
}

.extras-collection__container {
    overflow-x: auto
}

.truncate-more__actions {
    color: var(--c-burnt-orange);
    cursor: pointer;
    margin-left: .4rem;
    text-decoration: underline
}

.empty-state {
    align-items: center;
    background: var(--c-grey-5);
    border: 1px solid var(--c-grey-4);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 40vh;
    padding: var(--space-2-3);
    width: 100%
}

.empty-state__content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: center
}

.empty-state__icon {
    color: var(--c-navy-blue);
    font-size: 4rem
}

    .empty-state__icon .animate {
        animation: up .5s ease-in-out 0s infinite alternate,down .5s ease-in-out .5s infinite alternate
    }

.quick-search-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    width: 100%;
    flex: 1
}

    .quick-search-loading .svg-div.animate {
        display: inline-block;
        animation: quicksearch-bounce 1s ease-in-out infinite
    }

@media screen and (max-width: 60rem) {
    .quick-search-loading {
        padding: 1rem;
        align-items: flex-start
    }

    .quick-search-dropdown__body.quick-search-loading-active .quick-search__destination,
    .quick-search-dropdown__body.quick-search-loading-active .quick-search__departure-location {
        flex: none;
        height: auto
    }

        .quick-search-dropdown__body.quick-search-loading-active .quick-search__destination .cta,
        .quick-search-dropdown__body.quick-search-loading-active .quick-search__departure-location .cta {
            flex-shrink: 0;
            min-height: 3.125rem
        }

    .quick-search-dropdown__body.quick-search-loading-active .quick-search__empty-message,
    .quick-search-dropdown__body.quick-search-loading-active .quick-search__fields-list {
        display: none
    }
}

@keyframes quicksearch-bounce {
    0%, 100% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(-8px)
    }
}

@keyframes up {
    0% {
        transform: translateY(0)
    }

    to {
        transform: translateY(-5px)
    }
}

@keyframes down {
    0% {
        transform: translateY(0)
    }

    to {
        transform: translateY(5px)
    }
}

.error-message-container {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    justify-content: center;
    margin: 0 auto;
    margin-top: var(--space-5);
    max-width: 45rem;
    min-height: 24.5rem;
    padding: var(--space-2) var(--space-5)
}

    .error-message-container .error-message__icon {
        align-items: center;
        background-color: var(--c-error);
        border-radius: 50%;
        color: #fff;
        display: flex;
        font-size: var(--ts-heading-hero);
        justify-content: center;
        padding: .5em .6em
    }

.sidebar-container {
    --flex-align-vertical: flex-start;
    height: 100dvh
}

.sidebar-container__body, .sidebar-container__footer, .sidebar-container__header {
    width: 100%
}

.sidebar-container__header {
    display: grid;
    grid-template-rows: repeat(2,auto)
}

.sidebar-container__body {
    flex: 1;
    overflow-y: auto
}

.sidebar-container__footer {
    display: flex
}

    .sidebar-container__footer .cta {
        flex: 1
    }

.sidebar-container__button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    height: 2.5rem;
    justify-self: flex-end;
    width: 2.5rem
}

.site-header-scs__cta-icon {
    padding-right: .75rem
}

.scs-pay .text-input__input {
    background-color: #fff
}

.scs-pay__content {
    display: grid;
    gap: 1.875rem;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr
}

@media screen and (max-width: 42rem) {
    .scs-pay__content {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto
    }
}

.scs-pay__message {
    font-size: .875rem
}

.table {
    border-collapse: collapse
}

.table--full {
    width: 100%
}

.table__head {
    background-color: var(--c-white-sands);
    border: 1px solid var(--Core-White-Sands,#eceae6)
}

    .table__head th {
        border-left: 1px solid #fff;
        border-right: 1px solid #fff;
        color: var(--c-navy-blue);
        padding: 1.25rem;
        text-align: start;
        text-transform: uppercase
    }

        .table__head th:first-child {
            border-left: none
        }

        .table__head th:last-child {
            border-right: none
        }

.table__body td {
    border: 1px solid var(--Core-White-Sands,#eceae6);
    margin: 0;
    padding: 1.25rem;
    text-align: start;
    width: -moz-fit-content;
    width: fit-content
}

    .table__body td > span {
        display: block;
        font-size: 1rem;
        height: -moz-fit-content;
        height: fit-content
    }

.table__body .td--extended {
    padding-inline: 1.25rem 3.75rem
}

.table__body .td--reduced {
    padding: .75rem
}

.table__body tr[data-disabled=true] > td {
    background: var(--c-grey-5);
    opacity: .4
}

.postcode-lookup__results--allow-reset, .postcode-lookup__results--allow-reset > .form-field > .form-field__input {
    margin-block-start: 0 !important
}

.passenger-details__postcode-lookup-reset button {
    margin-top: .625rem
}

.accommodation-arrangements__actions {
    --cta-border: var(--c-grey-3);
    --cta-text: var(--c-grey-1);
    align-items: flex-end;
    display: flex;
    gap: 1rem;
    justify-content: flex-start
}

    .accommodation-arrangements__actions :first-child {
        flex: 3
    }

    .accommodation-arrangements__actions :last-child {
        flex: 1
    }

@media (max-width: 768px) {
    .accommodation-arrangements__actions :last-child {
        flex: 2
    }
}

.accommodation-arrangements__actions--slider {
    background: var(--c-grey-5);
    border: 1px solid var(--c-grey-4);
    margin-block-start: var(--space-1) !important;
    margin-left: auto;
    padding: var(--space-2) var(--space-5);
    padding-bottom: var(--space-5)
}

@media (min-width: 768px) {
    .accommodation-arrangements__actions--slider {
        width: 50%
    }
}

.accommodation-arrangements__actions--slider-inner {
    display: grid;
    gap: 1rem
}

@media screen and (max-width: 25rem) {
    .accomodation-arrangements__info {
        --flex-gap: 0 !important;
        flex-direction: column
    }

    .accomodation-arrangements__details {
        --flex-align-vertical: center;
        flex: 1;
        flex-direction: row !important;
        gap: 1.25rem !important;
        text-align: center
    }
}

.global-banner {
    --chip-bg: var(--c-near-black);
    --chip-text: var(--c-off-white);
    --flex-align-horizontal: center;
    gap: 0 !important;
    height: 3rem;
    overflow: hidden;
    position: relative
}

    .global-banner.theme--navy-blue {
        --bg-color: var(--c-deep-blue);
        --text-color: var(--c-off-white);
        --chip-bg: var(--c-off-white);
        --chip-text: var(--c-near-black)
    }

    .global-banner.theme--gold {
        --bg-color: var(--c-warm-gold);
        --text-color: var(--c-off-white)
    }

    .global-banner.theme--purple {
        --bg-color: var(--c-happy-purple);
        --text-color: var(--c-off-white)
    }

    .global-banner.theme--orange {
        --bg-color: var(--c-nectar-orange);
        --text-color: var(--c-off-white)
    }

    .global-banner.theme--red {
        --bg-color: var(--c-strong-red);
        --text-color: var(--c-off-white)
    }

    .global-banner.theme--nectar-orange {
        --bg-color: #f29a00;
        --text-color: #fff
    }

    .global-banner.theme--turquoise {
        --bg-color: #008eaa;
        --text-color: #fff
    }

    .global-banner.theme--black {
        --bg-color: #000;
        --text-color: #fff
    }

    .global-banner.theme--white {
        --bg-color: #fff;
        --text-color: #072142
    }

    .global-banner .rich-text ol > li, .global-banner .rich-text ul > li {
        margin: 0;
        text-align: start
    }

.banner {
    --flex-align-horizontal: center;
    --flex-align-vertical: center;
    display: flex;
    flex: 1;
    overflow: hidden;
    width: -moz-fit-content;
    width: fit-content
}

.slide {
    --flex-align-horizontal: center;
    flex: 1;
    padding: 0 var(--space-2);
    position: relative;
    text-align: center;
    width: 100dvw
}

.slide__link {
    background: transparent;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.slide--static {
    opacity: 1 !important
}

.slide:last-of-type {
    opacity: 0
}

.slide-enter-active, .slide-leave-active, .slide-move {
    transition: opacity,transform 1s ease
}

.slide-enter-from {
    opacity: 0;
    transform: translate(100%)
}

.slide-leave-to {
    opacity: 0;
    transform: translate(-100%)
}

.invisible {
    opacity: 0;
    width: 100dvw
}

.fade-enter-active, .fade-leave-active {
    transition: opacity .25s ease-in
}

.fade-enter-from, .fade-leave-to {
    opacity: 0
}

.fade-enter-to, .fade-leave-from {
    opacity: 1
}

.success {
    --flex-align-vertical: flex-start;
    display: grid;
    gap: 1.875rem;
    grid-template-columns: 2fr 1fr;
    padding-block: 3.75rem
}

@media screen and (max-width: 68.75rem) {
    .success {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr auto
    }
}

@media screen and (max-width: 48rem) {
    .card__main, .success__card {
        flex-direction: column !important
    }

    .card__head, .card__image {
        width: 100% !important
    }
}

.success__card {
    width: 100%
}

    .success__card .card__body, .success__card .card__main {
        flex-direction: row;
        width: 100%
    }

        .success__card .card__body .card__content, .success__card .card__main .card__content {
            padding: 0;
            width: 100%
        }

    .success__card .card__head {
        width: 50%
    }

    .success__card .card__image {
        height: 50%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }

.success__box {
    padding: .9375rem 1.25rem
}

    .success__box:not(:last-of-type) {
        border-bottom: var(--card-border,1px solid var(--c-white-sands))
    }

    .success__box:last-of-type > :first-child {
        font-weight: 600
    }

    .success__box span {
        word-wrap: break-word;
        max-width: 100%
    }

.success__box--dark {
    background-color: var(--c-grey-5)
}

.success__banner {
    background-color: var(--c-nectar-orange);
    font-size: 1rem;
    font-weight: 600;
    text-align: center
}

.success__name {
    font-family: var(--font-headline);
    font-size: 1.5rem;
    font-weight: 600
}

.success__field-header {
    font-family: var(--font-primary);
    font-size: .875rem;
    font-weight: 600;
    text-transform: uppercase
}

.success__field-content {
    color: var(--c-grey-1);
    font-family: var(--font-primary);
    font-size: 1rem;
    font-weight: 400
}

.partner-pdp__card {
    width: 100%
}

    .partner-pdp__card .card__main {
        flex-direction: row;
        width: 100%
    }

    .partner-pdp__card .card__content {
        align-items: center;
        display: flex;
        flex: 1;
        justify-content: flex-start;
        min-width: 28.125rem;
        padding: 0;
        width: 100%
    }

    .partner-pdp__card .card__head {
        width: 100%
    }

    .partner-pdp__card .card__image {
        height: 100%;
        min-height: 26rem;
        -o-object-fit: cover;
        object-fit: cover;
        width: 100%
    }

    .partner-pdp__card .partner-pdp__content {
        width: 100%
    }

@media screen and (max-width: 60.5rem) {
    .partner-pdp__card .card__main {
        flex-direction: column
    }

    .partner-pdp__card .card__content, .partner-pdp__card .card__head {
        min-width: -moz-fit-content;
        min-width: fit-content;
        width: 100% !important
    }
}

@media screen and (max-width: 25rem) {
    .partner-pdp__card .partner-pdp__content {
        --space-4: 1rem
    }
}

.partner-pdp__duration {
    font-size: 1.125rem;
    font-weight: 600
}

.partner-pdp__content--call-to-book {
    --flex-align-vertical: center;
    --flex-align-horizontal: center;
    height: 100%
}

.partner-pdp__form, .partner-pdp__form .form-dropdown__wrap, .partner-pdp__form-item, .partner-pdp__form-item .form-dropdown__wrap {
    width: 100%
}

.offer__text {
    --chip-bg: var(--c-near-black);
    --chip-text: var(--c-off-white);
    padding: 2rem;
    text-align: center
}

    .offer__text.theme--navy-blue {
        --bg-color: var(--c-deep-blue);
        --text-color: var(--c-off-white);
        --chip-bg: var(--c-off-white);
        --chip-text: var(--c-near-black)
    }

    .offer__text.theme--gold {
        --bg-color: var(--c-warm-gold);
        --text-color: var(--c-off-white)
    }

    .offer__text.theme--purple {
        --bg-color: var(--c-happy-purple);
        --text-color: var(--c-off-white)
    }

    .offer__text.theme--orange {
        --bg-color: var(--c-nectar-orange);
        --text-color: var(--c-off-white)
    }

    .offer__text.theme--red {
        --bg-color: var(--c-strong-red);
        --text-color: var(--c-off-white)
    }

    .offer__text.theme--nectar-orange {
        --bg-color: #f29a00;
        --text-color: #fff
    }

    .offer__text.theme--turquoise {
        --bg-color: #008eaa;
        --text-color: #fff
    }

    .offer__text.theme--black {
        --bg-color: #000;
        --text-color: #fff
    }

    .offer__text.theme--white {
        --bg-color: #fff;
        --text-color: #072142
    }

.offer__image img {
    height: 100%;
    max-height: 15rem;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.blog-search__container {
    background: linear-gradient(to right,var(--c-white) 50%,var(--c-white-sands) 50%)
}

.blog-search {
    display: grid;
    grid-template-columns: 3fr 1fr;
    min-height: 50rem
}

.blog-search__results, .blog-search__sidebar {
    padding-block: 3.75rem
}

.blog-search__results {
    background-color: var(--c-white);
    padding-right: 1.875rem
}

.blog-search__articles {
    --flex-align-vertical: flex-start;
    padding-top: 3.125rem
}

.blog-search__controls {
    padding-top: 1.25rem
}

    .blog-search__controls > span {
        width: 100%
    }

.blog-search__sort {
    --flex-align-horizontal: flex-end;
    cursor: pointer;
    min-width: 12.5rem
}

.blog-search__sidebar-header {
    --flex-gap: .625rem;
    flex-wrap: wrap;
    padding-bottom: 1.25rem
}

.blog-search__label {
    color: var(--c-grey-1);
    font-family: var(--font-primary);
    font-size: 1rem;
    font-weight: 600
}

.blog-search__sidebar, .blog-search__sidebar--mobile {
    background-color: var(--c-white-sands);
    padding-inline: 2rem 0
}

.blog-search__categories {
    --flex-align-vertical: flex-start;
    padding-top: 2rem
}

.blog-search__tag {
    --flex-gap: .5em;
    border: none
}

.blog-search__mobile-button, .blog-search__tag {
    --flex-align-horizontal: center;
    --flex-align-vertical: center;
    background-color: var(--c-white);
    border-radius: .3125rem;
    color: var(--c-near-black);
    cursor: pointer;
    padding: .3125rem .625rem;
    transition: all .3s ease
}

    .blog-search__tag.active {
        background-color: var(--c-navy-blue);
        color: var(--c-white)
    }

@media (hover: hover) and (pointer:fine) {
    .blog-search__tag:not(.active):hover {
        background-color: var(--c-navy-blue);
        color: var(--c-white)
    }
}

.blog-search__mobile-filters {
    background-color: var(--c-white-sands);
    display: none;
    padding: .625rem 1.25rem
}

    .blog-search__mobile-filters .blog-search__mobile-button {
        border: none
    }

.blog-search__sidebar--mobile {
    display: none
}

    .blog-search__sidebar--mobile > .blog-search__close {
        align-items: center;
        background: var(--c-navy-blue);
        border: none;
        color: #fff;
        cursor: pointer;
        display: flex;
        height: 3.125rem;
        justify-content: center;
        position: absolute;
        right: 0;
        top: 0;
        width: 3.125rem;
        z-index: 2
    }

        .blog-search__sidebar--mobile > .blog-search__close svg {
            display: block;
            height: 1.5rem;
            max-width: none;
            width: 1.5rem
        }

.blog-search__sidebar--mobile-body {
    background-color: var(--c-white-sands);
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 3.75rem 1.25rem 2rem
}

.blog-search__sidebar--mobile-tags {
    padding-top: 1rem
}

.blog-search__tag .blog-search__tag-check {
    display: none
}

.blog-search__tag.active .blog-search__tag-check {
    display: inline-flex;
    align-items: center
}

.blog-search__tag-check svg {
    display: inline-block;
    height: .75rem;
    max-width: none;
    width: .75rem
}

.blog-search-sidebar-open {
    overflow: hidden;
    position: fixed;
    width: 100%
}

.blog-search__clear-all--mobile {
    padding-right: 2rem !important
}

@media screen and (max-width: 25rem) {
    .blog-search__controls {
        flex-direction: column;
        gap: .625rem !important;
        padding-top: .625rem
    }

        .blog-search__controls .form-dropdown__wrap {
            width: 100%
        }

    .blog-search__empty {
        padding-inline: 1.25rem !important
    }
}

@media screen and (max-width: 48rem) {
    .blog-search__container {
        background: var(--c-white)
    }

    .blog-search {
        display: flex;
        flex-direction: column
    }

    .blog-search__sidebar {
        display: none
    }

    .blog-search__results {
        padding-right: 0;
        padding-top: 1.875rem
    }

    .blog-search__mobile-filters {
        display: flex;
        justify-content: space-between
    }

    .blog-search__sidebar--mobile {
        background-color: var(--c-navy-blue);
        flex-direction: column;
        height: 100dvh;
        left: 0;
        overflow: hidden;
        padding: 0;
        padding-inline: 0;
        position: fixed;
        top: 0;
        width: 100dvw;
        z-index: 10001
    }

        .blog-search__sidebar--mobile.show-mobile {
            display: flex !important
        }
}

@media screen and (max-width: 62.5rem) {
    .article-card {
        flex-direction: column !important
    }
}

.article-card__content {
    --flex-gap: .3125rem
}

.article-card__image {
    aspect-ratio: 5/2;
    height: 12.5rem;
    -o-object-fit: cover;
    object-fit: cover;
    width: 21.875rem
}

@media screen and (max-width: 62.5rem) {
    .article-card__image {
        aspect-ratio: 4/2;
        height: auto;
        width: 100%
    }
}

.article-card__date {
    color: var(--c-grey-1);
    font-family: var(--font-primary);
    font-size: 1rem;
    font-weight: 400
}

.article-card__category {
    font-family: var(--font-primary);
    font-size: .875rem;
    font-weight: 600;
    text-transform: uppercase
}

.article-card__summary {
    margin: 0;
    padding-top: 1rem
}

.blog-content {
    --flex-align-vertical: normal;
    --flex-gap: 3.75rem
}

.blog-content__body {
    display: grid;
    gap: 1.875rem;
    grid-template-columns: 11.75rem 1fr
}

    .blog-content__body p img {
        height: auto;
        max-width: 100%
    }

@media screen and (max-width: 62rem) {
    .blog-content__body {
        display: flex;
        flex-direction: column;
        flex-direction: column-reverse
    }
}

.blog-content__categories, .blog-content__date, .blog-content__tag {
    color: var(--c-grey-1);
    font-family: var(--font-primary)
}

.blog-content__date {
    font-weight: 400
}

.blog-content__categories {
    font-size: .875rem;
    font-weight: 600;
    text-transform: uppercase
}

.blog-content__category:hover {
    color: var(--text-hover-color,var(--c-burnt-orange));
    text-decoration: underline
}

.blog-content__tags {
    --flex-align-vertical: normal;
    flex-wrap: wrap
}

.blog-content__tag {
    background-color: var(--c-white-sands);
    border-radius: .3125rem;
    padding: .3125rem .625rem;
    transition: all .3s ease
}

    .blog-content__tag:hover {
        background-color: var(--c-grey-3)
    }

.blog-content__sharing {
    flex-wrap: wrap
}

.author__image-container {
    border-radius: 50%;
    height: 3.125rem;
    overflow: hidden;
    width: 3.125rem
}

.author__image {
    display: block;
    height: auto;
    width: 100%
}

.author__name {
    color: var(--c-grey-1);
    font-family: var(--font-primary);
    font-size: 1rem;
    font-weight: 600
}

.social-share {
    --flex-align-vertical: center;
    --flex-align-horizontal: center;
    background-color: var(--c-navy-blue);
    border: none;
    color: var(--c-white);
    cursor: pointer;
    height: 3.125rem;
    transition: all .3s ease;
    width: 3.125rem
}

    .social-share svg {
        height: 50%;
        width: auto
    }

    .social-share:hover {
        color: var(--c-nectar-orange)
    }

.blog-listing-collection {
    padding-block: 3.75rem
}

    .blog-listing-collection .cta {
        width: -moz-fit-content;
        width: fit-content
    }

.blog-listing-collection__container {
    align-items: flex-start !important
}

.blog-listing-collection__header {
    width: 100%
}

@media screen and (max-width: 30rem) {
    .blog-listing-collection__header {
        flex-direction: column;
        gap: 1.5rem !important
    }

        .blog-listing-collection__header .cta {
            max-width: 100%;
            width: 100%
        }
}

.blog-listing-collection__title {
    --flex-align-vertical: flex-start;
    flex: 1
}

    .blog-listing-collection__title span {
        font-size: 1.125rem;
        font-weight: 400
    }

.blog-listing-collection__body {
    --flex-align-vertical: flex-start;
    width: 100%
}

.blog-listing-collection__card {
    border: 0
}

    .blog-listing-collection__card span {
        text-transform: uppercase
    }

        .blog-listing-collection__card span:hover {
            color: var(--text-hover-color);
            text-decoration: underline
        }

    .blog-listing-collection__card p {
        margin: 0
    }

    .blog-listing-collection__card .card__content {
        padding-inline: 0
    }

    .blog-listing-collection__card .card__image {
        height: auto;
        -o-object-fit: cover;
        object-fit: cover;
        width: 100%
    }

    .blog-listing-collection__card-title:hover h4, .blog-listing-collection__card:has(.card__image:hover) .blog-listing-collection__card-title h4 {
        color: var(--text-hover-color) !important;
        text-decoration: underline
    }

.blog-listing-collection__card-content {
    align-items: flex-start !important
}

.form-placeholder {
    background-color: var(--c-grey-5);
    text-align: center
}

.form-placeholder__icon {
    font-size: 2.25rem;
    line-height: 1
}

.person-card .card__actions {
    --card-actions-padding-block: var(--space-2);
    background-color: var(--c-grey-5);
    color: var(--c-navy-blue);
    flex: 0
}

.person-card .card__content {
    --card-padding-block: var(--space-2);
    flex: 1
}

.person-card svg {
    color: var(--c-navy-blue)
}

.download-banner {
    background-color: var(--c-grey-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    padding: 2rem
}

@media screen and (min-width: 720px) {
    .download-banner {
        align-items: center;
        flex-direction: row;
        justify-content: space-between
    }
}

.download-banner__content {
    align-items: center;
    display: flex;
    gap: var(--space-2)
}

.download-banner__icon {
    font-size: 2.5rem;
    line-height: 1
}

.download-banner__title {
    color: var(--heading-color);
    font-size: var(--ts-body-large);
    font-weight: 700
}

.download-banner__action {
    flex: 1
}

    .download-banner__action > * {
        max-width: 100%
    }

@media screen and (min-width: 720px) {
    .download-banner__action {
        flex: 0 0 auto
    }
}

.iframe-wrapper {
    padding-top: 50%;
    position: relative
}

.iframe-wrapper--portrait {
    padding-top: calc(142.45161% + 2rem)
}

.iframe-wrapper--landscape {
    padding-top: calc(70.69555% + 2rem)
}

.iframe-wrapper > .spinner {
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%)
}

.iframe-container {
    background: transparent;
    display: flex;
    flex-direction: column;
    height: 100%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%
}

    .iframe-container > iframe {
        border: 0;
        flex-grow: 1
    }

.countdown-wrapper {
    --countdown-font-size: var(--ts-heading-2);
    --countdown-content-size: 4.5rem;
    --countdown-gap: var(--space-1)
}

.countdown-full, .countdown-wrapper {
    display: flex;
    justify-content: center
}

.countdown-full {
    align-items: center;
    background-color: #00000080;
    border-radius: var(--radius-default);
    flex-wrap: wrap;
    gap: var(--countdown-gap);
    padding: var(--space-1);
    position: relative
}

@media (max-width: 576px) {
    .countdown-full {
        --countdown-gap: 0
    }

        .countdown-full .countdown {
            --countdown-content-size: 3.5rem;
            font-size: var(--ts-heading-2)
        }

        .countdown-full .countdown__image {
            max-height: 40px
        }

        .countdown-full .countdown__divider {
            height: 1.6rem;
            margin-top: .9rem
        }
}

.countdown {
    --countdown-font-size: inherit;
    align-items: center;
    color: var(--text-color);
    display: flex;
    flex-wrap: wrap;
    font-family: var(--font-primary);
    font-size: var(--countdown-font-size);
    gap: var(--countdown-gap);
    justify-content: center
}

.countdown__image {
    height: auto;
    max-height: 80px;
    max-width: 100%
}

.countdown__block {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.countdown__content {
    display: inline-block;
    font-family: var(--font-primary);
    min-width: var(--countdown-content-size);
    text-align: center;
    width: auto
}

.countdown__divider {
    align-self: baseline;
    border-left: 1px solid var(--c-off-white);
    height: 2.5rem;
    margin-top: 1.5rem;
    opacity: .4
}

.countdown__text {
    color: var(--text-color);
    font-size: var(--ts-tiny);
    font-weight: 500
}

.payment-plan-card {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%
}

.payment-plan-card__loader {
    align-items: center;
    background: var(--c-white);
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 5
}

.payment-plan__list {
    margin: 0 0 var(--space-1) 0;
    padding: 0 0 0 22px
}

.payment-plan__list-item {
    padding-bottom: var(--space-1);
    position: relative
}

    .payment-plan__list-item:not(:last-of-type):before {
        background-color: var(--c-grey-3);
        content: "";
        height: 100%;
        left: -18px;
        position: absolute;
        top: 12px;
        width: 2px;
        z-index: 1
    }

    .payment-plan__list-item:after {
        background: var(--c-grey-3);
        border-radius: 50%;
        box-shadow: 0 0 0 4px #fff;
        content: "";
        height: 10px;
        left: -22px;
        position: absolute;
        top: 7px;
        width: 10px;
        z-index: 2
    }

.payment-plan__list-item-content {
    display: flex;
    flex-direction: row
}

    .payment-plan__list-item-content > :first-child {
        flex: 1
    }

.radio-card-group {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.radio-card-group__input {
    left: 0;
    opacity: 0;
    position: absolute
}

.radio-card {
    background-color: var(--c-white);
    cursor: pointer;
    display: flex;
    flex-direction: row;
    gap: .75rem;
    padding: var(--space-2);
    position: relative
}

.radio-card__content {
    flex: 1
}

.radio-card__logo {
    max-width: 5rem;
    padding-top: var(--space-05)
}

.radio-card:before {
    background-color: var(--c-grey-5);
    border: 1px solid var(--c-grey-3);
    border-radius: 50%;
    content: "";
    height: 1.25rem;
    left: 0;
    position: relative;
    top: .25rem;
    width: 1.25rem;
    z-index: 5
}

.radio-card-group__input:checked + .radio-card:before {
    border-color: var(--c-navy-blue);
    border-width: 6px
}

.radio-card-group__input:checked + .radio-card {
    box-shadow: inset 0 0 0 2px var(--c-navy-blue)
}

.carousel {
    --swiper-navigation-color: var(--c-burnt-orange);
    --swiper-navigation-color: #fff;
    --swiper-navigation-size: var(--ts-body-large);
    position: relative
}

    .carousel .swiper-button-next, .carousel .swiper-button-prev {
        background: var(--c-burnt-orange);
        height: var(--space-6);
        margin-top: -2rem;
        width: var(--space-6)
    }

@media (max-width: 768px) {
    .carousel .swiper-button-next, .carousel .swiper-button-prev {
        height: var(--space-5);
        width: var(--space-5)
    }
}

.carousel .swiper {
    z-index: 0
}

@media (max-width: 480px) {
    .carousel.no-nav-mobile .swiper-button-next, .carousel.no-nav-mobile .swiper-button-prev {
        display: none
    }
}

.carousel .swiper-button-next:after, .carousel .swiper-button-prev:after {
    font-family: Font Awesome\ 5 Pro;
    font-size: var(--ts-body);
    font-weight: 300
}

/*adding for simple listing*/
.destination-collection .carousel .swiper .swiper-button-prev:after {
    /* content: "ï“";*/
    font-family: Font Awesome\ 5 Pro;
}

.carousel .swiper-button-prev:after:hover {
    transform: translateY(calc(50% - 144px))
}
/*adding for simple listing*/
.destination-collection .carousel .swiper .swiper-button-next::after {
    /*  content: "\f054";*/
    font-family: Font Awesome\ 5 Pro;
}

.masthead-carousel .swiper-button-next, .masthead-carousel .swiper-button-prev {
    background: transparent;
    transition: all .3s ease
}

    .masthead-carousel .swiper-button-next:after, .masthead-carousel .swiper-button-prev:after {
        color: var(--c-off-white);
        font-size: var(--ts-heading-4);
        font-weight: 500
    }

.masthead-carousel .swiper-button-prev {
    left: -1rem
}

    .masthead-carousel .swiper-button-prev:hover {
        background: rgba(0,0,0,.1);
        transform: translate(1rem)
    }

    .masthead-carousel .swiper-button-prev:after {
        /*  content: "ï“";*/
        left: 0
    }

.masthead-carousel .swiper-button-next {
    right: -1rem
}

    .masthead-carousel .swiper-button-next:hover {
        background: rgba(0,0,0,.1);
        transform: translate(-1rem)
    }

    .masthead-carousel .swiper-button-next:after {
        /* content: "ï”"*/
    }

.swiper-pagination-progressbar {
    background: rgba(0, 0, 0, 0.25);
}

.swiper-pagination-progressbar-fill {
    background: #007aff;
}

.autoplay-progress {
    align-items: center;
    bottom: 16px;
    color: var(--c-white);
    display: flex;
    font-weight: 700;
    height: 48px;
    justify-content: center;
    position: absolute;
    right: 16px;
    width: 48px;
    z-index: 10
}

@media (max-width: 60rem) {
    .autoplay-progress {
        display: none
    }
}

.autoplay-progress svg {
    --progress: 1;
    stroke-width: 4px;
    stroke: var(--c-burnt-orange);
    fill: none;
    stroke-dashoffset: calc(125.6px*(1 - var(--progress)));
    stroke-dasharray: 125.6;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: rotate(-90deg);
    width: 100%;
    z-index: 10
}

.autoplay-progress span {
    font-size: 12px;
    position: relative;
    z-index: 10
}

.responseiq-app-frame-container > iframe {
    bottom: 10px !important;
    left: 0 !important
}

@media screen and (max-width: 60.0625rem) {
    body[data-page-template-type=productPage]:has(.quick-nav__cta) .responseiq-app-frame-container > iframe {
        bottom: 102px !important
    }
}

.cx-webChat-btn-publicIframe {
    bottom: 10px !important;
    right: 13px !important
}

.cx-omni-publicIframe {
    bottom: 81px !important;
    right: 24px !important
}

.cx-webChat-publicIframe {
    bottom: 110px !important
}

@media screen and (max-width: 60.0625rem) {
    body[data-page-template-type=productPage]:has(.quick-nav__cta) .cx-webChat-btn-publicIframe {
        bottom: 102px !important;
        right: 13px !important
    }

    body[data-page-template-type=productPage]:has(.quick-nav__cta) .cx-omni-publicIframe {
        bottom: 173px !important;
        right: 24px !important
    }

    body[data-page-template-type=productPage]:has(.quick-nav__cta) .cx-webChat-publicIframe {
        bottom: 202px !important
    }
}

body.hide-vendor-widgets .cx-omni-publicIframe, body.hide-vendor-widgets .cx-webChat-btn-publicIframe, body.hide-vendor-widgets .cx-webChat-nudge-publicIframe, body.hide-vendor-widgets .cx-webChat-publicIframe, body.hide-vendor-widgets .responseiq-app-frame-container, body.hide-vendor-widgets .responseiq-app-frame-container > iframe {
    pointer-events: none !important;
    visibility: hidden !important
}

.agent-steps {
    --slice-gap: var(--space-3);
    background-color: var(--c-grey-5);
    counter-reset: step
}

.agent-steps__track {
    padding: 0;
    position: relative
}

    .agent-steps__track:before {
        background-color: var(--c-grey-3);
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        right: 0;
        top: 50%
    }

.agent-steps li {
    background-color: var(--c-grey-5);
    color: var(--c-grey-2);
    counter-increment: step;
    padding-inline: var(--space-2);
    position: relative;
    z-index: 1
}

    .agent-steps li:first-child {
        padding-inline-start: 0
    }

    .agent-steps li:last-child {
        padding-inline-end: 0
    }

    .agent-steps li:before {
        align-items: center;
        background-color: transparent;
        border: 2px solid var(--c-grey-2);
        border-radius: 100%;
        color: inherit;
        content: counter(step);
        display: inline-flex;
        flex: 0 0 30px;
        font-weight: 600;
        height: 30px;
        justify-content: center;
        width: 30px
    }

    .agent-steps li[data-current=true]:before {
        background-color: var(--c-navy-blue);
        border: none;
        color: var(--c-off-white)
    }

    .agent-steps li[data-current=true] {
        color: var(--c-navy-blue);
        font-weight: 700
    }

    .agent-steps li a, .agent-steps li span {
        white-space: nowrap
    }

    .agent-steps li a {
        color: var(--c-burnt-orange);
        font-weight: 600
    }

        .agent-steps li a:hover {
            text-decoration: underline
        }

    .agent-steps li[data-completed=true]:before {
        background-color: var(--c-burnt-orange);
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='11' fill='none'%3E%3Cpath fill='%23fff' d='m15 2-8.5 8.5a.594.594 0 0 1-.5.25.723.723 0 0 1-.531-.219l-4.5-4.5c-.292-.354-.292-.708 0-1.062.354-.292.708-.292 1.062 0L6 8.937 13.969.97c.354-.292.708-.292 1.062 0 .292.354.281.698-.031 1.031Z'/%3E%3C/svg%3E");
        background-position: 50%;
        background-repeat: no-repeat;
        border: none;
        color: var(--c-off-white);
        content: ""
    }

.agent-steps__mobile {
    display: none
}

@media screen and (max-width: 40rem) {
    .agent-steps {
        --slice-gap: var(--space-2) var(--space-4)
    }

    .agent-steps__mobile {
        align-items: center;
        display: flex;
        justify-content: center
    }

    .agent-steps li {
        padding-inline: var(--space-1)
    }

        .agent-steps li a, .agent-steps li span {
            clip: rect(0 0 0 0);
            border: 0;
            height: 0;
            margin: 0;
            overflow: hidden;
            padding: 0;
            position: absolute;
            width: 0
        }
}

.flex {
    align-items: var(--flex-align-vertical,center);
    display: flex;
    gap: var(--flex-gap,var(--space-3));
    justify-content: var(--flex-align-horizontal,flex-start)
}

    .flex[data-dir=rtl] {
        flex-direction: row-reverse
    }

    .flex[data-repel] {
        flex: auto;
        justify-content: var(--flex-align-horizontal,space-between)
    }

    .flex[data-space] {
        flex: auto;
        justify-content: space-around
    }

    .flex[data-column] {
        flex-direction: column
    }

    .flex[data-row] {
        flex-direction: row
    }

    .flex[data-wrap] {
        flex-wrap: wrap
    }

    .flex[data-fill] {
        flex: 1
    }

    .flex[data-justify-content-center] {
        justify-content: center
    }

    .flex[data-align-items-center] {
        align-items: center
    }

.grid {
    --cols: calc(var(--grid-max-cols, 3) + 1);
    --min: calc(var(--wrapper-width, 100%)/(var(--cols)));
    --max: calc(var(--wrapper-width, 100%)/(var(--cols) + 1));
    display: grid;
    gap: var(--grid-gap,var(--space-2-3));
    grid-auto-rows: max-content;
    grid-template-columns: repeat(var(--grid-max-cols,3),1fr)
}

    .grid[data-layout-mode=grid] > .card:nth-child(3n+1) {
        --card-index: 0
    }

    .grid[data-layout-mode=grid] > .card:nth-child(3n+2) {
        --card-index: 1
    }

    .grid[data-layout-mode=grid] > .card:nth-child(3n+3) {
        --card-index: 2
    }

@media screen and (min-width: 30.0625rem) and (max-width:66.25rem) {
    .grid {
        grid-template-columns: repeat(max(var(--grid-max-cols,3) - 1,1),1fr)
    }

        .grid > .card:nth-child(odd) {
            --card-index: 0
        }

        .grid > .card:nth-child(2n+2) {
            --card-index: 1
        }
}

@media screen and (max-width: 38rem) {
    .grid {
        grid-template-columns: 1fr
    }

        .grid .card {
            --card-index: 0
        }
}

.side-by-side {
    align-items: var(--sbs-align-vertical,center);
    display: flex;
    flex-direction: column;
    gap: var(--sbs-gap,var(--space-2-3));
    justify-content: var(--sbs-align-horizontal,stretch)
}

    .side-by-side .form-field__input > * {
        flex: 1
    }

@media screen and (max-width: 36rem) {
    .side-by-side-mobile {
        gap: .1rem !important;
        margin-bottom: .7rem !important
    }
}

@media screen and (min-width: 45rem) {
    .side-by-side {
        flex-direction: var(--sbs-dir,row)
    }

        .side-by-side[data-dir=rtl] {
            flex-direction: var(--sbs-dir,row-reverse)
        }

        .side-by-side > * {
            flex-grow: 1
        }

        .side-by-side > :first-child {
            flex-basis: var(--sbs-col-a-width,50%)
        }

        .side-by-side > :last-child {
            flex-basis: var(--sbs-col-b-width,50%)
        }
}

.sidebar {
    align-items: var(--sidebar-align-vertical,stretch);
    display: flex;
    flex-direction: column;
    gap: var(--sidebar-gap,var(--space-2-3));
    justify-content: var(--sidebar-align-horizontal,stretch)
}

@media screen and (min-width: 60rem) {
    .sidebar {
        flex-direction: var(--sidebar-dir,row)
    }

        .sidebar[data-dir=rtl] {
            flex-direction: var(--sidebar-dir,row-reverse)
        }

        .sidebar > * {
            flex-grow: 1
        }

        .sidebar > :first-child {
            flex-basis: var(--sidebar-col-b-width,calc(66.67% + (var(--sidebar-gap, var(--space-2-3)))*2*.3333))
        }

        .sidebar > :last-child, .sidebar[data-dir=rtl] > :first-child {
            flex-basis: var(--sidebar-col-a-width,calc(33.33% - (var(--sidebar-gap, var(--space-2-3)))*2*.3333))
        }

        .sidebar[data-dir=rtl] > :last-child {
            flex-basis: var(--sidebar-col-b-width,calc(66.67% + (var(--sidebar-gap, var(--space-2-3)))*2*.3333))
        }
}

.centered {
    align-items: center;
    display: flex;
    justify-content: center
}

    .centered > :first-child {
        margin-block: auto
    }

.flow:not(.flex) > :not(.hide-a11y) + * {
    margin-block-start: var(--flow-gap,var(--space-1))
}

.flow > .t-h4 + *, .flow > .t-h5 + *, .flow > h4 + *, .flow > h5 + * {
    margin-block-start: var(--flow-gap,var(--space-2))
}

.flow:not(.flow-full) > p {
    max-width: 52.6875rem
}

.flow > p.ts-body-large {
    max-width: 39.0625rem
}

.flow:not(.flex) > fieldset > :not(.hide-a11y) + * {
    margin-block-start: var(--flow-gap,var(--space-1))
}

.hide-a11y {
    clip: rect(0 0 0 0);
    border: 0;
    height: 0;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 0
}

.image-shade {
    position: relative
}

    .image-shade:after {
        background: var(--shade-gradient,linear-gradient(180deg,transparent 50%,rgba(0,0,0,.64) 100%));
        content: "";
        height: 100%;
        left: 0;
        pointer-events: none;
        position: absolute;
        top: 0;
        width: 100%
    }

.lock-scroll {
    overflow: hidden;
    pointer-events: none
}

.clip-x {
    overflow-x: hidden
}

.d-block {
    display: block
}

.d-inline {
    display: inline;
}

.d-flex {
    display: flex
}

.p-relative {
    position: relative
}

.desktop-only {
    display: none
}

@media screen and (min-width: 60.0625rem) {
    .desktop-only {
        display: initial
    }
}

.slide-up-enter-active, .slide-up-leave-active {
    transition: all .2s ease-out
}

.slide-up-enter-from {
    opacity: 0;
    transform: translateY(10px)
}

.slide-up-leave-to {
    opacity: 0;
    transform: translateY(-10px)
}

.slide-down-enter-active, .slide-down-leave-active {
    transition: all .2s ease-out
}

.slide-down-enter-from {
    opacity: 0;
    transform: translateY(-10px)
}

.slide-down-leave-to {
    opacity: 0;
    transform: translateY(10px)
}

.pointer {
    cursor: pointer
}

.disabled {
    cursor: not-allowed
}

:root {
    --font-headline: ivypresto-headline,serif;
    --font-primary: proxima-nova,sans-serif
}

.font-headline {
    font-family: var(--font-headline)
}

.font-primary {
    font-family: var(--font-primary)
}

.font-underline {
    text-decoration: underline
}

:root {
    --ts-body: 1rem;
    --ts-body-large: clamp(1rem,.9583333333rem + (.0020833333 * 100vw),1.125rem);
    --ts-heading-hero: clamp(3rem,1.8rem + (.048 * 100vw),4.5rem);
    --ts-heading-1: clamp(3rem,2.75rem + (.0125 * 100vw),3.75rem);
    --ts-heading-2: clamp(2rem,1.6666666667rem + (.0166666667 * 100vw),3rem);
    --ts-heading-3: clamp(1.5rem,1.3333333333rem + (.0083333333 * 100vw),2rem);
    --ts-heading-4: clamp(1.3125rem,1.25rem + (.003125 * 100vw),1.5rem);
    --ts-heading-5: 1.3125rem;
    --ts-label: .875rem;
    --ts-tiny: .75rem;
    --ts-micro: .6875rem
}

.ts-body {
    font-size: var(--ts-body)
}

.ts-body-large {
    font-size: var(--ts-body-large)
}

.ts-heading-hero {
    font-size: var(--ts-heading-hero)
}

.ts-heading-1 {
    font-size: var(--ts-heading-1)
}

.ts-heading-2 {
    font-size: var(--ts-heading-2)
}

.ts-heading-3 {
    font-size: var(--ts-heading-3)
}

.ts-heading-4 {
    font-size: var(--ts-heading-4)
}

.ts-heading-5 {
    font-size: var(--ts-heading-5)
}

.ts-label {
    font-size: var(--ts-label)
}

.ts-tiny {
    font-size: var(--ts-tiny)
}

.ts-micro {
    font-size: var(--ts-micro)
}

:root {
    --lh-body: 1.5;
    --lh-body-large: 1.4;
    --lh-heading-hero: 1;
    --lh-heading-1: 1.1;
    --lh-heading-2: 1.1;
    --lh-heading-3: 1.3;
    --lh-heading-4: 1.4;
    --lh-heading-5: 1.3;
    --lh-label: 1
}

.lh-body {
    line-height: var(--lh-body)
}

.lh-body-large {
    line-height: var(--lh-body-large)
}

.lh-heading-hero {
    line-height: var(--lh-heading-hero)
}

.lh-heading-1 {
    line-height: var(--lh-heading-1)
}

.lh-heading-2 {
    line-height: var(--lh-heading-2)
}

.lh-heading-3 {
    line-height: var(--lh-heading-3)
}

.lh-heading-4 {
    line-height: var(--lh-heading-4)
}

.lh-heading-5 {
    line-height: var(--lh-heading-5)
}

.lh-label {
    line-height: var(--lh-label)
}

:root {
    --c-near-black: #0d0d0d;
    --c-white: #fff;
    --c-off-white: #fafafa;
    --c-grey-1: #666;
    --c-grey-2: #999;
    --c-grey-3: #ccc;
    --c-grey-4: #eee;
    --c-grey-5: #f9f9f9;
    --c-warm-gold: #cd9c54;
    --c-navy-blue: #142e4a;
    --c-white-sands: #eceae6;
    --c-forest-green: #304636;
    --c-deep-blue: #1f1d3a;
    --c-moroccan-teal: #224d67;
    --c-rectory-red: #9e293c;
    --c-burnt-orange: #c2502e;
    --c-rich-burgundy: #82223a;
    --c-moss-green: #9dacaa;
    --c-sage-green: #c3c5aa;
    --c-warm-beige: #e3d4d3;
    --c-cold-stone: #c1b9ad;
    --c-warm-white: #e3d4d3;
    --c-cool-lilac: #c5bcce;
    --c-strong-red: #b32641;
    --c-nectar-orange: #eaab3b;
    --c-turquoise-sea: #3d8aa7;
    --c-happy-purple: #8b599a;
    --c-seance: #6b207d;
    --c-amb-primary: #632579;
    --c-success: #008a4a;
    --c-error: #d00;
    --c-warning: #ffa300
}

.text-near-black {
    --text-color: var(--c-near-black)
}

.text-white {
    --text-color: var(--c-white)
}

.text-off-white {
    --text-color: var(--c-off-white)
}

.text-grey-1 {
    --text-color: var(--c-grey-1)
}

.text-grey-2 {
    --text-color: var(--c-grey-2)
}

.text-grey-3 {
    --text-color: var(--c-grey-3)
}

.text-grey-4 {
    --text-color: var(--c-grey-4)
}

.text-grey-5 {
    --text-color: var(--c-grey-5)
}

.text-warm-gold {
    --text-color: var(--c-warm-gold)
}

.text-navy-blue {
    --text-color: var(--c-navy-blue)
}

.text-white-sands {
    --text-color: var(--c-white-sands)
}

.text-forest-green {
    --text-color: var(--c-forest-green)
}

.text-deep-blue {
    --text-color: var(--c-deep-blue)
}

.text-moroccan-teal {
    --text-color: var(--c-moroccan-teal)
}

.text-rectory-red {
    --text-color: var(--c-rectory-red)
}

.text-burnt-orange {
    --text-color: var(--c-burnt-orange)
}

.text-rich-burgundy {
    --text-color: var(--c-rich-burgundy)
}

.text-moss-green {
    --text-color: var(--c-moss-green)
}

.text-sage-green {
    --text-color: var(--c-sage-green)
}

.text-warm-beige {
    --text-color: var(--c-warm-beige)
}

.text-cold-stone {
    --text-color: var(--c-cold-stone)
}

.text-warm-white {
    --text-color: var(--c-warm-white)
}

.text-cool-lilac {
    --text-color: var(--c-cool-lilac)
}

.text-strong-red {
    --text-color: var(--c-strong-red)
}

.text-nectar-orange {
    --text-color: var(--c-nectar-orange)
}

.text-turquoise-sea {
    --text-color: var(--c-turquoise-sea)
}

.text-happy-purple {
    --text-color: var(--c-happy-purple)
}

.text-seance {
    --text-color: var(--c-seance)
}

.text-amb-primary {
    --text-color: var(--c-amb-primary)
}

.text-success {
    --text-color: var(--c-success)
}

.text-error {
    --text-color: var(--c-error)
}

.text-warning {
    --text-color: var(--c-warning)
}

.bg-near-black {
    --bg-color: var(--c-near-black)
}

.bg-white {
    --bg-color: var(--c-white)
}

.bg-off-white {
    --bg-color: var(--c-off-white)
}

.bg-grey-1 {
    --bg-color: var(--c-grey-1)
}

.bg-grey-2 {
    --bg-color: var(--c-grey-2)
}

.bg-grey-3 {
    --bg-color: var(--c-grey-3)
}

.bg-grey-4 {
    --bg-color: var(--c-grey-4)
}

.bg-grey-5 {
    --bg-color: var(--c-grey-5)
}

.bg-warm-gold {
    --bg-color: var(--c-warm-gold)
}

.bg-navy-blue {
    --bg-color: var(--c-navy-blue)
}

.bg-white-sands {
    --bg-color: var(--c-white-sands)
}

.bg-forest-green {
    --bg-color: var(--c-forest-green)
}

.bg-deep-blue {
    --bg-color: var(--c-deep-blue)
}

.bg-moroccan-teal {
    --bg-color: var(--c-moroccan-teal)
}

.bg-rectory-red {
    --bg-color: var(--c-rectory-red)
}

.bg-burnt-orange {
    --bg-color: var(--c-burnt-orange)
}

.bg-rich-burgundy {
    --bg-color: var(--c-rich-burgundy)
}

.bg-moss-green {
    --bg-color: var(--c-moss-green)
}

.bg-sage-green {
    --bg-color: var(--c-sage-green)
}

.bg-warm-beige {
    --bg-color: var(--c-warm-beige)
}

.bg-cold-stone {
    --bg-color: var(--c-cold-stone)
}

.bg-warm-white {
    --bg-color: var(--c-warm-white)
}

.bg-cool-lilac {
    --bg-color: var(--c-cool-lilac)
}

.bg-strong-red {
    --bg-color: var(--c-strong-red)
}

.bg-nectar-orange {
    --bg-color: var(--c-nectar-orange)
}

.bg-turquoise-sea {
    --bg-color: var(--c-turquoise-sea)
}

.bg-happy-purple {
    --bg-color: var(--c-happy-purple)
}

.bg-seance {
    --bg-color: var(--c-seance)
}

.bg-amb-primary {
    --bg-color: var(--c-amb-primary)
}

.bg-success {
    --bg-color: var(--c-success)
}

.bg-error {
    --bg-color: var(--c-error)
}

.bg-warning {
    --bg-color: var(--c-warning)
}

.theme-light, .theme-mid {
    --bg-color: #fff;
    --text-color: var(--c-grey-1);
    --heading-color: var(--c-navy-blue);
    --text-hover-color: var(--c-burnt-orange)
}

.theme-dark {
    --bg-color: var(--c-navy-blue);
    --text-color: var(--c-off-white);
    --heading-color: var(--c-off-white);
    --text-hover-color: var(--c-burnt-orange)
}

.theme-mid {
    --bg-color: var(--c-white-sands)
}

:root {
    --space-nil: 0;
    --space-auto: auto;
    --space-05: .3125rem;
    --space-1: .625rem;
    --space-2: 1.25rem;
    --space-3: 1.875rem;
    --space-4: 2.5rem;
    --space-5: 3.125rem;
    --space-6: 3.75rem;
    --space-7: 4.375rem;
    --space-8: 5rem;
    --space-9: 5.625rem;
    --space-10: 6.25rem;
    --space-11: 6.875rem;
    --space-12: 7.5rem;
    --space-13: 8.125rem;
    --space-1-3: clamp(.625rem,.2083333333rem + (.0208333333 * 100vw),1.875rem);
    --space-2-3: clamp(1.25rem,1.0416666667rem + (.0104166667 * 100vw),1.875rem);
    --space-2-5: clamp(1.25rem,.625rem + (.03125 * 100vw),3.125rem);
    --space-5-8: clamp(3.125rem,2.5rem + (.03125 * 100vw),5rem)
}

.m-nil {
    margin: var(--space-nil)
}

.m-auto {
    margin: var(--space-auto)
}

.m-05 {
    margin: var(--space-05)
}

.m-1 {
    margin: var(--space-1)
}

.m-2 {
    margin: var(--space-2)
}

.m-3 {
    margin: var(--space-3)
}

.m-4 {
    margin: var(--space-4)
}

.m-5 {
    margin: var(--space-5)
}

.m-6 {
    margin: var(--space-6)
}

.m-7 {
    margin: var(--space-7)
}

.m-8 {
    margin: var(--space-8)
}

.m-9 {
    margin: var(--space-9)
}

.m-10 {
    margin: var(--space-10)
}

.m-11 {
    margin: var(--space-11)
}

.m-12 {
    margin: var(--space-12)
}

.m-13 {
    margin: var(--space-13)
}

.m-1-3 {
    margin: var(--space-1-3)
}

.m-2-3 {
    margin: var(--space-2-3)
}

.m-2-5 {
    margin: var(--space-2-5)
}

.m-5-8 {
    margin: var(--space-5-8)
}

.mi-nil {
    margin-inline: var(--space-nil)
}

.mi-auto {
    margin-inline: var(--space-auto)
}

.mi-05 {
    margin-inline: var(--space-05)
}

.mi-1 {
    margin-inline: var(--space-1)
}

.mi-2 {
    margin-inline: var(--space-2)
}

.mi-3 {
    margin-inline: var(--space-3)
}

.mi-4 {
    margin-inline: var(--space-4)
}

.mi-5 {
    margin-inline: var(--space-5)
}

.mi-6 {
    margin-inline: var(--space-6)
}

.mi-7 {
    margin-inline: var(--space-7)
}

.mi-8 {
    margin-inline: var(--space-8)
}

.mi-9 {
    margin-inline: var(--space-9)
}

.mi-10 {
    margin-inline: var(--space-10)
}

.mi-11 {
    margin-inline: var(--space-11)
}

.mi-12 {
    margin-inline: var(--space-12)
}

.mi-13 {
    margin-inline: var(--space-13)
}

.mi-1-3 {
    margin-inline: var(--space-1-3)
}

.mi-2-3 {
    margin-inline: var(--space-2-3)
}

.mi-2-5 {
    margin-inline: var(--space-2-5)
}

.mi-5-8 {
    margin-inline: var(--space-5-8)
}

.mis-nil {
    margin-inline-start: var(--space-nil)
}

.mis-auto {
    margin-inline-start: var(--space-auto)
}

.mis-05 {
    margin-inline-start: var(--space-05)
}

.mis-1 {
    margin-inline-start: var(--space-1)
}

.mis-2 {
    margin-inline-start: var(--space-2)
}

.mis-3 {
    margin-inline-start: var(--space-3)
}

.mis-4 {
    margin-inline-start: var(--space-4)
}

.mis-5 {
    margin-inline-start: var(--space-5)
}

.mis-6 {
    margin-inline-start: var(--space-6)
}

.mis-7 {
    margin-inline-start: var(--space-7)
}

.mis-8 {
    margin-inline-start: var(--space-8)
}

.mis-9 {
    margin-inline-start: var(--space-9)
}

.mis-10 {
    margin-inline-start: var(--space-10)
}

.mis-11 {
    margin-inline-start: var(--space-11)
}

.mis-12 {
    margin-inline-start: var(--space-12)
}

.mis-13 {
    margin-inline-start: var(--space-13)
}

.mis-1-3 {
    margin-inline-start: var(--space-1-3)
}

.mis-2-3 {
    margin-inline-start: var(--space-2-3)
}

.mis-2-5 {
    margin-inline-start: var(--space-2-5)
}

.mis-5-8 {
    margin-inline-start: var(--space-5-8)
}

.mie-nil {
    margin-inline-end: var(--space-nil)
}

.mie-auto {
    margin-inline-end: var(--space-auto)
}

.mie-05 {
    margin-inline-end: var(--space-05)
}

.mie-1 {
    margin-inline-end: var(--space-1)
}

.mie-2 {
    margin-inline-end: var(--space-2)
}

.mie-3 {
    margin-inline-end: var(--space-3)
}

.mie-4 {
    margin-inline-end: var(--space-4)
}

.mie-5 {
    margin-inline-end: var(--space-5)
}

.mie-6 {
    margin-inline-end: var(--space-6)
}

.mie-7 {
    margin-inline-end: var(--space-7)
}

.mie-8 {
    margin-inline-end: var(--space-8)
}

.mie-9 {
    margin-inline-end: var(--space-9)
}

.mie-10 {
    margin-inline-end: var(--space-10)
}

.mie-11 {
    margin-inline-end: var(--space-11)
}

.mie-12 {
    margin-inline-end: var(--space-12)
}

.mie-13 {
    margin-inline-end: var(--space-13)
}

.mie-1-3 {
    margin-inline-end: var(--space-1-3)
}

.mie-2-3 {
    margin-inline-end: var(--space-2-3)
}

.mie-2-5 {
    margin-inline-end: var(--space-2-5)
}

.mie-5-8 {
    margin-inline-end: var(--space-5-8)
}

.mb-nil {
    margin-block: var(--space-nil)
}

.mb-auto {
    margin-block: var(--space-auto)
}

.mb-05 {
    margin-block: var(--space-05)
}

.mb-1 {
    margin-block: var(--space-1)
}

.mb-2 {
    margin-block: var(--space-2)
}

.mb-3 {
    margin-block: var(--space-3)
}

.mb-4 {
    margin-block: var(--space-4)
}

.mb-5 {
    margin-block: var(--space-5)
}

.mb-6 {
    margin-block: var(--space-6)
}

.mb-7 {
    margin-block: var(--space-7)
}

.mb-8 {
    margin-block: var(--space-8)
}

.mb-9 {
    margin-block: var(--space-9)
}

.mb-10 {
    margin-block: var(--space-10)
}

.mb-11 {
    margin-block: var(--space-11)
}

.mb-12 {
    margin-block: var(--space-12)
}

.mb-13 {
    margin-block: var(--space-13)
}

.mb-1-3 {
    margin-block: var(--space-1-3)
}

.mb-2-3 {
    margin-block: var(--space-2-3)
}

.mb-2-5 {
    margin-block: var(--space-2-5)
}

.mb-5-8 {
    margin-block: var(--space-5-8)
}

.mbs-nil {
    margin-block-start: var(--space-nil)
}

.mbs-auto {
    margin-block-start: var(--space-auto)
}

.mbs-05 {
    margin-block-start: var(--space-05)
}

.mbs-1 {
    margin-block-start: var(--space-1)
}

.mbs-2 {
    margin-block-start: var(--space-2)
}

.mbs-3 {
    margin-block-start: var(--space-3)
}

.mbs-4 {
    margin-block-start: var(--space-4)
}

.mbs-5 {
    margin-block-start: var(--space-5)
}

.mbs-6 {
    margin-block-start: var(--space-6)
}

.mbs-7 {
    margin-block-start: var(--space-7)
}

.mbs-8 {
    margin-block-start: var(--space-8)
}

.mbs-9 {
    margin-block-start: var(--space-9)
}

.mbs-10 {
    margin-block-start: var(--space-10)
}

.mbs-11 {
    margin-block-start: var(--space-11)
}

.mbs-12 {
    margin-block-start: var(--space-12)
}

.mbs-13 {
    margin-block-start: var(--space-13)
}

.mbs-1-3 {
    margin-block-start: var(--space-1-3)
}

.mbs-2-3 {
    margin-block-start: var(--space-2-3)
}

.mbs-2-5 {
    margin-block-start: var(--space-2-5)
}

.mbs-5-8 {
    margin-block-start: var(--space-5-8)
}

.mbe-nil {
    margin-block-end: var(--space-nil)
}

.mbe-auto {
    margin-block-end: var(--space-auto)
}

.mbe-05 {
    margin-block-end: var(--space-05)
}

.mbe-1 {
    margin-block-end: var(--space-1)
}

.mbe-2 {
    margin-block-end: var(--space-2)
}

.mbe-3 {
    margin-block-end: var(--space-3)
}

.mbe-4 {
    margin-block-end: var(--space-4)
}

.mbe-5 {
    margin-block-end: var(--space-5)
}

.mbe-6 {
    margin-block-end: var(--space-6)
}

.mbe-7 {
    margin-block-end: var(--space-7)
}

.mbe-8 {
    margin-block-end: var(--space-8)
}

.mbe-9 {
    margin-block-end: var(--space-9)
}

.mbe-10 {
    margin-block-end: var(--space-10)
}

.mbe-11 {
    margin-block-end: var(--space-11)
}

.mbe-12 {
    margin-block-end: var(--space-12)
}

.mbe-13 {
    margin-block-end: var(--space-13)
}

.mbe-1-3 {
    margin-block-end: var(--space-1-3)
}

.mbe-2-3 {
    margin-block-end: var(--space-2-3)
}

.mbe-2-5 {
    margin-block-end: var(--space-2-5)
}

.mbe-5-8 {
    margin-block-end: var(--space-5-8)
}

.p-nil {
    padding: var(--space-nil)
}

.p-auto {
    padding: var(--space-auto)
}

.p-05 {
    padding: var(--space-05)
}

.p-1 {
    padding: var(--space-1)
}

.p-2 {
    padding: var(--space-2)
}

.p-3 {
    padding: var(--space-3)
}

.p-4 {
    padding: var(--space-4)
}

.p-5 {
    padding: var(--space-5)
}

.p-6 {
    padding: var(--space-6)
}

.p-7 {
    padding: var(--space-7)
}

.p-8 {
    padding: var(--space-8)
}

.p-9 {
    padding: var(--space-9)
}

.p-10 {
    padding: var(--space-10)
}

.p-11 {
    padding: var(--space-11)
}

.p-12 {
    padding: var(--space-12)
}

.p-13 {
    padding: var(--space-13)
}

.p-1-3 {
    padding: var(--space-1-3)
}

.p-2-3 {
    padding: var(--space-2-3)
}

.p-2-5 {
    padding: var(--space-2-5)
}

.p-5-8 {
    padding: var(--space-5-8)
}

.pi-nil {
    padding-inline: var(--space-nil)
}

.pi-auto {
    padding-inline: var(--space-auto)
}

.pi-05 {
    padding-inline: var(--space-05)
}

.pi-1 {
    padding-inline: var(--space-1)
}

.pi-2 {
    padding-inline: var(--space-2)
}

.pi-3 {
    padding-inline: var(--space-3)
}

.pi-4 {
    padding-inline: var(--space-4)
}

.pi-5 {
    padding-inline: var(--space-5)
}

.pi-6 {
    padding-inline: var(--space-6)
}

.pi-7 {
    padding-inline: var(--space-7)
}

.pi-8 {
    padding-inline: var(--space-8)
}

.pi-9 {
    padding-inline: var(--space-9)
}

.pi-10 {
    padding-inline: var(--space-10)
}

.pi-11 {
    padding-inline: var(--space-11)
}

.pi-12 {
    padding-inline: var(--space-12)
}

.pi-13 {
    padding-inline: var(--space-13)
}

.pi-1-3 {
    padding-inline: var(--space-1-3)
}

.pi-2-3 {
    padding-inline: var(--space-2-3)
}

.pi-2-5 {
    padding-inline: var(--space-2-5)
}

.pi-5-8 {
    padding-inline: var(--space-5-8)
}

.pis-nil {
    padding-inline-start: var(--space-nil)
}

.pis-auto {
    padding-inline-start: var(--space-auto)
}

.pis-05 {
    padding-inline-start: var(--space-05)
}

.pis-1 {
    padding-inline-start: var(--space-1)
}

.pis-2 {
    padding-inline-start: var(--space-2)
}

.pis-3 {
    padding-inline-start: var(--space-3)
}

.pis-4 {
    padding-inline-start: var(--space-4)
}

.pis-5 {
    padding-inline-start: var(--space-5)
}

.pis-6 {
    padding-inline-start: var(--space-6)
}

.pis-7 {
    padding-inline-start: var(--space-7)
}

.pis-8 {
    padding-inline-start: var(--space-8)
}

.pis-9 {
    padding-inline-start: var(--space-9)
}

.pis-10 {
    padding-inline-start: var(--space-10)
}

.pis-11 {
    padding-inline-start: var(--space-11)
}

.pis-12 {
    padding-inline-start: var(--space-12)
}

.pis-13 {
    padding-inline-start: var(--space-13)
}

.pis-1-3 {
    padding-inline-start: var(--space-1-3)
}

.pis-2-3 {
    padding-inline-start: var(--space-2-3)
}

.pis-2-5 {
    padding-inline-start: var(--space-2-5)
}

.pis-5-8 {
    padding-inline-start: var(--space-5-8)
}

.pie-nil {
    padding-inline-end: var(--space-nil)
}

.pie-auto {
    padding-inline-end: var(--space-auto)
}

.pie-05 {
    padding-inline-end: var(--space-05)
}

.pie-1 {
    padding-inline-end: var(--space-1)
}

.pie-2 {
    padding-inline-end: var(--space-2)
}

.pie-3 {
    padding-inline-end: var(--space-3)
}

.pie-4 {
    padding-inline-end: var(--space-4)
}

.pie-5 {
    padding-inline-end: var(--space-5)
}

.pie-6 {
    padding-inline-end: var(--space-6)
}

.pie-7 {
    padding-inline-end: var(--space-7)
}

.pie-8 {
    padding-inline-end: var(--space-8)
}

.pie-9 {
    padding-inline-end: var(--space-9)
}

.pie-10 {
    padding-inline-end: var(--space-10)
}

.pie-11 {
    padding-inline-end: var(--space-11)
}

.pie-12 {
    padding-inline-end: var(--space-12)
}

.pie-13 {
    padding-inline-end: var(--space-13)
}

.pie-1-3 {
    padding-inline-end: var(--space-1-3)
}

.pie-2-3 {
    padding-inline-end: var(--space-2-3)
}

.pie-2-5 {
    padding-inline-end: var(--space-2-5)
}

.pie-5-8 {
    padding-inline-end: var(--space-5-8)
}

.pb-nil {
    padding-block: var(--space-nil)
}

.pb-auto {
    padding-block: var(--space-auto)
}

.pb-05 {
    padding-block: var(--space-05)
}

.pb-1 {
    padding-block: var(--space-1)
}

.pb-2 {
    padding-block: var(--space-2)
}

.pb-3 {
    padding-block: var(--space-3)
}

.pb-4 {
    padding-block: var(--space-4)
}

.pb-5 {
    padding-block: var(--space-5)
}

.pb-6 {
    padding-block: var(--space-6)
}

.pb-7 {
    padding-block: var(--space-7)
}

.pb-8 {
    padding-block: var(--space-8)
}

.pb-9 {
    padding-block: var(--space-9)
}

.pb-10 {
    padding-block: var(--space-10)
}

.pb-11 {
    padding-block: var(--space-11)
}

.pb-12 {
    padding-block: var(--space-12)
}

.pb-13 {
    padding-block: var(--space-13)
}

.pb-1-3 {
    padding-block: var(--space-1-3)
}

.pb-2-3 {
    padding-block: var(--space-2-3)
}

.pb-2-5 {
    padding-block: var(--space-2-5)
}

.pb-5-8 {
    padding-block: var(--space-5-8)
}

.pbs-nil {
    padding-block-start: var(--space-nil)
}

.pbs-auto {
    padding-block-start: var(--space-auto)
}

.pbs-05 {
    padding-block-start: var(--space-05)
}

.pbs-1 {
    padding-block-start: var(--space-1)
}

.pbs-2 {
    padding-block-start: var(--space-2)
}

.pbs-3 {
    padding-block-start: var(--space-3)
}

.pbs-4 {
    padding-block-start: var(--space-4)
}

.pbs-5 {
    padding-block-start: var(--space-5)
}

.pbs-6 {
    padding-block-start: var(--space-6)
}

.pbs-7 {
    padding-block-start: var(--space-7)
}

.pbs-8 {
    padding-block-start: var(--space-8)
}

.pbs-9 {
    padding-block-start: var(--space-9)
}

.pbs-10 {
    padding-block-start: var(--space-10)
}

.pbs-11 {
    padding-block-start: var(--space-11)
}

.pbs-12 {
    padding-block-start: var(--space-12)
}

.pbs-13 {
    padding-block-start: var(--space-13)
}

.pbs-1-3 {
    padding-block-start: var(--space-1-3)
}

.pbs-2-3 {
    padding-block-start: var(--space-2-3)
}

.pbs-2-5 {
    padding-block-start: var(--space-2-5)
}

.pbs-5-8 {
    padding-block-start: var(--space-5-8)
}

.pbe-nil {
    padding-block-end: var(--space-nil)
}

.pbe-auto {
    padding-block-end: var(--space-auto)
}

.pbe-05 {
    padding-block-end: var(--space-05)
}

.pbe-1 {
    padding-block-end: var(--space-1)
}

.pbe-2 {
    padding-block-end: var(--space-2)
}

.pbe-3 {
    padding-block-end: var(--space-3)
}

.pbe-4 {
    padding-block-end: var(--space-4)
}

.pbe-5 {
    padding-block-end: var(--space-5)
}

.pbe-6 {
    padding-block-end: var(--space-6)
}

.pbe-7 {
    padding-block-end: var(--space-7)
}

.pbe-8 {
    padding-block-end: var(--space-8)
}

.pbe-9 {
    padding-block-end: var(--space-9)
}

.pbe-10 {
    padding-block-end: var(--space-10)
}

.pbe-11 {
    padding-block-end: var(--space-11)
}

.pbe-12 {
    padding-block-end: var(--space-12)
}

.pbe-13 {
    padding-block-end: var(--space-13)
}

.pbe-1-3 {
    padding-block-end: var(--space-1-3)
}

.pbe-2-3 {
    padding-block-end: var(--space-2-3)
}

.pbe-2-5 {
    padding-block-end: var(--space-2-5)
}

.pbe-5-8 {
    padding-block-end: var(--space-5-8)
}

.flex-gap-nil {
    --flex-gap: var(--space-nil)
}

.flex-gap-auto {
    --flex-gap: var(--space-auto)
}

.flex-gap-05 {
    --flex-gap: var(--space-05)
}

.flex-gap-1 {
    --flex-gap: var(--space-1)
}

.flex-gap-2 {
    --flex-gap: var(--space-2)
}

.flex-gap-3 {
    --flex-gap: var(--space-3)
}

.flex-gap-4 {
    --flex-gap: var(--space-4)
}

.flex-gap-5 {
    --flex-gap: var(--space-5)
}

.flex-gap-6 {
    --flex-gap: var(--space-6)
}

.flex-gap-7 {
    --flex-gap: var(--space-7)
}

.flex-gap-8 {
    --flex-gap: var(--space-8)
}

.flex-gap-9 {
    --flex-gap: var(--space-9)
}

.flex-gap-10 {
    --flex-gap: var(--space-10)
}

.flex-gap-11 {
    --flex-gap: var(--space-11)
}

.flex-gap-12 {
    --flex-gap: var(--space-12)
}

.flex-gap-13 {
    --flex-gap: var(--space-13)
}

.flex-gap-1-3 {
    --flex-gap: var(--space-1-3)
}

.flex-gap-2-3 {
    --flex-gap: var(--space-2-3)
}

.flex-gap-2-5 {
    --flex-gap: var(--space-2-5)
}

.flex-gap-5-8 {
    --flex-gap: var(--space-5-8)
}

.grid-gap-nil {
    --grid-gap: var(--space-nil)
}

.grid-gap-auto {
    --grid-gap: var(--space-auto)
}

.grid-gap-05 {
    --grid-gap: var(--space-05)
}

.grid-gap-1 {
    --grid-gap: var(--space-1)
}

.grid-gap-2 {
    --grid-gap: var(--space-2)
}

.grid-gap-3 {
    --grid-gap: var(--space-3)
}

.grid-gap-4 {
    --grid-gap: var(--space-4)
}

.grid-gap-5 {
    --grid-gap: var(--space-5)
}

.grid-gap-6 {
    --grid-gap: var(--space-6)
}

.grid-gap-7 {
    --grid-gap: var(--space-7)
}

.grid-gap-8 {
    --grid-gap: var(--space-8)
}

.grid-gap-9 {
    --grid-gap: var(--space-9)
}

.grid-gap-10 {
    --grid-gap: var(--space-10)
}

.grid-gap-11 {
    --grid-gap: var(--space-11)
}

.grid-gap-12 {
    --grid-gap: var(--space-12)
}

.grid-gap-13 {
    --grid-gap: var(--space-13)
}

.grid-gap-1-3 {
    --grid-gap: var(--space-1-3)
}

.grid-gap-2-3 {
    --grid-gap: var(--space-2-3)
}

.grid-gap-2-5 {
    --grid-gap: var(--space-2-5)
}

.grid-gap-5-8 {
    --grid-gap: var(--space-5-8)
}

.flow-gap-nil > * {
    --flow-gap: var(--space-nil)
}

.flow-gap-auto > * {
    --flow-gap: var(--space-auto)
}

.flow-gap-05 > * {
    --flow-gap: var(--space-05)
}

.flow-gap-1 > * {
    --flow-gap: var(--space-1)
}

.flow-gap-2 > * {
    --flow-gap: var(--space-2)
}

.flow-gap-3 > * {
    --flow-gap: var(--space-3)
}

.flow-gap-4 > * {
    --flow-gap: var(--space-4)
}

.flow-gap-5 > * {
    --flow-gap: var(--space-5)
}

.flow-gap-6 > * {
    --flow-gap: var(--space-6)
}

.flow-gap-7 > * {
    --flow-gap: var(--space-7)
}

.flow-gap-8 > * {
    --flow-gap: var(--space-8)
}

.flow-gap-9 > * {
    --flow-gap: var(--space-9)
}

.flow-gap-10 > * {
    --flow-gap: var(--space-10)
}

.flow-gap-11 > * {
    --flow-gap: var(--space-11)
}

.flow-gap-12 > * {
    --flow-gap: var(--space-12)
}

.flow-gap-13 > * {
    --flow-gap: var(--space-13)
}

.flow-gap-1-3 > * {
    --flow-gap: var(--space-1-3)
}

.flow-gap-2-3 > * {
    --flow-gap: var(--space-2-3)
}

.flow-gap-2-5 > * {
    --flow-gap: var(--space-2-5)
}

.flow-gap-5-8 > * {
    --flow-gap: var(--space-5-8)
}

[class*=" wrapper-"], [class^=wrapper-] {
    margin-inline: auto;
    max-width: var(--wrapper-width,100%);
    position: var(--wrapper-position,relative);
    width: calc(100% - var(--site-gutter, var(--space-2))*2)
}

    [class*=" wrapper-"] [class*=" wrapper-"]:not([data-nested]), [class*=" wrapper-"] [class^=wrapper-]:not([data-nested]), [class^=wrapper-] [class*=" wrapper-"]:not([data-nested]), [class^=wrapper-] [class^=wrapper-]:not([data-nested]) {
        width: 100%
    }

:root {
    --wrapper-page: 80rem;
    --wrapper-wide: 100rem
}

.wrapper-page {
    --wrapper-width: var(--wrapper-page)
}

.wrapper-wide {
    --wrapper-width: var(--wrapper-wide)
}

:root {
    --radius-tight: .125rem;
    --radius-default: .3125rem;
    --radius-pill: 3.125rem
}

.br-tight {
    border-radius: var(--radius-tight)
}

.br-default {
    border-radius: var(--radius-default)
}

.br-pill {
    border-radius: var(--radius-pill)
}

:root {
    --ta-l: left;
    --ta-c: center;
    --ta-r: right
}

.ta-l {
    text-align: var(--ta-l)
}

.ta-c {
    text-align: var(--ta-c)
}

.ta-r {
    text-align: var(--ta-r)
}

.slide-enter-active, .slide-leave-active {
    transition: transform .9s ease
}

.slide-enter-from, .slide-leave-to {
    transform: translate(100%) translateY(0)
}

.slide-enter-to, .slide-leave-from {
    transform: translate(0) translateY(0)
}

.flyout-div {
    flex-direction: column;
    margin-left: 0;
    margin-right: 0
}

.flyout-div, .flyout-inner-div {
    align-self: stretch;
    display: flex;
    flex: 1 1 0%;
    position: relative
}

.flyout-inner-div {
    box-shadow: 0 0 30px #7d7d7d26
}

.email-content-div {
    justify-content: center;
    margin: 4% 0 0;
    padding: 0 0 0 10px;
    width: 100%
}

.email-content-div, .left-image {
    display: flex;
    flex-direction: column;
    min-height: 410px
}

.left-image {
    border: 1px solid transparent;
    border-bottom-left-radius: 0;
    border-right: 0;
    border-top-left-radius: 0;
    margin: -17px 0 -17px -17px;
    min-width: 200px;
    overflow: hidden;
    padding: 0;
    width: 200px
}

.slide-out-panel {
    margin-bottom: auto;
    margin-top: auto;
    max-height: 100%;
    overflow: visible;
    position: fixed;
    right: 0;
    top: 15%;
    z-index: 90000
}

.email-img-div {
    height: 100%;
    position: relative;
    width: 100%
}

.close-cross {
    -webkit-font-smoothing: antialiased;
    animation: auto none 0s ease 1 normal none running;
    background-attachment: scroll;
    background-clip: border-box;
    background-color: transparent;
    background-image: none;
    background-origin: padding-box;
    background-position-x: 0;
    background-position-y: 0;
    background-repeat: repeat;
    background-size: auto;
    border: none;
    border-collapse: separate;
    border-color: inherit;
    -o-border-image: none 100%/1/0 stretch;
    border-image: none 100%/1/0 stretch;
    border-radius: 0;
    border-spacing: 0;
    -moz-column-rule: medium;
    column-rule: medium;
    -moz-column-width: auto;
    columns: auto;
    font-family: inherit;
    font-size: medium;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    list-style-image: none;
    list-style-position: outside;
    list-style-type: disc;
    overflow-x: visible;
    overflow-y: visible;
    text-align: inherit;
    -moz-text-align-last: auto;
    text-align-last: auto;
    text-decoration-color: inherit;
    text-decoration-line: none;
    text-decoration-style: solid;
    text-decoration-thickness: auto;
    text-indent: 0;
    text-shadow: none;
    text-transform: none
}

.close-bg, .close-cross {
    clip: auto;
    backface-visibility: visible;
    bottom: auto;
    box-shadow: none;
    box-sizing: content-box;
    caption-side: top;
    clear: none;
    color: inherit;
    -moz-column-count: auto;
    -moz-column-fill: balance;
    column-fill: balance;
    -moz-column-gap: normal;
    column-gap: normal;
    content: normal;
    counter-increment: none;
    counter-reset: none;
    cursor: auto;
    direction: ltr;
    display: block;
    empty-cells: show;
    float: none;
    height: auto;
    -webkit-hyphens: none;
    hyphens: none;
    left: auto;
    letter-spacing: normal;
    line-height: normal;
    margin: 0;
    max-height: none;
    max-width: none;
    min-height: 0;
    min-width: 0;
    opacity: 1;
    padding: 0;
    page-break-after: auto;
    page-break-before: auto;
    page-break-inside: auto;
    perspective: none;
    perspective-origin: 50% 50%;
    pointer-events: auto;
    position: static;
    right: auto;
    -moz-tab-size: 8;
    -o-tab-size: 8;
    tab-size: 8;
    table-layout: auto;
    top: auto;
    transform: none;
    transform-style: flat;
    transition: none;
    unicode-bidi: normal;
    vertical-align: baseline;
    visibility: visible;
    white-space: normal;
    width: auto;
    word-spacing: normal;
    z-index: auto
}

.close-bg {
    -webkit-font-smoothing: antialiased;
    animation: none;
    animation-delay: 0;
    animation-direction: normal;
    animation-duration: 0;
    animation-fill-mode: none;
    animation-iteration-count: 1;
    animation-name: none;
    animation-play-state: running;
    animation-timing-function: ease;
    background: 0;
    background-attachment: scroll;
    background-clip: border-box;
    background-color: transparent;
    background-image: none;
    background-origin: padding-box;
    background-position: 0 0;
    background-position-x: 0;
    background-position-y: 0;
    background-repeat: repeat;
    background-size: auto auto;
    border: 0;
    border-collapse: separate;
    -o-border-image: none;
    border-image: none;
    border-radius: 0;
    border-spacing: 0;
    border-top-color: inherit;
    border-top-style: none;
    border-top-width: medium;
    -moz-column-rule: medium none currentColor;
    column-rule: medium none currentColor;
    -moz-column-rule-color: currentColor;
    column-rule-color: currentColor;
    -moz-column-rule-style: none;
    column-rule-style: none;
    -moz-column-rule-width: none;
    column-rule-width: none;
    -moz-column-span: 1;
    column-span: 1;
    -moz-columns: auto;
    -moz-column-width: auto;
    columns: auto;
    font: normal;
    font-family: inherit;
    font-size: medium;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    list-style: none;
    list-style-image: none;
    list-style-position: outside;
    list-style-type: disc;
    orphans: 0;
    overflow: visible;
    overflow-x: visible;
    overflow-y: visible;
    text-align: inherit;
    -moz-text-align-last: auto;
    text-align-last: auto;
    text-decoration: none;
    text-decoration-color: inherit;
    text-decoration-line: none;
    text-decoration-style: solid;
    text-indent: 0;
    text-shadow: none;
    text-transform: none;
    transition-delay: 0s;
    transition-duration: 0s;
    transition-property: none;
    transition-timing-function: ease;
    widows: 0
}

.email-heading {
    font-size: 26px;
    font-weight: 600
}

.email-heading, .email-text {
    color: #142e4a;
    font-family: proxima-nova,Arial,Helvetica Neue,Helvetica,sans-serif;
    text-align: center
}

.email-text {
    font-size: 16px;
    font-weight: 500;
    margin-top: 5%;
    width: 90%
}

.email-signup-button {
    border-radius: 50%;
    cursor: pointer;
    height: 30px;
    margin-right: 8px;
    margin-top: 8px;
    position: absolute;
    right: 0;
    top: 0;
    width: 30px;
    z-index: 6
}

.email-privacy {
    color: #142e4a;
    font-family: proxima-nova,Arial,Helvetica Neue,Helvetica,sans-serif;
    font-size: 14px;
    font-weight: 500
}

.email-input, .first-last-name {
    background-color: #fff;
    border-color: #fff !important;
    border-radius: 0;
    box-sizing: border-box;
    color: #000;
    font-family: proxima-nova,Arial,Helvetica Neue,Helvetica,sans-serif;
    font-size: 14px;
    font-weight: 400;
    height: 50px;
    letter-spacing: 0;
    padding: 0;
    text-align: left
}

.email-container {
    display: flex;
    flex: 1 0 0px;
    justify-content: flex-start;
    padding: 16px 6px;
    position: relative
}

.subscribe-button[data-variant=primary]:before {
    background: #142e4a !important
}

.subscribe-button {
    align-self: flex-end;
    background: #142e4a;
    background-color: #142e4a !important;
    border: 2px #000;
    border-color: #142e4a !important;
    border-radius: 0;
    color: #fff;
    cursor: pointer;
    font-family: Arial,Helvetica Neue,Helvetica,sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    height: 54px;
    letter-spacing: 0;
    line-height: 1;
    margin-top: 2%;
    padding-bottom: 0;
    padding-top: 0;
    pointer-events: auto;
    text-align: center;
    white-space: normal;
    width: 100%;
    word-break: break-word
}

.name-div {
    align-items: stretch;
    display: flex;
    flex-direction: row;
    margin-top: 4%;
    position: relative
}

@media (max-width: 767px) {
    .slide-out-panel {
        height: 350px;
        overflow: visible;
        position: fixed;
        right: 0;
        top: 30%;
        width: 100%
    }

    .flyout-div {
        margin-left: 0;
        margin-top: 0
    }

    .flyout-inner-div {
        height: 326px
    }

    .email-content-div {
        margin-top: -7% !important;
        margin-top: 0;
        min-height: 375px;
        width: 250px
    }

    .email-heading {
        color: #142e4a;
        font-size: 15px;
        font-weight: 600;
        margin-top: -6%
    }

    .email-heading, .email-text {
        font-family: proxima-nova,Arial,Helvetica Neue,Helvetica,sans-serif;
        text-align: center
    }

    .email-text {
        color: #060b11;
        font-size: 10px;
        font-weight: 400;
        line-height: 1.5 !important
    }

    .email-container {
        display: flex;
        flex: 1 0 0px;
        justify-content: flex-start;
        padding: 10px 6px;
        position: relative
    }

    .email-signup-button {
        height: 19px;
        width: 19px
    }

    .email-img-div {
        height: 80%
    }

    .email-privacy {
        color: #142e4a;
        font-family: proxima-nova,Arial,Helvetica Neue,Helvetica,sans-serif;
        font-size: 9px;
        font-weight: 400;
        margin-left: -3%;
        width: 223px
    }

    .left-image {
        min-height: 410px;
        min-width: 120px;
        overflow: hidden;
        width: 120px
    }

    .name-div {
        margin-top: -2%
    }

    .first-last-name {
        height: 30px;
        padding: 0
    }

    .email-input {
        height: 35px;
        padding: 0
    }

    .subscribe-button {
        background-color: #142e4a !important;
        border-color: #142e4a !important;
        font-size: 11px !important;
        height: 35px;
        margin-left: 1%;
        padding-block: .2em !important;
        width: 98%
    }

    .close-cross {
        width: 19px
    }
}

@media (min-width: 768px) {
    .slide-enter-from, .slide-leave-to {
        transform: translate(100%) translateY(0)
    }

    .slide-enter-to, .slide-leave-from {
        transform: translate(0) translateY(0)
    }
}

@media (max-width: 767px) {
    .email-signup-flyout .text-error {
        --flow-gap: 3px;
        font-size: 8px;
        margin-left: -9px
    }

    .email-signup-flyout input::-moz-placeholder {
        color: #37393a;
        font: .6rem Arial,Helvetica Neue,Helvetica,sans-serif
    }

    .email-signup-flyout input::placeholder {
        color: #37393a;
        font: .6rem Arial,Helvetica Neue,Helvetica,sans-serif
    }
}

:host, :root {
    --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid";
    --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular";
    --fa-font-light: normal 300 1em/1 "Font Awesome 6 Light";
    --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Thin";
    --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
    --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";
    --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";
    --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";
    --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";
    --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"
}

svg:not(:host).svg-inline--fa, svg:not(:root).svg-inline--fa {
    box-sizing: content-box;
    overflow: visible
}

.svg-inline--fa {
    display: var(--fa-display,inline-block);
    height: 1em;
    overflow: visible;
    vertical-align: -.125em
}

    .svg-inline--fa.fa-2xs {
        vertical-align: .1em
    }

    .svg-inline--fa.fa-xs {
        vertical-align: 0
    }

    .svg-inline--fa.fa-sm {
        vertical-align: -.07143em
    }

    .svg-inline--fa.fa-lg {
        vertical-align: -.2em
    }

    .svg-inline--fa.fa-xl {
        vertical-align: -.25em
    }

    .svg-inline--fa.fa-2xl {
        vertical-align: -.3125em
    }

    .svg-inline--fa.fa-pull-left {
        margin-right: var(--fa-pull-margin,.3em);
        width: auto
    }

    .svg-inline--fa.fa-pull-right {
        margin-left: var(--fa-pull-margin,.3em);
        width: auto
    }

    .svg-inline--fa.fa-li {
        top: .25em;
        width: var(--fa-li-width,2em)
    }

    .svg-inline--fa.fa-fw {
        width: var(--fa-fw-width,1.25em)
    }

.fa-layers svg.svg-inline--fa {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0
}

.fa-layers-counter, .fa-layers-text {
    display: inline-block;
    position: absolute;
    text-align: center
}

.fa-layers {
    display: inline-block;
    height: 1em;
    position: relative;
    text-align: center;
    vertical-align: -.125em;
    width: 1em
}

    .fa-layers svg.svg-inline--fa {
        transform-origin: center center
    }

.fa-layers-text {
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    transform-origin: center center
}

.fa-layers-counter {
    background-color: var(--fa-counter-background-color,#ff253a);
    border-radius: var(--fa-counter-border-radius,1em);
    box-sizing: border-box;
    color: var(--fa-inverse,#fff);
    line-height: var(--fa-counter-line-height,1);
    max-width: var(--fa-counter-max-width,5em);
    min-width: var(--fa-counter-min-width,1.5em);
    overflow: hidden;
    padding: var(--fa-counter-padding,.25em .5em);
    right: var(--fa-right,0);
    text-overflow: ellipsis;
    top: var(--fa-top,0);
    transform: scale(var(--fa-counter-scale,.25));
    transform-origin: top right
}

.fa-layers-bottom-right {
    bottom: var(--fa-bottom,0);
    right: var(--fa-right,0);
    top: auto;
    transform: scale(var(--fa-layers-scale,.25));
    transform-origin: bottom right
}

.fa-layers-bottom-left {
    bottom: var(--fa-bottom,0);
    left: var(--fa-left,0);
    right: auto;
    top: auto;
    transform: scale(var(--fa-layers-scale,.25));
    transform-origin: bottom left
}

.fa-layers-top-right {
    right: var(--fa-right,0);
    top: var(--fa-top,0);
    transform: scale(var(--fa-layers-scale,.25));
    transform-origin: top right
}

.fa-layers-top-left {
    left: var(--fa-left,0);
    right: auto;
    top: var(--fa-top,0);
    transform: scale(var(--fa-layers-scale,.25));
    transform-origin: top left
}

.fa-1x {
    font-size: 1em
}

.fa-2x {
    font-size: 2em
}

.fa-3x {
    font-size: 3em
}

.fa-4x {
    font-size: 4em
}

.fa-5x {
    font-size: 5em
}

.fa-6x {
    font-size: 6em
}

.fa-7x {
    font-size: 7em
}

.fa-8x {
    font-size: 8em
}

.fa-9x {
    font-size: 9em
}

.fa-10x {
    font-size: 10em
}

.fa-2xs {
    font-size: .625em;
    line-height: .1em;
    vertical-align: .225em
}

.fa-xs {
    font-size: .75em;
    line-height: .08333em;
    vertical-align: .125em
}

.fa-sm {
    font-size: .875em;
    line-height: .07143em;
    vertical-align: .05357em
}

.fa-lg {
    font-size: 1.25em;
    line-height: .05em;
    vertical-align: -.075em
}

.fa-xl {
    font-size: 1.5em;
    line-height: .04167em;
    vertical-align: -.125em
}

.fa-2xl {
    font-size: 2em;
    line-height: .03125em;
    vertical-align: -.1875em
}

.fa-fw {
    text-align: center;
    width: 1.25em
}

.fa-ul {
    list-style-type: none;
    margin-left: var(--fa-li-margin,2.5em);
    padding-left: 0
}

    .fa-ul > li {
        position: relative
    }

.fa-li {
    left: calc(var(--fa-li-width, 2em)*-1);
    line-height: inherit;
    position: absolute;
    text-align: center;
    width: var(--fa-li-width,2em)
}

.fa-border {
    border-color: var(--fa-border-color,#eee);
    border-radius: var(--fa-border-radius,.1em);
    border-style: var(--fa-border-style,solid);
    border-width: var(--fa-border-width,.08em);
    padding: var(--fa-border-padding,.2em .25em .15em)
}

.fa-pull-left {
    float: left;
    margin-right: var(--fa-pull-margin,.3em)
}

.fa-pull-right {
    float: right;
    margin-left: var(--fa-pull-margin,.3em)
}

.fa-beat {
    animation-delay: var(--fa-animation-delay,0s);
    animation-direction: var(--fa-animation-direction,normal);
    animation-duration: var(--fa-animation-duration,1s);
    animation-iteration-count: var(--fa-animation-iteration-count,infinite);
    animation-name: fa-beat;
    animation-timing-function: var(--fa-animation-timing,ease-in-out)
}

.fa-bounce {
    animation-delay: var(--fa-animation-delay,0s);
    animation-direction: var(--fa-animation-direction,normal);
    animation-duration: var(--fa-animation-duration,1s);
    animation-iteration-count: var(--fa-animation-iteration-count,infinite);
    animation-name: fa-bounce;
    animation-timing-function: var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))
}

.fa-fade {
    animation-iteration-count: var(--fa-animation-iteration-count,infinite);
    animation-name: fa-fade;
    animation-timing-function: var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))
}

.fa-beat-fade, .fa-fade {
    animation-delay: var(--fa-animation-delay,0s);
    animation-direction: var(--fa-animation-direction,normal);
    animation-duration: var(--fa-animation-duration,1s)
}

.fa-beat-fade {
    animation-iteration-count: var(--fa-animation-iteration-count,infinite);
    animation-name: fa-beat-fade;
    animation-timing-function: var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))
}

.fa-flip {
    animation-delay: var(--fa-animation-delay,0s);
    animation-direction: var(--fa-animation-direction,normal);
    animation-duration: var(--fa-animation-duration,1s);
    animation-iteration-count: var(--fa-animation-iteration-count,infinite);
    animation-name: fa-flip;
    animation-timing-function: var(--fa-animation-timing,ease-in-out)
}

.fa-shake {
    animation-duration: var(--fa-animation-duration,1s);
    animation-iteration-count: var(--fa-animation-iteration-count,infinite);
    animation-name: fa-shake;
    animation-timing-function: var(--fa-animation-timing,linear)
}

.fa-shake, .fa-spin {
    animation-delay: var(--fa-animation-delay,0s);
    animation-direction: var(--fa-animation-direction,normal)
}

.fa-spin {
    animation-duration: var(--fa-animation-duration,2s);
    animation-iteration-count: var(--fa-animation-iteration-count,infinite);
    animation-name: fa-spin;
    animation-timing-function: var(--fa-animation-timing,linear)
}

.fa-spin-reverse {
    --fa-animation-direction: reverse
}

.fa-pulse, .fa-spin-pulse {
    animation-direction: var(--fa-animation-direction,normal);
    animation-duration: var(--fa-animation-duration,1s);
    animation-iteration-count: var(--fa-animation-iteration-count,infinite);
    animation-name: fa-spin;
    animation-timing-function: var(--fa-animation-timing,steps(8))
}

@media (prefers-reduced-motion:reduce) {
    .fa-beat, .fa-beat-fade, .fa-bounce, .fa-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse {
        animation-delay: -1ms;
        animation-duration: 1ms;
        animation-iteration-count: 1;
        transition-delay: 0s;
        transition-duration: 0s
    }
}

@keyframes fa-beat {
    0%,90% {
        transform: scale(1)
    }

    45% {
        transform: scale(var(--fa-beat-scale,1.25))
    }
}

@keyframes fa-bounce {
    0% {
        transform: scale(1) translateY(0)
    }

    10% {
        transform: scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)
    }

    30% {
        transform: scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))
    }

    50% {
        transform: scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)
    }

    57% {
        transform: scale(1) translateY(var(--fa-bounce-rebound,-.125em))
    }

    64% {
        transform: scale(1) translateY(0)
    }

    to {
        transform: scale(1) translateY(0)
    }
}

@keyframes fa-fade {
    50% {
        opacity: var(--fa-fade-opacity,.4)
    }
}

@keyframes fa-beat-fade {
    0%,to {
        opacity: var(--fa-beat-fade-opacity,.4);
        transform: scale(1)
    }

    50% {
        opacity: 1;
        transform: scale(var(--fa-beat-fade-scale,1.125))
    }
}

@keyframes fa-flip {
    50% {
        transform: rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))
    }
}

@keyframes fa-shake {
    0% {
        transform: rotate(-15deg)
    }

    4% {
        transform: rotate(15deg)
    }

    24%,8% {
        transform: rotate(-18deg)
    }

    12%,28% {
        transform: rotate(18deg)
    }

    16% {
        transform: rotate(-22deg)
    }

    20% {
        transform: rotate(22deg)
    }

    32% {
        transform: rotate(-12deg)
    }

    36% {
        transform: rotate(12deg)
    }

    40%,to {
        transform: rotate(0)
    }
}

@keyframes fa-spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(1turn)
    }
}

.fa-rotate-90 {
    transform: rotate(90deg)
}

.fa-rotate-180 {
    transform: rotate(180deg)
}

.fa-rotate-270 {
    transform: rotate(270deg)
}

.fa-flip-horizontal {
    transform: scaleX(-1)
}

.fa-flip-vertical {
    transform: scaleY(-1)
}

.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
    transform: scale(-1)
}

.fa-rotate-by {
    transform: rotate(var(--fa-rotate-angle,0))
}

.fa-stack {
    display: inline-block;
    height: 2em;
    position: relative;
    vertical-align: middle;
    width: 2.5em
}

.fa-stack-1x, .fa-stack-2x {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    z-index: var(--fa-stack-z-index,auto)
}

.svg-inline--fa.fa-stack-1x {
    height: 1em;
    width: 1.25em
}

.svg-inline--fa.fa-stack-2x {
    height: 2em;
    width: 2.5em
}

.fa-inverse {
    color: var(--fa-inverse,#fff)
}

.fa-sr-only, .fa-sr-only-focusable:not(:focus), .sr-only, .sr-only-focusable:not(:focus) {
    clip: rect(0,0,0,0);
    border-width: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px
}

.svg-inline--fa .fa-primary {
    fill: var(--fa-primary-color,currentColor);
    opacity: var(--fa-primary-opacity,1)
}

.svg-inline--fa .fa-secondary {
    fill: var(--fa-secondary-color,currentColor)
}

.svg-inline--fa .fa-secondary, .svg-inline--fa.fa-swap-opacity .fa-primary {
    opacity: var(--fa-secondary-opacity,.4)
}

.svg-inline--fa.fa-swap-opacity .fa-secondary {
    opacity: var(--fa-primary-opacity,1)
}

.svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary {
    fill: #000
}

.fa-duotone.fa-inverse, .fad.fa-inverse {
    color: var(--fa-inverse,#fff)
}

.resize-observer[data-v-b329ee4c] {
    background-color: transparent;
    border: none;
    opacity: 0
}

    .resize-observer[data-v-b329ee4c], .resize-observer[data-v-b329ee4c] object {
        display: block;
        height: 100%;
        left: 0;
        overflow: hidden;
        pointer-events: none;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: -1
    }

.v-popper__popper {
    left: 0;
    outline: none;
    top: 0;
    z-index: 10000
}

    .v-popper__popper.v-popper__popper--hidden {
        opacity: 0;
        pointer-events: none;
        transition: opacity .15s,visibility .15s;
        visibility: hidden
    }

    .v-popper__popper.v-popper__popper--shown {
        opacity: 1;
        transition: opacity .15s;
        visibility: visible
    }

    .v-popper__popper.v-popper__popper--skip-transition, .v-popper__popper.v-popper__popper--skip-transition > .v-popper__wrapper {
        transition: none !important
    }

.v-popper__backdrop {
    display: none;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.v-popper__inner {
    box-sizing: border-box;
    overflow-y: auto;
    position: relative
}

    .v-popper__inner > div {
        max-height: inherit;
        max-width: inherit;
        position: relative;
        z-index: 1
    }

.v-popper__arrow-container {
    height: 10px;
    position: absolute;
    width: 10px
}

.v-popper__popper--arrow-overflow .v-popper__arrow-container, .v-popper__popper--no-positioning .v-popper__arrow-container {
    display: none
}

.v-popper__arrow-inner, .v-popper__arrow-outer {
    border-style: solid;
    height: 0;
    left: 0;
    position: absolute;
    top: 0;
    width: 0
}

.v-popper__arrow-inner {
    border-width: 7px;
    visibility: hidden
}

.v-popper__arrow-outer {
    border-width: 6px
}

.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner, .v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner {
    left: -2px
}

.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer, .v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer {
    left: -1px
}

.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner, .v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer {
    border-bottom-color: transparent !important;
    border-bottom-width: 0;
    border-left-color: transparent !important;
    border-right-color: transparent !important
}

.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner {
    top: -2px
}

.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container {
    top: 0
}

.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner, .v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer {
    border-left-color: transparent !important;
    border-right-color: transparent !important;
    border-top-color: transparent !important;
    border-top-width: 0
}

.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner {
    top: -4px
}

.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer {
    top: -6px
}

.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner, .v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner {
    top: -2px
}

.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer, .v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer {
    top: -1px
}

.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner, .v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer {
    border-bottom-color: transparent !important;
    border-left-color: transparent !important;
    border-left-width: 0;
    border-top-color: transparent !important
}

.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner {
    left: -4px
}

.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer {
    left: -6px
}

.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container {
    right: -10px
}

.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner, .v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer {
    border-bottom-color: transparent !important;
    border-right-color: transparent !important;
    border-right-width: 0;
    border-top-color: transparent !important
}

.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner {
    left: -2px
}

.v-popper--theme-dropdown .v-popper__inner {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    box-shadow: 0 6px 30px #0000001a;
    color: #000
}

.v-popper--theme-dropdown .v-popper__arrow-inner {
    border-color: #fff;
    visibility: visible
}

.v-popper--theme-dropdown .v-popper__arrow-outer {
    border-color: #ddd
}

.v-popper--theme-tooltip .v-popper__inner {
    background: rgba(0,0,0,.8);
    border-radius: 6px;
    color: #fff;
    padding: 7px 12px 6px
}

.v-popper--theme-tooltip .v-popper__arrow-outer {
    border-color: #000c
}

/* TIPPY */

.tippy-box {
    background: rgba(0,0,0,.8);
    border-radius: 6px;
    color: #fff;
    font-size: var(--ts-body, .875rem);
    line-height: var(--lh-body, 1.4rem);
}

.tippy-box {
    max-width: 10rem;
}

@media (min-width: 576px) {
}

.tippy-content {
    padding: 7px 12px 6px
}

/*swipper class*/

.swiper, swiper-container {
    display: block;
    list-style: none;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    padding: 0;
    position: relative;
    z-index: 1
}

.swiper-vertical > .swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    box-sizing: content-box;
    display: flex;
    height: 100%;
    position: relative;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function,initial);
    width: 100%;
    z-index: 1
}

.swiper-android .swiper-slide, .swiper-wrapper {
    transform: translateZ(0)
}

.swiper-horizontal {
    /* touch-action:pan-y; */
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide, swiper-slide {
    display: block;
    flex-shrink: 0;
    height: 100%;
    position: relative;
    transition-property: transform;
    width: 100%
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
    height: auto
}

    .swiper-autoheight .swiper-wrapper {
        align-items: flex-start;
        transition-property: transform,height
    }

.swiper-backface-hidden .swiper-slide {
    backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

    .swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
        transform-style: preserve-3d
    }

    .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
        height: 100%;
        left: 0;
        pointer-events: none;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 10
    }

    .swiper-3d .swiper-slide-shadow {
        background: rgba(0,0,0,.15)
    }

    .swiper-3d .swiper-slide-shadow-left {
        background-image: linear-gradient(270deg,rgba(0,0,0,.5),transparent)
    }

    .swiper-3d .swiper-slide-shadow-right {
        background-image: linear-gradient(90deg,rgba(0,0,0,.5),transparent)
    }

    .swiper-3d .swiper-slide-shadow-top {
        background-image: linear-gradient(0deg,rgba(0,0,0,.5),transparent)
    }

    .swiper-3d .swiper-slide-shadow-bottom {
        background-image: linear-gradient(180deg,rgba(0,0,0,.5),transparent)
    }

.swiper-css-mode > .swiper-wrapper {
    -ms-overflow-style: none;
    overflow: auto;
    scrollbar-width: none
}

    .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
        display: none
    }

    .swiper-css-mode > .swiper-wrapper > .swiper-slide {
        scroll-snap-align: start start
    }

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    scroll-snap-type: none
}

    .swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
        scroll-snap-align: none
    }

.swiper-centered > .swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-horizontal > .swiper-wrapper: before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-vertical > .swiper-wrapper: before {
    height: var(--swiper-centered-offset-after);
    min-width: 1px;
    width: 100%
}

.swiper-lazy-preloader {
    border: 4px solid var(--swiper-preloader-color,var(--swiper-theme-color));
    border-radius: 50%;
    border-top: 4px solid transparent;
    box-sizing: border-box;
    height: 42px;
    left: 50%;
    margin-left: -21px;
    margin-top: -21px;
    position: absolute;
    top: 50%;
    transform-origin: 50%;
    width: 42px;
    z-index: 10
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader, swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s linear infinite
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(1turn)
    }
}


/* ==========================================================================
   Print Resource Modal - Minimal Additions
   ========================================================================== */

/* Modal Container */
.modal.print-resource-modal {
    display: none;
    position: fixed;
    inset: 0;
    background: #7f7f7fad;
    z-index: 9999;
    align-items: flex-start;
    justify-content: center;
    overflow-y: auto;
    padding: var(--space-3);
}

    .modal.print-resource-modal[open] {
        display: flex;
    }

    .modal.print-resource-modal .modal__body {
        max-height: none;
        overflow: visible;
        padding: var(--space-1);
    }

/* Iframe Wrapper */
.iframe-wrapper {
    max-height: none;
    overflow: visible;
}

    .iframe-wrapper iframe {
        width: 100%;
        min-height: 900px;
        border: none;
        background: white;
    }

/* PDF Container */
#pdfContainer {
    height: 100%;
}

/* CTA inside iframe container */
.iframe-container .cta {
    width: auto;
}

/* Right-aligned button */
.right-btn,
.right-btn.cta {
    width: auto !important;
    max-width: fit-content;
    left: 75%;
}

/* Loading Overlay */
.loading-overlay {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #007bff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* Animations */
@@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Utility */
.hidden {
    display: none !important;
}

[hidden] {
    display: none !important;
}

.expander__tray {
    height: var(--expander-tray-height, 0);
}

.accordion-itinerary-item::after {
    content: var(--step, counter(step));
}

.accordion-itinerary-item::after {
    align-items: center;
    background: #fff;
    border: 4px solid var(--linked-list-border, var(--c-warm-gold));
    border-radius: 100%;
    color: var(--linked-list-text, var(--c-navy-blue));
    content: var(--step, counter(step));
    display: flex;
    font-size: var(--ts-body-large);
    height: var(--space-4);
    justify-content: center;
    left: 0;
    line-height: 1;
    position: absolute;
    top: calc(25px - var(--ts-body-large)*var(--lh-body-large)*.5);
    width: var(--space-4);
}

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

.modal-backdrop-bg {
    background-color: rgb(0,0,0,0) !important;
}
/* ==========================================================================
    Product Itinerary Modal - Minimal Additions End
   ========================================================================== */



/* swiper navigation SVG icons */
.destination-collection .carousel .swiper-button-prev svg,
.destination-collection .carousel .swiper-button-next svg {
    width: 15%;
    filter: drop-shadow(0 0 0 currentColor) drop-shadow(0.4px 0 0 currentColor) drop-shadow(-0.4px 0 0 currentColor);
}
/* Hide swiper navigation SVG icons */

/* ==========================================================================
    Pricelist - Minimal Additions start
   ========================================================================== */
.tooltip {
    position: relative;
    opacity: inherit;
}

.hidden {
    display: none;
}

.price-list__toggle-wrapper svg {
    display: inline-block;
    vertical-align: middle;
    /*margin-top: -14px;*/ /* Fine-tune vertical alignment */
}

.price-list__row.selected {
    background-color: rgba(0, 91, 187, 0.05);
}

    .price-list__row.selected:hover {
        background-color: rgba(0, 91, 187, 0.08);
    }

/* Loading state */
.price-list__loading {
    text-align: center;
    padding: 2rem;
}

.loading-spinner {
    border: 3px solid #f3f3f3;
    border-top: 3px solid #005bbb;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
    margin: 0 auto 1rem;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Responsive */
@media (max-width: 768px) {

    .price-list__date.flex {
        flex-direction: column;
        gap: 0.5rem;
    }
}

/* Print styles */
@media print {
    .modal,
    .price-list__toggle,
    .cta[data-variant="primary"],
    .cta[data-variant="secondary"] {
        display: none !important;
    }

    .price-list__group[data-open="false"] .price-list__row {
        display: table-row !important;
    }

    .price-list__table {
        width: 100%;
        border-collapse: collapse;
    }
}

/* ==========================================================================
    Pricelist - Minimal Additions End
   ========================================================================== */

/*Email Sign up form*/

.form-container {
    width: 100%;
    max-width: 70%;
    padding: 20px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    margin-left: auto;
    margin-right: auto;
    margin-top: 5%;
    margin-bottom: 10%;
}

.form-text {
    top: 5%;
    display: block !important;
    text-align: center;
    margin-bottom: 10%;
}

.form-row {
    display: flex;
    gap: 10px; /* Space between First Name and Last Name */
    margin-bottom: 15px;
}

    .form-row input {
        flex: 1; /* Equal width for both inputs */
        padding: 10px;
        /*border: 1px solid #ccc*/ /*;*/
        border-radius: 4px;
        font-size: 16px;
    }

    .form-row.email-row {
        display: block; /* Email input takes full width */
    }

        .form-row.email-row input {
            width: 100%;
            box-sizing: border-box; /* Ensure padding is included in width */
        }

    .form-row.emailUsPrivacy {
        margin-top: 5%;
    }

.email-sign-btn {
    display: block;
    width: 100%;
    border: none;
    background-color: #04aa6d;
    padding: 14px 28px;
    font-size: 16px;
    cursor: pointer;
    text-align: center;
    min-width: 0;
    /* margin-left: 25%; */
    max-width: 100%;
    /* top: 5%; */
    margin-top: 5%;
}

    .email-sign-btn:hover {
        background-color: #369f6e;
        border: none;
    }

/*Quick search Mobile*/
.mobile-close-button {
    align-items: center;
    background-color: var(--c-navy-blue);
    border: 0;
    color: #fff;
    cursor: pointer;
    display: flex;
    height: 3.125rem;
    justify-content: center;
    justify-self: flex-end;
    width: 3.125rem
}

    .mobile-close-button svg {
        font-size: 1.875rem
    }

email-sign-up-modal {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: auto;
    min-height: 410px;
    padding: 0;
    width: 100%;
}

/* BASKET STYLES */

[data-no-expander-transition="true"] .expander__tray {
    transition: none;
}

/* Validation messages */
[data-validation-anchor] {
    display: none;
}

body[data-touched="true"] [data-validation-key][data-valid="false"] [data-validation-anchor] {
    display: flex;
}


body[data-touched=true] .accommodation-arrangments[data-valid=false]:has(.active-hotel) .accommodation-arrangements__cards [data-validation-anchor] {
    display: none;
}

/* =============================================
   Late Availability – modal overrides
   ============================================= */


dialog.modal.holiday-search__late-availability::backdrop {
    background-color: rgba(0, 0, 0, 0.5);
}

dialog.modal.holiday-search__late-availability[open] {
    display: flex;
}

/* Inner container – natural height, no internal scroll */
dialog.modal.holiday-search__late-availability .modal__inr {
    overflow: visible;
    max-height: max-content;
    padding: 0;
    max-width: 80rem;
    width: 100%;
    position: relative;
    margin: auto;
}

/* Body – no scrolling */
dialog.modal.holiday-search__late-availability .modal__body {
    max-height: none;
    overflow: visible;
    padding: 0;
}

/* Close button – pinned to top-right corner of modal__inr */
dialog.modal.holiday-search__late-availability .modal__dismiss {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}

/* Webkit scrollbar styling */
dialog.modal.holiday-search__late-availability::-webkit-scrollbar {
    width: 8px;
}

dialog.modal.holiday-search__late-availability::-webkit-scrollbar-track {
    background: #f1f1f1;
}

dialog.modal.holiday-search__late-availability::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

    dialog.modal.holiday-search__late-availability::-webkit-scrollbar-thumb:hover {
        background: #555;
    }

/* Firefox */
dialog.modal.holiday-search__late-availability {
    scrollbar-width: thin;
    scrollbar-color: #888 #f1f1f1;
}

.holiday-search__late-availability-table .search-loading-spinner {
    text-align: center;
    padding: 3rem 0;
    min-height: auto;
}

.holiday-search__late-availability-link {
    margin-top: 0.5rem;
}

/* Late availability modal: make injected price-list table full width */
#late-availability-table .wrapper-page {
    width: 100%;
    max-width: 100%;
}

#late-availability-table .slice {
    padding-block: 0;
}

#late-availability-table .slice__header {
    margin-block-end: 0;
}

/* Late availability modal: hide solo price toggle */
#late-availability-table .price-list__toggle-container {
    display: none;
}

#late-availability-table .price-list__head {
    display: none;
}

/* Late availability model dialog table width override*/
#late-availability-table {
    width: 100%;
}

/* Retrieve quote */
.retrieve-quote {
    justify-content: center;
    --sbs-align-vertical: flex-start;
    padding: var(--space-3);
    color: var(--c-navy-blue);
    background-color: var(--offer-bg, var(--c-grey-5));
    border: 1px solid var(--c-grey-3);
    font-family: var(--font-primary);
}

.retrieve-quote-body {
    font-weight: 600;
}

.retrieve-quote-title {
    font-weight: 800;
}

.retrieve-quote__loading {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-block-start: var(--space-2);
}

.retrieve-quote__spinner {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    border: 3px solid var(--c-grey-3, #ccc);
    border-top-color: var(--c-navy-blue, #0a1a3a);
    border-radius: 50%;
    animation: retrieve-quote-spin 0.8s linear infinite;
}

@keyframes retrieve-quote-spin {
    to { transform: rotate(360deg); }
}

/* =========================================================================
   WBJ Step 4 Checkout - basketEcommPay / basketSCSPay / basketAgentPay
   ========================================================================= */

[data-ecommpay-root],
[data-scs-pay],
[data-agent-pay] {
    margin-block-start: 1.5rem;
}

[data-ecommpay-root] > h2,
[data-scs-pay] > h2,
[data-agent-pay] > h2 {
    margin-block-end: 0.75rem;
}

.basket-pay__cta {
    display: flex;
    justify-content: center;
    margin-block-start: 1rem;
}

.basket-pay__cta > .cta {
    min-inline-size: 18rem;
}

/* SCS B2B: two-column form (left) + body description (right) */
.basket-scs-pay__columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    align-items: start;
}

@media (max-width: 768px) {
    .basket-scs-pay__columns {
        grid-template-columns: 1fr;
    }
}

[data-scs-pay] form > * + * {
    margin-block-start: 1rem;
}

.basket-scs-pay__field label {
    display: block;
    font-weight: 600;
    color: var(--c-near-black, #0d0d0d);
}

.basket-scs-pay__field input {
    inline-size: 100%;
    padding: 0.625rem 0.75rem;
    border: 1px solid var(--c-white-sands, #eceae6);
    border-radius: 0.25rem;
    background-color: var(--c-white, #fff);
    font-size: 1rem;
    color: var(--c-near-black, #0d0d0d);
}

[data-scs-pay] [data-scs-b2b-submit][disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* Payment-type radio cards */
.radio-card-group {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.radio-card-group__item {
    position: relative;
    border: 1px solid var(--c-white-sands, #eceae6);
    border-radius: 0.25rem;
    background-color: var(--c-white, #fff);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.radio-card-group__item:hover:not(.selected) {
    border-color: var(--c-cold-stone, #c1b9ad);
}

.radio-card-group__item.selected {
    border-color: var(--c-navy-blue, #142e4a);
    box-shadow: inset 0 0 0 1px var(--c-navy-blue, #142e4a);
}

.radio-card-group__input {
    position: absolute;
    inset-block-start: 1.25rem;
    inset-inline-start: 1rem;
    inline-size: 1rem;
    block-size: 1rem;
    accent-color: var(--c-navy-blue, #142e4a);
    cursor: pointer;
    margin: 0;
}

.radio-card {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 1rem 1rem 2.75rem;
    cursor: pointer;
    margin: 0;
}

.radio-card__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.radio-card__content > p {
    margin: 0;
}

.radio-card__content .mbs-05 {
    margin-block-start: 0.5rem;
}

.radio-card__logo {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    color: var(--c-near-black, #0d0d0d);
    font-weight: 700;
    line-height: 1.1;
    min-inline-size: 3.25rem;
}

.radio-card__logo i {
    font-size: 1.25rem;
}

.radio-card__logo .t-label {
    font-size: 0.6875rem;
    text-align: center;
}

/* Payment plan section (left date picker, right breakdown) */
.payment-plan {
    margin-block-start: 1rem;
}

.payment-plan__columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

@media (max-width: 768px) {
    .payment-plan__columns {
        grid-template-columns: 1fr;
    }
}

.payment-plan__date,
.payment-plan__breakdown {
    padding: 1rem;
    background-color: var(--c-white, #fff);
    border: 1px solid var(--c-white-sands, #eceae6);
    border-radius: 0.25rem;
}

.payment-plan__date label {
    display: block;
    font-weight: 600;
    color: var(--c-near-black, #0d0d0d);
    margin-block-end: 0.375rem;
}

.payment-plan__select {
    inline-size: 100%;
    padding: 0.625rem 0.75rem;
    border: 1px solid var(--c-white-sands, #eceae6);
    border-radius: 0.25rem;
    background-color: var(--c-white, #fff);
    font-size: 1rem;
    color: var(--c-near-black, #0d0d0d);
    cursor: pointer;
}

.text-rectory-red {
    color: var(--c-rectory-red, #9e293c);
}

/* Payment plan timeline */
.payment-plan__list {
    list-style: none;
    padding: 0 0 0 1.5rem;
    margin: 0 0 0.5rem 0;
}

.payment-plan__list-item {
    position: relative;
    padding-block-end: 0.75rem;
}

.payment-plan__list-item:not(:last-of-type)::before {
    content: "";
    position: absolute;
    inset-block-start: 0.875rem;
    inset-inline-start: -1.0625rem;
    inline-size: 0.125rem;
    block-size: calc(100% - 0.5rem);
    background-color: var(--c-white-sands, #eceae6);
    z-index: 1;
}

.payment-plan__list-item::after {
    content: "";
    position: absolute;
    inset-block-start: 0.5rem;
    inset-inline-start: -1.25rem;
    inline-size: 0.625rem;
    block-size: 0.625rem;
    background-color: var(--c-cold-stone, #c1b9ad);
    border-radius: 50%;
    box-shadow: 0 0 0 3px var(--c-white, #fff);
    z-index: 2;
}

.payment-plan__list-item-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.payment-plan__list-item-content > div {
    flex: 1;
}

.payment-plan__list-item-content > div > p {
    margin: 0;
    color: var(--c-cold-stone, #c1b9ad);
    font-size: 0.875rem;
}