Jake Vanderwerf
2026-05-03 42c23cc62d812c29c431977934af7b0f2a24b04b
nav.css
@@ -1,624 +1,788 @@
/**********************************************************
BASE NAV STYLES
**********************************************************/
nav {
    --py: .25rem;
    --px: 1rem;
    max-width: 100%;
}
/**************************************************************
BASE NAVIGATION - Works for 80% of cases
**************************************************************/
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);
}
nav:not(:has(> ul)),
nav > ul {
    --justify: flex-start;
    --align: center;
nav ul {
    --padding: 0 1rem;
    --wrap: nowrap;
    --w: 1em;
    --dir: row;
    position: relative;
    overflow: auto hidden;
    touch-action: pan-x;
    display: flex;
    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%;
    font-family: var(--heading);
    padding: 0;
    margin: 0;
}
nav a {
    padding: 0 var(--px);
/* Items fill parent */
nav li {
    display: flex;
    align-items: center;
    height: max(var(--btn), max-content);
    width: 100%;
    max-inline-size: none;
    padding: 0;
}
/* Links fill parent */
nav a,
nav button {
    display: flex;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    height: var(--btn);
    width: 100%;
    white-space: nowrap;
    text-transform: uppercase;
    transition: var(--trans-color);
    border-radius: 0;
    background-color: transparent;
}
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 a {
    height: var(--btn);
    padding: var(--padding);
}
nav ol,
nav ul {
    list-style: none;
    margin: 0;
/* Buttons */
nav button {
    justify-content: center;
    aspect-ratio: 1;
    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 svg {
    transform: rotate(0deg);
    transition: transform var(--timing) var(--function);
    transition-property: transform, background-color, color;
/**************************************************************
STATES - Apply to all navs
**************************************************************/
/* Active/Focus states */
/*    nav a:hover,*/
    nav .current a,
    nav a.current,
    nav a:focus,
    nav a:focus:visited,
    nav button:focus {
    background-color: var(--action-0);
    color: var(--action-contrast);
}
.has-submenu.open > button:not(.notifications, .quick-help) svg,
.has-submenu:hover > button:not(.notifications, .quick-help) svg {
/* Icon rotation */
.toggle .icon-caret-down {
    transform: rotate(0deg);
    transition: transform var(--trans-base);
}
.has-submenu.open > button .icon-caret-down {
    transform: rotate(900deg);
}
/**************************************************************
SUBMENUS - Generic pattern
**************************************************************/
.has-submenu {
    position: relative;
}
ul.submenu {
    --dir: column;
    --wrap: nowrap;
    --gap: 0;
    height: max-content;
    position: absolute;
    top: 100%;
    left: 0;
    right: 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);
    width: 100%;
    min-width: max-content;
    background-color: rgba(var(--base-rgb),var(--op-3));
    border: 2px solid rgba(var(--base-rgb),var(--op-3));
    transition: all var(--trans-t) var(--trans-fn);
    box-shadow: var(--shdw-none);
    overflow: hidden;
}
.submenu li {
    background-color: var(--overlay-heavy);
    background-color: rgba(var(--base-rgb),var(--op-6));
    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;
.submenu a {
    height: var(--chipchip);
}
/**
Opening Submenus
 */
.has-submenu.open > ul.submenu,
.has-submenu:hover > ul.submenu {
/* Open state */
.open > ul.submenu {
    transform: scaleY(1);
    max-height: 1000%;
    box-shadow: var(--shadow);
}
/**************************************************************
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: 9999;
    position: fixed;
    width: var(--height);
    bottom: 0;
    right: 0;
}
/*nav.always.open {*/
/*    width: 100vw;*/
/*    height: 100vh;*/
/*    padding-bottom:var(--height);*/
/*    background-color: var(--overlay-heavy);*/
/*    backdrop-filter: blur(5px);*/
/*    z-index: 999999;*/
/*}*/
nav.always > ul {
    --dir: column;
    --wrap: nowrap;
    --justify: flex-end;
    --align: center;
    position: fixed;
    background-color: var(--overlay-heavy);
    backdrop-filter: blur(5px);
    z-index: var(--zz-top);
    top: 0;
    right: -300vw;
    padding: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden auto;
    transition: right var(--timing) var(--function);
}
@media (min-width: 768px) {
    nav.always > ul {
        --justify: flex-start;
    }
}
nav.always.open > ul {
    width: 100%;
    right: 0;
    gap: 0;
}
nav.always > ul li:hover,
nav.always > ul li:focus-within,
nav.always > ul li.active {
    background-color: var(--overlay-heavy);
}
nav.always li {
    width: 100%;
    height: fit-content;
}
nav.always a {
    --py: 1rem;
    width: 100%;
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
}
/**************************************************************
ACCESSIBILITY - Universal
**************************************************************/
.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: 2px solid var(--action-0);
    outline-offset: 2px;
}
/**************************************************************
VARIANT: MOBILE NAV (.always)
Only define what makes it different from base
**************************************************************/
nav.always {
    /* Different positioning */
    --dir: column;
    --wrap: nowrap;
    position: fixed;
    bottom: 0;
    right: 0;
    width: var(--btn);
    z-index: var(--z-10);
}
nav.always.open {
    --justify: flex-end;
    width: 100vw;
    height: 100vh;
    padding-bottom: var(--btn_);
    background-color: rgba(var(--base-rgb),var(--op-6));
    backdrop-filter: blur(5px);
}
nav.always > ul {
    --dir: column;
    --align: center;
    --justify: flex-start;
    --gap: 0;
    height: 100%;
    position: relative;
    right: -300vw;
    width: 100vw;
    max-height: 100%;
    padding: 1rem 0 0;
    overflow: hidden auto;
    transition: right var(--trans-base);
}
nav.always.open > ul {
    right: 0;
}
nav.always li {
    flex-wrap: wrap;
    background-color: rgba(var(--base-rgb), var(--op-6));
}
nav.always a {
    padding: 1rem;
    max-width: calc(100% - var(--btn));
    text-align: center;
}
/* Split layout for items with submenus */
nav.always .has-submenu {
    display: flex;
}
nav.always .has-submenu > a {
    flex: 1;
}
nav.always .has-submenu > button {
    flex: 0 0 var(--btn);
}
/* Submenu adjustments */
nav.always .submenu {
    position: relative;
    padding-right: 4rem;
    height: max-content;
    top: 0;
    width: 100%;
    border: 2px solid var(--action-0);
    background-color: rgba(var(--contrast-rgb), var(--op-1));
}
nav.always .submenu li {
    background-color: rgba(var(--base-rgb),var(--op-3));
}
/* Toggle button */
nav.always > button {
    position: fixed;
    bottom: 0;
    right: 0;
    width: var(--height);
    height: var(--height);
    border-radius: 0;
    width: var(--btn);
    height: var(--btn);
    background-color: var(--base);
    color: var(--contrast);
    transition: width var(--timing) var(--function);
    transition-property: width, background-color;
    box-shadow: var(--shadow);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
    transition: width var(--trans-base);
}
nav.always > button:hover {
    background-color: var(--action-0);
    color: var(--action-contrast);
}
    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);
    background-color: rgba(var(--base-rgb),var(--op-6));
    backdrop-filter: blur(5px);
    z-index: 1000000;
}
nav.always.open > button:hover,
nav.always.open > button:focus {
    background-color: var(--action-0);
    color: var(--action-contrast);
/* Icon toggle */
nav.always > button .icon-x,
nav.always.open > button .icon-list {
    display: none;
}
nav.always.open > button .list,
nav.always >button .x {
    transform: scale(0);
    height: 0;
    width: 0;
    position: absolute;
}
nav.always > button .list,
nav.always.open > button .x {
    transform: scale(1);
    height: 32px;
nav.always > button .icon-list,
nav.always.open > button .icon-x {
    display: block;
    width: 32px;
}
@media (min-width: 768px) {
    nav.always a {
        padding: 2rem 0;
    }
    nav.always > ul {
        padding: var(--height) 0;
    }
}
/**************************************************************
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: 999;
}
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;
}
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;
}
@media (min-width: 768px) {
    nav.fixed.bottom a {
        font-size: var(--large);
    }
}
/**************************************************************
ON THIS PAGE
**************************************************************/
nav.on-this-page {
    --justify: space-between;
    max-width: none;
    z-index: 99;
    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;
    width: 100%;
}
.on-this-page li:not(.has) {
    padding: 0;
}
nav.letters li {
    width: 100%;
    max-width: calc(7.69% - 2px);
}
.on-this-page .active a {
    --c: var(--action-rgb);
    background-color: var(--overlay-heavy);
    color: var(--action-contrast);
    height: 32px;
}
@media (min-width: 768px) {
    nav.always > ul {
        padding-top: var(--btn);
    }
}
/**************************************************************
VARIANT: BREADCRUMBS (#breadcrumbs)
**************************************************************/
nav#breadcrumbs {
    /* Different sizing */
    height: max-content;
    --wrap: wrap;
    --gap: 0;
    width: max-content;
    max-width: var(--full);
    position: absolute;
    background-color: rgba(var(--base-rgb),var(--op-4));
    font-size: var(--txt-x-small);
    padding: .125em;
    z-index: var(--z-7);
}
#breadcrumbs ol {
    height: max-content;
    --wrap: wrap!important;
    --justify: flex-start!important;
}
#breadcrumbs li {
    width: max-content;
}
#breadcrumbs a {
    height: var(--chip);
}
#breadcrumbs li::after {
    content: '/';
    color: var(--contrast-200);
    padding: 0 .25rem;
}
    #breadcrumbs li:last-of-type::after {
        display: none;
    }
