Jake Vanderwerf
5 days ago 92e80666d516de64e488e04911c09e65a32e2a05
nav.css
@@ -1,711 +1,847 @@
/**********************************************************
BASE NAV STYLES
**********************************************************/
nav {
    --py: .25rem;
    --px: 1rem;
    max-width: 100%;
nav,
nav ol,
nav ul {
    --padding: 0 1rem;
    --wrap: nowrap;
    font-family: var(--heading);
}
ul.socials,
nav,
nav ol,
nav ul,
nav li,
nav a {
    height: var(--height);
    display: flex;
    justify-content: var(--justify);
    align-items: var(--align);
    gap: var(--gap);
    flex-wrap: var(--wrap);
    flex-direction: var(--dir);
}
ul.socials {
    --w: 1.2em;
    --height: fit-content;
    gap: .5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: row;
    overflow: auto hidden;
    touch-action: pan-x;
    list-style: none;
}
nav:not(:has(> ul)),
nav > ul {
    --justify: flex-start;
    --align: center;
    --wrap: nowrap;
    --w: 1em;
    --dir: row;
    position: relative;
    overflow: auto hidden;
    touch-action: pan-x;
}
nav a {
    padding: 0 var(--px);
    white-space: nowrap;
    text-transform: uppercase;
}
nav .current a,
nav a.current,
nav a:hover,
nav a:focus,
nav a:hover:visited,
nav a:focus:visited {
    background-color: var(--action-0);
    color: var(--action-contrast);
    transition: background-color var(--transition-base),
    color var(--transition-base);
}
nav ol,
nav ul {
    list-style: none;
    flex-direction: var(--dir, row);
    justify-content: var(--justify, flex-start);
    align-items: var(--align, center);
    gap: var(--gap, 0);
    flex-wrap: var(--wrap, nowrap);
    height: var(--btn, 3rem);
    max-width: 100%;
    padding: 0;
    margin: 0;
    padding: 0;
}
/**************************************************************
SUBMENU
**************************************************************/
.has-submenu button:hover,
nav a:hover {
    background-color: var(--action-0);
    color: var(--action-contrast);
}
.has-submenu button {
    height: var(--height);
    width: var(--height);
    padding: 0;
    /*background-color: var(--base);*/
    border: 2px solid var(--base);
    color: var(--contrast);
    border-radius: 0;
}
.toggle .icon {
    transform: rotate(0deg);
    transition: transform var(--timing) var(--function);
    transition-property: transform, background-color, color;
}
.has-submenu.open > button:not(.notifications, .quick-help) .icon,
.has-submenu:hover > button:not(.notifications, .quick-help) .icon {
    transform: rotate(900deg);
}
ul.submenu {
    --dir: column;
    --wrap: nowrap;
    --gap: 0;
    position: absolute;
    top: 100%;
    left: 0;
    max-height: 0;
    transform: scaleY(0);
    transform-origin: top;
    width: max-content;
    min-width: 100%;
    background-color: var(--overlay-light);
    border: 2px solid var(--overlay-light);
    transition: all var(--timing) var(--function);
    box-shadow: var(--shadow-none);
}
.always ul.submenu {
    position: relative;
    top: 0;
    left: 0;
}
.submenu li {
    background-color: var(--overlay-heavy);
    border: 1px solid var(--base-50);
}
.submenu li:hover {
    --c: var(--action-rgb);
    background-color: var(--overlay-heavy);
}
.submenu a:hover {
    background-color: transparent;
}
.wp-site-blocks > header ul.submenu {
    right: 0;
    left: auto;
}
/**
Opening Submenus
 */
.has-submenu.open > ul.submenu,
.has-submenu:hover > ul.submenu {
    transform: scaleY(1);
    max-height: 1000%;
    box-shadow: var(--shadow);
}
/**************************************************************
FIXED
**************************************************************/
nav.on-this-page,
nav.fixed.bottom {
    --dir: row;
    --gap: 0;
    width: calc(100% - var(--height));
    left: 0;
    bottom: 0;
    position: fixed;
    box-shadow: var(--shadow);
    z-index: var(--zz-top);
}
nav.fixed.bottom ul {
    width: 100%;
    --justify: space-between;
    background-color: var(--base);
    padding: 0 .25rem;
}
nav.fixed li,
nav.fixed a {
    --justify: center;
    width: 100%;
}
nav.fixed.bottom a:visited,
nav.fixed.bottom a {
    color: var(--contrast);
    font-size: var(--small);
    padding: 0;
}
@media (min-width:768px) {
    nav.fixed.bottom a:visited,
    nav.fixed.bottom a {
        font-size: var(--medium);
    }
}
nav.fixed.bottom a:hover,
nav.fixed.bottom a:hover:visited,
nav.fixed.bottom a:focus,
nav.fixed.bottom a:focus:visited {
    color: var(--action-contrast);
}
.fixed.bottom li {
    flex: 1;
}
nav.always a {
    padding: 0;
    --justify: center;
}
nav.always .socials {
    width: 100%;
}
    nav.always .socials li {
        width: 100%;
    }
nav.always li {
    gap: 0;
    --justify:flex-start;
}
    nav.always > ul > li > a {
        width: 80%;
    }
nav.always .submenu {
    width: 80%;
    min-width: 80%;
    box-shadow: none!important;
    border: 2px solid var(--action-0);
    background-color: rgba(var(--contrast-rgb), var(--rgb-subtle));
}
    nav.always .submenu li {
        background-color: var(--overlay-light);
    }
nav.fixed .has-submenu > a,
nav.always .has-submenu > a {
    width: 80%;
}
.has-submenu > button {
    width: 20%;
}
/**************************************************************
BREADCRUMBS
**************************************************************/
nav#breadcrumbs {
    --height: 1.5em;
    --w: 20px;
    width: fit-content;
    max-width: var(--full);
    position: absolute;
    background-color: var(--overlay-medium);
    font-size: var(--small);
    padding: .125em;
    overflow:visible;
    --gap: 0;
}
nav#breadcrumbs li + li::before {
    content: '/';
    color: var(--contrast-200);
}
nav#breadcrumbs li:last-of-type {
    margin-right: .5em;
}
nav#breadcrumbs span,
nav#breadcrumbs a {
    padding: 0 .125rem;
    white-space: nowrap;
    height: 2em;
    color: var(--contrast);
    text-transform: none;
    width: max-content;
}
nav#breadcrumbs span {
    display: flex;
    align-items: center;
    padding-left: .5em;
}
nav#breadcrumbs a:focus:visited,
nav#breadcrumbs a:hover:visited,
nav#breadcrumbs a:focus,
nav#breadcrumbs a:hover {
    background-color: transparent;
    color: var(--action-0);
}
nav#breadcrumbs a:has(.icon) {
    width: 2rem;
}
/**************************************************************
MOBILE
**************************************************************/
nav.always {
    z-index: var(--z-above);
    position: fixed;
    width: var(--height);
    bottom: 0;
    right: 0;
}
nav.always.open {
    width: 100vw;
    height: 100vh;
    padding-bottom:var(--offHeight);
    background-color: var(--overlay-heavy);
    backdrop-filter: blur(5px);
    justify-content: flex-end;
    flex-direction: column;
    z-index: var(--z-above);
}
nav.always > ul {
    --dir: column;
    --wrap: nowrap;
    --justify: flex-start;
    --align: center;
    --gap: 0;
    position: relative;
    right: -300vw;
    padding: 1rem 0 0;
    width: 100vw;
    height: fit-content;
    max-height: 100%;
    overflow:hidden auto;
    transition: right var(--transition-base);
}
nav.always.open > ul {
    right: 0;
    transition: right var(--transition-base);
}
/*nav.always > ul li:hover,*/
/*nav.always > ul li:focus-within,*/
/*nav.always > ul li.active {*/
/*    background-color: var(--overlay-heavy);*/
/*}*/
nav.always li {
    max-inline-size: none;
    width: 100%;
    height: fit-content;
    --dir: row;
    --wrap: wrap;
}
nav.always a {
    --py: 1rem;
    width: 100%;
    min-height: var(--height);
}
nav.always > button {
    position: fixed;
    bottom: 0;
    right: 0;
    width: var(--height);
    height: var(--height);
    border-radius: 0;
    background-color: var(--base);
    color: var(--contrast);
    transition: width var(--timing) var(--function);
    transition-property: width, background-color;
    box-shadow: var(--shadow);
}
nav.always > button:hover {
    background-color: var(--action-0);
    color: var(--action-contrast);
}
nav.always.open > button {
    --c: var(--action-rgb);
    z-index: 1000000;
    width: 100%;
    background-color: var(--overlay-heavy);
    color: var(--contrast);
    backdrop-filter: blur(5px);
}
nav.always.open > button:hover,
nav.always.open > button:focus {
    background-color: var(--action-0);
    color: var(--action-contrast);
}
nav.always.open > button .icon-list,
nav.always >button .icon-x {
    transform: scale(0);
    height: 0;
    width: 0;
    position: absolute;
}
nav.always > button .icon-list,
nav.always.open > button .icon-x {
    transform: scale(1);
    height: 32px;
    width: 32px;
}
nav.always .has-submenu:hover > .submenu,
nav.always .has-submenu.open > .submenu {
nav.col,
nav.col ul {
    height: max-content;
}
nav.always .has-submenu:hover > a,
nav.always .submenu > li > a:hover,
nav.always .submenu > li > a:focus {
    background-color: var(--action-0);
    color: var(--action-contrast);
}
@media (min-width: 768px) {
    /*nav.always a {*/
    /*    padding: 2rem 0;*/
    /*}*/
    nav.always > ul {
        padding: var(--height) 0 0;
    }
}
/**************************************************************
ON THIS PAGE
**************************************************************/
nav.on-this-page {
    --justify: space-between;
    max-width: none;
    z-index: var(--z-6);
    margin: 0;
    padding: 0 .5rem;
    background-color: var(--overlay-medium);
    color: var(--base-200);
}
body:has(nav.fixed) nav.on-this-page {
    bottom: var(--offHeight);
}
.on-this-page ul {
    --justify: flex-start;
    gap: 0;
nav > ul {
    width: 100%;
    overflow: auto hidden;
}
.on-this-page li:not(.has) {
nav li {
    width: max-content;
    --justify: center;
    max-inline-size: none;
    padding: 0;
    list-style: none;
}
nav.letters li {
nav.fill li {
    width: 100%;
    max-width: calc(7.69% - 2px);
}
.on-this-page .active a {
    --c: var(--action-rgb);
    background-color: var(--overlay-heavy);
nav a, nav button {
    --justify: center;
    width: 100%;
    white-space: nowrap;
    text-transform: uppercase;
    border-radius: 0;
    background-color: transparent;
    text-decoration: none;
}
nav a {
    padding: var(--padding);
}
nav .toggle {
    aspect-ratio: 1;
    border: 1px solid rgb(var(--base));
    color: rgb(var(--contrast));
}
nav .current a,
nav a.current,
nav a:focus,
nav a:focus:visited,
nav button:focus {
    background-color: rgb(var(--action-0));
    color: var(--action-contrast);
}
.toggle .icon-caret-down {
    transform: rotate(0deg);
    transition: transform var(--trans-base);
}
.open > .row > .toggle .icon-caret-down,
.open > .toggle .icon-caret-down {
    transform: rotate(900deg);
}
/****************************************************
SUBMENUS
****************************************************/
.has-submenu {
    position: relative;
}
ul.submenu {
    --dir: column;
    height: max-content;
    position: absolute;
    top: 100%;
    right: 0;
    max-height: 0;
    transform: scaleY(0);
    transform-origin: top;
    width: 100%;
    min-width: max-content;
    background-color: rgba(var(--base),var(--op-3));
    border: 2px solid rgba(var(--base),var(--op-3));
    transition: max-height var(--trans-base), transform var(--trans-base);
    box-shadow: var(--shdw-none);
    overflow: hidden;
}
.submenu li {
    background-color: rgba(var(--base),var(--op-6));
    border: 1px solid rgb(var(--base-50));
}
.submenu a {
    height: var(--chipchip);
}
.open > ul.submenu {
    transform: scaleY(1);
    max-height: 1000%;
    box-shadow: rgba(var(--base), var(--op-45)) var(--shdw);
}
/**************************************************************
ACCESSIBILITY
**************************************************************/
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
nav a:focus:not(:focus-visible) {
    outline: none;
}
nav a:focus-visible {
    outline: 1px solid rgb(var(--action-0));
    outline-offset: 1px;
}
/*************************************************************
ALWAYS MOBILE NAV
*************************************************************/
/*nav.always {*/
/*    --dir: column;*/
/*    --justify: flex-end;*/
/*    position: fixed;*/
/*    bottom: 0;*/
/*    right: 0;*/
/*    width: var(--btn);*/
/*    z-index: var(--z-10);*/
/*}*/
/*nav.always.open {*/
/*    width: 100vw;*/
/*    height: 100vh;*/
/*    padding-bottom: var(--btn_);*/
/*    background-color: rgba(var(--base),var(--op-6));*/
/*    backdrop-filter: blur(5px);*/
/*    z-index: var(--z-10);*/
/*}*/
/*nav.always > ul {*/
/*    z-index: 1;*/
/*    --dir: column;*/
/*    --align: center;*/
/*    --justify: flex-start;*/
/*    --gap: 0;*/
/*    height: 100%;*/
/*    max-height: 100%;*/
/*    position: relative;*/
/*    right: -300vw;*/
/*    width: 100vw;*/
/*    padding: var(--btn) 0 0;*/
/*    overflow: hidden auto;*/
/*    transition: right var(--trans-base);*/
/*}*/
/*nav.always.open > ul {*/
/*    right: 0;*/
/*}*/
/*nav.always li {*/
/*    --wrap: wrap;*/
/*    --dir: row;*/
/*    height: max-content;*/
/*    --justify: flex-start;*/
/*    background-color: rgba(var(--base), var(--op-6));*/
/*}*/
/*nav.always a {*/
/*    padding: 1rem;*/
/*    --justify: center;*/
/*    max-width: calc(100% - var(--btn));*/
/*}*/
/*nav.always .has-submenu > a {*/
/*    z-index: var(--z-3);*/
/*}*/
/*nav.always .has-submenu > button {*/
/*    width: var(--btn);*/
/*}*/
/*nav.always .submenu {*/
/*    position: relative;*/
/*    padding-right: 4rem;*/
/*    top: 0;*/
/*    border: 1px solid rgb(var(--action-0));*/
/*    background-color: rgba(rgb(var(--contrast)), var(--op-1));*/
/*}*/
/*nav.always .submenu li {*/
/*    background-color: rgba(var(--base),var(--op-3));*/
/*}*/
/*nav.always > .toggle {*/
/*    position: fixed;*/
/*    bottom: 0;*/
/*    right: 0;*/
/*    width: var(--btn);*/
/*    height: var(--btn);*/
/*    background-color: rgb(var(--base));*/
/*    color: rgb(var(--contrast));*/
/*    box-shadow: rgba(var(--base),var(--op-45)) var(--shdw);*/
/*    transition: width var(--trans-base);*/
/*}*/
/*nav.always > .toggle:hover {*/
/*    background-color: rgb(var(--action-0));*/
/*    color: var(--action-contrast);*/
/*}*/
/*nav.always.open > .toggle {*/
/*    width: 100%;*/
/*    background-color: rgba(var(--base),var(--op-6));*/
/*    backdrop-filter: blur(5px);*/
/*    z-index: 1000000;*/
/*}*/
/*nav.always.open > .toggle:hover {*/
/*    background-color: rgb(var(--action-0));*/
/*    color: var(--action-contrast);*/
/*}*/
/*nav.always button .icon-x,*/
/*nav.always.open button .icon-list {*/
/*    display: none;*/
/*}*/
/*nav.always button .icon-list,*/
/*nav.always.open button .icon-x {*/
/*    display: block;*/
/*    --w: 32px;*/
/*}*/
/*nav.always.fixed > ul {*/
/*    padding-top: var(--btn);*/
/*}*/
nav.always {
    overflow: visible;
    transition: width var(--trans-base);
    width: max-content;
}
nav.always > ul {
    --dir: column;
    --align: center;
    --justify: flex-end;
    --gap: 0;
    height: 100vh;
    max-height: none;
    position: fixed;
    right: -300vw;
    bottom: 0;
    width: 100vw;
    padding: var(--btn) 0;
    overflow: hidden auto;
    transition: right var(--trans-base);
}
    nav.always.open > ul {
        right: 0;
    }
    nav.always li {
        width: 100%;
    }
/*******************************************************
ALWAYS MOBILE FIXED NAV
*******************************************************/
nav.always.fixed {
    width: var(--btn);
    height: var(--btn);
    bottom: 0;
    right: 0;
    overflow: hidden;
}
    nav.always.fixed .toggle.main {
        background-color: rgb(var(--base));
    }
        nav.always.fixed .toggle.main:hover,
        nav.always.fixed .toggle.main:focus {
            background-color: rgb(var(--action-0));
            color: var(--action-contrast);
        }
/*******************************************************
MOBILE NAV
*******************************************************/
nav.mobile .toggle.main {
    width: var(--btn);
    transition: width var(--trans-base);
}
nav.mobile .icon-x,
nav.mobile .icon-list {
    --w: 32px;
}
nav.mobile .icon-x,
nav.mobile.open .icon-list {
    display: none;
}
    nav.mobile .icon-list,
    nav.mobile.open .icon-x {
        display: block;
    }
nav.mobile.open > ul {
    --dir: column;
    z-index: var(--z-9);
    background-color: rgba(var(--base), var(--op-6));
    width: 100vw;
    height: 100vh;
    overflow: hidden auto;
    right: 0;
    bottom: 0;
    position: fixed;
    padding: var(--btn) 0;
}
    nav.always > ul::before,
    nav.mobile.open > ul::before {
        content: '';
        z-index: -1;
        position: absolute;
        inset: 0;
        filter: blur(5px);
    }
    nav.always.open .main.toggle,
    nav.mobile.open .main.toggle {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100vw;
        z-index: var(--z-10);
        aspect-ratio: unset;
    }
    nav.always > ul,
    nav.always > ul:before,
    nav.mobile.open > ul,
    nav.mobile.open > ul::before {
        background-color: rgba(var(--base), var(--op-6));
    }
@media (max-width:767px) {
    nav.col {
        height: var(--btn);
    }
    nav.mobile > ul {
        --dir: column;
        --align: center;
        --justify: flex-end;
        --gap: 0;
        height: 100%;
        max-height: none;
        position: relative;
        right: -300vw;
        width: 100vw;
        padding: var(--btn) 0 0;
        overflow: hidden auto;
        /*transition: right var(--trans-base);*/
    }
    nav.mobile.open > ul {
        right: 0;
    }
}
@media (min-width:768px) {
    nav.mobile:not(.always) .toggle.main {
        display: none;
    }
}
/*******************************************************
BREADCRUMBS
*******************************************************/
nav#breadcrumbs {
    height: max-content;
    --wrap: wrap;
    --gap: 0;
    width: max-content;
    max-width: var(--full);
    position: absolute;
    background-color: rgba(var(--base),var(--op-4));
    font-size: var(--txt-x-small);
    padding: .125em;
    z-index: var(--z-5);
}
nav#breadcrumbs ol {
    height: max-content;
    --wrap: wrap;
}
nav#breadcrumbs li {
    width: max-content;
    height: var(--chip);
    --wrap: nowrap;
}
nav#breadcrumbs li::after {
    content: '/';
    color: rgb(var(--contrast-200));
    padding: 0 .25rem;
}
nav#breadcrumbs li:last-of-type::after {
    display: none;
}
nav#breadcrumbs a {
    height: var(--chip);
}
nav#breadcrumbs a, nav#breadcrumbs span {
    padding: 0 .125rem;
    color: rgb(var(--contrast));
    text-transform: none;
}
nav#breadcrumbs a:focus {
    background-color: transparent;
    color: rgb(var(--action-0));
}
/************************************************************
FIXED BOTTOM
************************************************************/
nav.fixed {
    position: fixed;
    box-shadow: rgba(var(--base),var(--op-45)) var(--shdw);
    z-index: var(--z-9);
}
nav.fixed.bottom {
    left: 0;
    bottom: 0;
    width: calc(100% - var(--btn));
}
nav.fixed:not(.always) ul {
    --justify: space-between;
    width: 100%;
    background-color: rgb(var(--base));
    padding: 0 .25rem;
}
nav.fixed:not(.always) li {
    flex: 1;
}
nav.fixed a {
    --align: center;
    --gap: 1rem;
    --w: var(--chip_);
    color: rgb(var(--contrast));
    font-size: var(--txt-x-small);
}
@media (min-width: 768px) {
    nav.fixed a {
        font-size: var(--txt-medium);
    }
}
/************************************************************
ON THIS PAGE
************************************************************/
nav.on-this-page {
    --justify: space-between;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    z-index: var(--z-5);
    background-color: rgba(var(--base), var(--op-45));
    max-width: none;
}
body:has(nav.fixed) nav.on-this-page {
    bottom: var(--btn);
}
nav.on-this-page button {
    order: 3;
    padding: 0 1rem;
    width:max-content;
    aspect-ratio: unset;
}
nav.on-this-page.open button {
    order: 0;
}
nav.on-this-page ul {
    width: 100%;
    --gap: 0;
}
nav.on-this-page a {
    padding: 0;
}
nav.on-this-page .active a {
    background-color: rgba(var(--base),var(--op-6));
    color: var(--action-contrast);
}
nav.on-this-page #back-to-top span {
    display: none;
}
nav.on-this-page .active a {
    background-color: rgb(var(--action-0));
    color: var(--action-contrast);
}
/****************************************************
LETTERS
****************************************************/
nav.letters,
nav.letters ul,
nav.letters li,
nav.letters a{
    height: var(--chip);
}
nav.letters li {
    max-width: calc(7.69% - 2px); /* Fit 26 letters over 2 rows */
}
nav.letters ul {
    --wrap: wrap;
}
@media (min-width:768px) {
    nav.letters, nav.letters ul {
        height: var(--chip);
    }
    nav.letters ul {
        --wrap: nowrap;
    }
    nav.letters li {
        max-width: none;
        width: fit-content;
    }
    nav.letters a,
    nav.letters li:not(.has) {
    nav.letters a {
        padding: .25rem .66rem;
    }
}
/**************************************************************
Table of Contents TOC
**************************************************************/
/********************************************************
INDEX/TOC
********************************************************/
nav.index {
    --justify: flex-start;
    --px: 0;
    background-color: var(--overlay-heavy);
    --justify: space-between;
    --padding: 0;
    background-color: rgba(var(--base),var(--op-6));
}
.index ul {
    --justify: flex-start;
    width: fit-content;
nav.index ul {
    width: 100%;
}
.index li {
    flex-shrink: 0;
nav.index li {
    flex-shrink:0;
    transform: scaleX(0);
    transform-origin: right;
    max-width: 0;
    overflow: hidden;
    transition: transform var(--timing) var(--function);
}
.index li.active {
nav.index li.active,
nav.index li.adj {
    transform: scaleX(1);
    transform-origin: left;
    width: 100%;
    width: calc(100% - var(--btn_));
    flex-shrink: 1;
    max-width: fit-content;
    max-width: none;
}
@media (min-width: 768px ){
    .index li.adj {
        transform: scaleX(1);
        transform-origin: left;
        width: 100%;
        flex-shrink: 1;
        max-width: fit-content;
    }
}
.index a {
    border-bottom: 4px solid transparent;
}
.index .active a {
    border-color: var(--action-0);
    color: var(--contrast);
}
.index a:hover,
.index .active a:hover {
    background-color: var(--action-0);
    color: var(--action-contrast);
}
.index label {
    display: flex;
    color: var(--contrast);
    align-items: center;
    margin: 0;
}
.index label button {
    margin-left: 1em;
nav.index li:first-of-type {
    flex-shrink: 1;
    transform: scaleX(1);
    order: 9999;
    width: var(--btn);
    height: var(--btn);
    max-width: none;
}
.index.open {
@media (max-width: 767px) {
    .index li.adj {
        transform: scaleX(0);
        max-width: 0;
    }
}
nav.index a {
    border-bottom: 4px solid transparent;
}
nav.index .active a {
    border-color: rgb(var(--action-0));
    color: rgb(var(--contrast));
}
nav.index.open {
    --dir: column-reverse;
    height: calc(100% - 8rem);
    z-index: var(--z-above);
    height: var(--maxHeight);
    width: 100%;
    background-color: var(--overlay-heavy);
    --align: flex-end;
    background-color: rgba(var(--base),var(--op-6));
    backdrop-filter: blur(5px);
    align-items: flex-end;
    z-index: var(--z-10);
}
.index.open label {
    max-width: 90%;
    margin-top: 1rem;
    margin-right: 2rem;
}
.index.open .toggle .icon {
    transform: rotate(45deg);
}
.index.open ul {
    --dir: column;
    --justify: flex-end;
    height: 100%;
    max-width: 100%;
nav.index.open li {
    width: 100%;
}
.index.open li {
    background-color: transparent;
    height: var(--btn);
    max-width: 100%!important;
    width: 100%;
    height: var(--height);
    transform: scaleX(1);
    flex-shrink: 1;
    overflow: visible;
}
.index.open a {
nav.index.open a {
    --justify: flex-end;
    background-color: transparent;
    padding: 0 2rem 0 0;
    background-color: transparent;
}
/**************************************************************
/***************************************************************
CONDENSED
**************************************************************/
.condensed {
    --dir: row;
***************************************************************/
nav.condensed,
nav.condensed ul,
nav.condensed li,
nav.condensed a {
    height: max-content;
    width: max-content;
    --wrap: wrap;
    --height: 1.2em;
    --py: .25rem;
    --px:.25rem;
    height: fit-content;
    min-height: var(--chip);
}
.condensed > ul {
    --wrap: wrap;
    height: fit-content
}
.condensed ul {
    .condensed ul {
        --justify: center;
        --dir: row;
    }
nav.condensed {
    --gap: 0 .25rem;
    width: 100%;
    --justify: center;
    --gap: 0;
}
.condensed li {
    width: fit-content;
}
.condensed li + li::before {
nav.condensed li + li::before {
    content: '·';
    display: block;
    padding: 0 .25em;
}
nav.condensed a {
    font-size: var(--txt-x-small);
    padding: 0 .25rem;
    text-transform: none;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
}
.condensed a:hover,
.condensed a:focus,
.condensed a:hover:visited,
.condensed a:focus:visited {
    border-color: var(--action-0);
nav .current a,
nav a.current,
nav a:focus,
nav a:focus:visited,
nav button:focus {
    background-color: transparent;
    color: rgb(var(--contrast));
    border-color: rgb(var(--action-0));
}
/**************************************************************
ADDITIONAL HEADER STUFF
**************************************************************/
.dashboard-nav {
    width: 100%;
/********************************************************************
SOCIALS
********************************************************************/
ul.socials {
    --dir: row;
    --justify: flex-start;
    height: max-content;
    --gap: .5rem;
    --justify: flex-end;
    --wrap: nowrap;
}
body > header,
.wp-site-blocks > header {
    --dir: row;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    height: var(--height);
    width: 100vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 .5rem;
    background-color: var(--base);
    z-index: var(--zz-top);
    box-shadow: var(--shadow);
    border-bottom: 1px solid var(--action-0);
}
    .wp-site-blocks > header img {
        width: var(--height);
    }
body > header {
    justify-content: space-between;
}
/** MOVE TO NORTHEH  **/
/*header a[rel=home],*/
/*header > img {*/
/*    position: absolute;*/
/*    width: var(--offHeight);*/
/*    left: calc(50% - (var(--offHeight) / 2));*/
/*}*/
header .title {
    --w: 5em;
    margin: 0;
    position: absolute;
    overflow: auto hidden;
    touch-action: pan-x;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    max-inline-size: none;
}
.current-hours {
    position: sticky;
    top: var(--height);
    bottom: unset;
    width: unset;
    z-index: 100;
    background-color: var(--action-0);
    color: var(--action-contrast);
    box-shadow: var(--shadow);
    padding: .25rem 1rem;
    display: flex;
    justify-content: space-between;
ul.socials li {
    list-style: none;
}
.current-hours p {
.always ul.socials {
    width: 100vw;
    --justify: stretch;
}
    .always ul.socials li {
        flex: 1;
        --justify: center;
        --align: center;
    }
        .always ul.socials a {
            display: inline-flex;
        }
ul.socials a {
    display: inline-block;
    font-size: var(--txt-x-small);
    padding: .25rem .5rem;
    max-width: none;
}
ul.socials .icon {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    flex: 1;
}
.current-hours p + p {
    justify-content: flex-end;
}
.current-hours a {
    color: var(--action-contrast);
}
.current-hours a:hover {
    color: var(--action-200);
}
.current-hours b {
    margin-right: .25rem;
}
.find-us {
    display: flex;
    align-items: center;
    gap: 0 .5rem;
}
.find-us p {
ul.socials .icon + span:not(.screen-reader-text) {
    margin-left: .5rem;
}
.find-us a {
    display: flex;
    padding: .25rem 1rem;
    border: 1px solid var(--action-contrast);
    border-radius: var(--innerRadius);
/********************************************************************
TABS
********************************************************************/
nav.tabs {
    /*position: fixed;*/
    /*bottom: var(--btn);*/
    /*left: var(--btnbtn);*/
    /*right: var(--btnbtn);*/
    padding-bottom: 2px;
    /*z-index: var(--z-6);*/
    touch-action: pan-x pan-y;
    --wrap: nowrap;
    overflow: auto hidden;
}
.find-us a:hover {
    background-color: var(--base);
    color: var(--contrast);
    border-color: var(--contrast);
nav.tabs button.active {
    cursor: default;
}
nav.menu {
    --justify: flex-start;
nav.tabs button {
    font-family: var(--heading);
    font-size: var(--txt-x-small);
    border-bottom: 4px solid transparent;
}
nav.tabs button.active,
nav.tabs button.active:hover {
    background-color: rgb(var(--action-0));
    color: var(--action-contrast);
    border-color: rgb(var(--base));
}
.tab-content nav.tabs button {
    height: var(--chip_);
    padding: .25rem .75rem;
    min-height: 0;
}
.tab-content h2 {
    margin: 0 0 .5rem;
}
.tab-content nav.tabs {
    height: max-content;
    background-color: rgb(var(--base));
    --gap: 0;
}
.tab-content .tab-content nav.tabs {
    background-color: rgb(var(--base-100));
}
.tab-content .tab-content .tab-content nav.tabs {
    background-color: rgb(var(--base-200));
}
.tab-content nav.tabs button.active h2 {
    color: rgb(var(--action-0));
}
/********************************************************
MENU (as in food menu)
********************************************************/
nav.menu a {
    padding: .5rem .66rem;
}
/*************
TABS
*************/
nav.tabs {
    --gap: 0;
    --wrap: nowrap;
    padding-bottom: 2px;
    z-index: var(--z-6);
    position: fixed;
    bottom: var(--height);
    left: var(--doubleHeight);
    right: var(--doubleHeight);
/********************************************************
SHARE
********************************************************/
nav.share {
    height: max-content;
    margin: 1rem 0;
}
/*@media (min-width: 768px) {*/
/*    nav.tabs {*/
/*        --wrap: wrap;*/
/*        overflow: hidden;*/
/*    }*/
/*}*/
nav.share ul {
    overflow: visible;
}
nav.share h4 {
    display: inline-block;
    width: max-content;
    margin: .25rem .5rem .25rem 0;
    font-size: var(--txt-x-small);
}
/************************************************************
HEADER ELEMENTS
************************************************************/
body > header, .wp-site-blocks > header {
    --dir: row;
    --justify: space-between;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    height: var(--btn);
    width: 100vw;
    display: flex;
    align-items: var(--align, center);
    justify-content: var(--justify, space-between);
    padding: 0 .5rem;
    background-color: rgb(var(--base));
    box-shadow: rgba(var(--base),var(--op-45)) var(--shdw);
    z-index: var(--z-9);
}
.wp-site-blocks > header img {
    width: var(--btn);
}
/************************************************************
DASH
************************************************************/
.dashboard-nav {
    width: 100%;
}
nav.filters {
    --dir: row;
    overflow: auto hidden;
}
nav.filters .filter {
    width: auto;
    padding: .25rem .75rem;
}
/* Hide navigation when empty */
nav.term-navigation:has(*[hidden]) {
    display: none;
}
ul.socials a {
    padding: .5rem;
nav.pagination {
    width: 100%;
}
ul.socials a .icon {
    margin: 0;
}
nav.pagination > a {
    min-width: var(--chipchip);
}
nav.pagination > ul {
    margin: 0 auto;
}
nav.pagination:not(:has(a + ul)) {
    margin-left: var(--chipchip);
}
nav.pagination:not(:has(ul + a)) {
    margin-right: var(--chipchip);
}
.pagination.condensed li + li::before {
    display: none;
}
.pagination li.current {
    width: var(--chip_);
    height: var(--chip_);
    background-color: rgb(var(--action-0));
    border-radius: var(--radius);
    line-height: 1;
}
.pagination.condensed a {
    font-size: var(--txt-medium);
    width: var(--chip_);
    height: var(--chip_);
}