From 42c23cc62d812c29c431977934af7b0f2a24b04b Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 03 May 2026 22:12:18 +0000
Subject: [PATCH] =mergin conflict?
---
nav.css | 1138 ++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 651 insertions(+), 487 deletions(-)
diff --git a/nav.css b/nav.css
index ca9ebb7..c0b5410 100644
--- a/nav.css
+++ b/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;
}
\ No newline at end of file
--
Gitblit v1.10.0