@media (min-width: 1024px) {
    .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
        padding: 1rem;
        border: none !important;
        border-radius: 0.5rem;
        box-shadow: 0px 6px 12px #0000004D;
    }

    .wp-block-navigation__submenu-container.wp-block-navigation-submenu .current-menu-item {
        padding-left: 0rem;
    }


    .wp-block-navigation__submenu-container.wp-block-navigation-submenu .current-menu-item:not(.no-active) span,
    .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-link:hover span,
    .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-link:focus span {
        padding-left: 0.5rem;
        margin-left: calc(-0.5rem - 3px);
        border-left: 3px solid var(--wp--preset--color--primary-highlight);
        color: var(--wp--preset--color--primary-base);
    }

    .frontier-ext__wp-block-navigation-submenu > .wp-block-navigation-item__content.current-menu-ancestor,
    .wp-block-navigation>.wp-block-navigation-item.current-menu-item>.wp-block-navigation-item__content,
    .wp-block-navigation>.wp-block-navigation-item>.current-menu-ancestor,
    .wp-block-navigation>.wp-block-navigation-item:hover>.wp-block-navigation-item__content,
    .wp-block-navigation>.wp-block-navigation-item:focus>.wp-block-navigation-item__content {
        border-bottom: 3px solid var(--wp--preset--color--primary-highlight);
        margin-bottom: -3px;
    }

    .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
        color: var(--wp--preset--color--primary-dark);
    }

    .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,
    .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:focus {
        color: var(--wp--preset--color--primary-base);
    }

    .wp-block-navigation .wp-block-navigation-submenu__toggle svg {
        stroke: var(--wp--preset--color--primary-base) !important;
    }

    .wp-block-navigation .wp-block-navigation__submenu-icon {
        width: 0.8rem;
        height: 0.8rem;
    }

    .wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container,
    .wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container,
    .wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container,
    .wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container {
        left: 0;
        right: auto;
    }
}

@media (max-width: 1024px) {

    .wp-block-navigation__container {
        --navigation-layout-justification-setting: start !important;
        --navigation-layout-justify: start !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        font-size: 120%;
    }

    .wp-block-navigation__responsive-container.is-menu-open {
        margin-left: 3rem;
    }

    .wp-block-navigation__responsive-container-close {
        margin: 1rem;
    }

    .wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex {
        margin-left: 1rem;
        margin-right: 1rem;
        margin-bottom: 1rem;
    }

    .wp-block-navigation__responsive-container-content {
        align-items: start !important
    }

.frontier-ext__wp-block-navigation-submenu > .wp-block-navigation-item__content {
    display: inline-block;
}
.frontier-ext__wp-block-navigation-submenu > .wp-block-navigation-item__content,
    .wp-block-navigation-item__label{
        border-left: 4px solid transparent;
        padding-left: 0.5rem !important;
    }

.frontier-ext__wp-block-navigation-submenu > .wp-block-navigation-item__content.current-menu-ancestor,
    .current-menu-item:not(.no-active) .wp-block-navigation-item__label {
        font-weight: bold;
        border-left: 4px solid white;
    }

    .wp-block-navigation__submenu-container {
        padding-left: 2rem !important;
        gap: 1rem !important;
    }

    /* for getting the buttons to the bottom of the mobile nav */
    .wp-block-navigation__responsive-dialog {
        display: flex;
        flex-direction: column;
        height: 100%;
    }
    .wp-block-navigation__responsive-dialog .wp-block-navigation__responsive-container-content {
        flex: 1 1 0%;
        height: 100%;
    }
    .wp-block-navigation__responsive-dialog .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
        height: 100%;
    }
}

/*
BEGIN HACK
Wordpress doesn't have a way to change the default mobile breakpoint, so this CSS does that
*/
/* this is just a copy of wp default css, but changed media query to a 1024px */
@media screen and (max-width: 1024px) {

    /* hamburger button */
    .wp-block-navigation__responsive-container-open {
        display: block !important;
    }

    /* full menu */
    .wp-block-navigation__responsive-container:not(.is-menu-open.has-modal-open) {
        display: none !important;
    }
}

/* END HACK */

@media screen and (min-width: 1024px) {
    .has-js .frontier-ext__dropdown-indicator {
        display: none;
    }
}