#breadcrumbs :is(a, span) {
    padding: 0 .125rem;
    color: var(--contrast);
    text-transform: none;
}
#breadcrumbs a:focus {
    background-color: transparent;
    color: var(--action-0);
}
/**************************************************************
VARIANT: FIXED BOTTOM (nav.fixed.bottom)
Only define what makes it different
**************************************************************/
nav.fixed.bottom {
    /* Different positioning */
    position: fixed;
    bottom: 0;
    left: 0;
    width: calc(100% - var(--btn));
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
    z-index: var(--z-9);
}
nav.fixed.bottom ul {
    --justify: space-between;
    width: 100%;
    background-color: var(--base);
    padding: 0 .25rem;
}
nav.fixed.bottom li {
    flex: 1;
    justify-content: center;
}
nav.fixed.bottom a {
    gap: 1rem;
    --w: var(--chip_);
    color: var(--contrast);
    font-size: var(--txt-x-small);
}
@media (min-width: 768px) {
    nav.fixed.bottom a {
        font-size: var(--txt-medium);
    }
}
/**************************************************************
VARIANT: ON THIS PAGE (nav.on-this-page)
Only define what makes it different
**************************************************************/
nav.on-this-page {
    --justify: space-between;
    position: fixed;
    bottom: 0;
    left: 0;
    width: calc(100% - var(--btn));
    max-width: none;
    padding: 0 .5rem;
    background-color: rgba(var(--base-rgb),var(--op-4));
    color: var(--base-200);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
    z-index: var(--z-6);
}
.on-this-page li,
.on-this-page a {
    width: 100%;
    height: 100%;
}
body:has(nav.fixed) nav.on-this-page {
    bottom: var(--btn);
}
body:has(.additional-actions button) nav.on-this-page{
    width: calc(100vw - var(--btn_) - 1rem);
}
.on-this-page button {
    order: 3;
    padding: 0 1rem;
    width: max-content;
    aspect-ratio: unset;
    height: var(--btn);
}
.on-this-page.open button {
    order: 0;
}
.on-this-page ul {
    width: 100%;
    gap: 0;
}
.on-this-page li {
    justify-content: center;
}
.on-this-page .active a {
    background-color: rgba(var(--base-rgb),var(--op-6));
    color: var(--action-contrast);
}
.on-this-page a {
    padding: 0;
}
.on-this-page #back-to-top span {
    display: none;
}
.on-this-page.open #back-to-top span {
    display: block;
}
/**************************************************************
VARIANT: LETTERS (nav.letters)
Only define what makes it different
**************************************************************/
nav.letters li {
    height: var(--chip);
    max-width: calc(7.69% - 2px); /*Fit 26 letters over 2 rows) */
}
nav.letters ul {
    --wrap: wrap;
}
nav.letters,
nav.letters ul {
    height: var(--chipchip);
}
@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
VARIANT: INDEX/TOC (nav.index)
Only define what makes it different
**************************************************************/
nav.index {
    --justify: flex-start;
    --px: 0;
    background-color: var(--overlay-heavy);
    --justify: space-between;
    --padding: 0;
    background-color: rgba(var(--base-rgb),var(--op-6));
}
.index ul {
    --justify: flex-start;
    width: fit-content;
    width: 100%;
}
.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 {
.index li.active,
.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:first-of-type {
    flex-shrink: 1;
    transform: scaleX(1);
    order: 9999;
    width: var(--btn);
    height: var(--btn);
    max-width: none;
}
@media (max-width: 767px) {
    .index li.adj {
        transform: scaleX(1);
        transform-origin: left;
        width: 100%;
        flex-shrink: 1;
        max-width: fit-content;
        transform: scaleX(0);
        max-width: 0;
    }
}
.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;
}
/* Index open state */
.index.open {
    --dir: column-reverse;
    height: calc(100% - 8rem);
    z-index: 99999999;
    height: var(--maxHeight);
    width: 100%;
    background-color: var(--overlay-heavy);
    backdrop-filter: blur(5px);
    align-items: flex-end;
    background-color: rgba(var(--base-rgb),var(--op-6));
    backdrop-filter: blur(5px);
    z-index: var(--z-10);
}
.index.open label {
    max-width: 90%;
    margin-top: 1rem;
    margin-right: 2rem;
}
.index.open .toggle svg {
    transform: rotate(45deg);
}
.index.open ul {
    --dir: column;
    --justify: flex-end;
    height: 100%;
    max-width: 100%;
    width: 100%;
}
.index.open li {
    background-color: transparent;
    max-width: 100%!important;
    width: 100%;
    height: var(--height);
    height: var(--btn);
    max-width: 100%!important;
    transform: scaleX(1);
    flex-shrink: 1;
    overflow: visible;
}
.index.open a {
    --justify: flex-end;
    background-color: transparent;
    justify-content: flex-end;
    padding: 0 2rem 0 0;
    background-color: transparent;
}
/**************************************************************
CONDENSED
VARIANT: CONDENSED (nav.condensed)
Only define what makes it different
**************************************************************/
.is-style-condensed {
    --dir: row;
nav.condensed {
    height: max-content;
    --wrap: wrap;
    --height: 1.2em;
    --py: .2rem;
    --px: 1rem;
    --gap: 0 .25rem;
}
.is-style-condensed > ul {
    --wrap: wrap;
}
.is-style-condensed ul {
nav.condensed ul {
    min-height: var(--chip_);
    height: max-content;
    --justify: center;
    --gap: 0;
    --wrap: wrap;
}
.is-style-condensed li {
    width: fit-content;
.condensed li {
    width: max-content;
    min-height: var(--chip);
}
.is-style-condensed li + li::before {
.condensed li + li::before {
    content: '·';
    display: block;
    padding: 0 .5em;
    padding: 0 .25em;
}
.is-style-condensed a {
.condensed a {
    height: max-content;
    min-height: var(--chip);
    font-size:var(--txt-x-small);
    padding: 0 .25rem;
    text-transform: none;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
}
.is-style-condensed a:hover,
.is-style-condensed a:focus,
.is-style-condensed a:hover:visited,
.is-style-condensed a:focus:visited {
.condensed a:focus {
    border-color: var(--action-0);
}
/**************************************************************
ADDITIONAL HEADER STUFF
VARIANT: SOCIALS (ul.socials)
Only define what makes it different
**************************************************************/
.dashboard-nav {
    width: 100%;
ul.socials {
    --dir: row;
    --justify: flex-start;
    height: max-content;
    --gap: .5rem;
    --justify: stretch;
    --wrap:nowrap;
    overflow: auto hidden;
    touch-action: pan-x;
}
.always ul.socials,
.always ul.socials li,
.always ul.socials a {
    width: 100%;
}
ul.socials a {
    padding: .5rem;
    max-width: none;
}
ul.socials .icon {
    margin: 0;
}
/**************************************************************
VARIANT: TABS (nav.tabs)
Only define what makes it different
**************************************************************/
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;
}
nav.tabs button {
    aspect-ratio: unset;
}
    nav.tabs button.active {
        cursor: default;
    }
    nav.tabs button.active:hover {
        background-color: var(--base-100);
        color: var(--contrast);
    }
nav.tabs button h2 {
    --wrap: nowrap;
}
body > header,
.wp-site-blocks > header {
    --dir: row;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    height: var(--height);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 .5rem;
    background-color: var(--base);
    z-index: 9999;
    box-shadow: var(--shadow);
    border-bottom: 1px solid var(--action-0);
}
body > header {
    justify-content: space-between;
}
header .title {
    --w: 5em;
    margin: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    max-inline-size: none;
    font-size: var(--txt-x-small);
}
.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;
.tab-content nav.tabs button {
    height: var(--chip_);
    padding: .25rem .75rem;
    min-height: 0;
}
.current-hours p {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    flex: 1;
.tab-content.active {
    padding: 1rem 0;
}
.current-hours p + p {
    justify-content: flex-end;
.tab-content h2 {
    margin: 0 0 .5rem;
}
.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 {
}
.find-us a {
    display: flex;
    padding: .25rem 1rem;
    border: 1px solid var(--action-contrast);
    border-radius: var(--innerRadius);
}
.find-us a:hover {
.tab-content nav.tabs {
    height: max-content;
    background-color: var(--base);
    color: var(--contrast);
    border-color: var(--contrast);
    --gap: 0;
}
nav.menu {
    --justify: flex-start;
}
    .tab-content .tab-content nav.tabs {
        background-color: var(--base-100);
    }
    .tab-content .tab-content .tab-content nav.tabs {
        background-color: var(--base-200);
    }
    .tab-content nav.tabs button.active h2 {
        color: var(--action-0);
    }
/**************************************************************
VARIANT: MENU (nav.menu)
Only define what makes it different
**************************************************************/
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);
/**************************************************************
VARIANT: SHARE (nav.share)
Only define what makes it different
**************************************************************/
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
**************************************************************/
:where(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: center;
    padding: 0 .5rem;
    background-color: var(--base);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
    z-index: var(--z-9);
}
.wp-site-blocks > header img {
    width: var(--btn);
}
/**************************************************************
CURRENT HOURS BANNER
**************************************************************/
/*.current-hours {*/
/*    position: sticky;*/
/*    top: var(--nav-height);*/
/*    padding: .25rem 1rem;*/
/*    background-color: var(--action-0);*/
/*    color: var(--action-contrast);*/
/*    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);*/
/*    display: flex;*/
/*    justify-content: space-between;*/
/*    z-index: 100;*/
/*}*/
/*.current-hours p {*/
/*    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 b {*/
/*    margin-right: .25rem;*/
/*}*/
/**************************************************************
FIND US BUTTONS
**************************************************************/
/*.find-us {*/
/*    display: flex;*/
/*    align-items: center;*/
/*    gap: 0 .5rem;*/
/*}*/
/*.find-us a {*/
/*    padding: .25rem 1rem;*/
/*    border: 1px solid var(--action-contrast);*/
/*    border-radius: var(--radius);*/
/*}*/
/**************************************************************
UTILITIES
**************************************************************/
/* Hide navigation when empty */
nav.term-navigation:has(*[hidden]) {
    display: none;
}
/* Dashboard nav */
.dashboard-nav {
    --justify: flex-start;
    width: 100%;
}
nav.filters {
    --dir: row;
    --justify: flex-start;
    overflow: auto hidden;
}
nav.filters .filter {
    width: auto;
    padding: .25rem .75rem;
}