body.admin-bar .sa-global-navigation {
    /* This selector is to make the navigation work when the 
     * wp admin bar is showing - only for developing purposes */
    --admin-bar-height: 32px;
    --bar-height: 96px;
}

@keyframes rotate-background {
    from {
        transform: translate(-50%, -50%) rotate(0);
    }

    to {
        transform: translate(-50%, -50%) rotate(1turn);
    }
}

@keyframes ai-tooltip-in {
    from {
        opacity: 0;
        transform: translate(-50%, 4px);
    }

    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

@keyframes sesam-sparkle {

    0%,
    100% {
        opacity: 1;
        transform: scale(1) rotate(0);
    }

    50% {
        opacity: 0.45;
        transform: scale(0.65) rotate(-10deg);
    }

    75% {
        opacity: 1;
        transform: scale(1.15) rotate(6deg);
    }
}

.sa-global-navigation {
    --admin-bar-height: 0px;
    --bar-height: 56px;
    --color-neutral-0: #fff;
    --color-neutral-25: #f3f4f6;
    --color-neutral-50: #ebecf0;
    --color-neutral-75: #dcdee5;
    --color-neutral-100: #ccced8;
    --color-neutral-300: #676e8a;
    --color-neutral-400: #404869;
    --color-neutral-600: #293256;
    --color-neutral-800: #000b3c;
    --color-orange-200: #fbdccc;
    --color-orange-300: #f7ba99;
    --color-pink-400: #ff74bf;
    --color-purple-400: #a64dff;
    --color-surface-1: #fdede5;
    --color-surface-2: #fbdccc;
    --color-surface-3: #f7ba99;
    --color-surface-neutral-2: #f3f4f6;
    --color-text: #000b3c;
    --color-text-link: #730bda;
    --color-text-muted: #404869;
    --color-text-highlight: #cf4800;
    --color-border-neutral: #676e8a;
    --color-highlight: #eb5200;
    --color-white: #fff;
    --container-padding-md: 16px;
    --font-primary: "ChevinPro", sans-serif;
    --font-secondary: "ProximaNova", sans-serif;
    --font-size-label-lg: 18px;
    --font-size-label-md: 16px;
    --font-size-label-sm: 14px;
    --font-size-p-lg: 18px;
    --font-size-p-md: 16px;
    --font-size-p-sm: 14px;
    --font-weight-semibold: 600;
    --leading-body: 1.5;
    --leading-heading: 1.3;
    --leading-label: 1;
    --radius-lg: 24px;
    --sa-neutral-400: #404869;
    --sa-sub-primary: #000b3c;
    --sa-white: #fff;
    --shadow-card: 0 0 2px rgb(0 11 60 / 15%), 0 5px 10px rgb(0 11 60 / 10%);
    --shadow-xs: 0 2px 6px rgb(13 10 44 / 8%);
    --text-md: 16px;
    --text-sm: 14px;
    --text-xl: 20px;
    --text-text-muted: #404869;

    @media (min-width: 768px) {
        --bar-height: 64px;
    }

    @media (min-width: 1024px) {
        --container-padding-md: 32px;
    }

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

    background: var(--sa-white);
    color: var(--sa-sub-primary);
    font-family: var(--font-secondary);
    font-size: 16px;
    line-height: 1.4286;

    .bar {
        display: grid;
        align-items: center;
        grid-template-columns: auto auto;
        gap: 16px;
        min-height: calc(var(--bar-height) - var(--admin-bar-height));
        padding-inline:
            max(var(--container-padding-md), env(safe-area-inset-left)) max(var(--container-padding-md), env(safe-area-inset-right));

        @media (min-width: 768px) {
            padding-block: 0;
        }

        @media (min-width: 80rem) {
            grid-template-columns: auto auto auto;
        }
    }

    .desktop {
        grid-template-columns: subgrid;
        grid-column: 2 / 4;
        justify-content: space-between;
        align-items: center;
    }

    .list,
    .children,
    .mobile-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .list,
    .utilities {
        align-items: center;
        display: flex;
        gap: 12px;
    }

    .list {
        margin: 0 auto;
    }

    .utilities {
        margin-inline-start: auto;
    }

    button {
        cursor: pointer;
    }

    :where(a, button):focus-visible {
        outline: 5px auto -webkit-focus-ring-color;
    }

    .visually-hidden {
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        white-space: nowrap;
        width: 1px;
    }

    .brand {
        display: flex;
    }

    .link,
    .trigger,
    .account,
    .icon-button {
        align-items: center;
        background: transparent;
        border: 1px solid transparent;
        color: inherit;
        display: inline-flex;
        gap: 4px;
        text-decoration: none;
    }

    .nav-link,
    .nav-link-mobile {
        --nav-link-background: transparent;

        position: relative;
        isolation: isolate;
        background-color: transparent;
        display: flex;
        gap: 8px;
        font-family: var(--font-secondary);
        font-weight: 600;
        color: var(--color-neutral-800);
        border-radius: 12px;
        text-decoration: none;

        /* Keep the label and hit area fixed while the background shrinks. */
        &::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -1;
            border-radius: inherit;
            background-color: var(--nav-link-background);
            pointer-events: none;
            transition: inset 120ms ease-out, background-color 180ms ease;
        }

        &:active::before {
            inset: 2px;
        }
    }

    .nav-link {
        padding: 0 12px;
        font-size: var(--font-size-label-lg);
        height: 48px;

        &:hover,
        &:focus-within {
            --nav-link-background: var(--color-orange-200);
        }

        &:active {
            --nav-link-background: var(--color-orange-300);
        }

        i {
            transition: rotate 180ms ease;
        }
    }

    .nav-link-mobile {
        appearance: none;
        border: 0;
        box-shadow: none;
        padding: 12px;
        --nav-link-background: var(--color-neutral-50);
        font-size: 20px;
        justify-content: flex-start;
        align-items: center;
        min-height: 64px;
        gap: 12px;
        width: 100%;

        /* Target the chevron-right icon on parent buttons */
        span:has(.fa-chevron-right) {
            margin-inline-start: auto;
        }

        &:hover,
        &:focus-within,
        &[aria-current="page"],
        &[aria-current="true"] {
            --nav-link-background: var(--color-neutral-100);
        }

        &:active {
            --nav-link-background: var(--color-neutral-100);
        }
    }

    .nav-link-mobile-child {
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 0;
    }

    .item:has(> .popover:is(:popover-open, .is-open)) {
        &>.nav-link {
            /*Sets bg-color on parent when popover is open*/
            --nav-link-background: var(--color-orange-200);
        }

        &>.nav-link i {
            rotate: 180deg;
        }
    }

    .popover {
        background: var(--sa-white);
        border: 0px;
        border-radius: 28.8px;
        color: inherit;
        font-size: 16px;
        line-height: 1.4286;
        inset: calc(var(--bar-height) + 8px) auto auto 50%;
        margin: 0;
        max-block-size: calc(100dvh - var(--bar-height) - 24px);
        min-width: min(800px, calc(100vw - 32px));
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 8px 8px 8px 32px;
        position: fixed;
        width: max-content;
        opacity: 0;
        transform: translateX(-50%) translateY(0) scale(1);
        transition:
            opacity 180ms ease,
            transform 180ms ease,
            display 180ms allow-discrete,
            overlay 180ms allow-discrete;
    }

    .popover:is(:popover-open, .is-open) {
        display: block;
        opacity: 1;
        transform: translateX(-50%) translateY(0) scale(1);
    }

    .popover::backdrop {
        inset: calc(var(--bar-height)) 0 0;
    }

    .popover::backdrop,
    .mobile::backdrop {
        background-color: transparent;

        transition:
            background-color 180ms ease,
            display 180ms allow-discrete,
            backdrop-filter 180ms allow-discrete,
            overlay 180ms allow-discrete;
    }

    .popover:is(:popover-open, .is-open)::backdrop,
    .mobile[open]::backdrop {
        background-color: rgb(0 0 0 / 25%);
        backdrop-filter: blur(3px);
    }

    .search::backdrop,
    .mobile::backdrop {
        inset: 0;
    }

    .mobile-header {
        --time: 100ms;
        --easing: ease-out;

        align-items: center;
        column-gap: 16px;
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr) 44px;
        margin-bottom: 16px;
        min-height: 44px;

        .back-button {
            grid-column: 1;
            grid-row: 1;
            opacity: 0;
            pointer-events: none;
            transform: translateX(16px);
            display: flex;
            transition:
                transform var(--time) var(--easing),
                opacity var(--time) ease-in,
                visibility 0s linear var(--time);
            visibility: hidden;
        }

        .brand {
            grid-column: 1 / 3;
            grid-row: 1;
            justify-self: start;
            display: flex;
            opacity: 1;
            transform: translateX(0);
            transition:
                opacity var(--time) ease-in,
                transform var(--time) ease-in,
                visibility 0s linear;
            transition-delay: var(--time), var(--time), 0s;
            visibility: visible;
        }

        .child-panel-title {
            grid-column: 2;
            grid-row: 1;
            justify-self: center;
            min-width: 0;
            opacity: 0;
            overflow: hidden;
            pointer-events: none;
            text-overflow: ellipsis;
            transform: translateX(16px);
            visibility: hidden;
            white-space: nowrap;
            font-family: var(--font-secondary);
            font-size: var(--font-size-label-md);
            font-weight: 600;
            margin: 0;
            transition:
                opacity var(--time) ease-in,
                transform var(--time) ease-in,
                visibility 0s linear var(--time);
        }

        [data-sa-mobile-menu-close] {
            grid-column: 3;
            grid-row: 1;
        }

        &:has(~ .mobile-panel-child:not([hidden])) {

            .back-button,
            .child-panel-title {
                opacity: 1;
                transform: translateX(0);
                transition-delay: var(--time), var(--time), 0s;
                visibility: visible;
            }

            .back-button {
                pointer-events: auto;
            }

            .brand {
                opacity: 0;
                pointer-events: none;
                transform: translateX(-32px);
                transition-delay: 0s, 0s, var(--time);
                visibility: hidden;
            }
        }

        .sa-logo {
            width: 165px;
            height: 26px;

            @media (min-width: 768px) {
                display: none;
            }
        }
    }

    .mobile-panel li,
    .mobile-panel-child .featured-card,
    .mobile-utilities>* {
        --time: 250ms;
        --easing: cubic-bezier(0.112, 0.283, 0.194, 1.162);
        opacity: 1;
        transform: translateX(0);
        transition: transform var(--time) var(--easing), opacity calc(var(--time) / 2) ease-in;
    }

    .mobile-panel-child :is(li, .featured-card) {
        --item-delay: calc(var(--item-index) * (var(--time) / var(--child-item-count)));
        transition-delay: var(--item-delay);
    }

    .mobile-panel[data-sa-mobile-panel="root"] :is(li, .mobile-utilities > *) {
        --item-delay: calc(var(--item-index) * (var(--time) / var(--root-item-count)));
        transition-delay: var(--item-delay);
    }

    .popover-content {
        display: flex;
        gap: 32px;
        padding: 0;

        &:has(> .featured-card) {
            display: grid;
            grid-template-columns: minmax(448px, 1fr) 300px;
            align-items: stretch;
        }

        >.featured-card {
            display: flex;

            .sa-ui-spotlight-card-container {
                display: flex;
                width: 100%;
            }

            .sa-ui-spotlight-card {
                width: 100%;
            }
        }
    }

    .featured-card {
        width: min(100%);

        .sa-ui-spotlight-card {
            border-radius: 24px;
        }

        .sa-ui-spotlight-card__label {
            margin: 8px;
            max-width: calc(100% - 80px);
        }

        .sa-ui-spotlight-card__arrow {
            margin: 16px 16px 0 auto;
            width: 40px;
            font-size: 20px;
        }

        .sa-ui-spotlight-card__content {
            gap: 4px;
            padding: 0 20px 20px;
        }

        .sa-ui-spotlight-card:has(.sa-ui-spotlight-card__media) .sa-ui-spotlight-card__content {
            padding-block-start: 36px;
        }

        .sa-ui-spotlight-card__title.h4 {
            color: var(--color-text);
            font-size: 22px;
            line-height: 1.3;
        }

        .sa-ui-spotlight-card__paragraph {
            font-size: 16px;
            line-height: 1.5;
        }

        .sa-ui-badge--circle {
            width: 40px;
            height: 40px;
        }

        :is(.sa-ui-badge--oval, .sa-ui-badge--half-oval, .sa-ui-badge--outlined) {
            height: 32px;
            padding-inline: 12px;
        }
    }

    .children {
        display: grid;
        align-content: start;
        gap: 24px;
        min-width: 288px;
        padding: 24px 0;


        li {
            transition: transform 180ms ease-out;

            &:has(> a:hover, > a:focus) {
                transform: translateX(4px);
            }
        }

        a {
            text-decoration: none;
            text-decoration-thickness: 7%;
            text-underline-position: from-font;

            &:hover .link-title,
            &:focus .link-title {
                text-decoration: underline;
            }
        }

        a span.link-title {
            font-family: var(--font-secondary);
            font-size: 26px;
            color: var(--color-neutral-800);
            font-weight: 600;
        }
    }

    .description {
        display: block;
        font-family: var(--font-secondary);
        font-size: var(--font-size-p-sm);
        font-weight: 400;
        color: var(--text-text-muted);
        line-height: 150%;
    }

    .mobile {
        --time: 180ms;

        block-size: 100dvh;
        margin: 0;
        margin-inline-start: auto;
        max-block-size: 100dvh;
        max-width: 480px;
        padding:
            max(8px, env(safe-area-inset-top)) max(var(--container-padding-md), env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(var(--container-padding-md), env(safe-area-inset-left));
        width: 100%;
        border: 0;
        opacity: 0;
        transform: translateX(64px);
        transition:
            opacity calc(var(--time) / 1.5) ease,
            transform var(--time) ease,
            display var(--time) allow-discrete,
            overlay var(--time) allow-discrete;

        &[open] {
            display: grid;
            grid-template-rows: auto minmax(0, 1fr);
            opacity: 1;
            transform: translateX(0);

            &::backdrop {
                background-color: rgb(0 0 0 / 25%);
                backdrop-filter: blur(3px);
            }

        }

        &::backdrop {
            background-color: transparent;
            backdrop-filter: blur(0);
            transition: background-color var(--time) ease,
                backdrop-filter var(--time) ease,
                display var(--time) allow-discrete,
                overlay var(--time) allow-discrete;
        }

        @media (min-width: 768px) {
            padding-block-start: max(12px, env(safe-area-inset-top));
        }
    }

    .mobile-header {
        grid-column: 1;
        grid-row: 1;
    }

    .mobile-panel {
        grid-column: 1;
        grid-row: 2;
        min-height: 0;
        /* overflow-x: hidden; */
        /* overflow-y: auto; */
        overscroll-behavior: contain;
    }

    .mobile-panel[data-sa-mobile-panel="root"]:not([hidden]) {
        display: flex;
        flex-direction: column;
    }

    .mobile-panel-child>nav {
        display: flex;
        flex-direction: column;
        min-block-size: 100%;
    }

    .mobile-panel-child .featured-card {
        margin-block-start: auto;
        padding-block-start: 32px;
    }

    .sa-logo {
        width: 165px;
        height: 26px;

        @media (min-width: 768px) {
            width: unset;
            height: unset;
        }
    }

    .mobile-list {
        display: grid;
        gap: 12px;
    }

    .mobile-utilities {
        display: grid;
        gap: 12px;
        margin-top: auto;
    }

    .desktop-only,
    .tablet-only {
        display: none;
    }

    .mobile-only {
        display: inline-flex;
    }

    @media (min-width: 768px) {
        .mobile-only {
            display: none;
        }

        .tablet-only {
            display: inline-flex;
        }
    }

    @media (min-width: 80rem) {

        .mobile-only,
        .tablet-only {
            display: none;
        }

        .desktop-only {
            display: block;
        }

        .desktop.desktop-only {
            display: grid;
        }

        .account.desktop-only {
            display: inline-flex;
            align-self: center;
        }
    }

    .icon-button {
        justify-content: center;
        align-items: center;
        border-radius: 800px;
        border: 1px solid var(--color-neutral-800);
        aspect-ratio: 1 / 1;
        width: 40px;
        transition: background-color 180ms;

        span {
            display: flex;
        }

        &:hover {
            background-color: var(--color-neutral-50);
        }

        &:active {
            background-color: var(--color-neutral-100);
        }
    }

    .sesam-icon path {
        transform-box: fill-box;
        transform-origin: center;
    }

    @media (hover: hover) and (pointer: fine) {
        :is(.sesam-mobile-link-wrapper:hover, .sesam-mobile-link-wrapper:focus-within, .ai-link:hover, .ai-link:focus-visible) .sesam-icon path {
            animation: sesam-sparkle 600ms ease-out both;
        }

        :is(.sesam-mobile-link-wrapper:hover, .sesam-mobile-link-wrapper:focus-within, .ai-link:hover, .ai-link:focus-visible) .sesam-icon path:nth-child(2) {
            animation-delay: 80ms;
        }

        :is(.sesam-mobile-link-wrapper:hover, .sesam-mobile-link-wrapper:focus-within, .ai-link:hover, .ai-link:focus-visible) .sesam-icon path:nth-child(3) {
            animation-delay: 160ms;
        }
    }

    .sesam-mobile-link-wrapper {
        display: grid;
        place-items: center;
        position: relative;
        isolation: isolate;
        overflow: hidden;
        padding: 2px;
        border: 0;
        border-radius: 800px;
        transition: padding 180ms ease-in;

        &::before {
            content: "";
            position: absolute;
            z-index: 0;
            left: 50%;
            top: 50%;
            width: 150%;
            aspect-ratio: 1;
            pointer-events: none;
            transform: translate(-50%, -50%);
            background: conic-gradient(from 0deg,
                    var(--color-orange-300, #f7ba99),
                    var(--color-purple-400, #a64dff),
                    var(--color-pink-400, #ff74bf),
                    var(--color-orange-300, #f7ba99));
        }

        &:active {
            padding: 3px;
        }

        @media (hover: hover) and (pointer: fine) {
            &:is(:hover, :focus-within) {
                padding: 3px;
            }

            &:is(:hover, :focus-within)::before {
                animation: rotate-background 1.5s linear infinite;
            }
        }

        @media (hover: none) and (pointer: coarse) {
            &:active .sesam-icon path {
                animation: sesam-sparkle 240ms ease-out both;
            }

            &:active .sesam-icon path:nth-child(2) {
                animation-delay: 30ms;
            }

            &:active .sesam-icon path:nth-child(3) {
                animation-delay: 60ms;
            }
        }

        .button {
            position: relative;
            z-index: 1;
            border: 0;
        }

        .ai-button {
            color: var(--color-neutral-800);
            background-color: var(--color-white);
            grid-column: 1/2;
            grid-row: 1/2;
            width: 100%;
            min-height: 100%;

            span {
                display: flex;
                align-items: center;
                justify-content: center;
            }
        }
    }

    .ai-tooltip-wrapper {
        position: relative;
        flex: 0 0 40px;
        height: 40px;
    }

    .ai-tooltip {
        position: absolute;
        top: calc(100% + 8px);
        left: 50%;
        transform: translateX(-50%);
        z-index: 2;
        height: 20px;
        padding: 0 6px;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 4px;
        border-radius: 4px;
        background-color: var(--color-neutral-800);
        color: var(--color-white);
        font-family: var(--font-secondary);
        font-size: 14px;
        font-weight: 600;
        white-space: nowrap;

        &[popover] {
            /* A top-layer tooltip must use viewport coordinates rather than its wrapper. */
            position: fixed;
            inset: auto;
            margin: 0;
            border: 0;
            overflow: visible;
        }

        &::backdrop {
            display: none;
        }

        &:not([hidden]) {
            display: flex;
            animation: ai-tooltip-in 140ms ease-out;
        }

        /* Bridge the gap so the tooltip stays open when hovered. */
        &::before {
            content: "";
            position: absolute;
            bottom: 100%;
            left: 0;
            width: 100%;
            height: 8px;
        }

        &::after {
            content: "";
            position: absolute;
            bottom: 100%;
            left: 50%;
            transform: translateX(-50%);
            border-inline: 4px solid transparent;
            border-bottom: 4px solid var(--color-neutral-800);
        }
    }

    .ai-link-wrapper {
        aspect-ratio: 1;
        display: none;
        flex: 0 0 40px;
        height: 40px;

        &:has(.ai-link:focus-visible) {
            outline: 5px auto -webkit-focus-ring-color;
        }

        @media (min-width: 80rem) {
            display: grid;
        }

        .ai-link {
            background-color: var(--color-white);
            border: 0;
            height: 100%;
            position: relative;
            width: 100%;
            z-index: 1;

            &:focus-visible {
                outline: 0;
            }
        }
    }

    .medium {
        height: 40px;
    }

    .large {
        height: 56px;
    }

    .button {
        display: flex;
        padding: 0 20px;
        justify-content: center;
        align-items: center;
        gap: 16px;
        align-self: stretch;
        border-radius: 800px;
        box-shadow: var(--shadow-xs);
        border: 1px solid var(--color-neutral-800);
        font-weight: 600;
        min-height: 40px;
        transition:
            background 300ms,
            box-shadow 300ms;
        text-decoration: none;

        &.secondary {
            background-color: var(--color-neutral-800);
            color: var(--color-white);

            &:hover {
                background-color: var(--color-neutral-400);
            }

            &:active {
                background-color: #293256
            }
        }

    }

    .mobile-panel[data-sa-mobile-panel="root"] .mobile-utilities>* {
        transition:
            transform var(--time) var(--easing) var(--item-delay),
            opacity calc(var(--time) / 2) ease-in var(--item-delay),
            padding 180ms ease-in,
            background 300ms,
            box-shadow 300ms;
    }
}

@starting-style {
    .sa-global-navigation {
        .popover:is(:popover-open, .is-open) {
            opacity: 0;
            transform: translateX(-50%) translateY(-32px) scale(0.92);
        }

        .popover:is(:popover-open, .is-open)::backdrop {
            inset: calc(var(--bar-height)) 0 0;
            background-color: transparent;
            backdrop-filter: blur(0);
        }

        .mobile-panel-child :is(li, .featured-card) {
            transform: translateX(100%);
            opacity: 0;
        }

        .mobile-panel:not(.mobile-panel-child) li {
            transform: translateX(-100%);
            opacity: 0;
        }

        .mobile-panel:not(.mobile-panel-child) .mobile-utilities>* {
            transform: translateX(-100%);
            opacity: 0;
        }

        .mobile-header:has(~ .mobile-panel-child:not([hidden])) .back-button {
            opacity: 0;
            transform: translateX(16px);
        }

        .mobile-header .brand {
            opacity: 0;
            transform: translateX(-32px);
        }

        .mobile-header:has(~ .mobile-panel-child:not([hidden])) .child-panel-title {
            opacity: 0;
            transform: translateX(16px);
        }

        .mobile[open] {
            opacity: 0;
            transform: translateX(64px);
        }

        .mobile[open]::backdrop {
            background-color: transparent;
            backdrop-filter: blur(0);
        }
    }


}

html.sa-mobile-menu-open {
    overflow: hidden;
}

.sa-global-navigation .popover {
    max-width: 820px;
    min-width: 820px;
    width: 820px;
}

.sa-global-navigation-host {
    --admin-bar-offset: 0px;

    background: #fff;
    inset-block-start: var(--admin-bar-offset);
    position: sticky;
    transition: transform 180ms ease;
    will-change: transform;
    z-index: 1000;

    &.is-hidden {
        transform: translateY(-100%);
    }

    &:focus-within,
    &:has(:popover-open),
    &:has(dialog[open]) {
        transform: translateY(0);
    }
}

html {
    --sa-global-navigation-height: 56px;
}

html:has(> body.sa-global-navigation-enabled),
body.sa-global-navigation-enabled {
    overflow-x: clip;
}

html:not(.sa-mobile-menu-open, .sa-global-search-open):has(> body.sa-global-navigation-enabled:not(.modal-open)),
body.sa-global-navigation-enabled:not(.modal-open) {
    overflow-y: visible;
}

body.sa-global-navigation-enabled {
    --sa-global-navigation-admin-offset: 0px;

    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.admin-bar.sa-global-navigation-enabled {
    --sa-global-navigation-admin-offset: 32px;
}

body.sa-global-navigation-enabled #page-wrapper {
    overflow: clip;
}

.sa-global-navigation-tool-header {
    inset-block-start: calc(var(--sa-global-navigation-admin-offset) + var(--sa-global-navigation-height));
    position: sticky;
    transition: inset-block-start 180ms ease;
    z-index: 999;
}

.sa-global-navigation-tool-header > .navbar {
    inset-block-start: auto !important;
    margin: 0;
}

.sa-global-navigation-host.is-hidden + .sa-global-navigation-tool-header {
    inset-block-start: var(--sa-global-navigation-admin-offset);
}

@media screen and (min-width: 1200px) {
    .sa-global-navigation-tool-header .subpage-menu .menu > li > .sub-menu {
        top: 55px;
    }
}

@media (min-width: 768px) {
    html {
        --sa-global-navigation-height: 64px;
    }
}

@media screen and (max-width: 782px) {
    body.admin-bar.sa-global-navigation-enabled {
        --sa-global-navigation-admin-offset: 46px;
    }
}

.admin-bar .sa-global-navigation-host {
    --admin-bar-offset: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar .sa-global-navigation-host {
        --admin-bar-offset: 46px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .sa-global-navigation *,
    .sa-global-navigation *::before,
    .sa-global-navigation *::after {
        animation: none !important;
        scroll-behavior: auto !important;
        transition: none !important;
    }

    .sa-global-navigation-host {
        transition: none;
    }

    .sa-global-navigation-tool-header {
        transition: none;
    }

}
