Jake Vanderwerf
2026-06-05 d25ccb070d76eb496e88d16776aea9e27de6e341
nav.css
@@ -68,7 +68,7 @@
nav a:focus:visited,
nav button:focus {
    background-color: rgb(var(--action-0));
    color: var(--action-contrast);
    color: rgb(var(--action-contrast));
}
.toggle .icon-caret-down {
@@ -225,7 +225,7 @@
/*}*/
/*nav.always > .toggle:hover {*/
/*    background-color: rgb(var(--action-0));*/
/*    color: var(--action-contrast);*/
/*    color: rgb(var(--action-contrast));*/
/*}*/
/*nav.always.open > .toggle {*/
/*    width: 100%;*/
@@ -236,7 +236,7 @@
/*nav.always.open > .toggle:hover {*/
/*    background-color: rgb(var(--action-0));*/
/*    color: var(--action-contrast);*/
/*    color: rgb(var(--action-contrast));*/
/*}*/
/*nav.always button .icon-x,*/
@@ -258,13 +258,17 @@
    transition: width var(--trans-base);
    width: max-content;
}
nav.always.fixed {
    z-index: var(--z-10);
}
nav.always > ul {
    --dir: column;
    --align: center;
    --justify: flex-end;
    --justify: flex-start;
    --gap: 0;
    height: 100vh;
    max-height: none;
    height: 100%;
    max-height: 100vh;
    position: fixed;
    right: -300vw;
    bottom: 0;
@@ -278,7 +282,51 @@
    }
    nav.always li {
        width: 100%;
        height: max-content;
    }
    nav.always.fixed.open {
        width: 100vw;
        height: 100vh;
        inset: 0;
        z-index: var(--z-10);
    }
    nav.always a {
        height: max-content;
        min-height: var(--chipchip);
    }
        nav.always li:not(.has-submenu) > a {
            padding-right: calc(var(--btn) + 1rem);
        }
    nav.always .has-submenu {
        --dir: row;
        --wrap: wrap;
        height: max-content;
    }
        nav.always .has-submenu a {
            max-width: calc(100% - var(--btn));
        }
        nav.always .has-submenu .toggle {
            max-width: var(--btn);
        }
        .has-submenu.open > a {
            background-color: rgb(var(--action-0));
            color: rgb(var(--action-contrast));
        }
            .has-submenu.open > ul {
                border: 1px solid rgb(var(--action-0));
                background-color: rgb(var(--action-0));
                --align: flex-start;
            }
        nav.always ul.submenu {
            position: relative;
            top: 0;
        }
        nav.always .submenu a {
            padding-left: var(--btn);
        }
/*******************************************************
ALWAYS MOBILE FIXED NAV
*******************************************************/
@@ -295,7 +343,7 @@
        nav.always.fixed .toggle.main:hover,
        nav.always.fixed .toggle.main:focus {
            background-color: rgb(var(--action-0));
            color: var(--action-contrast);
            color: rgb(var(--action-contrast));
        }
/*******************************************************
MOBILE NAV
@@ -399,6 +447,7 @@
nav#breadcrumbs ol {
    height: max-content;
    --wrap: wrap;
    --justify: flex-start;
}
nav#breadcrumbs li {
    width: max-content;
@@ -432,12 +481,12 @@
nav.fixed {
    position: fixed;
    box-shadow: rgba(var(--base),var(--op-45)) var(--shdw);
    z-index: var(--z-9);
    z-index: var(--z-6);
}
nav.fixed.bottom {
    left: 0;
    bottom: 0;
    width: calc(100% - var(--btn));
    width: calc(100vw - var(--btn));
}
nav.fixed:not(.always) ul {
@@ -466,7 +515,7 @@
/************************************************************
ON THIS PAGE
************************************************************/
nav.on-this-page {
nav.on-this-page.on-this-page {
    --justify: space-between;
    position: fixed;
    bottom: 0;
@@ -475,6 +524,7 @@
    z-index: var(--z-5);
    background-color: rgba(var(--base), var(--op-45));
    max-width: none;
    margin: 0!important;
}
body:has(nav.fixed) nav.on-this-page {
@@ -498,14 +548,14 @@
}
nav.on-this-page .active a {
    background-color: rgba(var(--base),var(--op-6));
    color: var(--action-contrast);
    color: rgb(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);
    color: rgb(var(--action-contrast));
}
/****************************************************
@@ -515,10 +565,11 @@
nav.letters ul,
nav.letters li,
nav.letters a{
    height: var(--chip);
    min-height: var(--chip);
    height: max-content;
}
nav.letters li {
    max-width: calc(7.69% - 2px); /* Fit 26 letters over 2 rows */
    width: calc(7.69% - 2px); /* Fit 26 letters over 2 rows */
}
nav.letters ul {
    --wrap: wrap;
@@ -532,7 +583,7 @@
        --wrap: nowrap;
    }
    nav.letters li {
        max-width: none;
        width: inherit;
    }
    nav.letters a {
        padding: .25rem .66rem;
@@ -547,6 +598,14 @@
    --padding: 0;
    background-color: rgba(var(--base),var(--op-6));
}
nav.index,
nav.index ul,
nav.index li,
nav.index button,
nav.index a {
    min-height: var(--chipchip);
    height: var(--chipchip);
}
nav.index ul {
    width: 100%;
}
@@ -559,18 +618,18 @@
nav.index li.active,
nav.index li.adj {
    transform: scaleX(1);
    width: calc(100% - var(--btn_));
    width: 100%;
    flex-shrink: 1;
    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;
}
/*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) {
    .index li.adj {
@@ -578,13 +637,13 @@
        max-width: 0;
    }
}
nav.index a {
    border-bottom: 4px solid transparent;
}
nav.index .active a {
    border-color: rgb(var(--action-0));
    color: rgb(var(--contrast));
}
/*nav.index a {*/
/*    border-bottom: 4px solid transparent;*/
/*}*/
/*nav.index .active a {*/
/*    border-color: rgb(var(--action-0));*/
/*    color: rgb(var(--contrast));*/
/*}*/
nav.index.open {
    --dir: column-reverse;
@@ -595,17 +654,20 @@
    backdrop-filter: blur(5px);
    z-index: var(--z-10);
}
    nav.index.open ul {
        min-height: max-content;
        --dir: column;
    }
nav.index.open li {
    width: 100%;
    height: var(--btn);
    max-width: 100%!important;
    transform: scaleX(1);
    overflow: visible;
}
nav.index.open a {
    --justify: flex-end;
    --justify: center;
    padding: 0 2rem 0 0;
    background-color: transparent;
    /*background-color: transparent;*/
}
/***************************************************************
@@ -669,6 +731,7 @@
.always ul.socials {
    width: 100vw;
    --justify: stretch;
    --gap: 0;
}
    .always ul.socials li {
        flex: 1;
@@ -678,11 +741,16 @@
        .always ul.socials a {
            display: inline-flex;
        }
ul.socials li {
    flex: 1;
}
ul.socials a {
    display: inline-block;
    display: inline-flex;
    font-size: var(--txt-x-small);
    padding: .25rem .5rem;
    max-width: none;
    justify-content: center;
    width: 100%;
}
ul.socials .icon {
    margin: 0;
@@ -717,7 +785,7 @@
nav.tabs button.active,
nav.tabs button.active:hover {
    background-color: rgb(var(--action-0));
    color: var(--action-contrast);
    color: rgb(var(--action-contrast));
    border-color: rgb(var(--base));
}