.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;
}

@media (max-width: 767px) {
    /* 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;
    }
}


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


/* 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));

    --wp--custom--focus--offset: calc(var(--wp--custom--focus--width) * -2);
    
    font-size: var(--nav-font-size);
    gap: var(--nav-link-gap);
}

/* 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 {
    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;

    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__submenu-container .wp-block-navigation-item {
    padding-left: var(--nav-submenu-offset-x);
}

:root :where(.wp-block-navigation[class*="is-style-"]).wp-block-navigation .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
    /* These need more specificity to override the default submenu styles */
    min-width: var(--nav-dropdown-min-width);
    padding: var(--nav-dropdown-padding-x) var(--nav-dropdown-padding-y);
    border: var(--nav-dropdown-border-width) solid var(--nav-dropdown-border-color);
}

: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-block-navigation-submenu__toggle::after,
:root :where(.wp-block-navigation[class*="is-style-"]) .open-on-click > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label::after {
    content: '';
    display: block;
    width: var(--nav-dropdown-toggle-icon-width);
    height: var(--nav-dropdown-toggle-icon-height);
    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;
}

:where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon.wp-block-navigation-submenu__toggle::after,
:where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-container .open-on-click > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label::after {
    transform: rotate(-90deg);
}

/* Open on click menu item adjustments */
    :root :where(.wp-block-navigation[class*="is-style-"]) .open-on-click > .wp-block-navigation__submenu-icon {
        display: none;
    }
    :root :where(.wp-block-navigation[class*="is-style-"]) .open-on-click > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label {
        display: flex;
        align-items: center;
    }
        :root :where(.wp-block-navigation[class*="is-style-"]) .open-on-click > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label::after {
            margin-left: var(--nav-dropdown-toggle-icon-margin);
        }

    :root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-container .open-on-click > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label {
        justify-content: space-between;
        flex-grow: 1;
    }

/* Hover menu item menu item adjustments */
    :root :where(.wp-block-navigation[class*="is-style-"]) .open-on-hover-click > .wp-block-navigation-item__content {
        padding-right: calc(var(--nav-dropdown-toggle-icon-offset));
    }

    :root :where(.wp-block-navigation[class*="is-style-"]) .open-on-hover-click > .wp-block-navigation__submenu-icon {
        width: auto;
        height: auto;
        margin-left: calc(var(--nav-dropdown-toggle-icon-width) * -1);
        transform: translateX(calc(var(--nav-dropdown-toggle-icon-margin) * -1));
    }


/* 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: 767px) {
    :root :where(.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;
    }

    :root .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);
    }

    /* Increase specificity to override the default mobile styles */
        :root .wp-block-navigation[class*="is-style-"] .wp-block-navigation-item__content.wp-block-navigation-item__content {
            padding: var(--nav-link-padding-y) var(--nav-link-padding-x);
        }
        :root .wp-block-navigation[class*="is-style-"].wp-block-navigation__container.wp-block-navigation__container {
            gap: var(--nav-link-gap);
        }

    :root :where(.wp-block-navigation[class*="is-style-"]) .open-on-click > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label {
        justify-content: space-between;
    }

    :root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-container .open-on-click > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label::after {
        transform: rotate(0deg);
    }

    /* Make menus that open on click, do so on mobile as well */
    :root :where(.wp-block-navigation[class*="is-style-"]) .open-on-click > .wp-block-navigation-submenu__toggle ~ .wp-block-navigation__submenu-container {
        display: flex;
        position: static;
    }

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


    @media (prefers-reduced-motion: no-preference) {
        /* Transition toggle arrows */
        :root :where(.wp-block-navigation[class*="is-style-"]) .open-on-click > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label::after {
            transition: transform 0.15s ease-in-out;
        }

        :root :where(.wp-block-navigation[class*="is-style-"]) .open-on-click > .wp-block-navigation-submenu__toggle[aria-expanded="true"] .wp-block-navigation-item__label::after {
            transform: rotate(-180deg);
        }

        /* Transition open/close */
        :root .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[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[class*="is-style-"]) .open-on-click > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
            block-size: auto;
        }

        @starting-style {
            :root :where(.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;
            }
        }
    }
}

