.site-header .menu-toggle {
    background: none;
    border: none;
    appearance: none;
    padding: .3125rem .5rem;
    color: var(--color-white);
}

.mm-menu {
    --mm-size: 90%;
    --mm-color-text: var(--color-primary);
    --mm-color-text-dimmerd: var(--color-primary);
    --mm-color-icon: var(--color-primary);
}

.mm-menu .mm-btn--prev::before {
    width: 12px;
    height: 12px;
}

.mm-menu .mm-btn--next::after {
    width: 10px;
    height: 10px;
}

.mm-menu .mm-btn--close::before {
    content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22%23fff%22%20class%3D%22bi%20bi-x-lg%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%20%20%3Cpath%20d%3D%22M2.146%202.854a.5.5%200%201%201%20.708-.708L8%207.293l5.146-5.147a.5.5%200%200%201%20.708.708L8.707%208l5.147%205.146a.5.5%200%200%201-.708.708L8%208.707l-5.146%205.147a.5.5%200%200%201-.708-.708L7.293%208%202.146%202.854Z%22%2F%3E%0A%3C%2Fsvg%3E");
}

.mm-menu .mm-listitem::after {
    content: none;
}

.mm-menu .mm-listitem__text {
    font-size: 1.125rem;
    font-weight: 500;
    padding-block: 1.25rem;
    padding-inline: 1rem;
}

.mm-menu .mm-listitem--selected > .mm-listitem__text {
    background: none;
    text-decoration: underline;
    text-decoration-thickness: .125rem;
    text-underline-offset: .375rem;
}

.mm-menu .mm-listitem__btn:not(.mm-listitem__text) {
    border: none;
}

.mm-menu .mm-navbars--top {
    border: none;
}

.mm-menu .mm-navbars--top .mm-navbar {
    background: var(--color-primary);
    color: var(--color-white);
    font-weight: 500;
}

.mm-menu .mm-navbars--top .mm-navbar .mm-btn::before {
    border-color: currentColor;
}

.mm-menu .mm-navbars--bottom .cta-navigation {
    gap: 1px;
}

.mm-menu .mm-navbars--bottom .cta-navigation > a {
    flex-grow: 1;
    flex-basis: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    padding: 1rem .5rem;
    border: none;
    border-radius: 0;
    font-size: .75rem;
    line-height: 1.5;
    color: var(--color-white);
    background: var(--color-primary);
}

.mm-menu .mm-navbars--bottom .cta-navigation > a:focus-visible {
    outline: none;
    box-shadow: none;
}

.mm-menu .mm-navbars--bottom .cta-navigation > .btn {
    flex-direction: column-reverse;
}

.mm-menu .mm-navbars--bottom .cta-navigation .icon {
    filter: brightness(0) invert(1);
    height: 1.25rem;
}

@media (min-width: 576px) {
    .mm-menu .mm-navbars--bottom .cta-navigation > a {
        padding: 1rem;
        font-size: 1rem;
    }

    .mm-menu .mm-navbars--bottom .cta-navigation .icon {
        height: 2.5rem;
    }
}

@media (min-width: 992px) {
    .main-navigation ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .main-navigation li a {
        position: relative;
    }

    .main-navigation li a:focus {
        outline: none;
    }

    .main-navigation li a::after {
        content: "";
        position: absolute;
        width: 100%;
        height: .125rem;
        inset-block-end: 0;
        inset-inline-start: 0;
        background: var(--color-primary);
        transform: scaleX(0);
        transform-origin: 100% 50%;
        transition: transform 350ms cubic-bezier(.24, .28, .63, 1);
    }

    .main-navigation li > a:hover::after,
    .main-navigation li > a:focus::after,
    .main-navigation li.current-menu-ancestor > a::after,
    .main-navigation li.current-menu-item > a::after {
        transform: scaleX(1);
        transform-origin: 0 50%;
    }

    .main-navigation a {
        color: currentColor;
        text-decoration: none;
    }

    .main-navigation .menu {
        display: flex;
        gap: 1rem;
    }

    .main-navigation .menu a {
        padding-block: .25rem;
    }

    .main-navigation .menu > li {
        position: relative;
        padding-block: 1.5rem;
    }

    .main-navigation .menu ul {
        display: flex;
        flex-direction: column;
        width: 300px;
        opacity: 0;
        visibility: hidden;
        transition: 300ms ease-in-out all;
        background: #fff;
        padding: .5rem 1rem;
        position: absolute;
        inset-block-start: 100%;
        box-shadow: 0 3px 3px rgba(0, 0, 0, 0.05);
        border-end-start-radius: 10px;
        border-end-end-radius: 10px;
    }

    .main-navigation ul li:hover > ul,
    .main-navigation ul li.focus > ul {
        opacity: 1;
        visibility: visible;
    }

    .main-navigation ul ul li {
        padding: .25rem 0;
    }

    .nav-header .cta-navigation {
        display: flex;
        align-items: center;
        gap: 1rem;
    }

    .nav-header .extra-nav-item {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: .25rem;
        font-size: .625rem;
        color: inherit;
        text-decoration: none;
        padding-block: .25rem;
    }

    .nav-header .extra-nav-item::after {
        content: "";
        position: absolute;
        width: 100%;
        height: .125rem;
        inset-block-end: 0;
        inset-inline-start: 0;
        background: var(--color-primary);
        transform: scaleX(0);
        transform-origin: 100% 50%;
        transition: transform 350ms cubic-bezier(.24, .28, .63, 1);
    }

    .nav-header .extra-nav-item:focus {
        outline: none;
    }

    .nav-header .extra-nav-item:hover::after,
    .nav-header .extra-nav-item:focus::after {
        transform: scaleX(1);
        transform-origin: 0 50%;
    }

    .nav-header .extra-nav-item .icon {
        height: 2rem;
    }

    .nav-header .cta-navigation .btn-icon .icon {
        display: none;
    }
}

@media (min-width: 1200px) {
    .main-navigation .menu {
        gap: 1.5rem;
    }

    .nav-header .cta-navigation {
        gap: 2rem;
    }

    .nav-header .cta-navigation .btn-icon .icon {
        display: block;
        filter: brightness(0) invert(1);
        height: 1.75rem;
    }
}