.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content {
    font-weight: 900;
}

/* Style any navigation block with a style variation */
:root :where(.wp-block-navigation[class*="is-style-"]) {
    --nav-link-padding-x: 0.5rem;
    --nav-link-padding-y: 0.563rem;
    --nav-link-color: currentColor;
    --nav-link-hover-color: var(--wp--preset--color--primary);
    --nav-link-active-color: var(--nav-link-hover-color);
    --nav-font-size: 1.063rem;
    --nav-link-gap: var(--wp--preset--spacing--20);
    --nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out;
    --nav-dropdown-toggle-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" stroke="%23212529" aria-hidden="true"><path stroke-width="1.5" d="M1.5 4 6 8l4.5-4"/></svg>');
    --nav-dropdown-toggle-icon-margin: .471em;
    --nav-dropdown-toggle-icon-width: .75rem;
    --nav-dropdown-toggle-icon-height: var(--nav-dropdown-toggle-icon-width);
    --nav-dropdown-toggle-icon-offset: calc(var(--nav-dropdown-toggle-icon-width) + var(--nav-link-padding-x) + var(--nav-dropdown-toggle-icon-margin));
    
    font-size: var(--nav-font-size);
    gap: var(--nav-link-gap);
}

:root :where(ul.wp-block-navigation[class*="is-style-"]) {
    --wp--custom--focus--offset: calc(var(--wp--custom--focus--width) * -2);
}

/* Responsive navs like use use high-spcificity overrides, so make sure they use our styles */
    :root :where(.wp-block-navigation[class*="is-style-"]),
    .wp-block-navigation[class*="is-style-"]:not(.has-background) .wp-block-navigation__responsive-container {
        background-color: var(--nav-bg-color, inherit);
    }

    :root :where(.wp-block-navigation[class*="is-style-"]),
    .wp-block-navigation[class*="is-style-"]:not(.has-text-color) .wp-block-navigation__responsive-container {
        color: var(--nav-link-color);
    }

    .wp-block-navigation[class*="is-style-"] .wp-block-navigation-item,
    .wp-block-navigation[class*="is-style-"] .wp-block-navigation__container {
        background: inherit !important;
        color: inherit !important;
    }

    .wp-block-navigation[class*="is-style-"]:not(.has-background) .wp-block-navigation__submenu-container {
        background-color: var(--nav-dropdown-bg-color, var(--nav-bg-color, inherit)) !important;
    }

    .wp-block-navigation[class*="is-style-"]:not(.has-text-color) .wp-block-navigation__submenu-container {
        color: var(--nav-dropdown-color, var(--nav-link-color)) !important;
    }
/* End force to use our colors */


:root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation-item__content {
    transition: var(--nav-link-transition);
}

:root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation-item__content.wp-block-navigation-item__content,
:root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content.wp-block-navigation-item__content {
    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);
}

:root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-container {
    --nav-dropdown-min-width: 16rem;
    --nav-dropdown-padding-x: .25rem;
    --nav-dropdown-padding-y: .25rem;
    --nav-dropdown-border-radius: 0;
    --nav-dropdown-border-width: 1px;
    --nav-dropdown-border-color: rgba(0, 0, 0, 0.175);
    --nav-dropdown-bg-color: var(--wp--preset--color--base);
    --nav-dropdown-color: var(--wp--preset--color--contrast);
    --nav-dropdown-font-size: .938rem;
    --nav-submenu-offset-x: 0;
    --nav-dropdown-top-spacer: 0;

    --nav-link-padding-y: .438rem;

    padding: var(--nav-dropdown-padding-x) var(--nav-dropdown-padding-y);
    border-radius: var(--nav-dropdown-border-radius);
    font-size: var(--nav-dropdown-font-size);
}

:root :where(.wp-block-navigation[class*="is-style-"]).wp-block-navigation .wp-block-navigation__submenu-container {
    border: var(--nav-dropdown-border-width) solid var(--nav-dropdown-border-color);
}

:root :where(.wp-block-navigation[class*="is-style-"]) .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container,
:root :where(.wp-block-navigation[class*="is-style-"]) .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
    min-width: var(--nav-dropdown-min-width);
}

:where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-container:not(.wp-block-navigation__overlay-container *) {
    --nav-link-padding-x: 1em;
    --nav-link-padding-y: calc(var(--nav-link-padding-x) * 0.5);
}

