From 4f48b9154270c83324ef6c98f990adbcbe59d073 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 24 May 2026 02:27:26 +0000
Subject: [PATCH] =switching over

---
 nav.css |  974 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 538 insertions(+), 436 deletions(-)

diff --git a/nav.css b/nav.css
index 04540a1..43bfe54 100644
--- a/nav.css
+++ b/nav.css
@@ -1,11 +1,17 @@
-/**************************************************************
-BASE NAVIGATION - Works for 80% of cases
-**************************************************************/
 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 {
     display: flex;
     flex-direction: var(--dir, row);
     justify-content: var(--justify, flex-start);
@@ -14,112 +20,105 @@
     flex-wrap: var(--wrap, nowrap);
     height: var(--btn, 3rem);
     max-width: 100%;
-    font-family: var(--heading);
     padding: 0;
     margin: 0;
 }
-
-/* Items fill parent */
-nav li {
-    display: flex;
-    align-items: center;
-    height: max(var(--btn), max-content);
-    width: 100%;
-    max-inline-size: none;
-    padding: 0;
+nav.col,
+nav.col ul {
+    height: max-content;
 }
 
-/* Links fill parent */
-nav a,
-nav button {
-    display: flex;
-    text-decoration: none;
-    align-items: center;
-    justify-content: center;
-    height: var(--btn);
+nav > ul {
+    width: 100%;
+    overflow: auto hidden;
+}
+
+nav li {
+    width: max-content;
+    --justify: center;
+    max-inline-size: none;
+    padding: 0;
+    list-style: none;
+}
+
+nav.fill li {
+    width: 100%;
+}
+nav a, nav button {
+    --justify: center;
     width: 100%;
     white-space: nowrap;
     text-transform: uppercase;
-    transition: var(--trans-color);
+    border-radius: 0;
+    background-color: transparent;
+    text-decoration: none;
 }
 nav a {
-    height: var(--btn);
     padding: var(--padding);
 }
-/* Buttons */
-nav button {
-    justify-content: center;
+nav .toggle {
     aspect-ratio: 1;
-    padding: 0;
-    border: 2px solid var(--base);
-    color: var(--contrast);
-    border-radius: 0;
+    border: 1px solid rgb(var(--base));
+    color: rgb(var(--contrast));
 }
 
-/**************************************************************
-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);
+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);
 }
 
-
-/* Icon rotation */
-.toggle .icon {
+.toggle .icon-caret-down {
     transform: rotate(0deg);
     transition: transform var(--trans-base);
 }
-
-.has-submenu.open > button .icon {
+.open > .row > .toggle .icon-caret-down,
+.open > .toggle .icon-caret-down {
     transform: rotate(900deg);
 }
 
-/**************************************************************
-SUBMENUS - Generic pattern
-**************************************************************/
+/****************************************************
+SUBMENUS
+****************************************************/
 .has-submenu {
     position: relative;
 }
-
 ul.submenu {
     --dir: column;
     height: max-content;
     position: absolute;
     top: 100%;
-    left: 0;
+    right: 0;
     max-height: 0;
     transform: scaleY(0);
     transform-origin: top;
-    width: max(100%, 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);
+    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-rgb),var(--op-6));
-    border: 1px solid var(--base-50);
+    background-color: rgba(var(--base),var(--op-6));
+    border: 1px solid rgb(var(--base-50));
+}
+.submenu a {
+    height: var(--chipchip);
 }
 
-/* Open state */
 .open > ul.submenu {
     transform: scaleY(1);
     max-height: 1000%;
-    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
+    box-shadow: rgba(var(--base), var(--op-45)) var(--shdw);
 }
 
 /**************************************************************
-ACCESSIBILITY - Universal
+ACCESSIBILITY
 **************************************************************/
 .screen-reader-text {
     position: absolute;
@@ -138,270 +137,395 @@
 }
 
 nav a:focus-visible {
-    outline: 2px solid var(--action-0);
-    outline-offset: 2px;
+    outline: 1px solid rgb(var(--action-0));
+    outline-offset: 1px;
 }
 
-/**************************************************************
-VARIANT: MOBILE NAV (.always)
-Only define what makes it different from base
-**************************************************************/
+/*************************************************************
+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 {
-    /* Different positioning */
-    --dir: column;
-    --wrap: nowrap;
-    position: fixed;
-    bottom: 0;
-    right: 0;
-    width: var(--btn);
-    z-index: var(--z-10);
+    overflow: visible;
+    transition: width var(--trans-base);
+    width: max-content;
 }
-
-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;
+    --justify: flex-end;
     --gap: 0;
-    height: 100%;
-    position: relative;
+    height: 100vh;
+    max-height: none;
+    position: fixed;
     right: -300vw;
+    bottom: 0;
     width: 100vw;
-    max-height: 100%;
-    padding: 1rem 0 0;
+    padding: var(--btn) 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;
+    nav.always.open > ul {
+        right: 0;
+    }
+    nav.always li {
+        width: 100%;
+    }
+/*******************************************************
+ALWAYS MOBILE FIXED NAV
+*******************************************************/
+nav.always.fixed {
     width: var(--btn);
     height: var(--btn);
-    background-color: var(--base);
-    color: var(--contrast);
-    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
+    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.always > button:hover {
-        background-color: var(--action-0);
-        color: var(--action-contrast);
-    }
-
-nav.always.open > button {
-    width: 100%;
-    background-color: rgba(var(--base-rgb),var(--op-6));
-    backdrop-filter: blur(5px);
-    z-index: 1000000;
+nav.mobile .icon-x,
+nav.mobile .icon-list {
+    --w: 32px;
 }
-
-/* Icon toggle */
-nav.always > button .icon-x,
-nav.always.open > button .icon-list {
+nav.mobile .icon-x,
+nav.mobile.open .icon-list {
     display: none;
 }
+    nav.mobile .icon-list,
+    nav.mobile.open .icon-x {
+        display: block;
+    }
 
-nav.always > button .icon-list,
-nav.always.open > button .icon-x {
-    display: block;
-    width: 32px;
-    height: 32px;
+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 (min-width: 768px) {
-    nav.always > ul {
-        padding-top: var(--btn);
+@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;
     }
 }
-
-/**************************************************************
-VARIANT: BREADCRUMBS (#breadcrumbs)
-Only define what makes it different
-**************************************************************/
+@media (min-width:768px) {
+    nav.mobile:not(.always) .toggle.main {
+        display: none;
+    }
+}
+/*******************************************************
+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));
+    background-color: rgba(var(--base),var(--op-4));
     font-size: var(--txt-x-small);
     padding: .125em;
-    z-index: var(--z-7);
+    z-index: var(--z-5);
 }
-#breadcrumbs ol {
+
+nav#breadcrumbs ol {
     height: max-content;
+    --wrap: wrap;
 }
-#breadcrumbs li {
+nav#breadcrumbs li {
     width: max-content;
+    height: var(--chip);
+    --wrap: nowrap;
 }
-#breadcrumbs a {
+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);
 }
-
-#breadcrumbs li::after {
-    content: '/';
-    color: var(--contrast-200);
-    padding: 0 .25rem;
-}
-    #breadcrumbs li:last-of-type::after {
-        display: none;
-    }
-
-#breadcrumbs :is(a, span) {
+nav#breadcrumbs a, nav#breadcrumbs span {
     padding: 0 .125rem;
-    color: var(--contrast);
+    color: rgb(var(--contrast));
     text-transform: none;
 }
-
-#breadcrumbs a:focus {
+nav#breadcrumbs a:focus {
     background-color: transparent;
-    color: var(--action-0);
+    color: rgb(var(--action-0));
 }
 
-/**************************************************************
-VARIANT: FIXED BOTTOM (nav.fixed.bottom)
-Only define what makes it different
-**************************************************************/
-nav.fixed.bottom {
-    /* Different positioning */
+/************************************************************
+FIXED BOTTOM
+************************************************************/
+nav.fixed {
     position: fixed;
-    bottom: 0;
-    left: 0;
-    width: calc(100% - var(--btn));
-    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
+    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.bottom ul {
+nav.fixed:not(.always) ul {
     --justify: space-between;
     width: 100%;
-    background-color: var(--base);
+    background-color: rgb(var(--base));
     padding: 0 .25rem;
 }
 
-nav.fixed.bottom li {
+nav.fixed:not(.always) li {
     flex: 1;
-    justify-content: center;
 }
-
-nav.fixed.bottom a {
-    gap: 1rem;
+nav.fixed a {
+    --align: center;
+    --gap: 1rem;
     --w: var(--chip_);
-    color: var(--contrast);
+    color: rgb(var(--contrast));
     font-size: var(--txt-x-small);
 }
-
 @media (min-width: 768px) {
-    nav.fixed.bottom a {
+    nav.fixed a {
         font-size: var(--txt-medium);
     }
 }
 
-/**************************************************************
-VARIANT: ON THIS PAGE (nav.on-this-page)
-Only define what makes it different
-**************************************************************/
+/************************************************************
+ON THIS PAGE
+************************************************************/
 nav.on-this-page {
     --justify: space-between;
     position: fixed;
     bottom: 0;
     left: 0;
-    width: calc(100% - var(--btn));
+    width: 100vw;
+    z-index: var(--z-5);
+    background-color: rgba(var(--base), var(--op-45));
     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);
 }
 
 body:has(nav.fixed) nav.on-this-page {
     bottom: var(--btn);
 }
-
-.on-this-page ul {
-    width: 100%;
+nav.on-this-page button {
+    order: 3;
+    padding: 0 1rem;
+    width:max-content;
+    aspect-ratio: unset;
 }
-
-.on-this-page .active a {
-    background-color: rgba(var(--base-rgb),var(--op-6));
+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);
 }
 
-/**************************************************************
-VARIANT: LETTERS (nav.letters)
-Only define what makes it different
-**************************************************************/
-nav.letters li {
+/****************************************************
+LETTERS
+****************************************************/
+nav.letters,
+nav.letters ul,
+nav.letters li,
+nav.letters a{
     height: var(--chip);
-    max-width: calc(7.69% - 2px); /*Fit 26 letters over 2 rows) */
+}
+nav.letters li {
+    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 {
+
+@media (min-width:768px) {
+    nav.letters, nav.letters ul {
         height: var(--chip);
     }
     nav.letters ul {
@@ -410,42 +534,42 @@
     nav.letters li {
         max-width: none;
     }
-
     nav.letters a {
         padding: .25rem .66rem;
     }
 }
 
-/**************************************************************
-VARIANT: INDEX/TOC (nav.index)
-Only define what makes it different
-**************************************************************/
+/********************************************************
+INDEX/TOC
+********************************************************/
 nav.index {
-    --justify: flex-start;
+    --justify: space-between;
     --padding: 0;
-    background-color: rgba(var(--base-rgb),var(--op-6));
+    background-color: rgba(var(--base),var(--op-6));
 }
-
-.index ul {
-    width: max-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(--trans-base);
 }
-
-.index li.active,
-.index li.adj {
+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;
+}
+nav.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) {
@@ -454,191 +578,190 @@
         max-width: 0;
     }
 }
-
-.index a {
+nav.index a {
     border-bottom: 4px solid transparent;
 }
-
-.index .active a {
-    border-color: var(--action-0);
-    color: var(--contrast);
+nav.index .active a {
+    border-color: rgb(var(--action-0));
+    color: rgb(var(--contrast));
 }
 
-/* Index open state */
-.index.open {
+nav.index.open {
     --dir: column-reverse;
     height: var(--maxHeight);
     width: 100%;
-    align-items: flex-end;
-    background-color: rgba(var(--base-rgb),var(--op-6));
+    --align: flex-end;
+    background-color: rgba(var(--base),var(--op-6));
     backdrop-filter: blur(5px);
     z-index: var(--z-10);
 }
-
-.index.open ul {
-    --dir: column;
-    --justify: flex-end;
-    height: 100%;
-    width: 100%;
-}
-
-.index.open li {
+nav.index.open li {
     width: 100%;
     height: var(--btn);
     max-width: 100%!important;
     transform: scaleX(1);
     overflow: visible;
 }
-
-.index.open a {
-    justify-content: flex-end;
+nav.index.open a {
+    --justify: flex-end;
     padding: 0 2rem 0 0;
     background-color: transparent;
 }
 
-/**************************************************************
-VARIANT: CONDENSED (nav.condensed)
-Only define what makes it different
-**************************************************************/
-nav.condensed {
-    height: max-content;
-    --wrap: wrap;
-    --gap: 0 .25rem;
-}
+/***************************************************************
+CONDENSED
+***************************************************************/
 
-nav.condensed ul {
-    min-height: var(--chip_);
+nav.condensed,
+nav.condensed ul,
+nav.condensed li,
+nav.condensed a {
     height: max-content;
-    --justify: center;
-    --wrap: wrap;
-}
-.condensed li {
     width: max-content;
+    --wrap: wrap;
     min-height: var(--chip);
 }
-.condensed li + li::before {
+    .condensed ul {
+        --justify: center;
+        --dir: row;
+    }
+nav.condensed {
+    --gap: 0 .25rem;
+    width: 100%;
+    --justify: center;
+}
+nav.condensed li + li::before {
     content: 'ยท';
     padding: 0 .25em;
 }
-
-.condensed a {
-    height: max-content;
-    min-height: var(--chip);
-    font-size:var(--txt-x-small);
+nav.condensed a {
+    font-size: var(--txt-x-small);
     padding: 0 .25rem;
     text-transform: none;
     border-bottom: 2px solid transparent;
 }
-
-.condensed a:focus {
-    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));
 }
 
-/**************************************************************
-VARIANT: SOCIALS (ul.socials)
-Only define what makes it different
-**************************************************************/
+/********************************************************************
+SOCIALS
+********************************************************************/
 ul.socials {
     --dir: row;
     height: max-content;
     --gap: .5rem;
-    --justify: stretch;
-    --wrap:nowrap;
+    --justify: flex-end;
+    --wrap: nowrap;
     overflow: auto hidden;
     touch-action: pan-x;
-}
-.always ul.socials,
-.always ul.socials li,
-.always ul.socials a {
     width: 100%;
 }
-
+ul.socials li {
+    list-style: none;
+}
+.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 {
-    padding: .5rem;
+    display: inline-block;
+    font-size: var(--txt-x-small);
+    padding: .25rem .5rem;
     max-width: none;
 }
-
 ul.socials .icon {
     margin: 0;
 }
 
-/**************************************************************
-VARIANT: TABS (nav.tabs)
-Only define what makes it different
-**************************************************************/
+ul.socials .icon + span:not(.screen-reader-text) {
+    margin-left: .5rem;
+}
+
+/********************************************************************
+TABS
+********************************************************************/
 nav.tabs {
-    position: fixed;
-    bottom: var(--btn);
-    left: var(--btnbtn);
-    right: var(--btnbtn);
+    /*position: fixed;*/
+    /*bottom: var(--btn);*/
+    /*left: var(--btnbtn);*/
+    /*right: var(--btnbtn);*/
     padding-bottom: 2px;
-    z-index: var(--z-6);
+    /*z-index: var(--z-6);*/
     touch-action: pan-x pan-y;
-    --wrap:nowrap;
+    --wrap: nowrap;
     overflow: auto hidden;
 }
+nav.tabs button.active {
+    cursor: default;
+}
 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;
-    margin: 0;
+    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.active {
-    padding: 1rem 0;
-}
+
 .tab-content h2 {
     margin: 0 0 .5rem;
 }
+
 .tab-content nav.tabs {
     height: max-content;
-    background-color: var(--base);
+    background-color: rgb(var(--base));
     --gap: 0;
 }
-    .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
-**************************************************************/
+.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;
 }
 
-/**************************************************************
-VARIANT: SHARE (nav.share)
-Only define what makes it different
-**************************************************************/
+/********************************************************
+SHARE
+********************************************************/
 nav.share {
     height: max-content;
     margin: 1rem 0;
 }
-
 nav.share ul {
     overflow: visible;
 }
-
 nav.share h4 {
     display: inline-block;
     width: max-content;
@@ -646,10 +769,10 @@
     font-size: var(--txt-x-small);
 }
 
-/**************************************************************
+/************************************************************
 HEADER ELEMENTS
-**************************************************************/
-:where(body > header, .wp-site-blocks > header) {
+************************************************************/
+body > header, .wp-site-blocks > header {
     --dir: row;
     --justify: space-between;
     position: sticky;
@@ -659,87 +782,66 @@
     height: var(--btn);
     width: 100vw;
     display: flex;
-    align-items: center;
+    align-items: var(--align, center);
+    justify-content: var(--justify, space-between);
     padding: 0 .5rem;
-    background-color: var(--base);
-    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
+    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);
 }
 
-/**************************************************************
-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;*/
-/*}*/
+/************************************************************
+DASH
+************************************************************/
+.dashboard-nav {
+    width: 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
-**************************************************************/
+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;
 }
 
-/* Dashboard nav */
-.dashboard-nav {
-    --justify: flex-start;
+nav.pagination {
     width: 100%;
 }
-
-nav.filters {
-    --dir: row;
-    --justify: flex-start;
-    overflow: auto hidden;
+nav.pagination > a {
+    min-width: var(--chipchip);
 }
-nav.filters .filter {
-    width: auto;
-    padding: .25rem .75rem;
-}
\ No newline at end of file
+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_);
+}

--
Gitblit v1.10.0