From 92e80666d516de64e488e04911c09e65a32e2a05 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sat, 23 May 2026 18:48:30 +0000
Subject: [PATCH] =Base Styles overhaul. MAJOR NOTE: colour vars changed from hex codes to the rgb numbers (ex: 0,0,0) - this makes setting colour opacity much easier throughout. Likely breaking for most existing themes though
---
nav.css | 969 ++++++++++++++++++++++++++++++--------------------------
1 files changed, 517 insertions(+), 452 deletions(-)
diff --git a/nav.css b/nav.css
index 4495442..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,302 +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)
-**************************************************************/
+@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!important;
- --justify: flex-start!important;
+ --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);
-
-}
-.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 {
+nav.on-this-page button {
order: 3;
padding: 0 1rem;
- width: max-content;
+ width:max-content;
aspect-ratio: unset;
- height: var(--btn);
}
-.on-this-page.open button {
+nav.on-this-page.open button {
order: 0;
}
-.on-this-page ul {
+nav.on-this-page ul {
width: 100%;
- gap: 0;
+ --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 {
+nav.on-this-page a {
padding: 0;
}
-.on-this-page #back-to-top span {
+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;
}
-.on-this-page.open #back-to-top span {
- display: block;
+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 {
@@ -442,41 +534,36 @@
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: space-between;
--padding: 0;
- background-color: rgba(var(--base-rgb),var(--op-6));
+ background-color: rgba(var(--base),var(--op-6));
}
-
-.index ul {
+nav.index ul {
width: 100%;
}
-
-.index li {
- flex-shrink: 0;
+nav.index li {
+ flex-shrink:0;
transform: scaleX(0);
max-width: 0;
overflow: hidden;
}
-
-.index li.active,
-.index li.adj {
+nav.index li.active,
+nav.index li.adj {
transform: scaleX(1);
width: calc(100% - var(--btn_));
flex-shrink: 1;
max-width: none;
}
-.index li:first-of-type {
+nav.index li:first-of-type {
flex-shrink: 1;
transform: scaleX(1);
order: 9999;
@@ -491,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;
@@ -683,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;
@@ -696,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