:root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
    text-decoration: underline;
}


/* Submenu Icon */
:root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-icon svg {
    display: none;
}

:root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-icon {
    --wp--custom--focus--offset: 0;

    width: var(--nav-dropdown-toggle-icon-width);
    height: var(--nav-dropdown-toggle-icon-height);
    margin-left: 0;
}

:root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-icon::before {
    content: "";
    display: block;
    height: 100%;
    background-color: currentColor;
    -webkit-mask-image: var(--nav-dropdown-toggle-icon);
        mask-image: var(--nav-dropdown-toggle-icon);
    -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
    mask-size: cover;
}

:root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation-submenu > .wp-block-navigation-item__content,
:root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-container .wp-block-navigation-submenu > .wp-block-navigation-item__content.wp-block-navigation-item__content {
    padding-right: calc(var(--nav-dropdown-toggle-icon-offset));
}

:root .wp-block-navigation[class*="is-style-"] .wp-block-navigation-submenu .wp-block-navigation__submenu-icon {
    transform: translateX(calc((var(--nav-dropdown-toggle-icon-width) + var(--nav-link-padding-x)) * -1));
    margin-left: 0;
    margin-right: calc(var(--nav-dropdown-toggle-icon-width) * -1);
}

:root :where(.wp-block-navigation[class*="is-style-"]) > .wp-block-navigation-submenu > .wp-block-navigation-item__content:hover,
:root :where(.wp-block-navigation[class*="is-style-"]) > .current-menu-item > .wp-block-navigation__submenu-icon,
:root :where(.wp-block-navigation[class*="is-style-"]) > .current-menu-ancestor > .wp-block-navigation__submenu-icon {
    color: var(--nav-link-active-color);
}

@media (prefers-reduced-motion: no-preference) {
    /* Transition toggle arrows */
    :root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-icon::before {
        transition: transform 0.15s ease-in-out;
    }
}

:root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation-submenu__toggle[aria-expanded="true"] + .wp-block-navigation__submenu-icon::before {
    transform: rotate(-180deg);
}

:root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon:not(.wp-block-navigation__overlay-container *)::before {
    transform: rotate(-90deg);
}


/* Mobile Menu Toggle */
:root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__responsive-container-open {
    padding: .75rem;
    border: var(--wp--custom--border--width) solid var(--wp--preset--color--borders);
    border-radius: var(--wp--custom--border--radius);
}


@media (max-width: 782px) {
    /* Use custom classes to make the mobile nav/logo site side by side */
    .navbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .navbar__brand {
        flex-grow: 1;
    }

    :root .navbar__nav-wrapper {
        /* Remove all possible group styles to they don't afect the mobile nav */
        border: 0 !important;
        background-color: transparent !important;
    }

    /* Alter the breakpoint at which the menu switches to non-collapsed nav */
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none;
    }
}