/* animation for menu opening */
@keyframes slideFromRight {
    0% {
        opacity: 0;
        transform: scaleX(0);
    }

    100% {
        opacity: 1;
        transform: scaleX(1);
    }
}

/* animation for menu opening */
@keyframes slideToRight {
    0% {
        opacity: 1;
        transform: scaleX(1);
    }

    100% {
        transform: scaleX(0);
        opacity: 0;
    }
}

@media screen and (max-width: 1024px) {
    .wp-block-navigation__responsive-container.is-menu-open.has-modal-open:not(.is-closing) {
        animation: slideFromRight 0.25s;
        transform-origin: right;
    }
    .wp-block-navigation__responsive-container.is-menu-open.has-modal-open.is-closing {
        animation: slideToRight 0.25s;
        animation-delay: 0.25s;
        animation-fill-mode: forwards;
        transform-origin: right;
    }
    .wp-block-navigation__responsive-container.is-menu-open.has-modal-open.is-closing .wp-block-navigation__responsive-close {
        animation: slideToRight 0.25s;
        animation-fill-mode: forwards;
        transform-origin: right;
    }

    .wp-block-navigation__responsive-container.is-menu-open.has-modal-open:not(.is-closing) .wp-block-navigation__responsive-close {
    animation: slideFromRight 0.25s;
    opacity: 0;
    transform-origin: right;
    animation-fill-mode: forwards;
    background-color: var(--wp--preset--color--primary-base) !important;
    animation-delay: 0.25s;
    height: 100%;
}

.wp-block-navigation__container.wp-block-navigation {
    animation: slideFromRight 0.25s;
    opacity: 0;
    transform-origin: right;
    animation-fill-mode: forwards;
    animation-delay: 0.5s;
}

    .wp-block-navigation__responsive-container {
        background-color: var(--wp--preset--color--primary-highlight) !important;
        color: white !important;
    }

    .wp-block-navigation__responsive-container svg {
        fill: white;
    }

    .wp-block-navigation__responsive-container .wp-block-button.is-style-outline .wp-element-button {
        background-color: var(--wp--preset--color--primary-highlight) !important;
        color: white !important;
    }

    .wp-block-navigation__responsive-container .wp-block-button.is-style-fill .wp-element-button {
        background-color: var(--wp--preset--color--gray-20) !important;
        color: var(--wp--preset--color--primary-base) !important;
    }

    .has-js .wp-block-navigation__responsive-container-content>ul,
    .has-js .wp-block-navigation-item.has-child {
        width: 100%;
        box-sizing: border-box
    }

    .has-js .wp-block-navigation-item.has-child .wp-block-navigation-submenu:not(.open) {
        display: none;
    }
    .has-js .wp-block-navigation-item.has-child .wp-block-navigation-submenu.open {
        transform-origin: top;
        animation: slideDown 0.25s;
        margin-bottom: 1rem;
    }

    .has-js .wp-block-navigation-item.has-child>.frontier-ext__wp-block-navigation-submenu {
        display: flex;
        width: 100%;
        justify-content: space-between;
    }

    .has-js .frontier-ext__dropdown-indicator {
        cursor: pointer;
        transform-origin: center;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .has-js .frontier-ext__dropdown-indicator.has-open {
        transform: rotate(180deg);
    }

    .has-js .wp-block-navigation__container>.wp-block-navigation-item {
        /*
        border-bottom: 1px solid var(--wp--preset--color--gray-60);
        */
        padding-bottom: 0.75rem;
        width: 100%;
    }

    .has-js .wp-block-navigation__container {
        gap: 0.75rem !important;
    }

    .has-js .wp-block-navigation__responsive-container-content .wp-block-buttons {
        justify-content: end;
        margin-left: auto;
    }
}

/* The next two rules are for making the logo (and thus height of the navigation as a whole) change size after scrolling; */
.has-js #site-navigation--container .wp-block-site-logo img {
    width: 182px;
    max-width: inherit;
    transition-property: width;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.has-js #site-navigation--container.has-scrolled .wp-block-site-logo img {
    width: 132px;
}

@keyframes slideDown {
    0% {
        opacity: 0;
        transform: scaleY(0);
    }
    100% {
        opacity: 1;
        transform: scaleY(1);
    }
}