@media (min-width: 768px) {
    :root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-container {
        --nav-link-padding-x: .313rem;
        --nav-link-padding-y: var(--nav-link-padding-x);
    }
}


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

    :root :where(.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(.is-style-nav-underline) > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
    :root :where(.is-style-nav-underline) > .current-menu-item > .wp-block-navigation-item__content,
    :root :where(.is-style-nav-underline) > .current-menu-ancestor > .wp-block-navigation-item__content,
    :root :where(.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);
    }

    :root :where(.is-style-nav-underline) > .open-on-hover-click.current-menu-ancestor > .wp-block-navigation-item__content + .wp-block-navigation-submenu__toggle {
        color: var(--nav-link-active-color);
    } 


/* SIMPLE STYLE */
    :root :where(.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(.is-style-simple-nav) > .current-menu-item > .wp-block-navigation-item__content,
    :root :where(.is-style-simple-nav) .current-menu-ancestor > .wp-block-navigation-item__content,
    :root :where(.is-style-simple-nav) .wp-block-navigation-item__content:hover {
        text-decoration: underline 1.5px currentColor;
        text-underline-offset: 6px;
    }

    @media (min-width: 768px) {
    :root :where(.wp-block-navigation[class*="is-style-"]) .wp-block-navigation__submenu-container {
        --nav-link-padding-y: 0.89rem;
    }
}


/* VERTICAL STYLE */
    :root :where(.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-justification-setting: stretch;
        --navigation-layout-direction: column;
        --navigation-layout-wrap: nowrap;
        --navigation-layout-justify: flex-start;
        --navigation-layout-align: stretch;
    }

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

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

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

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

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

    :root :where(.is-style-vertical-nav) .has-child .wp-block-navigation__submenu-container {
        --nav-dropdown-min-width: auto;
        --nav-dropdown-border-width: 0;
        --nav-dropdown-padding-x: 0;
        --nav-dropdown-padding-y: 0;
        --nav-submenu-offset-x: 1.125rem;
    }
    
    @media (min-width: 768px) {
        :root :where(.is-style-vertical-nav) .wp-block-navigation-item  {
            flex-direction: column;
            align-items: stretch;
            padding: 2px;
        }

        :root :where(.is-style-vertical-nav) .open-on-click > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label {
            justify-content: space-between;
        }

        :root :where(.is-style-vertical-nav) .wp-block-navigation__submenu-container .open-on-click > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label::after {
            transform: rotate(0deg);
        }

        :root :where(.is-style-vertical-nav) .open-on-click > .wp-block-navigation-submenu__toggle ~ .wp-block-navigation__submenu-container {
            display: flex;
            position: static;
            /* Needs a few extra fixes to combat regular dropdown menus */
            visibility: visible;
            opacity: 1;
            width: auto;
        }

        :root :where(.is-style-vertical-nav) .open-on-click > .wp-block-navigation-submenu__toggle[aria-expanded="false"] ~ .wp-block-navigation__submenu-container {
            display: none;
        }


        @media (prefers-reduced-motion: no-preference) {
            /* Transition toggle arrows */
            :root :where(.is-style-vertical-nav) .open-on-click > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label::after {
                transition: transform 0.15s ease-in-out;
            }

            :root :where(.is-style-vertical-nav) .open-on-click > .wp-block-navigation-submenu__toggle[aria-expanded="true"] .wp-block-navigation-item__label::after {
                transform: rotate(-180deg);
            }

            /* Transition open/close */
            :root .is-style-vertical-nav .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(.is-style-vertical-nav) .open-on-click > .wp-block-navigation-submenu__toggle[aria-expanded="false"] ~ .wp-block-navigation__submenu-container {
                block-size: 0;
            }

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

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







    .test {
        --nav-link-color: #f00;
    --nav-bg-color: #eee;
    }

    .test .wp-block-navigation__submenu-container {
        --nav-dropdown-bg-color: lime;
        --nav-dropdown-color: magenta;
    }