/* "Mobile" styles, but they are scoped to the navs inside the navigation overlay container */
    :root :where(.wp-block-navigation__overlay-container) .wp-block-navigation[class*="is-style-"] {
        --nav-link-color: var(--wp--preset--color--contrast);
        --nav-bg-color: var(--wp--preset--color--base);
        --nav-dropdown-toggle-icon-width: .875rem;
        --nav-link-gap: 0;

        /* --navigation-layout-justification-setting: stretch; */
        --navigation-layout-align: stretch;
    }

    :root :where(.wp-block-navigation__overlay-container .wp-block-navigation[class*="is-style-"]) .wp-block-navigation-item__content {
        flex-grow: 1;
    }

    :root :where(.wp-block-navigation__overlay-container .wp-block-navigation[class*="is-style-"]) .wp-block-navigation-submenu {
        flex-wrap: wrap;
    }

    :root :where(.wp-block-navigation__overlay-container .wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-container {
        --nav-dropdown-padding-x: 0;
        --nav-dropdown-padding-y: 0;
        --nav-dropdown-border-width: 0;
        --nav-dropdown-top-spacer: .75rem;
        --nav-submenu-offset-x: var(--nav-dropdown-top-spacer);
        --nav-dropdown-min-width: 100%;
    }

    :root :where(.wp-block-navigation__overlay-container .wp-block-navigation[class*="is-style-"]) .has-child .wp-block-navigation-submenu__toggle ~ .wp-block-navigation__submenu-container,
    :root :where(.wp-block-navigation__overlay-container .wp-block-navigation[class*="is-style-"]) .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
        position: static;
    }

    :root :where(.wp-block-navigation__overlay-container .wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-container .wp-block-navigation-item {
        padding-left: var(--nav-submenu-offset-x);
    }

    /* Override some dropdown styles to prep for fancy open/close animations */
    :root :where(.wp-block-navigation__overlay-container .wp-block-navigation[class*="is-style-"]) .open-on-click > .wp-block-navigation-submenu__toggle ~ .wp-block-navigation__submenu-container {
        display: none;
        visibility: visible;
        opacity: 1;
        width: 100%;
    }

    @media (prefers-reduced-motion: no-preference) {
        /* Transition open/close */
        :root :where(.wp-block-navigation__overlay-container .wp-block-navigation[class*="is-style-"]) .open-on-click > .wp-block-navigation-submenu__toggle ~ .wp-block-navigation__submenu-container {
            interpolate-size: allow-keywords;
            transition-behavior: allow-discrete;
            overflow-y: clip;
            overflow-x: visible;
            transition: block-size 0.2s, display 0.2s allow-discrete;
            min-block-size: 0;
        }
        
        :root :where(.wp-block-navigation__overlay-container .wp-block-navigation[class*="is-style-"]) .open-on-click > .wp-block-navigation-submenu__toggle[aria-expanded="false"] ~ .wp-block-navigation__submenu-container {
            block-size: 0;
        }

        :root :where(.wp-block-navigation__overlay-container .wp-block-navigation[class*="is-style-"]) .open-on-click > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
            block-size: auto;
            display: flex;
        }

        @starting-style {
            :root :where(.wp-block-navigation__overlay-container .wp-block-navigation[class*="is-style-"]) .open-on-click > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
                block-size: 0;
            }
        }
    }


/* UNDERLINE STYLE */
    :root :where(ul.is-style-nav-underline) {
        --nav-underline-border-width: 4px;
        --nav-underline-border-color: currentColor;
    }

    :root :where(ul.is-style-nav-underline) > .wp-block-navigation-item > .wp-block-navigation-item__content {
        border-bottom: var(--nav-underline-border-width) solid transparent;
        transition: var(--nav-link-transition), border-color .15s ease-in-out;
    }

    :root :where(ul.is-style-nav-underline) > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
    :root :where(ul.is-style-nav-underline) > .current-menu-item > .wp-block-navigation-item__content,
    :root :where(ul.is-style-nav-underline) > .current-menu-ancestor > .wp-block-navigation-item__content,
    :root :where(ul.is-style-nav-underline) > .wp-block-navigation-item > .wp-block-navigation-item__content[aria-expanded="true"] {
        border-bottom-color: var(--nav-underline-border-color);
        color: var(--nav-link-active-color);
    }


/* SIMPLE STYLE */
    :root :where(ul.is-style-simple-nav) {
        --nav-link-padding-x: 0.89rem;
        --nav-link-padding-y: 0.5rem;
        --nav-link-hover-color: currentColor;
        --nav-link-gap: 0;
    }

    :root :where(ul.is-style-simple-nav) > .current-menu-item > .wp-block-navigation-item__content,
    :root :where(ul.is-style-simple-nav) .current-menu-ancestor > .wp-block-navigation-item__content,
    :root :where(ul.is-style-simple-nav) .wp-block-navigation-item__content:hover {
        text-decoration: underline 1.5px currentColor;
        text-underline-offset: 6px;
    }


/* VERTICAL STYLE */
    :root :where(ul.is-style-vertical-nav) {
        --nav-link-padding-x: 1rem;
        --nav-link-padding-y: 0.5rem;
        --nav-link-gap: 0;
        --nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
        --nav-dropdown-toggle-icon-width: .938rem;
        --nav-link-color: var(--wp--preset--color--contrast);
        --nav-bg-color: var(--wp--preset--color--base);

        --navigation-layout-direction: column;
        --navigation-layout-align: stretch;
        --navigation-layout-wrap: nowrap;
    }

    :root :where(ul.is-style-vertical-nav) > .wp-block-navigation-item {
        padding: 2px;
    }

    :root :where(ul.is-style-vertical-nav) > .wp-block-navigation-item  {
        border: var(--wp--custom--border--width) solid var(--wp--preset--color--borders);
    }    

    :root :where(ul.is-style-vertical-nav) .wp-block-navigation-item + .wp-block-navigation-item {
        border-top-width: 0;
    }

    :root :where(ul.is-style-vertical-nav) .wp-block-navigation-item > .wp-block-navigation-item__content {
        border-left: 3px solid transparent;
    }

    :root :where(ul.is-style-vertical-nav) .wp-block-navigation-item__content:hover {
        text-decoration: underline;
    }

    :root :where(ul.is-style-vertical-nav) > .current-menu-item > .wp-block-navigation-item__content,
    :root :where(ul.is-style-vertical-nav) .current-menu-ancestor > .wp-block-navigation-item__content {
        border-color: var(--nav-link-active-color);
    }

    :root :where(ul.is-style-vertical-nav) .wp-block-navigation__submenu-container {
        --nav-dropdown-min-width: 100%;
        --nav-dropdown-border-width: 0;
        --nav-dropdown-padding-x: 0;
        --nav-dropdown-padding-y: 0;
        --nav-submenu-offset-x: 1.125rem;
    }


    /* Non-mobile styles */
    :where(ul.is-style-vertical-nav) .wp-block-navigation__submenu-container .wp-block-navigation-item:not(.wp-block-navigation__overlay-container *) {
        padding-left: var(--nav-submenu-offset-x);
    }

    :where(ul.is-style-vertical-nav) .wp-block-navigation-item__content:not(.wp-block-navigation__overlay-container *) {
        flex-grow: 1;
    }

    :root :where(ul.is-style-vertical-nav) .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon:not(.wp-block-navigation__overlay-container *)::before {
        transform: rotate(0deg);
    }
    
    :where(ul.is-style-vertical-nav) .wp-block-navigation-submenu__toggle[aria-expanded="true"] + .wp-block-navigation__submenu-icon:not(.wp-block-navigation__overlay-container *)::before {
        transform: rotate(-180deg);
    }

    :where(ul.is-style-vertical-nav) .wp-block-navigation-submenu:not(.wp-block-navigation__overlay-container *) {
        flex-wrap: wrap;
    }

    :where(ul.is-style-vertical-nav) .has-child .wp-block-navigation-submenu__toggle ~ .wp-block-navigation__submenu-container:not(.wp-block-navigation__overlay-container *),
    :where(ul.is-style-vertical-nav) .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container:not(.wp-block-navigation__overlay-container *) {
        position: static;
    }

    /* Override some dropdown styles to prep for fancy open/close animations */
    :root :where(ul.is-style-vertical-nav) .open-on-click > .wp-block-navigation-submenu__toggle ~ .wp-block-navigation__submenu-container:not(.wp-block-navigation__overlay-container *) {
        visibility: visible;
        opacity: 1;
        width: 100%;
    }

    @media (prefers-reduced-motion: no-preference) {
        /* Transition open/close */
        :root :where(ul.is-style-vertical-nav) .open-on-click > .wp-block-navigation-submenu__toggle ~ .wp-block-navigation__submenu-container:not(.wp-block-navigation__overlay-container *) {
            interpolate-size: allow-keywords;
            transition-behavior: allow-discrete;
            overflow-y: clip;
            overflow-x: visible;
            transition: block-size 0.2s, display 0.2s allow-discrete;
            min-block-size: 0;
        }
        
        :root :where(ul.is-style-vertical-nav) .open-on-click > .wp-block-navigation-submenu__toggle[aria-expanded="false"] ~ .wp-block-navigation__submenu-container:not(.wp-block-navigation__overlay-container *) {
            block-size: 0;
        }

        :root :where(ul.is-style-vertical-nav) .open-on-click > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container:not(.wp-block-navigation__overlay-container *) {
            block-size: auto;
        }

        @starting-style {
            :root :where(ul.is-style-vertical-nav) .open-on-click > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container:not(.wp-block-navigation__overlay-container *) {
                block-size: 0;
            }
        }
    }

/* PLIAN TEXT STYLE */
:root :where(ul.is-style-plain-nav) .current-menu-item > .wp-block-navigation-item__content,
:root :where(ul.is-style-plain-nav) .current-menu-ancestor > .wp-block-navigation-item__content {
    font-weight: 400;
}

/* UTILITIES */
@media (min-width: 783px) {
    .has-nav-padding-offset .wp-block-navigation {
        position: relative;
        left: calc( var(--nav-link-padding-x) * -1 ); /* Offset the padding on the first item */
    }
}