Jake Vanderwerf
2026-05-03 42c23cc62d812c29c431977934af7b0f2a24b04b
all.css
@@ -7,7 +7,7 @@
Requires at least: 6.4
Tested up to: 6.4
Requires PHP: 7.0
Version: 1.279
Version: 1.5.95
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jv
@@ -15,81 +15,92 @@
/*************************************************************
VARIABLES
*************************************************************/
:root{
    /* Layout */
    --narrow: min(500px, 50vw);
    --maxWidth: min(768px, 65vw);
    --alignWide: min(1024px, 90vw);
    --alignMed: min(962px, 82.5vw);
:root {
    /*****************************
    Layout
    *****************************/
    --half: min(384px, 17.5vw);
    --narrow: min(500px, 62.5vw);
    --content: min(768px, 65vw);
    --wider: min(900px, 75vw);
    --wide: min(1024px, 90vw);
    --full: 100vw;
    /* Margin */
    --mr: auto;
    --ml: auto;
    --mt: 1rem;
    --mb: 1rem;
    --p-x: 1.5rem;
    --p-y: .5rem;
    --setMargin: var(--mt) var(--mr) var(--mb) var(--ml);
    --insetMargin: var(--mt) calc((var(--maxWidth) - var(--narrow)) / 2 + var(--mr)) var(--mb) var(--ml);
    --height: 4rem;
    --doubleHeight: 8rem;
    --offHeight: 5rem;
    --maxHeight: calc(100vh - var(--height) - var(--height));
    --offScreen: -200vw;
    --gap: .5rem;
    --wrap: wrap;
    /*****************************
    Sizing
    *****************************/
    --chip: 1.5rem;
    --chipchip: 3rem;
    --chip_: 2rem;
    --btn: 4rem;
    --btn_: 5rem;
    --btnbtn: 8rem;
    --maxHeight: calc(100vh - var(--btnbtn));
    /*****************************
    Flex
    *****************************/
    --dir: row;
    --justify: center;
    --align: center;
    --dir: row;
    /* Typography */
    --w: 1.2em; /** Icon **/
    --wrap: wrap;
    --gap: .5rem;
    --filter: grayscale(.3) sepia(.4);
    --dashed: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' stroke='%23151515' stroke-width='1' stroke-dasharray='12%2c18%2c36' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e");
    --dashed-action: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' stroke='%23B7332E' stroke-width='1' stroke-dasharray='12%2c18%2c36' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e");
    /*****************************
    Typography
    *****************************/
    --w: 1.2em; /** For icons **/
    --font-base: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
    --heading: 'Aleo', var(--font-base);
    --body: 'Josefin Slab', var(--font-base);
    --hWeight: 900;
    --hlight: 400;
    --bWeight: 400;
    --bBold: 700;
    --bLight: 200;
    --fw-h-light: 400;
    --fw-h: 900;
    --fw-h-bold: 900;
    --fw-b-light: 200;
    --fw-b: 400;
    --fw-b-bold: 700;
    /* Font sizes */
    --enormous: calc(26vh - 4rem);
    --xxxlarge: clamp(2.5rem, 1.429rem + 2.857vw, 4rem);
    --xxlarge: clamp(2rem, 1.286rem + 1.905vw, 3rem);
    --xlarge: clamp(1.6rem, .957rem + 1.714vw, 2.5rem);
    --large: clamp(1.3rem, .6rem + 1.867vw, 2rem);
    --xmedium: clamp(1.4rem, .971rem + 1.143vw, 2rem);
    --medium: clamp(1.1rem, .993rem + .286vw, 1.25rem);
    --small: clamp(.95rem, .879rem + .19vw, 1.05rem);
    --extra-small: clamp(.75rem, 1.1337rem + -1.2278vw, .059375rem);
    /* Colours
    For best results, generate colours from base colours using: https://uicolors.app/generate/
    or sass darken/lighten by 5%: http://scg.ar-ch.org/
    For DUOTONE: https://cssduotone.com/
    */
    --mixBlendMode: darken;
    --txt-small: clamp(.75rem, 1.1337rem + -1.2278vw, .059375rem);
    --txt-x-small: clamp(.95rem, .879rem + .19vw, 1.05rem);
    --txt-medium: clamp(1.1rem, .993rem + .286vw, 1.25rem);
    --txt-x-medium: clamp(1.4rem, .971rem + 1.143vw, 2rem);
    --txt-large: clamp(1.3rem, .6rem + 1.867vw, 2rem);
    --txt-x-large:clamp(1.6rem, .957rem + 1.714vw, 2.5rem);
    --txt-xx-large: clamp(2rem, 1.286rem + 1.905vw, 3rem);
    --txt-xxx-large: clamp(2.5rem, 1.429rem + 2.857vw, 4rem);
    --txt-enormous: calc(26vh - 4rem);
    /*****************************
    Colours
    *****************************/
    --filter: grayscale(.3) sepia(.4);
    --mix-blend-mode: darken;
    --coverBlend: overlay;
    --coverIndex: 2;
    --light-0: #fafafa;
    --light-50: #fcfbfb;
    --light-100: #f1eded;
    --light-200: #e6dfdf;
    --light-rgb: 250,250,250;
    --dark-0: #201313;
    --dark-50: #261717;
    --dark-100: #2d1b1b;
    --dark-200: #331e1e;
    --dark-rgb: 16,4,4;
    --action-0: #B7332E;
    --action-50: #a32d29;
    --action-100: #8e2824;
    --action-200: #7a221f;
    --action-contrast: var(--light-0);
    --action-rgb: 183,51,46;
    --secondary-0: #E8A737;
    --secondary-50: #e59d20;
    --secondary-100: #d48f18;
    --secondary-200: #bd7f16;
    --secondary-contrast: var(--light-0);
    --secondary-rgb: 232,167,55;
    --success: #22C55E;
    --successBack: #d4edda;
@@ -98,75 +109,81 @@
    --error: #EF4444;
    --errorBack: #f8d7da;
    --errorText: #721c24;
    --action-contrast: var(--light-0);
    --secondary-contrast: var(--light-0);
    --light-rgb: 250,250,250;
    --dark-rgb: 16,4,4;
    --action-rgb: 183,51,46;
    --secondary-rgb: 232,167,55;
    --rgba-subtle: rgba(var(--c),.05);
    --rgba-subtle-hover: rgba(var(--c),.1);
    --base: var(--light-0);
    --base-50: var(--light-50);
    --base-100: var(--light-100);
    --base-200: var(--light-200);
    --base-rgb: var(--light-rgb);
    --contrast: var(--dark-0);
    --contrast-50: var(--dark-50);
    --contrast-100: var(--dark-100);
    --contrast-200: var(--dark-200);
    --c: var(--light-rgb);
    --base-rgb: var(--light-rgb);
    --contrast-rgb: var(--dark-rgb);
    /* Stacking */
    --shimmer: rgba(var(--dark-rgb),0) 0%,
    rgba(var(--dark-rgb),.05) 50%,
    rgba(var(--dark-rgb),0) 100%;
    --op-1: .05;
    --op-2: .15;
    --op-3: .25;
    --op-45: .45;
    --op-4: .66;
    --op-5: .75;
    --op-6: .85;
    /*****************************
    Shadows
    *****************************/
    --shdw-inset: inset 0 0 4px 1px;
    --shdw: 0 0 4px;
    --shdw-down: 0 6px 5px -5px;
    --shdw-right: 6px 0 5px -5px;
    --shdw-left: -6px 0 5px -5px;
    --shdw-up: 0 -6px 5px -5px;
    --shdw-subtle: 0 25px 20px -20px;
    --shdw-subtle-right: 10px 0 20px -20px;
    --shdw-none: transparent 0 0 0;
    /*****************************
    Stacking
    *****************************/
    --z-1: 5;
    --z-2: 10;
    --z-3: 15;
    --z-4: 20;
    --z-5: 50;
    --z-6: 100;
    --z-top: 999;
    --z-topper: 1000;
    --zz-top: 999999;
    --z-above: 9999999;
    /* Overlays */
    --rgb-subtle: .05;
    --rgb-subtle-hover: .15;
    --rgb-light: .25;
    --rgb-medium: .66;
    --rgb-heavy: .85;
    --overlay-light: rgba(var(--c), .25);
    --overlay-medium: rgba(var(--c), .66);
    --overlay-heavy: rgba(var(--c), .85);
    --shimmer: rgba(var(--dark-rgb),0) 0%,
    rgba(var(--dark-rgb),.05) 50%,
    rgba(var(--dark-rgb),0) 100%;
    /* Shadows */
    --shadow: rgba(var(--dark-rgb),.45) 0px 0px 4px;
    --shadow-down: rgba(var(--dark-rgb),.45) 0 6px 5px -5px;    /* Bottom */
    --shadow-right: rgba(var(--dark-rgb),.45) 6px 0 5px -5px;   /* Right */
    --shadow-left: rgba(var(--dark-rgb), .45) -6px 0 5px -5px;   /* Left */
    --shadow-up: rgba(var(--dark-rgb), .45) 0 -6px 5px -5px;     /* Up */
    --subtle: rgba(var(--dark-rgb), .45) 0px 25px 20px -20px;
    --subtleRight: rgba(var(--dark-rgb), .45) 10px 0 20px -20px;
    --shadow-none: transparent 0px 0px 0px;
    /* Rounding */
    --innerRadius: 4px;
    --outerPadding: 1rem;
    --outerRadius: calc(var(--innerRadius) + var(--outerPadding));
    /* Transitions */
    --function:cubic-bezier(.47,.24,.07,.47);
    --timing: .25s;
    --transition-base: var(--timing) var(--function);
    --transition-color: background-color var(--transition-base),
    color var(--transition-base), border var(--transition-base);
    --transition-transform: transform var(--transition-base);
    --transition-size: width var(--transition-base),
    height var(--transition-base),max-width var(--transition-base), max-height var(--transition-base);
    --z-7: 999;
    --z-8: 1000;
    --z-9: 999999;
    --z-10: 9999999;
    /**** SPACING ****/
    /*****************************
    Rounding
    *****************************/
    --radius: 4px;
    --p-outer: 1rem;
    --radius-outer: calc(var(--radius) + var(--p-outer));
    --p-y: 1rem;
    --p-x: 1rem;
    /*****************************
    Transitions
    *****************************/
    --trans-fn: cubic-bezier(.47,.24,.07,.47);
    --trans-t: .25s;
    --trans-base: var(--trans-t) var(--trans-fn);
    --trans-color: background-color var(--trans-base),
    color var(--trans-base), border var(--trans-base);
    --trans-transform: transform var(--trans-base);
    --trans-size: width var(--trans-base),
    height var(--trans-base),max-width var(--trans-base), max-height var(--trans-base);
    --trans-vis: opacity var(--trans-base);
    /*****************************
    Spacing
    *****************************/
    --sp1: clamp(0.5rem, 0.714vw + 0.321rem, 1rem);      /* 8px â†’ 16px */
    --sp2: clamp(0.75rem, 1.071vw + 0.482rem, 1.5rem);   /* 12px â†’ 24px */
    --sp3: clamp(1rem, 1.429vw + 0.643rem, 2rem);        /* 16px â†’ 32px */
@@ -175,91 +192,58 @@
    --sp6: clamp(3rem, 4.286vw + 1.929rem, 6rem);        /* 48px â†’ 96px */
    --sp7: clamp(4rem, 5.714vw + 2.571rem, 8rem);        /* 64px â†’ 128px */
    --offScreen: -200vw;
    /*****************************
    Scrollbar
    *****************************/
    --sb-width: 8px;
    --sb-track: var(--base-100);
    --sb-thumb: var(--action-0);
    --sb-thumb-hover: var(--action-50);
    --sb-thumb-border: 2px solid var(--base-50);
    --sb-radius: 4px;
    /*!** Icons **!*/
    /*--quote: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23000000" viewBox="0 0 256 256"><path d="M116,72v88a48.05,48.05,0,0,1-48,48,8,8,0,0,1,0-16,32,32,0,0,0,32-32v-8H40a16,16,0,0,1-16-16V72A16,16,0,0,1,40,56h60A16,16,0,0,1,116,72ZM216,56H156a16,16,0,0,0-16,16v64a16,16,0,0,0,16,16h60v8a32,32,0,0,1-32,32,8,8,0,0,0,0,16,48.05,48.05,0,0,0,48-48V72A16,16,0,0,0,216,56Z"></path></svg>');*/
    /*--minus: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="%23151515" viewBox="0 0 256 256"><path d="M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36Zm4,172a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-40-80a4,4,0,0,1-4,4H88a4,4,0,0,1,0-8h80A4,4,0,0,1,172,128Z"></path></svg>');*/
    /*--plus: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="%23151515" viewBox="0 0 256 256"><path d="M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36Zm4,172a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-40-80a4,4,0,0,1-4,4H132v36a4,4,0,0,1-8,0V132H88a4,4,0,0,1,0-8h36V88a4,4,0,0,1,8,0v36h36A4,4,0,0,1,172,128Z"></path></svg>');*/
    /*--close: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23151515" viewBox="0 0 256 256"><path d="M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36Zm4,172a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4ZM162.83,98.83,133.66,128l29.17,29.17a4,4,0,0,1-5.66,5.66L128,133.66,98.83,162.83a4,4,0,0,1-5.66-5.66L122.34,128,93.17,98.83a4,4,0,0,1,5.66-5.66L128,122.34l29.17-29.17a4,4,0,1,1,5.66,5.66Z"></path></svg>');*/
    /*--chevron: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="%23151515" viewBox="0 0 256 256"><path d="M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Zm42.83-110.83a4,4,0,0,1,0,5.66l-40,40a4,4,0,0,1-5.66,0l-40-40a4,4,0,0,1,5.66-5.66L128,146.34l37.17-37.17A4,4,0,0,1,170.83,109.17Z"></path></svg>');*/
    /*--details: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23151515" viewBox="0 0 256 256"><path d="M210.83,98.83l-80,80a4,4,0,0,1-5.66,0l-80-80a4,4,0,0,1,5.66-5.66L128,170.34l77.17-77.17a4,4,0,1,1,5.66,5.66Z"></path></svg>');*/
    /*--shop: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23151515" viewBox="0 0 256 256"><path d="M28.15,95A3.81,3.81,0,0,0,28,96v16a36,36,0,0,0,16,29.92V216a4,4,0,0,0,4,4H208a4,4,0,0,0,4-4V141.92A36,36,0,0,0,228,112V96a3.81,3.81,0,0,0-.17-1.08L213.5,44.7A12,12,0,0,0,202,36H54A12,12,0,0,0,42.5,44.7Zm22-48.08A4,4,0,0,1,54,44H202a4,4,0,0,1,3.84,2.9L218.7,92H37.3ZM100,100h56v12a28,28,0,0,1-56,0ZM36,112V100H92v12a28,28,0,0,1-41.37,24.59,4,4,0,0,0-1.31-.76A28,28,0,0,1,36,112ZM204,212H52V145.94a36,36,0,0,0,44-17.48,36,36,0,0,0,64,0,36,36,0,0,0,44,17.48Zm2.68-76.17a3.94,3.94,0,0,0-1.3.76A28,28,0,0,1,164,112V100h56v12A28,28,0,0,1,206.68,135.83Z"></path></svg>');*/
    /*--style: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23151515" viewBox="0 0 256 256"><path d="M224,92H170.61l9.33-51.28a4,4,0,1,0-7.88-1.44L162.48,92H106.61l9.33-51.28a4,4,0,1,0-7.88-1.44L98.48,92H48a4,4,0,0,0,0,8H97L86.84,156H32a4,4,0,0,0,0,8H85.39l-9.33,51.28a4,4,0,0,0,3.22,4.65A3.65,3.65,0,0,0,80,220a4,4,0,0,0,3.94-3.29L93.52,164h55.87l-9.33,51.28a4,4,0,0,0,3.22,4.65,3.65,3.65,0,0,0,.72.07,4,4,0,0,0,3.94-3.29L157.52,164H208a4,4,0,0,0,0-8H159l10.19-56H224a4,4,0,0,0,0-8Zm-73.16,64H95l10.19-56H161Z"></path></svg>');*/
    /*--map: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23151515" viewBox="0 0 256 256"><path d="M128,68a36,36,0,1,0,36,36A36,36,0,0,0,128,68Zm0,64a28,28,0,1,1,28-28A28,28,0,0,1,128,132Zm0-112a84.09,84.09,0,0,0-84,84c0,30.42,14.17,62.79,41,93.62a250,250,0,0,0,40.73,37.66,4,4,0,0,0,4.58,0A250,250,0,0,0,171,197.62c26.81-30.83,41-63.2,41-93.62A84.09,84.09,0,0,0,128,20Zm37.1,172.23A254.62,254.62,0,0,1,128,227a254.62,254.62,0,0,1-37.1-34.81C73.15,171.8,52,139.9,52,104a76,76,0,0,1,152,0C204,139.9,182.85,171.8,165.1,192.23Z"></path></svg>');*/
    /*--theme: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23151515" viewBox="0 0 256 256"><path d="M241.72,113a11.88,11.88,0,0,0-9.73-5H212V88a12,12,0,0,0-12-12H129.33l-28.8-21.6a12.05,12.05,0,0,0-7.2-2.4H40A12,12,0,0,0,28,64V208a4,4,0,0,0,4,4H211.09a4,4,0,0,0,3.79-2.74l28.49-85.47A11.86,11.86,0,0,0,241.72,113ZM40,60H93.33a4,4,0,0,1,2.4.8L125.6,83.2a4,4,0,0,0,2.4.8h72a4,4,0,0,1,4,4v20H69.76a12,12,0,0,0-11.38,8.21L36,183.35V64A4,4,0,0,1,40,60Zm195.78,61.26L208.2,204H37.55L66,118.74A4,4,0,0,1,69.76,116H232a4,4,0,0,1,3.79,5.26Z"></path></svg>');*/
    /*--arrow-up: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23151515" viewBox="0 0 256 256"><path d="M236,192a4,4,0,0,1-4,4H88a4,4,0,0,1-4-4V57.66L42.83,98.83a4,4,0,0,1-5.66-5.66l48-48a4,4,0,0,1,5.66,0l48,48a4,4,0,0,1-5.66,5.66L92,57.66V188H232A4,4,0,0,1,236,192Z"></path></svg>');*/
    /*--colour: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23151515" viewBox="0 0 256 256"><path d="M174,47.75a254.19,254.19,0,0,0-41.45-38.3,8,8,0,0,0-9.18,0A254.19,254.19,0,0,0,82,47.75C54.51,79.32,40,112.6,40,144a88,88,0,0,0,176,0C216,112.6,201.49,79.32,174,47.75Zm9.85,105.59a57.6,57.6,0,0,1-46.56,46.55A8.75,8.75,0,0,1,136,200a8,8,0,0,1-1.32-15.89c16.57-2.79,30.63-16.85,33.44-33.45a8,8,0,0,1,15.78,2.68Z"></path></svg>');*/
    /*--linkIcon:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23151515" viewBox="0 0 256 256"><path d="M236,88.12a50.44,50.44,0,0,1-14.81,34.31l-34.75,34.74A50.33,50.33,0,0,1,150.62,172h-.05A50.63,50.63,0,0,1,100,120a4,4,0,0,1,4-3.89h.11a4,4,0,0,1,3.89,4.11A42.64,42.64,0,0,0,150.58,164h0a42.32,42.32,0,0,0,30.14-12.49l34.75-34.74a42.63,42.63,0,1,0-60.29-60.28l-11,11a4,4,0,0,1-5.66-5.65l11-11A50.64,50.64,0,0,1,236,88.12ZM111.78,188.49l-11,11A42.33,42.33,0,0,1,70.6,212h0a42.63,42.63,0,0,1-30.11-72.77l34.75-34.74A42.63,42.63,0,0,1,148,135.82a4,4,0,0,0,8,.23A50.64,50.64,0,0,0,69.55,98.83L34.8,133.57A50.63,50.63,0,0,0,70.56,220h0a50.33,50.33,0,0,0,35.81-14.83l11-11a4,4,0,1,0-5.65-5.66Z"></path></svg>');*/
    /*--swipeRight: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0iIzAwMDAwMCIgdmlld0JveD0iMCAwIDI1NiAyNTYiPjxwYXRoIGQ9Ik0yMTIsMTQwdjM2YzAsMjQuNjYtOC4wOCw0MS4xLTguNDIsNDEuNzlhNCw0LDAsMSwxLTcuMTYtMy41OGMuMDctLjE1LDcuNTgtMTUuNTUsNy41OC0zOC4yMVYxNDBhMTYsMTYsMCwwLDAtMzIsMHY0YTQsNCwwLDAsMS04LDBWMTI0YTE2LDE2LDAsMCwwLTMyLDB2MTJhNCw0LDAsMCwxLTgsMFY2OGExNiwxNiwwLDAsMC0zMiwwVjE3NmE0LDQsMCwwLDEtNy4zOSwyLjExbC0xOC42OC0zMGEuNzUuNzUsMCwwLDEtLjA3LS4xMiwxNiwxNiwwLDAsMC0yNy43MiwxNmwyOS4zMSw1MGE0LDQsMCwwLDEtNi45LDRMMzEuMjIsMTY4YTI0LDI0LDAsMCwxLDQxLjUyLTI0LjA5TDg0LDE2MlY2OGEyNCwyNCwwLDAsMSw0OCwwdjM4LjEzYTI0LDI0LDAsMCwxLDM5Ljk0LDE2LjA2QTI0LDI0LDAsMCwxLDIxMiwxNDBabTM4LjgzLTg2LjgzLTMyLTMyYTQsNCwwLDAsMC01LjY2LDUuNjZMMjM4LjM0LDUySDE3NmE0LDQsMCwwLDAsMCw4aDYyLjM0TDIxMy4xNyw4NS4xN2E0LDQsMCwwLDAsNS42Niw1LjY2bDMyLTMyQTQsNCwwLDAsMCwyNTAuODMsNTMuMTdaIj48L3BhdGg+PC9zdmc+');*/
    --scrollbar-width: 8px;
    --scrollbar-track-color: var(--base-100);
    --scrollbar-thumb-color: var(--action-0);
    --scrollbar-thumb-hover-color: var(--action-50);
    --scrollbar-thumb-border: 2px solid var(--base-50);
    --scrollbar-border-radius: 4px;
    --can-scroll: 0;
    --details: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" fill="%232b1a0d" viewBox="0 0 256 256"><path d="M212.24,100.24l-80,80a6,6,0,0,1-8.48,0l-80-80a6,6,0,0,1,8.48-8.48L128,167.51l75.76-75.75a6,6,0,0,1,8.48,8.48Z"></path></svg>');
    --link: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" fill="%232b1a0d" viewBox="0 0 256 256"><path d="M238,88.18a52.42,52.42,0,0,1-15.4,35.66l-34.75,34.75A52.28,52.28,0,0,1,150.62,174h-.05A52.63,52.63,0,0,1,98,119.9a6,6,0,0,1,6-5.84h.17a6,6,0,0,1,5.83,6.16A40.62,40.62,0,0,0,150.58,162h0a40.4,40.4,0,0,0,28.73-11.9l34.75-34.74A40.63,40.63,0,0,0,156.63,57.9l-11,11a6,6,0,0,1-8.49-8.49l11-11a52.62,52.62,0,0,1,74.43,0A52.83,52.83,0,0,1,238,88.18Zm-127.62,98.9-11,11A40.36,40.36,0,0,1,70.6,210h0a40.63,40.63,0,0,1-28.7-69.36L76.62,105.9A40.63,40.63,0,0,1,146,135.77a6,6,0,0,0,5.83,6.16H152a6,6,0,0,0,6-5.84A52.63,52.63,0,0,0,68.14,97.42L33.38,132.16A52.63,52.63,0,0,0,70.56,222h0a52.26,52.26,0,0,0,37.22-15.42l11-11a6,6,0,1,0-8.49-8.48Z"></path></svg>');
}
body:has(#theme-switcher:checked){
    --action-50: #cb3933;
    --action-100: #d14c47;
    --action-200: #d6605c;
    --secondary-50: #ebb14e;
    --secondary-100: #edbb65;
    --secondary-200: #f0c57c;
    /*****************************
    Colours
    *****************************/
    --mixBlendMode: lighten;
    --coverBlend: multiply;
    --coverIndex: 0;
    --action-50: #cb3933;
    --action-100: #d14c47;
    --action-200: #d6605c;
    --secondary-50: #ebb14e;
    --secondary-100: #edbb65;
    --secondary-200: #f0c57c;
    --contrast: var(--light-0);
    --contrast-50: var(--light-50);
    --contrast-100: var(--light-100);
    --contrast-200: var(--light-200);
    --contrast-rgb: var(--light-rgb);
    --base: var(--dark-0);
    --base-50: var(--dark-50);
    --base-100: var(--dark-100);
    --base-200: var(--dark-200);
    --c: var(--dark-rgb);
    --base-rgb: var(--dark-rgb);
    --contrast-rgb: var(--light-rgb);
    --overlay-light: rgba(var(--c), .25);
    --overlay-medium: rgba(var(--c), .5);
    --overlay-heavy: rgba(var(--c), .85);
    --shimmer: rgba(var(--c),0) 0%,
    rgba(var(--c),.05) 50%,
    rgba(var(--c),0) 100%;
    --shadow: rgba(var(--light-rgb),.45) 0px 0px 4px;
    --shadow-down: rgba(var(--light-rgb),.45) 0 6px 5px -5px;    /* Bottom */
    --shadow-right: rgba(var(--light-rgb),.45) 6px 0 5px -5px;   /* Right */
    --shadow-left: rgba(var(--light-rgb), .45) -6px 0 5px -5px;   /* Left */
    --shadow-up: rgba(var(--light-rgb), .45) 0 -6px 5px -5px;     /* Up */
    --subtle: rgba(var(--light-rgb), .45) 0px 25px 20px -20px;
    --subtleRight: rgba(var(--light-rgb), .45) 10px 0 20px -20px;
    --successBack: #155724;
    --successText:#d4edda;
    --errorBack: #721c24;
    --errorText: #f8d7da;
    /*--dashed: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' stroke='%23fafafa' stroke-width='1' stroke-dasharray='12%2c18%2c36' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e");*/
    /*--minus: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="%23F9F9F9" viewBox="0 0 256 256"><path d="M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36Zm4,172a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-40-80a4,4,0,0,1-4,4H88a4,4,0,0,1,0-8h80A4,4,0,0,1,172,128Z"></path></svg>');*/
    /*--plus: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="%23F9F9F9" viewBox="0 0 256 256"><path d="M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36Zm4,172a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-40-80a4,4,0,0,1-4,4H132v36a4,4,0,0,1-8,0V132H88a4,4,0,0,1,0-8h36V88a4,4,0,0,1,8,0v36h36A4,4,0,0,1,172,128Z"></path></svg>');*/
    /*--close: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23F9F9F9" viewBox="0 0 256 256"><path d="M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36Zm4,172a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4ZM162.83,98.83,133.66,128l29.17,29.17a4,4,0,0,1-5.66,5.66L128,133.66,98.83,162.83a4,4,0,0,1-5.66-5.66L122.34,128,93.17,98.83a4,4,0,0,1,5.66-5.66L128,122.34l29.17-29.17a4,4,0,1,1,5.66,5.66Z"></path></svg>');*/
    /*--chevron: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="%23F9F9F9" viewBox="0 0 256 256"><path d="M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Zm42.83-110.83a4,4,0,0,1,0,5.66l-40,40a4,4,0,0,1-5.66,0l-40-40a4,4,0,0,1,5.66-5.66L128,146.34l37.17-37.17A4,4,0,0,1,170.83,109.17Z"></path></svg>');*/
    /*--details: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="%23F9F9F9" viewBox="0 0 256 256"><path d="M210.83,98.83l-80,80a4,4,0,0,1-5.66,0l-80-80a4,4,0,0,1,5.66-5.66L128,170.34l77.17-77.17a4,4,0,1,1,5.66,5.66Z"></path></svg>');*/
    /*--shop: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23F9F9F9" viewBox="0 0 256 256"><path d="M28.15,95A3.81,3.81,0,0,0,28,96v16a36,36,0,0,0,16,29.92V216a4,4,0,0,0,4,4H208a4,4,0,0,0,4-4V141.92A36,36,0,0,0,228,112V96a3.81,3.81,0,0,0-.17-1.08L213.5,44.7A12,12,0,0,0,202,36H54A12,12,0,0,0,42.5,44.7Zm22-48.08A4,4,0,0,1,54,44H202a4,4,0,0,1,3.84,2.9L218.7,92H37.3ZM100,100h56v12a28,28,0,0,1-56,0ZM36,112V100H92v12a28,28,0,0,1-41.37,24.59,4,4,0,0,0-1.31-.76A28,28,0,0,1,36,112ZM204,212H52V145.94a36,36,0,0,0,44-17.48,36,36,0,0,0,64,0,36,36,0,0,0,44,17.48Zm2.68-76.17a3.94,3.94,0,0,0-1.3.76A28,28,0,0,1,164,112V100h56v12A28,28,0,0,1,206.68,135.83Z"></path></svg>');*/
    /*--style: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23F9F9F9" viewBox="0 0 256 256"><path d="M224,92H170.61l9.33-51.28a4,4,0,1,0-7.88-1.44L162.48,92H106.61l9.33-51.28a4,4,0,1,0-7.88-1.44L98.48,92H48a4,4,0,0,0,0,8H97L86.84,156H32a4,4,0,0,0,0,8H85.39l-9.33,51.28a4,4,0,0,0,3.22,4.65A3.65,3.65,0,0,0,80,220a4,4,0,0,0,3.94-3.29L93.52,164h55.87l-9.33,51.28a4,4,0,0,0,3.22,4.65,3.65,3.65,0,0,0,.72.07,4,4,0,0,0,3.94-3.29L157.52,164H208a4,4,0,0,0,0-8H159l10.19-56H224a4,4,0,0,0,0-8Zm-73.16,64H95l10.19-56H161Z"></path></svg>');*/
    /*--map: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23F9F9F9" viewBox="0 0 256 256"><path d="M128,68a36,36,0,1,0,36,36A36,36,0,0,0,128,68Zm0,64a28,28,0,1,1,28-28A28,28,0,0,1,128,132Zm0-112a84.09,84.09,0,0,0-84,84c0,30.42,14.17,62.79,41,93.62a250,250,0,0,0,40.73,37.66,4,4,0,0,0,4.58,0A250,250,0,0,0,171,197.62c26.81-30.83,41-63.2,41-93.62A84.09,84.09,0,0,0,128,20Zm37.1,172.23A254.62,254.62,0,0,1,128,227a254.62,254.62,0,0,1-37.1-34.81C73.15,171.8,52,139.9,52,104a76,76,0,0,1,152,0C204,139.9,182.85,171.8,165.1,192.23Z"></path></svg>');*/
    /*--theme: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23F9F9F9" viewBox="0 0 256 256"><path d="M241.72,113a11.88,11.88,0,0,0-9.73-5H212V88a12,12,0,0,0-12-12H129.33l-28.8-21.6a12.05,12.05,0,0,0-7.2-2.4H40A12,12,0,0,0,28,64V208a4,4,0,0,0,4,4H211.09a4,4,0,0,0,3.79-2.74l28.49-85.47A11.86,11.86,0,0,0,241.72,113ZM40,60H93.33a4,4,0,0,1,2.4.8L125.6,83.2a4,4,0,0,0,2.4.8h72a4,4,0,0,1,4,4v20H69.76a12,12,0,0,0-11.38,8.21L36,183.35V64A4,4,0,0,1,40,60Zm195.78,61.26L208.2,204H37.55L66,118.74A4,4,0,0,1,69.76,116H232a4,4,0,0,1,3.79,5.26Z"></path></svg>');*/
    /*--arrow-up: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23F9F9F9" viewBox="0 0 256 256"><path d="M236,192a4,4,0,0,1-4,4H88a4,4,0,0,1-4-4V57.66L42.83,98.83a4,4,0,0,1-5.66-5.66l48-48a4,4,0,0,1,5.66,0l48,48a4,4,0,0,1-5.66,5.66L92,57.66V188H232A4,4,0,0,1,236,192Z"></path></svg>');*/
    /*--colour: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23F9F9F9" viewBox="0 0 256 256"><path d="M174,47.75a254.19,254.19,0,0,0-41.45-38.3,8,8,0,0,0-9.18,0A254.19,254.19,0,0,0,82,47.75C54.51,79.32,40,112.6,40,144a88,88,0,0,0,176,0C216,112.6,201.49,79.32,174,47.75Zm9.85,105.59a57.6,57.6,0,0,1-46.56,46.55A8.75,8.75,0,0,1,136,200a8,8,0,0,1-1.32-15.89c16.57-2.79,30.63-16.85,33.44-33.45a8,8,0,0,1,15.78,2.68Z"></path></svg>');*/
    /*--linkIcon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23F9F9F9" viewBox="0 0 256 256"><path d="M236,88.12a50.44,50.44,0,0,1-14.81,34.31l-34.75,34.74A50.33,50.33,0,0,1,150.62,172h-.05A50.63,50.63,0,0,1,100,120a4,4,0,0,1,4-3.89h.11a4,4,0,0,1,3.89,4.11A42.64,42.64,0,0,0,150.58,164h0a42.32,42.32,0,0,0,30.14-12.49l34.75-34.74a42.63,42.63,0,1,0-60.29-60.28l-11,11a4,4,0,0,1-5.66-5.65l11-11A50.64,50.64,0,0,1,236,88.12ZM111.78,188.49l-11,11A42.33,42.33,0,0,1,70.6,212h0a42.63,42.63,0,0,1-30.11-72.77l34.75-34.74A42.63,42.63,0,0,1,148,135.82a4,4,0,0,0,8,.23A50.64,50.64,0,0,0,69.55,98.83L34.8,133.57A50.63,50.63,0,0,0,70.56,220h0a50.33,50.33,0,0,0,35.81-14.83l11-11a4,4,0,1,0-5.65-5.66Z"></path></svg>');*/
    --shimmer: rgba(var(--c),0) 0%,
    rgba(var(--c),.05) 50%,
    rgba(var(--c),0) 100%;
}
/* https://frontendmasters.com/blog/the-coyier-css-starter/ */
@layer reset {
    html {
@@ -274,10 +258,6 @@
    body {
        margin: 0;
        /*padding: 2rem;*/
        /*@media (width < 500px) {*/
        /*    padding: 1rem;*/
        /*}*/
    }
    *,
@@ -340,7 +320,7 @@
    dl {
        margin: 0;
        padding: 0;
        list-style: inside;
        list-style: outside;
        ul,
        ol,
        dl {
@@ -364,6 +344,11 @@
        inline-size: fit-content;
        margin-inline: auto;
    }
    figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    figcaption {
        contain: inline-size;
        font-size: 90%;
@@ -500,83 +485,373 @@
        }
    }
}
/***************************************************************
/*************************************************************
SCROLLBAR
***************************************************************/
*************************************************************/
* {
    scrollbar-width: thin;
    scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-track-color);
    scrollbar-color: var(--sb-thumb) var(--sb-track);
}
/* For WebKit browsers (Chrome, Safari, etc.) */
::-webkit-scrollbar {
    width: var(--scrollbar-width);
    height: var(--scrollbar-width);
    width: var(--sb-width);
    height: var(--sb-width);
}
::-webkit-scrollbar-track {
    background: var(--scrollbar-track-color);
    background: var(--sb-track);
}
::-webkit-scrollbar-thumb {
    background-color: var(--scrollbar-thumb-color);
    border-radius: var(--scrollbar-border-radius);
    border: var(--scrollbar-thumb-border);
    background-color: var(--sb-thumb);
    border-radius: var(--sb-radius);
    border: var(--sb-thumb-border);
}
::-webkit-scrollbar-thumb:hover {
    background-color: var(--scrollbar-thumb-hover-color);
    background-color: var(--sb-thumb-hover);
}
body{
/*************************************************************
BASE
*************************************************************/
body {
    background-color: var(--base-50);
    color: var(--contrast);
    max-width: 100vw;
    overflow-x: hidden;
    margin: 0;
    font-family: var(--body);
    font-weight: var(--bWeight);
    font-size: var(--medium);
    font-weight: var(--fw-b);
    font-size: var(--txt-medium);
    line-height: 1.4;
    position: relative;
}
body b,
body strong {
    font-weight: var(--bBold);
}
*:target {
    scroll-snap-margin-top: max(6rem, 20vh);
    scroll-margin-top: max(6rem, 20vh);
    outline: double var(--action-0);
    border-radius: var(--outerRadius);
    padding: var(--outerPadding);
}
body.menu_item *:target h2 {
    background-color: var(--action-0);
    color: var(--action-contrast);
    max-width: 100vw;
}
body,
body * {
    transition: background-color var(--transition-base);
    transition-property: background-color, border;
    transition: var(--trans-color)
}
/*************************************************************
LAYOUT
*************************************************************/
html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}
.home > section:first-of-type,
.home main {
@media(prefers-reduced-motion){
    html {
        scroll-behavior: unset;
    }
    * {
        transition: none!important;
        animation: none!important;
    }
}
/*body:has(aside.expanded),*/
/*body:has(nav.open:not(.drawer)),*/
/*body:has(dialog[open]),*/
/*body.loading {*/
/*    overflow: hidden;*/
/*    max-height: 100vh;*/
/*}*/
main {
    display: grid;
    grid-template-columns:
        [full-start] minmax(1rem, 1fr)
        [wide-start] minmax(0, calc((100% - var(--content)) / 2))
        [wider-start] minmax(0, calc((var(--wide) - var(--wider)) / 2))
        [content-start] minmax(0, calc((var(--wider) - var(--content)) / 2))
        [narrow-start] min(100% - 2rem, var(--narrow)) [narrow-end]
        minmax(0, calc((var(--content) - var(--narrow)) / 2)) [content-end]
        minmax(0, calc((var(--wider) - var(--content)) / 2)) [wider-end]
        minmax(0, calc((var(--wide) - var(--wider)) / 2)) [wide-end]
        minmax(0, calc((100% - var(--content)) / 2))
        minmax(1rem, 1fr) [full-end];
    min-height: var(--maxHeight);
}
main > * {
    grid-column: content;
}
main > section {
    padding: 3rem 0;
    grid-column: full;
}
main > section > * {
    width: 100%;
    max-width: var(--content);
}
/* Nested items can use any width */
main .align-narrow {
    grid-column: narrow;
}
main .align-content {
    grid-column: content;
}
main .align-wider {
    grid-column: wider;
}
main .align-wide {
    grid-column: wide;
}
main .align-full {
    grid-column: full;
    width: 100%;
    max-width: none;
}
/* First child has no top spacing */
main > *:first-child {
    margin-top: 0;
}
/**************************************************************
UTILITY CLASSES
**************************************************************/
body:has(aside.expanded),
body:has(nav.open),
body:has(dialog[open]),
body.loading {
.wp-site-blocks > header {
    position: sticky;
    top: 0;
    z-index: var(--z-8);
    background-color: var(--base);
    box-shadow: rgba(var(--base-rgb), var(--op-45)) var(--shdw-down);
    transition: top var(--trans-base);
}
header a[rel="home"] {
    display: flex;
    align-items: center;
    max-height:var(--btn);
    overflow:hidden;
}
.scroll-progress {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 3px;
    display: flex;
    align-items: center;
    pointer-events: none;
    z-index: var(--z-3);
    background-color: var(--base-200);
    overflow: hidden;
}
.scroll-progress .bar {
    width: 100%;
    height: 1px;
    transform-origin: left center;
    transform: scaleX(0);
    background: var(--action-0);
}
aside.pre-header,
aside.sub-header,
aside.pre-footer,
aside.sub-footer {
    height: var(--chip_);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1rem;
    font-size: var(--txt-x-small);
    background-color:var(--base-50);
    z-index: var(--z-7);
}
.pre-header p {
    width: max-content;
}
.pre-header {
    position: sticky;
    top: -2rem;
    transition: top var(--trans-base);
}
.scroll-up .pre-header {
    top: 0;
}
.scroll-up .pre-header ~ header {
    top: calc(var(--chip_) - 2px);
}
/*.pre-header.stuck ~ #breadcrumbs {*/
/*    margin-top: var(--chip_);*/
/*}*/
footer {
    padding: 1rem;
    background-color: var(--base-200);
    color: var(--contrast-200);
    text-align: center;
    margin: 4rem 0 0;
    position: relative;
    z-index: var(--z-7);
}
footer p {
    margin: 0 auto;
}
body:has(nav.fixed.bottom,nav.on-this-page) footer {
    padding-bottom: var(--btn_);
}
@media (min-width:768px) {
    footer {
        padding: 1rem 2rem var(--btn_);
    }
}
*:target {
    scroll-snap-margin-top: var(--btnbtn);
    scroll-margin-top: var(--btnbtn);
    outline: double var(--action-200);
    background-color: var(--base);
}
/*************************************************************
TYPOGRAPHY
*************************************************************/
body :is(b, strong) {
    font-weight: var(--fw-b-bold);
}
:is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--heading);
    text-transform: uppercase;
    font-weight: var(--fw-h);
    line-height: 1.3;
    margin: 1.5em auto .25em;
    width: 100%;
}
:is(h1,h2,h3,h4,h5,h6), p {
    width: 100%;
}
:is(h1, h2, h3, h4, h5, h6) :is(b, strong) {
    font-weight: var(--fw-h-bold);
    letter-spacing: 2px;
}
:is(h1, h2, h3, h4, h5, h6) small {
    display: block;
    line-height: .8;
    font-family: var(--body);
    font-size: .5em;
}
:is(h1, h2, h3, h4, h5, h6) small :is(b, strong) {
    font-weight: var(--fw-b-bold);
}
:is(h1, h2, h3, h4, h5, h6).inline {
    font-size: 1.2rem;
    font-weight: 600;
    display: inline-block;
    margin: 0 2rem 0 0;
    letter-spacing: .05em;
}
:is(h1, h2, h3, h4, h5, h6).inline + * {
    display: inline-block;
    margin: .5rem 0;
}
:is(h1, h2, h3, h4, h5, h6).inline + .term-list {
    display: inline-flex;
    margin: .5rem 0;
}
h1 {
    font-size: var(--txt-xxx-large);
    font-weight: var(--fw-h);
    line-height: 1;
    margin: 0 auto .25em;
}
h1:first-of-type {
    margin-top: 10vh;
}
h1 small {
    display: block;
    font-size: var(--txt-x-small);
    font-weight: var(--fw-b);
    line-height: 1;
    margin-bottom: .75em;
    font-family: var(--body);
}
h1 small + small {
    display: inline-block;
    font-size: var(--txt-large);
    margin-right: .5rem;
}
h2 { font-size: var(--txt-xx-large); }
h3 { font-size: var(--txt-x-large); }
h4 {
    font-weight: 400;
    font-size: var(--txt-large);
}
h5, h6 {
    font-weight: 400;
    font-size: var(--txt-medium);
}
p {
    line-height: 1.6;
}
.hint {
    line-height: 1.2;
    font-style: italic;
    font-size: var(--txt-small);
}
/*main > * :is(h1, h2, h3, h4, h5, h6, p) {*/
/*    width: 100%;*/
/*}*/
main > * p {
    margin: .5rem 0;
}
a {
    color: var(--action-0);
    border-radius: 4px;
    padding: .125rem;
}
ul a {
    display: inline-flex;
}
a:visited {
    color: var(--action-50);
}
a:hover {
    color: var(--contrast-50);
    text-decoration: none;
}
p a:hover,
li a:hover,
:is(h1, h2, h3, h4, h5, h6) a:hover {
    color: var(--action-contrast);
    background-color: var(--action-0);
}
ol {
    list-style-type:decimal;
}
.font-small { font-size: var(--txt-x-small); }
.font-medium { font-size: var(--txt-medium); }
.font-large { font-size: var(--txt-large); }
.font-x-large { font-size: var(--txt-x-large); }
/**************************************************************
UTILITY CLASSES - SPACING
**************************************************************/
/** PADDING **/
.p-1 {padding: var(--sp1);}
.p-2 {padding: var(--sp2);}
@@ -630,7 +905,9 @@
.pr-7 { padding-right: var(--sp7); }
.pl-7 { padding-left: var(--sp7); }
.pb-7 { padding-bottom: var(--sp7); }
/** MARGIN **/
.m-0 {margin: 0;}
.m-1 {margin: var(--sp1);}
.m-2 {margin: var(--sp2);}
.m-3 {margin: var(--sp3);}
@@ -684,16 +961,12 @@
.ml-7 { margin-left: var(--sp7); }
.mb-7 { margin-bottom: var(--sp7); }
.text-center {
    text-align: center;
}
.text-left {
    text-align: left;
}
.text-right {
    text-align: right;
}
/**************************************************************
UTILITY CLASSES - TEXT & VISIBILITY
**************************************************************/
.align-center { text-align: center; }
.align-left { text-align: left; }
.align-right { text-align: right; }
*[hidden] {
    display: none!important;
@@ -705,21 +978,16 @@
    }
}
.width-50 {
    width: 100%;
}
.width-25 {
    width: 50%;
}
.width-50,
.width-25,
.width-75 {
    width: 100%;
}
.w-full,
.width-full {
.w-full{
    width: 100%;
}
@media (min-width: 768px){
    .buttons li.width-50,
    .width-50 {
@@ -733,81 +1001,80 @@
    }
}
.row:not(.icon),
/******************************************************************
LAYOUT UTILITIES
******************************************************************/
.row,
.col {
    --align: center;
    --justify: center;
    display: flex;
    justify-content: var(--justify);
    align-items: var(--align);
    gap: var(--gap);
    flex-wrap: var(--wrap);
    flex-direction: var(--dir);
}
.col {
    --dir: column;
}
.row:not(.icon) {
    --dir: row;
}
.col.rev {
    --dir: column-reverse;
}
.row.rev {
    --dir: row-reverse;
    --align: center;
    --justify: center;
    --gap: .5rem;
    --wrap: wrap;
}
.nowrap {
    --wrap: nowrap;
.col { --dir: column; }
.row { --dir: row; }
.col.rev { --dir: column-reverse; }
.row.rev { --dir: row-reverse; }
.nowrap.nowrap { --wrap: nowrap; }
.nowrap.nowrap.stack-small { --wrap: wrap;}
@media (min-width: 768px) {
    .nowrap.nowrap.stack-small { --wrap: nowrap;}
}
.col.start,
.row.a-start { --align: flex-start; }
.col.end,
.row.a-end { --align: flex-end; }
.col.a-start,
.row.start {
    --justify: flex-start;
}
.row.start { --justify: flex-start; }
.col.a-end,
.row.end {
    --justify: flex-end;
}
.row.end { --justify: flex-end; }
.col.btw,
.row.btw {
    --justify: space-between;
    width: 100%;
}
.col.even,
.row.even {
    --justify: space-evenly;
}
.row.even { --justify: space-evenly; }
.col.start,
.row.a-start {
    --align: flex-start;
}
/******************************************************************
POSITION UTILITIES
******************************************************************/
.abs { position: absolute; }
*:has(>.abs) { position: relative; }
.col.end,
.row.a-end {
    --align: flex-end;
}
.top { top: 0; right: 0; left: 0; }
.top-right { top: 0; right: 0; }
.top-left { top: 0; left: 0; }
.btm { bottom: 0; left: 0; right: 0; }
.btm-right { bottom: 0; right: 0; }
.btm-left { bottom: 0; left: 0; }
.edges { inset: 0; }
.abs {
    position: absolute;
}
*:has(>.abs) {
    position: relative;
}
.hidden {
    transform: scale(0);
    max-width: 0;
    max-height: 0;
    overflow: hidden;
    transition: var(--transition-transform), var(--transition-size);
    transition: var(--trans-transform), var(--trans-size);
}
.visible {
    transform: scale(1);
    max-width: 100%;
    max-height: 100%;
    transition: var(--transition-transform), var(--transition-size);
    transition: var(--trans-transform), var(--trans-size);
}
/******************************************************************
@@ -832,7 +1099,7 @@
    justify-content: space-evenly;
    align-items: center;
    border: 4px solid transparent;
    transition: .3s;
    transition: var(--trans-t);
    box-shadow: 0 0 .25rem 0 rgba(var(--contrast-rgb), .125) inset;
    cursor: pointer;
    margin: 5px;
@@ -849,13 +1116,13 @@
    background-color: var(--base);
    transform: translateX(-1rem);
    border-radius: .75rem;
    transition: .3s;
    transition: var(--trans-transform);
    box-shadow: 0 0 .25rem 3px rgba(var(--contrast-rgb), .125);
}
.toggle-switch input:checked ~ .slider::before {
    transform: translateX(1rem);
    box-shadow: 0 0 .25rem 3px rgb(0, 0, 0, 0.25);
    box-shadow: 0 0 .25rem 3px rgba(var(--base-rgb), .25);
}
.toggle-switch input:checked ~ .slider {
@@ -866,59 +1133,26 @@
    transform: translate(0);
}
/*.theme-switcher {*/
/*    position: absolute;*/
/*    opacity: 0;*/
/*    width: 0;*/
/*    height: 0;*/
/*}*/
#theme-switch {
    z-index: 99;
    margin: 0;
    --wrap: nowrap;
    --gap: 1rem;
}
#theme-switch .slider {
    width: 3rem;
    height: 1.5rem;
    width: var(--chipchip);
    height: var(--chip);
}
#theme-switch .slider::before {
    transform: translateX(-1.5rem);
}
#theme-switch input:checked ~ .slider::before {
    transform: translateX(1.5rem);
}
/*#theme-switch,*/
/*.toggle-switch {*/
/*    --wrap: nowrap;*/
/*    cursor: pointer;*/
/*}*/
/*#theme-switch,*/
/*.toggle-switch input[type=checkbox] {*/
/*    --h: 2rem;*/
/*    width: calc(var(--h) * 2);*/
/*    height: var(--h);*/
/*    margin: 0 2rem 0 0;*/
/*    left: 0;*/
/*    appearance:none;*/
/*    background: var(--base-200);*/
/*    border: 1px solid var(--base-50);*/
/*    border-radius: var(--h);*/
/*    cursor: pointer;*/
/*    transition: all .3s ease;*/
/*    opacity: 1;*/
/*}*/
/*.toggle-switch input[type=checkbox] {*/
/*    position: relative;*/
/*}*/
/*.toggle-switch {*/
/*    position: relative;*/
/*}*/
@media (max-width: 600px) {
    #theme-switch {
        left: 1rem;
@@ -928,209 +1162,116 @@
    }
}
/* Icon wrapper styling */
/*#theme-switch .icon {*/
/*    --w: 1em;*/
/*    position: relative;*/
/*    top: 0;*/
/*    margin: 0 .25em;*/
/*    color: var(--contrast-200);*/
/*    z-index: 2;*/
/*    transform: translateX(0);*/
/*}*/
/*#theme-switcher:not(:checked) ~ .sun-dim,*/
/*#theme-switcher:checked ~ .moon {*/
/*    --w: 1.5em;*/
/*    color: var(--contrast);*/
/*}*/
/*#theme-switcher:not(:checked) ~ .moon,*/
/*#theme-switcher:checked ~ .sun-dim {*/
/*    top: -.17rem;*/
/*}*/
/*    #theme-switcher:not(:checked) ~ .sun-dim {*/
/*        color: var(--secondary-0);*/
/*        transform: translate(-2px, 2px);*/
/*    }*/
/*    #theme-switcher:checked ~ .moon {*/
/*        transform: translate(4px, 4px);*/
/*    }*/
/*#theme-switch span,*/
/*.toggle-switch input[type=checkbox]::before {*/
/*    --m: 2px;*/
/*    content: "";*/
/*    position: absolute;*/
/*    top: var(--m);*/
/*    left: var(--m);*/
/*    width: calc(var(--h) - (var(--m) * 2));*/
/*    height: calc(var(--h) - var(--m) * 2);*/
/*    border: 1px solid rgba(var(--contrast-rgb), .2);*/
/*    border-bottom: 3px solid var(--contrast-200);*/
/*    background: var(--base-50);*/
/*    border-radius: 50%;*/
/*    z-index: 1;*/
/*    transform: rotate(360deg);*/
/*    transition: transform var(--transition-base),*/
/*    left var(--transition-base),*/
/*    top var(--transition-base),*/
/*    height var(--transition-base);*/
/*}*/
/*    #theme-switch input:checked ~ span,*/
/*    .toggle-switch input[type=checkbox]:checked::before {*/
/*        left: calc(100% - (var(--h) - var(--m)));*/
/*        transform: rotate(-180deg);*/
/*        transition: transform var(--transition-base), left var(--transition-base);*/
/*    }*/
/*    .toggle-switch input[type=checkbox]:checked {*/
/*        background: var(--action-0);*/
/*    }*/
/*!* Focus States *!*/
/*.theme-switch:focus-visible + label {*/
/*    outline: 2px solid var(--action-0);*/
/*    outline-offset: 2px;*/
/*}*/
/*!* Icon Animations *!*/
/*#theme-switch .icon {*/
/*    transition:*/
/*            transform var(--transition-base),*/
/*            width var(--transition-base),*/
/*            height var(--transition-base),*/
/*            top var(--transition-base),*/
/*            color var(--transition-base);*/
/*}*/
/*#theme-switcher:not(:checked) ~ .icon.dark,*/
/*#theme-switcher:checked ~ .icon.light {*/
/*    transform: rotate(360deg);*/
/*    color: var(--contrast-200);*/
/*}*/
/*#theme-switcher:not(:checked) ~ .icon.light,*/
/*#theme-switcher:checked ~ .icon.dark {*/
/*    transform: rotate(-360deg);*/
/*    color: var(--contrast);*/
/*}*/
/*!* Hover Effects *!*/
/*#theme-switch:hover span {*/
/*    background-color: var(--base-100);*/
/*}*/
/*#theme-switch:hover .icon {*/
/*    color: var(--action-50);*/
/*}*/
/*!* Active State *!*/
/*#theme-switch:active span {*/
/*    transform: scale(.97);*/
/*}*/
/***********************************************************
SMOOTH SCROLLING
***********************************************************/
html {
    scroll-behavior: smooth;
}
@media(prefers-reduced-motion){
    html {
        scroll-behavior: unset;
    }
    * {
        transition: none!important;
        animation: none!important;
    }
}
/*********************************************************
SPACING
*********************************************************/
main {
    min-height: 90vh;
    --justify: flex-start;
}
main > * {
    width: 100%;
    max-width: var(--maxWidth);
    margin: var(--setMargin);
}
main > .align-wide {
    max-width: var(--alignWide);
}
main > .align-full {
    --ml: 0;
    --mr: 0;
    max-width: var(--full);
}
main > section {
    --mt: 6rem;
}
main > *:first-child {
    margin-top: 0;
}
footer {
    padding: 1rem;
    background-color: var(--base-200);
    color: var(--contrast-200);
    text-align: center;
    margin: 4rem 0 0;
    position: relative;
    z-index: var(--z-top);
}
body:has(nav.fixed.bottom,nav.on-this-page) footer {
    padding-bottom: var(--offHeight);
}
footer p,
footer p + p {
    margin: .5rem auto;
}
@media (min-width:768px) {
    footer {
        padding: 1rem 2rem var(--offHeight);
    }
}
/*********************************************************
GRIDS
*********************************************************/
.grid-view,
.item-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
.item-grid.stats {
    grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px){
    .grid-view,
    .item-grid {
        --width: 250px;
        grid-template-columns: repeat(auto-fill, minmax(var(--width), 1fr));
    }
}
.grid-view .item,
.item-grid .item {
    border-radius: var(--outerRadius);
    aspect-ratio: 1;
    border-radius: var(--radius-outer);
    display:flex;
    filter: none;
    transition: filter var(--transition-base), padding var(--transition-base), background-color var(--transition-base);
    position: relative;
}
    .item-grid.list-view {
        gap: 0;
    }
    .item-grid.list-view .item {
        aspect-ratio: unset;
        align-items: flex-start;
        border-radius: 4px;
        padding: 1rem 0;
    }
    .list-view .item:nth-of-type(even) {
        background-color: var(--base);
    }
    .list-view .item-select {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 18vh;
    }
        .list-view .item .col {
            padding: 0 var(--chip_) 0 1rem;
        }
        .list-view .abs {
            right:0;
            top:0;
            width:max-content;
            --dir:column-reverse;
            justify-content: flex-end;
        }
    .item.col {
        --wrap: nowrap;
    }
    .votes,
    .favourite {
        position: absolute;
        z-index: var(--z-1);
        box-shadow: rgba(var(--base-rgb),var(--op-2)) var(--shdw);
        background-color: rgba(var(--base-rgb),var(--op-2));
    }
        .favourite .icon-heart-fi,
        .favourited .icon-heart {
            display: none;
        }
        .favourited .icon-heart-fi,
        .favourite .icon-heart {
            display: block;
        }
.votes {
    bottom: 0;
    right: 0;
}
.favourite {
    top: 0;
    left: 0;
}
.item-grid .item .images,
.item-grid .item .images a{
    aspect-ratio: 1;
    width: 100%;
    height: 100%;
    display: flex;
}
.item-grid button {
    --height: max-content;
    aspect-ratio: 1;
}
.grid-view img,
.item-grid img {
    border-radius: var(--innerRadius);
    border-radius: var(--radius);
}
.item-grid.list-view {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    --gap: 2rem;
    gap: 0;
}
.item-grid.list-view .item .col {
    --gap: .5rem;
}
.item-grid.list-view img {
    width: 20%;
}
@@ -1142,187 +1283,15 @@
    }
}
/*********************************************************
TYPOGRAPHY
*********************************************************/
h1 b, h1 strong,
h2 b, h2 strong,
h3 b, h3 strong,
h4 b, h4 strong,
h5 b, h5 strong,
h6 b, h6 strong {
    font-weight: var(--hBold);
    letter-spacing: 2px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    --mt: 1.5em;
    --mb: .25em;
    font-family: var(--heading);
    text-transform: uppercase;
    font-weight: var(--hWeight);
    line-height: 1.3;
    margin: var(--mt) var(--mr) var(--mb) var(--ml);
}
h1.inline,
h2.inline,
h3.inline,
h4.inline,
h5.inline,
h6.inline {
    font-size: 1.2rem;
    font-weight: 600;
    display: inline-block;
    margin: 0 2rem 0 0;
    letter-spacing: .05em;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
    display: block;
    line-height: .8;
    font-family: var(--body);
    font-size: .5em;
}
h1.inline + *,
h2.inline + *,
h3.inline + *,
h4.inline + *,
h5.inline + *,
h6.inline + * {
    display: inline-block;
    margin: .5rem 0;
}
h1.inline + .term-list,
h2.inline + .term-list,
h3.inline + .term-list,
h4.inline + .term-list,
h5.inline + .term-list,
h6.inline + .term-list {
    display: inline-flex;
    margin: .5rem 0;
}
h1 {
    font-size: var(--xxxlarge);
    font-weight: var(--hWeight);
    line-height: 1;
    margin: 0 var(--mr) .25em var(--ml);
}
h1:first-of-type {
    margin-top: 20vh;
}
h1 small {
    display: block;
    font-size: var(--small);
    font-weight: var(--bWeight);
    line-height: 1;
    font-family: var(--body);
}
h2 {
    font-size: var(--xxlarge);
}
h3 {
    font-size: var(--xlarge);
}
h4 {
    /*font-family: var(--body);*/
    font-weight: 400;
    font-size: var(--large);
}
h5, h6 {
    /*font-family: var(--body);*/
    font-weight: 400;
    font-size: var(--medium);
}
p {
    line-height: 1.6;
}
main > * h1,
main > * h2,
main > * h3,
main > * h4,
main > * h5,
main > * h6,
main > * p {
    width: 100%;
}
main > * p {
    margin: .5rem 0;
}
/*p + p {*/
/*    margin-top: 2.5rem;*/
/*}*/
a {
    color: var(--action-0);
    text-decoration: none;
}
ul a {
    display: inline-flex;
    text-decoration: none;
}
a:visited {
    color: var(--action-100);
}
a:hover {
    color: var(--action-50);
    text-decoration: underline;
}
ol {
    list-style-type:decimal;
}
/******************************************************************
BUTTONS
INTERACTIVE ELEMENTS - BASE
******************************************************************/
.buttons {
    --wrap: wrap;
    --justify: flex-start;
    margin: 1rem var(--mr) 1rem var(--ml);
    width: 100%;
    padding: 0;
}
.buttons.fit {
    width: fit-content;
    margin: 1rem 2rem;
}
.buttons li {
    --justify: stretch;
    --align: stretch;
    padding: 0;
    list-style: none;
    overflow:hidden;
    width: 100%;
}
.list-none {
    list-style: none;
}
@media (min-width: 768px){
    .buttons {
        max-width: var(--maxWidth);
        margin: 3rem var(--mr) 3rem var(--ml);
    }
}
ul.socials a,
.buttons a,
.btn + label,
li.btn,
button,
[type=submit],
a.button,
a.wp-block-button__link,
button {
.buttons a,
.btn + label {
    --justify: center;
    --align: center;
    --dir: row;
@@ -1333,23 +1302,56 @@
    background-color: var(--base-100);
    color: var(--contrast-50);
    border: 1px solid var(--base-200);
    border-radius: var(--innerRadius);
    border-radius: var(--radius);
    padding: .25rem 1rem;
    font-family: var(--heading);
    cursor: pointer;
    outline: inherit;
    height: var(--height);
    outline: 0;
    min-height: var(--btn);
    display: inline-flex;
    justify-content: var(--justify);
    align-items: var(--align);
    gap: var(--gap);
    flex-wrap: var(--wrap);
    flex-direction: var(--dir);
    transition: color var(--transition-base);
    transition-property: color, border,background-color;
    position: relative;
    box-shadow: rgba(var(--base-rgb),var(--op-6)) var(--shdw-inset);
}
[data-filter], .btn + label {
    width: var(--chipchip);
    height: var(--chipchip);
    min-height: var(--chipchip);
}
select[data-filter] {
    width: max-content;
    height: auto;
    min-height: 0;
}
ul.socials a {
    background-color: var(--base-100);
    color: var(--contrast-50);
    border: 1px solid var(--base-200);
    border-radius: var(--radius);
    padding: .25rem 1rem;
    cursor: pointer;
    min-height: var(--btn);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    box-shadow: rgba(var(--base-rgb),var(--op-6)) var(--shdw-inset);
}
/******************************************************************
INTERACTIVE ELEMENTS - STATES
******************************************************************/
li.btn:hover,
li.btn:focus,
button:hover,
button:focus,
[type=submit]:hover,
[type=submit]:focus,
a.button:hover,
a.button:focus,
ul.socials a:hover,
@@ -1357,13 +1359,65 @@
.buttons a:hover,
.buttons a:focus,
.btn + label:hover,
.btn + label:focus,
[type=submit]:hover,
[type=submit]:focus,
button:hover,
button:focus {
.btn + label:focus {
    background-color: var(--action-0);
    color: var(--action-contrast);
    box-shadow: var(--shdw-none);
}
button:disabled,
[type=submit]:disabled,
a.button:disabled,
ul.socials a:disabled,
.btn:disabled + label,
button:disabled:hover,
button:disabled:focus,
[type=submit]:disabled:hover,
[type=submit]:disabled:focus,
a.button:disabled:hover,
a.button:disabled:focus,
ul.socials a:disabled:hover,
.btn:disabled + label:hover {
    opacity: .5;
    cursor: not-allowed;
    background-color: var(--base-200);
    color: var(--contrast-200);
}
/******************************************************************
BUTTONS
******************************************************************/
.buttons {
    --wrap: wrap;
    --justify: flex-start;
    margin: 1rem auto;
    width: 100%;
    padding: 0;
}
.buttons.fit {
    width: fit-content;
    margin: 1rem 2rem;
}
.buttons li {
    --justify: stretch;
    --align: stretch;
    padding: 0;
    list-style: none;
    overflow:hidden;
    width: 100%;
}
.list-none {
    list-style: none;
}
@media (min-width: 768px){
    .buttons {
        max-width: var(--content);
        margin: 3rem auto;
    }
}
.buttons .outline a {
@@ -1371,6 +1425,7 @@
    color: var(--action-0);
    border: 2px solid var(--action-0);
}
.buttons .outline a:hover,
.buttons .outline a:focus {
    background-color: var(--action-0);
@@ -1382,34 +1437,17 @@
    width: 100%;
}
ul.socials a:disabled,
ul.socials a:disabled:hover,
.btn:disabled + label,
.btn:disabled + label:hover,
[type=submit]:disabled,
[type=submit]:disabled:hover,
[type=submit]:disabled:focus,
a.button:disabled,
a.wp-block-button__link:disabled,
button:disabled,
a.button:disabled:hover,
a.wp-block-button__link:disabled:hover,
button:disabled:hover,
a.button:disabled:focus,
a.wp-block-button__link:disabled:focus,
button:disabled:focus {
    opacity: .5;
    background-color: var(--base-200)!important;
    color: var(--contrast-200)!important;
}
details .icon {
    --w: 1.5em;
}
details .filters .icon {
    --w: 1em;
}
button.voted .icon,
button.favourite.favourited {
    animation: favourite-pop .4s cubic-bezier(.25, .46, .45, .94);
}
@keyframes favourite-pop {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
@@ -1422,13 +1460,18 @@
    background-color: transparent;
    white-space: nowrap;
    font-size: 1rem;
    height: var(--chip_);
    width: var(--chip_);
    min-height: 0;
    padding: .35em;
    --w: 1.2em;
}
.filter-toggle:hover {
    border-color: var(--action-50);
    color: var(--action-50);
}
.filter-toggle:focus {
    background-color: var(--action-50);
    color: var(--action-contrast);
@@ -1444,6 +1487,7 @@
.vote .voted .downvote {
    display: none;
}
button.favourite:not(.favourited) .heart,
button.favourite.favourited .heart-fill,
.toggle.notifications:not(.has) .bell,
@@ -1454,10 +1498,10 @@
.vote .voted .downvoted {
    display: block;
}
/******************************************************************
ICONS
******************************************************************/
i.icon {
    width: var(--w);
    height: var(--w);
@@ -1472,63 +1516,23 @@
    mask-position: center;
    -webkit-mask-position: center;
    vertical-align: middle;
    transition: var(--transition-size), var(--transition-color);
}
.icon.small,
nav ul .icon {
    --w: 24px;
}
.icon-colour {
    background: rgb(183, 51, 46);
    background: linear-gradient(180deg, rgba(255,0,128,1) 0%, rgba(250,71,101,1) 14%, rgba(251,121,35,1) 28%, rgba(176,190,19,1) 42%, rgba(14,204,0,1) 56%, rgba(14,225,166,1) 70%, rgba(63,152,253,1) 84%, rgba(166,90,196,1) 100%);
}
.icon.logo-basic svg path {
    transition: fill var(--timing) var(--function);
}
.icon.logo-basic svg path#innerCircle,
.icon.logo-basic svg path#outerSkull {
    fill: var(--base);
}
a .icon.logo-basic:hover svg path {
    fill: var(--base);
}
a .icon.logo-basic:hover svg path#innerCircle,
a .icon.logo-basic:hover svg path#outerSkull {
    fill: var(--action-0);
}
.icon.grab {
    cursor: grab;
}
main a .icon {
    margin-right: .5em;
    margin-right: .5rem;
}
body:has(#theme-switcher:not(:checked)) .icon.logo-split-color {
    position: relative;
}
body:has(#theme-switcher:not(:checked)) .icon.logo-split-color::before{
    content: '';
    display: block;
    width:60%;
    height:60%;
    border-radius: 50%;
    background-color: var(--dark-200);
    position: absolute;
    left: 18%;
    top: 22%;
    z-index:-1;
}
/** TODO: Reintegrate this; currently svg is in .css
path#refresh {
    transform-origin: center;
    transform-box: fill-box;
    animation: spin 1s var(--function) infinite;
}
    animation: spin 1s var(--trans-fn) infinite;
}**/
/******************************************************************
ACCESSIBILITY
@@ -1545,22 +1549,22 @@
    width: 1px;
    word-wrap: normal !important;
}
input[type=checkbox] + label:focus,
input[type=checkbox] + label:focus-visible,
input[type=radio] + label:focus,
input[type=radio] + label:focus-visible,
input[type=checkbox]:focus + label,
input[type=checkbox]:focus-visible + label,
input[type=radio]:focus + label,
input[type=radio]:focus-visible + label,
input:focus,
input:focus-within {
    outline: 2px solid var(--action-0) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 4px rgba(var(--action-rgb), var(--rgb-light))!important;
    box-shadow: 0 0 0 4px rgba(var(--action-rgb), var(--op-3))!important;
}
[aria-busy="true"] {
    cursor: progress;
}
/* Disabled states */
[aria-disabled="true"],
[disabled] {
    cursor: not-allowed;
@@ -1575,54 +1579,62 @@
    border-top: 1px solid var(--base-200);
    border-bottom: 1px solid var(--base-200);
}
details[open] {
    background-color: var(--base-50);
}
details summary {
    --wrap: nowrap;
    list-style: none;
    text-transform: uppercase;
    cursor: pointer;
    border: 0;
    transition: background-color var(--transition-base);
    transition-property: background-color, border;
    position: relative;
    padding: .5rem 2.5rem .5rem .5rem;
    gap: .5rem;
}
details summary:hover {
    background-color: var(--base-100);
    border-color: var(--base-100);
    color: var(--contrast);
    transition: background-color var(--transition-base);
    transition-property: background-color, border,color;
}
details[open] > summary {
    background-color: var(--base-50);
}
details summary::after {
    position: absolute;
    right: .5rem;
    top: .5rem;
    --icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMTIuMjQsMTAwLjI0bC04MCw4MGE2LDYsMCwwLDEtOC40OCwwbC04MC04MGE2LDYsMCwwLDEsOC40OC04LjQ4TDEyOCwxNjcuNTFsNzUuNzYtNzUuNzVhNiw2LDAsMCwxLDguNDgsOC40OFoiLz48L3N2Zz4=');
    content: "";
    background-color: var(--contrast-100);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    -webkit-mask-image: var(--details);
    mask-image: var(--details);
    -webkit-mask-image: var(--icon);
    mask-image: var(--icon);
    mask-repeat: no-repeat;
    mask-size: contain;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: auto;
    transition: background-color var(--transition-base);
    transition-property: background-color, transform;
    transition: var(--trans-color), var(--trans-transform);
}
details summary:hover::after,
details summary:hover::after {
    background-color: var(--action-0);
}
details[open] > summary::after {
    background-color: var(--contrast);
}
details[open] > summary::after {
    transform: rotate(-540deg);
    transition: background-color var(--transition-base);
    transition: background-color var(--trans-base);
    transition-property: background-color, transform;
}
@@ -1630,591 +1642,20 @@
    opacity: 0;
    block-size: 0;
    overflow-y: clip;
    transition: content-visibility var(--timing) allow-discrete, opacity var(--timing), block-size var(--timing);
    transition: content-visibility var(--trans-t) allow-discrete, opacity var(--trans-t), block-size var(--trans-t);
}
details[open]::details-content {
    opacity: 1;
    block-size: auto;
}
@media (prefers-reduced-motion: no-preference){
    details {
        interpolate-size: allow-keywords;
    }
}
/******************************************************************
FORMS & FIELDS
******************************************************************/
textarea,
input[type=date],
input[type=number],
input[type=text],
input[type=url],
input[type=email],
input[type=textarea],
input[type=tel],
input[type=password],
input[type=search] {
    font-family: var(--body);
    font-size: var(--medium);
    color: var(--contrast);
    padding: var(--p-y) var(--p-x);
    border-radius: var(--innerRadius);
    background-color: var(--base);
    outline: 0;
    border: 1px solid var(--base-100);
    border-bottom: 2px solid var(--contrast-200);
    width: 100%;
    max-width: 100%;
    margin: 0 4px;
    transition: background-color var(--transition-base);
    transition-property: background-color, border;
}
textarea:focus,
input[type=number]:focus,
input[type=text]:focus,
input[type=url]:focus,
input[type=email]:focus,
input[type=textarea]:focus,
input[type=tel]:focus,
input[type=password]:focus,
input[type=search]:focus {
    outline: var(--action-50);
    background-color: var(--base-100);
    color: var(--contrast);
}
textarea::placeholder,
input::placeholder {
    font-family: var(--body);
    color: var(--base-200);
}
@media (min-width: 768px) {
    :root {
        --p-y: 1rem;
    }
}
select {
    /*appearance: none;*/
    /*-webkit-appearance: none;*/
    /*-moz-appearance: none;*/
    background: var(--base);
    border: 2px solid var(--base-100);
    border-radius: var(--innerRadius);
    color: var(--contrast);
    cursor: pointer;
    font-family: var(--body);
    font-size: var(--small);
    padding: .5rem 1rem;
    width: 100%;
    transition: var(--transition-color);
}
select:disabled {
    background-color: var(--base-50);
    border-color: var(--base-100);
    color: var(--base-200);
    cursor: not-allowed;
}
select option {
    background: var(--base);
    color: var(--contrast);
    padding: .5rem;
}
select option:hover,
select option:focus,
select option:active,
select option:checked {
    background: var(--action-0);
    color: var(--base);
    box-shadow: 0 0 0 100px var(--action-0) inset;
}
select option:checked {
    background: var(--action-0) linear-gradient(0deg, var(--action-0) 0%, var(--action-0) 100%);
    color: var(--base);
}
select:hover {
    border-color: var(--action-0);
}
select:focus {
    border-color: var(--action-0);
}
input[type=search]:focus + .clear-search {
    opacity: 1;
    cursor: pointer;
    transition: opacity var(--transition-base);
}
.search-container .clear-search {
    opacity: 0;
    cursor: default;
    transition: opacity var(--transition-base);
}
.search-container .icon.search {
    padding: 4px 8px;
    color: var(--contrast-200);
    --w: 3rem;
}
input[type="search"]::-moz-search-clear-button,
input[type="search"]::-ms-clear,
input[type="search"]::-ms-reveal,
input[type="search"]::search-cancel-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: none;
    visibility: hidden;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    -webkit-appearance:none;
}
.integration .label,
label {
    text-transform: uppercase;
    font-weight: bold;
    margin-bottom: .5rem;
    display: block;
}
/**********************
SPECIAL FIELDS
**********************/
.selected-items {
    --justify: flex-start;
    --gap: .5rem;
    margin-bottom: .5rem;
}
.selected-item {
    padding: .25rem .5rem;
    margin: .125em;
    background: var(--base-100);
    border-radius: .25rem;
    font-size: var(--medium);
    border: 1px solid var(--base-200);
    position: relative;
}
.remove-item {
    background: none;
    border: none;
    padding: .25rem;
    cursor: pointer;
    color: #666;
    border-radius: var(--innerRadius);
    width: 1.5em;
    height: 1.5em;
}
.remove-item .close {
    width: .5em;
    height: .5em;
}
.remove-item:hover {
    color: var(--action-0);
    background: #fee;
}
.clear-filters {
    margin-left: auto;
    border: 1px solid var(--base-200);
}
[type=radio],
[type=checkbox],
input.ch {
    position: absolute;
    opacity: 0;
    left: -200vw;
}
/* Pseudo checkbox */
[type=radio] + label,
[type=checkbox] + label,
input.ch + label {
    position: relative;
    cursor: pointer;
}
[type=radio] + label:hover,
[type=checkbox] + label:hover {
    color: var(--action-0);
}
[type=radio] + label::before,
[type=checkbox] + label::before,
input.ch + label::before,
[type=radio] + label::after,
[type=checkbox] + label::after,
input.ch + label::after {
    content: '';
    position: absolute;
    top: 50%;
}
[type=radio] + label::after,
[type=checkbox] + label::after,
input.ch + label::after {
    left: 5px;
    transform: translateY(-70%) rotate(45deg);
    width: 5px;
    height: 10px;
    border: solid var(--light-0);
    border-width: 0 2px 2px 0;
    display: none;
}
[type=radio] + label::before,
[type=checkbox] + label::before,
input.ch + label::before {
    left: 0;
    transform: translateY(-50%);
    width: 1rem;
    height: 1rem;
    border: 2px solid var(--contrast-200);
    background-color: var(--base);
    border-radius: var(--innerRadius);
    transition: background-color var(--transition-base),
    border-color var(--transition-base);
}
[type=radio]:hover + label::before,
[type=checkbox]:hover + label::before,
input.ch:hover + label::before {
    border-color: var(--action-200);
}
[type=radio]:checked + label::before,
[type=checkbox]:checked + label::before,
input.ch:checked + label::before {
    background-color: var(--action-0);
    border-color: var(--action-100);
}
[type=radio]:checked + label::before {
    border-radius: 50%;
}
[type=checkbox]:checked + label::after,
input.ch:checked + label::after {
    display: block;
    left: 5px;
    top: 50%;
    transform: translateY(-70%) rotate(45deg);
    width: .35rem;
    height: .66rem;
    border: solid var(--light-0);
    border-width: 0 2px 2px 0;
}
[type=radio]:disabled + label,
[type=checkbox]:disabled + label,
input.ch:disabled + label {
    cursor: not-allowed;
    background-color: var(--base-50);
    color: var(--base-200);
    border-color: var(--base-200);
}
[type=radio]:disabled + label:hover,
[type=checkbox]:disabled + label:hover,
input.ch:disabled + label:hover {
    background-color: var(--base-50);
    color: var(--base-200);
    border-color: var(--base-200);
}
[type=radio]:disabled + label::before,
[type=checkbox]:disabled + label::before,
input.ch:disabled + label::before {
    border-color: var(--base-200);
}
[type=radio]:not(.btn) + label,
[type=checkbox]:not(.btn) + label,
input.ch + label {
    flex: 1;
    padding-left: 2rem;
    transform-origin: top center;
    transition: transform .3s ease;
    will-change: transform;
}
/* Non-pseudo checkbox, that acts more like a button/pill style */
.btn + label::before,
.btn + label::after {
    display: none;
}
.btn + label {
    --w: 1.2em; /* For icons */
    border: 1px solid var(--base-200);
    border-radius: var(--innerRadius);
    min-width: 2rem;
    min-height: 2rem;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    gap: .5rem;
    color: var(--contrast-200);
    opacity: .8;
}
.radio-options.status label {
    padding: 0 .5rem;
}
.btn:checked + label {
    border-color: var(--contrast);
    color: var(--contrast);
    opacity: 1;
}
.btn + label:hover {
    color: var(--action-50);
    border-color: var(--action-50);
}
.btn[hidden] + label {
    display: none;
}
/* DATE */
.date-wrapper {
    position: relative;
    display: inline-block;
}
input[type=date] {
    padding: 8px 36px 8px 8px;
    /*border: 1px solid #ccc;*/
    border-radius: 4px;
}
input[type=date]::-webkit-calendar-picker-indicator {
    opacity: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
}
input[type=date] + .icon {
    --w: 20px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none; /* This allows clicks to pass through to the input below */
}
/** TIME **/
input[type=url] {
    background: var(--linkIcon);
    background-position: .5em;
    background-size: 1em;
    background-repeat: no-repeat;
    padding-left: 2em;
}
.field {
    margin: 2rem 0;
    position: relative;
}
.field:has(.has-tooltip) label {
    margin-left: 2rem;
}
/***************
TOGGLE TEXT
***************/
.toggle-text input {
    display: none;
}
.toggle-text input + label {
    font-weight: normal;
    color: var(--contrast)!important;
    text-transform: none;
    cursor: pointer;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.toggle-text label::before,
.toggle-text label::after {
    display: none;
}
.toggle-text label {
    padding-left: 0!important;
}
.toggle-text input + label .text {
    position: relative;
    margin: 0 .5rem;
    font-weight: bold;
    width: fit-content;
    padding: 2px 4px;
    border: 1px solid var(--action-50);
    border-radius: 4px;
    color: var(--action-50)!important;
}
table .toggle-text input+label .text {
    color: var(--contrast)!important;
    border-color: var(--contrast);
}
.toggle-text:hover .text,
table .toggle-text:hover .text {
    background-color: var(--action-50);
    color: var(--light-0)!important;
    border-color: var(--action-50);
}
.toggle-text input + label .off,
.toggle-text input + label .on {
    /*left: 0;*/
    /*position: absolute;*/
    /*top: 0;*/
    -webkit-transition: opacity .125s ease-out, -webkit-transform .125s ease-out;
    transition: opacity .125s ease-out, -webkit-transform .125s ease-out;
    transition: transform .125s ease-out, opacity .125s ease-out;
    transition: transform .125s ease-out, opacity .125s ease-out, -webkit-transform .125s ease-out;
}
.toggle-text input + label .off {
    opacity: 1;
    max-width: 100%;
    -webkit-transform: none;
    transform: none;
}
.toggle-text input + label .on {
    opacity: 0;
    max-width: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
}
.toggle-text input:checked + label .off {
    opacity: 0;
    max-width: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
}
.toggle-text input:checked + label .on {
    max-width: 100%;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
}
/******************************************************************
TAXONOMY SELECTOR
******************************************************************/
.items-container {
    margin: 0;
    padding: 0;
    width: 100%;
}
.create-new-term {
    margin-top: 1rem;
    width: 100%;
}
.create-new-term .field,
.create-new-term[open] summary {
    margin-bottom: 1rem;
}
.create-new-term .field {
    max-width: 100%;
}
#jvb-selector > .wrap {
    --gap: nowrap;
}
/******************************************************************
QUANTITY FIELD
******************************************************************/
.quantity {
    margin: 0;
}
.quantity label {
    margin: 0;
    font-size: var(--small);
}
.quantity {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 4px;
    position: relative;
}
.quantity:focus-within {
    border-color: var(--action-0);
}
.quantity button {
    background: var(--base);
    padding: 0;
    width: 38px;
    height: 38px;
    z-index: 0;
    position: relative;
    border: 1px solid var(--base-200);
    color: var(--contrast-200);
}
.quantity button:hover:not(:disabled) {
    color: var(--action-0);
    border-color: var(--action-0);
    background-color: var(--base);
}
.quantity button:active:not(:disabled) {
    background-color: var(--action-0);
    color: var(--light-0);
    transform: scale(.95);
}
.quantity button:disabled {
    opacity: .5;
    cursor: not-allowed;
}
.quantity input[type=number] {
    z-index: 1;
    border: 1px solid var(--base-200);
    background: var(--base);
    text-align: center;
    font-size: 1.1rem;
    width: 60px;
    height: 48px;
    margin: 0;
    padding: 0!important;
    appearance: textfield;
}
.quantity input[type=number]::-webkit-outer-spin-button,
.quantity input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.quantity input[type=number]:focus {
    background-color: var(--base-50);
}
.quantity button.increase {
    left: -2px;
    border-radius: 0 4px 4px 0;
}
.quantity button.decrease {
    right: -2px;
    border-radius: 4px 0 0  4px;
}
/**************************************************
LIST OVERRIDES
**************************************************/
@@ -2227,7 +1668,7 @@
    --w: 1em;
    list-style: none;
    padding: 0;
    height: var(--height);
    height: var(--btn);
    display: flex;
    justify-content: var(--justify);
    align-items: var(--align);
@@ -2239,53 +1680,77 @@
    touch-action: pan-x;
    text-transform: lowercase;
}
/*.term-list a {*/
/*        color: var(--contrast);*/
/*        text-decoration: none;*/
/*        font-size: var(--small);*/
/*    }*/
/*        .term-list a:hover {*/
/*            color: var(--action-0);*/
/*        }*/
/*.term-list.shop a::before,*/
/*.term-list.style a::before,*/
/*.term-list.theme a::before,*/
/*.term-list.city a::before,*/
/*#by-city::before,*/
/*#by-style::before,*/
/*#by-theme::before,*/
/*.term-list.all a::before{*/
/*    content:"";*/
/*    display:inline-block;*/
/*    mask-repeat: no-repeat;*/
/*    mask-size: contain;*/
/*    width: 1.2em;*/
/*    height: 1.2em;*/
/*    margin-right: .5rem;*/
/*    vertical-align: middle;*/
/*    background-color: currentColor;*/
/*}*/
/*.term-list a::after {*/
/*    display: none;*/
/*}*/
    .term-list small {
        vertical-align: baseline;
        margin-left: .5rem;
        font-style: italic;
    }
    .term-list li {
        display: flex;
        align-items: center;
    }
    .term-list a {
        align-items: center;
    }
/*.term-list.shop a::before {*/
/*    mask-image: var(--shop);*/
/*}*/
/*.term-list.city a::before,*/
/*#by-city::before {*/
/*    mask-image: var(--map);*/
/*}*/
/*.term-list.style a::before,*/
/*#by-style::before,*/
/*.term-list.all.styles a::before {*/
/*    mask-image: var(--style);*/
/*}*/
/*.term-list.theme a::before,*/
/*#by-theme::before {*/
/*    mask-image: var(--theme);*/
/*}*/
.directory-list > ul
{
    max-width: 100%;
}
.directory-list img {
    width: 70px;
}
    .directory-list .image {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
    }
    .directory-list h3 {
        margin: 0;
        text-align: center;
        font-weight: var(--fw-h-bold);
        font-family: var(--heading);
        position: sticky;
        font-size: var(--txt-enormous);
        width: 100%;
        top: 0;
        left: 0;
        color: var(--base);
        text-shadow: var(--base-200) 1px 1px 0;
        user-select:none;
    }
    .directory-list > ul > li {
        padding: 2rem;
        align-items: center;
    }
        .directory-list > ul > li:nth-of-type(even) {
            background-color: var(--base-100);
        }
    .directory-list ul ul {
        width: 100%;
    }
    .directory-list ul ul li {
        padding: .35rem .5rem;
    }
    .directory-list ul ul li:nth-of-type(even) {
        background-color:var(--base);
    }
    @media (min-width: 768px) {
        .directory-list h3 {
            width: 20vw;
        }
        .directory-list > ul {
            width: 100%;
        }
        .directory-list ul ul {
            min-height: var(--txt-enormous);
        }
        .directory-list > ul > li {
            padding: 2rem 10vw;
        }
    }
/**************************************************
COVER BLOCK
**************************************************/
@@ -2293,62 +1758,53 @@
    position: relative;
    overflow: hidden;
    min-height: 60vh;
    padding: var(--height);
    padding: var(--btn);
}
    .cover::before {
        z-index: var(--coverIndex);
        background-color: var(--action-0);
        mix-blend-mode: var(--coverBlend);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        content: '';
        /*filter: brightness(.25);*/
    }
    .cover::before,
    .cover > video,
.cover::before {
    z-index: var(--coverIndex);
    background-color: var(--action-0);
    mix-blend-mode: var(--coverBlend);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: '';
}
.cover::before,
.cover > video,
.cover > img {
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    margin: 0;
}
.cover .content {
    z-index: 5;
    position: relative;
    overflow: hidden auto;
    width: max-content;
    height: max-content;
    max-width:100%;
    max-height: 100%;
}
.cover > img {
    z-index: 1;
    opacity: .5;
    mix-blend-mode: luminosity;
    object-fit: cover;
}
@media (min-width: 768px) {
    .cover > img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        opacity: .33;
    }
    .cover .content {
        z-index: 5;
        overflow: hidden auto;
        width: max-content;
        height: max-content;
        max-width:100%;
        max-height: 100%;
    }
    /** A second image that overlays the first one **/
    .cover > img {
        z-index: 1;
        opacity: .5;
        mix-blend-mode: luminosity;
        object-fit: cover;
    }
    @media (min-width: 768px) {
        .cover > img {
            opacity: .33;
        }
    }
    /* Have the h1 have a background image. cool! */
    /*.cover h1 {*/
    /*    -webkit-background-clip: text;*/
    /*    -webkit-box-decoration-break: clone;*/
    /*    -webkit-text-fill-color: rgba(0, 0, 0, 0);*/
    /*    background-image: var(--bg-2);*/
    /*    background-position: center 75%;*/
    /*    background-repeat: no-repeat;*/
    /*    background-size: cover;*/
    /*    display: inline;*/
    /*    font-size: clamp(6.5rem, 15vw, 30rem);*/
    /*    font-variation-settings: "wght" 900;*/
    /*    order: 2;*/
    /*    overflow: hidden;*/
    /*    user-select: none;*/
    /*}*/
}
/**************************************************
BLOCKQUOTE
@@ -2357,87 +1813,109 @@
    --background: var(--base-100);
    --border: var(--action-0);
    line-height: 1.2;
    padding: var(--height);
    padding: var(--btn);
    border-radius: 4rem;
    background-color: var(--background);
}
    blockquote .content {
        margin: 12px auto;
        max-width: min(680px, 80vw);
        position: relative;
        font-family: var(--heading);
        font-weight: var(--hBold);
        padding: 25px;
        border-radius: var(--outerRadius);
        border: 2px solid var(--border);
    }
    blockquote .content::before,
    blockquote .content::after {
        position: absolute;
        content: '';
        left: 50px;
    }
    blockquote .content::before {
        width: 80px;
        border: 6px solid var(--background);
        bottom: -3px;
        z-index: 2;
    }
    blockquote .content::after {
        border: 2px solid var(--border);
        border-radius: 0 100% 0 0;
        width: 60px;
        height: 60px;
        bottom: -60px;
        border-bottom: 0;
        border-left: 0;
        z-index: 3;
    }
    blockquote cite {
        padding: 15px 0 0 12px;
        margin: 0 0 0 150px;
        z-index: 1;
    }
blockquote .content {
    margin: 12px auto;
    max-width: min(680px, 80vw);
    position: relative;
    font-family: var(--heading);
    font-weight: var(--fw-h-bold);
    padding: 3rem 2.5rem;
    border-radius: var(--radius-outer);
    border: 2px solid var(--border);
}
blockquote .content::before,
blockquote .content::after {
    position: absolute;
    content: '';
    left: 50px;
}
blockquote .content::before {
    width: 80px;
    border: 6px solid var(--background);
    bottom: -3px;
    z-index: 2;
}
blockquote .content::after {
    border: 2px solid var(--border);
    border-radius: 0 100% 0 0;
    width: 60px;
    height: 60px;
    bottom: -60px;
    border-bottom: 0;
    border-left: 0;
    z-index: 3;
}
blockquote cite {
    padding: 15px 0 0 12px;
    margin: 0 0 0 150px;
    z-index: 1;
}
blockquote.pull {
    background-color: unset;
    border-radius: 0;
    margin: 4rem auto;
    padding: 3rem;
    box-shadow: var(--shadow-down), var(--shadow-up);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw-down), rgba(var(--base-rgb),var(--op-45)) var(--shdw-up);;
}
    blockquote.pull cite {
        margin: 0;
    }
blockquote.pull cite {
    margin: 0;
}
/******************************************************************
OVERLAYS - BASE PATTERN
******************************************************************/
dialog[open],
aside.expanded {
    background-color: var(--base);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
    z-index: var(--z-5);
}
dialog::backdrop {
    backdrop-filter: blur(5px);
    background-color: rgba(var(--base-rgb),var(--op-4));
}
dialog[open],
aside.main {
    border-radius: var(--radius-outer);
    overflow: hidden;
}
/**************************************************
MODALS DIALOGUE
**************************************************/
dialog::backdrop {
    backdrop-filter: blur(5px);
    background-color: var(--overlay-medium);
}
dialog[open] {
    z-index:999;
    --padding: 0;
    top: 5vh;
    width: min(500px, 95vw);
    border-radius: 1rem;
    height: fit-content;
    overflow: hidden;
    max-height: 90vh;
    padding: var(--padding);
    background-color: var(--base-50);
    color: var(--contrast);
    border: 1px solid var(--base-200);
    box-shadow: var(--shadow);
}
dialog > .wrap,
dialog > form {
    max-height: 100%;
    max-height: var(--maxHeight);
    overflow: hidden auto;
    margin: 0 0 0 1.5rem;
    padding-right: 1.2rem;
    padding-bottom: var(--btn);
    width: calc(100% - 1.5rem);
}
@@ -2445,15 +1923,15 @@
    font-weight: normal;
}
dialog h2,
dialog h3 {
dialog :is(h2, h3) {
    margin: 0 0 .5rem 0;
    font-size: var(--large);
    font-size: var(--txt-large);
}
dialog:has(.m-actions){
    padding-bottom: var(--height);
    padding-bottom: var(--btn);
}
.m-actions {
    --w: 1.15em;
    --justify: flex-end;
@@ -2466,27 +1944,35 @@
    width: 100%;
    z-index: var(--z-6);
    background-color: var(--action-100);
    box-shadow: var(--shadow-up);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw-up);
}
.m-actions button {
    width: 100%;
    height: 3rem;
    height: var(--chipchip);
    border-radius: 0;
    font-size: var(--txt-x-small);
    --gap: .75rem;
    color: var(--action-contrast);
    background-color: var(--action-50);
    border: 2px solid var(--action-50);
    box-shadow:none;
}
.m-actions button:hover,
.m-actions button:focus {
    background-color: var(--base);
    color: var(--contrast);
}
.m-actions button:first-of-type {
    border-bottom-left-radius: 1rem;
}
.m-actions button:last-of-type {
    border-bottom-right-radius: 1rem;
}
dialog ul {
    list-style: none;
}
@@ -2496,102 +1982,58 @@
    width: 100%;
    gap: .5rem;
}
/****************
GALLERY
QUERY BLOCK
****************/
dialog[open].gallery {
    width: calc(100vw - var(--padding) * 2);
    height: 99vh;
    background: var(--overlay-heavy);
.loop .item-grid {
    grid-template-columns: repeat(1, 1fr);
}
.gallery .content {
@media (min-width: 768px) {
    .loop .item-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
.loop .item-grid .progress {
    aspect-ratio: 3/2;
    position: relative;
    max-width: 100%;
    max-height: 100%;
    padding: 2rem;
}
.gallery .favourite button.favourite {
    top: unset;
    bottom: 1rem;
    right: 1rem;
}
.gallery .image {
    max-width: 100%;
    max-height: calc(100vh - 4rem);
    object-fit: contain;
.loop .item-grid .progress figure {
    width: 100%;
    height: 100%;
    display: flex;
    gap: .125rem;
    background-color: var(--action-0);
    position: relative;
}
.gallery .cancel {
.loop .item-grid .progress figure span {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    padding: .5rem;
    z-index: 10;
    transition: color .3s ease;
    width: 50%;
    text-transform: uppercase;
    background-color: rgba(var(--action-rgb),var(--op-4));
    color: var(--action-contrast);
    padding: 0 .25rem;
}
.gallery .cancel:hover {
    color: var(--action-0);
.loop .progress figure img {
    max-width: 50%;
    object-fit: cover;
}
.gallery .nav {
    position: absolute;
    top: 50%;
    height: 50%;
    z-index: 5;
    transform: translateY(-50%);
    border: none;
    color: var(--contrast);
    cursor: pointer;
    padding: 1rem;
    transition: color .3s ease;
}
.gallery .nav:hover {
    background-color: var(--overlay-heavy);
figure .after {
    top: 0;
    right:0;
}
.gallery .nav:hover {
    color: var(--action-0);
figure .before {
    bottom: 0;
    left: 0;
}
.gallery .prev {
    left: 1rem;
}
.gallery .next {
    right: 1rem;
}
.gallery .counter {
    position: absolute;
    top: 1rem;
    left: 1rem;
    color: white;
    font-size: .875rem;
}
.gallery .content details {
    position:absolute;
    bottom: 1rem;
    left: 2rem;
    width: calc(100% - 4rem);
    background-color: var(--overlay-light);
    padding: 0;
}
.gallery .content details:hover,
.gallery .content details[open] {
    background-color: var(--overlay-heavy);
    backdrop-filter: blur(5px);
}
.gallery .content details[open] summary {
    background-color: transparent;
}
/**************************************************
TABLES
**************************************************/
@@ -2605,6 +2047,7 @@
    overflow: auto;
    position: relative;
}
thead,tfoot {
    position: sticky;
    z-index: 10;
@@ -2618,36 +2061,44 @@
tr:nth-of-type(even){
    background-color: var(--base-200);
}
tfoot th {
    vertical-align: middle;
}
tfoot th:first-of-type {
    text-align: right;
}
tbody {
}
thead tr, tfoot tr {
    background-color: var(--overlay-heavy);
    box-shadow: var(--shadow);
    background-color: rgba(var(--base-rgb),var(--op-6));
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
}
thead tr {
    border-bottom: 1px solid var(--contrast-200);
}
tfoot tr {
    border-top: 1px solid var(--contrast-200);
}
thead {
    top: 0;
}
tfoot {
    bottom: 0;
}
thead th {
    width: max-content;
}
th p {
    margin: 0!important;
}
td {
    width: max-content;
    padding: .5rem 1rem;
@@ -2656,41 +2107,48 @@
td .toggle input[type=checkbox] {
    margin: 0;
}
td .field {
    margin: .25rem 0;
}
td[data-id="actions"] label {
    margin: 0;
    padding: 0;
}
td .description {
    display: none;
}
td input[type=text] {
    width: fit-content;
    max-width: 40vw;
    padding: .25em!important;
    font-size: var(--small)!important;
    font-size: var(--txt-x-small)!important;
}
tbody tr {
    border: 2px solid transparent;
}
tbody tr:focus-within {
    background-color: var(--base-100);
    border-color: var(--action-50)
}
[data-stuck] {
    background-color: var(--overlay-medium);
    background-color: rgba(var(--base-rgb),var(--op-4));
    position: sticky;
    left: -1rem;
    z-index: 15;
    box-shadow: var(--subtleRight);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw-subtle-right);
}
tbody [data-stuck] {
    z-index: 5;
}
thead [data-stuck],
tfoot [data-stuck] {
    background: var(--base);
@@ -2709,8 +2167,8 @@
    height:fit-content;
    max-width: 50vw;
    padding: .5rem;
    border-radius: var(--innerRadius);
    box-shadow: var(--shadow);
    border-radius: var(--radius);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
    background: var(--action-0);
    color: var(--action-contrast);
}
@@ -2721,20 +2179,22 @@
    top: -200%;
    z-index: var(--z-4);
}
[role=tooltip] p {
    margin: 0;
}
[role=tooltip] p + p {
    margin-top: .5rem;
}
/*.field:has([aria-describedby]:hover) [role=tooltip],*/
.field:has([aria-describedby]:focus) [role=tooltip],
[aria-describedby]:hover ~ .has-tooltip [role="tooltip"],
[aria-describedby]:focus  ~ .has-tooltip[role="tooltip"] {
    visibility: visible;
    display: block;
}
.has-tooltip {
    display: inline-flex;
    justify-content: flex-end;
@@ -2743,17 +2203,20 @@
    left: 0;
    --w: 1.5rem
}
.tt-toggle {
    cursor: pointer;
    display: flex;
    border-radius: 50%;
    background-color: transparent;
}
.tt-toggle:hover,
.tt-toggle:focus {
    background-color: var(--action-0);
    color: var(--action-contrast);
}
.tt-toggle:hover + [role=tooltip],
.tt-toggle:focus + [role=tooltip] {
    visibility: visible;
@@ -2767,20 +2230,66 @@
    top: 15vh;
    display: flex;
}
#jvb-selector > .wrap {
    flex: 1;
}
/******************************************************************
STATUS INDICATORS
******************************************************************/
.status,
.item .status,
.status-badge {
    border-radius: var(--radius);
    font-size: 0.875rem;
    font-weight: 500;
    text-transform: capitalize;
}
[data-status="pending"],
.status.pending,
.status-badge.pending,
#queue .item .status.pending {
    background: var(--base-100);
    color: var(--contrast-200);
}
[data-status="processing"],
.status.processing,
.status-badge.processing,
#queue .item .status.processing {
    background: var(--base-200);
    color: var(--contrast-100);
    animation: pulse-color 2s infinite;
}
[data-status="completed"],
.status.completed,
.status-badge.consulted,
.status-badge.treated,
#queue .item .status.completed {
    background: var(--success);
    color: var(--successText);
}
[data-status="failed"],
.status.failed,
.status-badge.error,
#queue .item .status.failed {
    background: var(--error);
    color: var(--errorText);
}
/******************************************************************
LOADING
******************************************************************/
dialog.loading {
    opacity: 0;
    transition: opacity var(--transition-base);
}
dialog.loading[open] {
    opacity: 1;
    transition: opacity var(--transition-base);
    width: 100vw;
    height: 100vh;
    display: flex;
@@ -2793,17 +2302,20 @@
    --w: 3em;
    justify-content: center;
    align-items: center;
    inset: 0;
}
dialog.loading[open]@starting-style {
    opacity: 0;
}
dialog.loading[open] > .col {
    height: fit-content;
    width: min(400px, 60vw);
    border-radius: var(--outerRadius);
    background-color: var(--overlay-medium);
    border-radius: var(--radius-outer);
    background-color: rgba(var(--base-rgb),var(--op-4));
    padding: 2rem;
    box-shadow: var(--shadow);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
    position: relative;
}
@@ -2814,26 +2326,23 @@
    height: 5rem;
    border-width: 0;
    border-top-width: 4px;
    animation: spin 1s var(--function) infinite;
    animation: spin 1s var(--trans-fn) infinite;
}
.loading[open] .icon {
.loading[open] i.icon {
    background-color: var(--action-0);
}
dialog.loading[open] .icon {
dialog.loading[open] i.icon {
    animation: dance 2s ease-in-out infinite;
    transition: color .3s ease;
}
dialog.loading[open] h3 {
    color: var(--contrast);
    margin: 2rem 1rem auto !important;
    font-size: var(--large);
    font-size: var(--txt-large);
    width: -moz-fit-content;
    width: fit-content;
    /*-webkit-text-stroke: 1px var(--contrast);*/
    /*--g: conic-gradient(var(--action-0) 0 0) no-repeat text;*/
    /*animation: letterOutline 1s linear infinite alternate, letterInside 2s linear infinite;*/
    /*background: var(--g) 0, var(--g) 1ch, var(--g) 2ch, var(--g) 3ch, var(--g) 4ch, var(--g) 5ch, var(--g) 6ch;*/
}
dialog.loading[open] p {
@@ -2855,135 +2364,21 @@
    border: 2px solid transparent;
    border-top: 2px solid var(--action-50);
    border-radius: 50%;
    animation: spin 1s var(--function) infinite;
    animation: spin 1s var(--trans-fn) infinite;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
@keyframes shimmer {
    0% {
        left: -50%;
    }
    50% {
        left: 150%;
    }
    100% {
        left: -50%;
    }
}
@keyframes dance {
    0%, 100% {
        transform: rotate(-5deg) scale(1);
    }
    50% {
        transform: rotate(5deg) scale(1.1);
    }
}
@keyframes letterOutline {
    0% {
        background-size: 1ch 0;
    }
    100% {
        background-size: 1ch 100%;
    }
}
@keyframes letterInside {
    0%, 50% {
        background-position-y: 100%,0;
    }
    50.01%, 100% {
        background-position-y: 0, 100%;
    }
}
/******************************
TABS
******************************/
.tab-content[hidden] {
    display: block!important;
    transform: scaleY(0);
    height: 0;
    overflow: hidden;
}
.tab-content[hidden]:focus-within {
    transform: scaleY(1);
    height:auto;
}
nav.tabs h2 {
    margin: 0!important;
    line-height: 1;
    font-size: var(--medium);
    display: flex;
    color: var(--contrast);
    white-space: nowrap;
    gap: 1rem;
}
nav.tabs .active h2 {
    color: var(--action-contrast);
}
nav.tabs button {
    padding: .75rem 1.5rem;
    border-radius: 0;
    position: relative;
    border: 2px solid var(--action-0);
}
nav.tabs > button:first-of-type {
    border-top-left-radius: var(--innerRadius);
}
nav.tabs > button:last-of-type {
    border-top-right-radius: var(--innerRadius);
}
.tabs > button:hover,
.tabs > button:focus {
    background-color: var(--base-200);
}
.tabs > button::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 3px;
    background-color: var(--action-50);
    transition: width .3s;
}
.tabs > button:hover::after,
.tabs > button.active::after {
    width: 100%;
}
.tabs > button.active::after {
    background-color: var(--action-200);
}
.tabs > button.active {
    background-color: var(--action-0);
    color: var(--action-contrast);
}
.tabs > button.active:hover,
.tabs > button.active:focus {
    background-color: var(--action-100);
}
.tab-content h2 {
    display: none;
}
/*****************************************************************************
MENU
*****************************************************************************/
.toggle-details {
    gap: 2px;
}
body.menu_item #top {
    z-index: var(--z-4);
    position: relative;
}
section .toggle-details {
    position: absolute;
    right: 0;
@@ -2992,18 +2387,21 @@
[data-toggle=all] {
    position: fixed;
    bottom: calc(var(--offHeight) + var(--height) + .5rem);
    bottom: calc(var(--btn_) + var(--btn) + .5rem);
    right: 0;
    z-index: var(--z-4);
    background-color: var(--action-0);
    color: var(--action-contrast);
}
[data-toggle] {
    z-index: var(--z-1);
}
body:has(#queue[hidden]) [data-toggle=all] {
    left: 1rem;
}
dialog:not([open]).col,
dialog:not([open]).row {
    display: none;
@@ -3014,84 +2412,80 @@
        right: -10%;
    }
}
/********************************************
TYPE TEXT
********************************************/
/* Cursor, for typing messages */
.typeText::after {
    content: '|';
    display: inline-block;
    margin-left: 0;
    animation: blink .75s step-end infinite;
}
@keyframes blink {
    from, to { opacity: 1; }
    50% { opacity: 0; }
}
/**************************************************
POPUPS:
- toast container
- cart
- queue
POPUPS: toast, cart, queue
**************************************************/
aside {
aside.main {
    --wrap: nowrap;
    --align: stretch;
    position: fixed;
    top: var(--doubleHeight);
    bottom: var(--offHeight);
    top: var(--btnbtn);
    bottom: var(--btn_);
    width: min(500px, calc(100vw - 2rem));
    background-color: var(--base);
    z-index: var(--z-5);
    box-shadow: var(--shadow);
    padding-bottom: var(--height);
    overflow: visible;
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
    padding: 1rem 1rem var(--btn);
    overflow: hidden auto;
}
aside.main.referral {
    padding-top: 0;
}
aside.main.referral nav.tabs {
    padding: 1rem 0;
    background-color:var(--base);
    height: max-content;
    min-height: var(--btn);
}
.qtoggle
    /*.toggle-cart,*/
/*.create-item */
{
.qtoggle {
    z-index: var(--z-6);
    position: fixed;
    bottom: var(--offHeight);
    width: var(--height);
    height: var(--height);
    background-color: var(--overlay-medium);
    bottom: var(--btn_);
    width: var(--btn);
    height: var(--btn);
    background-color: rgba(var(--base-rgb),var(--op-4));
    color: var(--contrast);
    transition: width var(--transition-base), background-color var(--transition-base), color var(--transition-base), left var(--transition-base);
    box-shadow: var(--shadow);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
    transition: var(--trans-size), var(--trans-color);
}
/*.toggle-cart:hover,*/
.qtoggle:hover,
/*.create-item:hover,*/
    /*.toggle-cart:focus,*/
.qtoggle:focus
/*.create-item:focus */
{
    background-color: rgba(var(--action-rgb),var(--rgb-heavy));
.qtoggle:focus {
    background-color: rgba(var(--action-rgb),var(--op-6));
    color: var(--action-contrast);
}
/*.toggle-cart:disabled,*/
.qtoggle:disabled,
/*.create-item:disabled,*/
    /*.toggle-cart:disabled:hover,*/
.qtoggle:disabled:hover,
/*.create-item:disabled:hover,*/
    /*.toggle-cart:disabled:focus,*/
.qtoggle:disabled:focus
/*.create-item:disabled:focus */
{
.qtoggle:disabled:focus {
    opacity: .5;
    background-color: var(--overlay-light);
    background-color: rgba(var(--base-rgb),var(--op-3));
    color: var(--contrast);
}
/******************
CART
******************/
/*.create-item,*/
.toggle-cart {
    right: 0;
    border-radius: 4px 4px 4px var(--outerRadius);
    border-radius: 4px 4px 4px var(--radius-outer);
}
body:has(#cart.expanded) .toggle-cart .icon {
@@ -3101,28 +2495,34 @@
aside#cart {
    padding-bottom: 6rem;
}
#cart form {
    max-height: 100%;
    overflow: hidden auto;
}
#cart nav.tabs {
    z-index: var(--z-6);
    top: 0;
}
#cart table {
    height: auto;
}
#cart th {
    padding: 0 1.5rem;
}
#cart table th:first-of-type {
    width: 100%;
}
#cart nav.tabs {
    position: sticky;
    box-shadow: var(--shadow);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
}
#cart button[data-tab] {
    flex: 1;
    border-radius: 0;
@@ -3141,23 +2541,26 @@
    --gap: 0 1rem;
    padding-right: 1rem;
    position: absolute;
    bottom: var(--height);
    bottom: var(--btn);
    width: 100%;
    max-width: 100%;
    background-color: var(--overlay-heavy);
    background-color: rgba(var(--base-rgb),var(--op-6));
    z-index: var(--z-6);
    box-shadow: var(--shadow-up);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw-up);
}
.cart-total p {
    --gap: 2rem;
    max-width: 100%;
    margin: 0;
}
.cart-total p span {
    width: 6rem;
    display: inline-block;
    text-align: right;
}
.cart-total p + p {
    font-weight: bold;
}
@@ -3165,23 +2568,28 @@
.cart-items .total {
    font-weight: bold;
}
#cart .restored {
    background-color: rgba(var(--action-rgb), var(--rgb-light));
    border-radius: var(--outerRadius);
    background-color: rgba(var(--action-rgb), var(--op-3));
    border-radius: var(--radius-outer);
    padding: 1rem;
}
.restored h3 {
    font-size: var(--medium);
    font-size: var(--txt-medium);
    margin: 0;
}
.restored p {
    margin: 0;
}
.restored .row {
    --gap: 0;
    --wrap:nowrap;
    --w: 1em;
}
/******************
TOAST
******************/
@@ -3194,10 +2602,10 @@
}
.toast {
    background-color: var(--overlay-heavy);
    background-color: rgba(var(--base-rgb),var(--op-6));
    border-left: 4px solid var(--action-0);
    padding: 1rem;
    box-shadow: var(--shadow);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
    left: 0;
    position: relative;
    opacity: 0;
@@ -3243,23 +2651,31 @@
.close-toast:hover {
    opacity: 1;
}
/******************
QUEUE
******************/
#queue#queue {
    width: min(500px, calc(100vw - 2rem));
}
#queue > * {
    max-width: 100%;
}
.qtoggle {
    left: 0;
    border-radius: 4px 4px var(--outerRadius) 4px;
    border-radius: 4px 4px var(--radius-outer) 4px;
}
.qtoggle.expanded {
    left: var(--height);
    width: min(calc(500px - var(--height)), calc(100vw - 2rem - var(--height)));
    left: var(--btn);
    width: min(calc(500px - var(--btn)), calc(100vw - 2rem - var(--btn)));
}
.qtoggle.saving .icon {
    background-color: var(--action-0);
    animation: spin .87s var(--function) infinite;
    animation: spin .87s var(--trans-fn) infinite;
}
#queue .status-actions {
@@ -3277,12 +2693,13 @@
    max-width: 300px;
    background-color: var(--action-50);
    color: var(--action-contrast);
    border-radius: var(--innerRadius);
    border-radius: var(--radius);
    padding: .25em .75em;
    top: 1rem;
    left: -100vw;
    transition: left var(--transition-base);
    transition: left var(--trans-base);
}
aside#queue .popup::before{
    content: '';
    width: 10px;
@@ -3298,13 +2715,13 @@
.expanded#queue .status-actions .popup.showing {
    left: calc(100% + 1em);
}
#queue .status-actions .popup.showing {
    left: calc(200vw + var(--offHeight));
    left: calc(200vw + var(--btn_));
    max-width: 75vw;
}
/** BADGES **/
.refresh .countdown,
#queue .item .status,
.filter .count,
@@ -3314,12 +2731,14 @@
    --offset: 0;
    position: absolute;
    top: var(--offset);
    background-color: var(--overlay-light);
    background-color: rgba(var(--base-rgb),var(--op-3));
}
.expanded + .qtoggle .indicator,
.expanded + .qtoggle .count {
    --offset: .25rem;
}
/* Status indicator */
.qtoggle .indicator {
    right: var(--offset);
@@ -3336,12 +2755,27 @@
    background-color: var(--warning);
    animation: pulse 2s infinite;
}
.refreshNow.fetching .icon,
aside#queue.pending:not(.expanded) + .qtoggle .icon {
    background-color: var(--error);
    animation: spin 1s var(--function) infinite;
    background-color: var(--action-0);
    animation: spin 1s var(--trans-fn) infinite;
}
/* Status count badge */
/*.refresh .countdown {*/
/*    --justify:center;*/
/*    --align: center;*/
/*    --offset: 0;*/
/*    left: .25rem;*/
/*    margin: 0 3px;*/
/*    border-radius: 50%;*/
/*    background-color: var(--base);*/
/*    width: 1em;*/
/*    height: 1em;*/
/*}*/
.refresh .countdown,
.qtoggle .count {
    --align: center;
    --justify: center;
@@ -3350,8 +2784,8 @@
    height: 1.25rem;
    padding: 0 4px;
    color: var(--contrast);
    border-radius: var(--innerRadius);
    font-size: var(--extra-small);
    border-radius: var(--radius);
    font-size: var(--txt-x-small);
}
#queue:has(.empty-queue) + .qtoggle .count {
@@ -3362,36 +2796,90 @@
    padding: 15px;
    border-bottom: 1px solid var(--base-200);
    flex-shrink: 0;
    --height: max-content;
    width: 100%;
}
.qitems {
    flex: 1;
    width: 100%;
    overflow: hidden auto;
    overflow-anchor: none;
    padding: .5rem 2rem;
    --gap: .5rem;
}
.qitems .item {
    width: 100%;
}
.qitems button {
    --height: max-content;
}
aside#queue h3 {
    margin: 0 0 12px 0;
    margin: 0;
    font-size: 16px;
    color: var(--contrast);
}
#queue .filters {
    padding: 1rem 0 0;
    width: 100%;
}
#queue .filters .btn + label {
    width: max-content;
    position: relative;
    height: var(--chip_);
    font-size: var(--txt-x-small);
    font-weight: var(--fw-h-light);
    box-shadow: var(--shdw-none);
}
#queue .filters label .count {
    width: 1em;
    height: 1em;
    position: absolute;
    top: -8px;
    right: -4px;
    background: var(--base-100);
    border-radius: 50%;
    z-index: 5;
}
#queue .filters label .count:empty {
    display: none;
}
#queue .failed .bar,
#queue .failed_permanent .bar {
    background-color: var(--error);
    opacity: .2;
}
#queue span.completed {
    margin-left: auto;
}
#queue .filters .filter {
    background-color: transparent;
    white-space: nowrap;
    font-size: var(--small);
    font-size: var(--txt-x-small);
}
#queue .filters .filter.active {
    background: var(--base-200);
    border-color: transparent;
}
#queue .filter:hover,
#queue .filter:focus {
    background-color: var(--action-0);
    color: var(--action-contrast);
}
#queue .progress .row.btw {
    --justify: flex-end;
}
#queue .progress .details {
    font-size: var(--txt-small);
}
/* Filter count badge */
.filter .count {
@@ -3404,6 +2892,7 @@
    height: 18px;
    font-size: 10px;
}
.filter .count:empty {
    display: none;
}
@@ -3412,7 +2901,7 @@
.empty-queue {
    height: 100px;
    color: var(--contrast-200);
    font-size: var(--small);
    font-size: var(--txt-x-small);
    font-style: italic;
}
@@ -3425,25 +2914,26 @@
#queue .item {
    padding: 15px;
    background: var(--base-100);
    border-radius: var(--innerRadius);
    border-radius: var(--radius);
    transition: all .2s ease;
    box-shadow: var(--shadow-none);
    box-shadow: var(--shdw-none);
}
#queue .item:hover {
    box-shadow: var(--shadow);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
}
#queue .item .header {
    position: relative;
    padding: .25rem 0;
}
#queue .item .type {
    font-size: var(--small);
    font-size: var(--txt-x-small);
}
#queue .item .status {
    --w: 1em;
    --w: 1.3em;
    --gap: 0;
    --justify:center;
    --align: center;
@@ -3454,39 +2944,21 @@
    color: var(--contrast-200);
    background-color: var(--base-50);
    border: 1px solid var(--base-200);
    width: 1.25em;
    height: 1.25em;
    width: 2em;
    height: 2em;
}
#queue .item .status.pending {
    background: var(--base-100);
    color: var(--contrast-200);
}
#queue .item .status.processing {
    background: var(--base-200);
    color: var(--contrast-100);
    animation: pulse-color 2s infinite;
}
#queue .item .status.completed {
    background: var(--base-50);
    color: var(--base-200);
}
#queue .item .status.completed:hover {
    color: var(--contrast-200);
}
#queue .item .status.failed {
    background: var(--base);
    color: var(--error);
}
#queue .item button {
    font-size: 16px;
    padding: 0;
    line-height: 1;
    opacity: .5;
    min-height: 0;
    transition: opacity .2s;
}
@@ -3497,8 +2969,9 @@
/* Item details */
#queue .item .info {
    margin-top: 8px;
    font-size: var(--small);
    font-size: var(--txt-x-small);
}
#queue .item .info .time {
    --gap: 7px;
    font-size: 10px;
@@ -3506,8 +2979,8 @@
/* Item actions */
#queue .item .actions {
    margin-top: 12px;
    --gap: 8px;
    margin-top: 1rem;
}
#queue .item .actions button {
@@ -3526,44 +2999,34 @@
    color: var(--secondary-contrast);
}
#queue .item .actions button:hover {
    opacity: .9;
}
/* Queue actions footer */
.queue-actions {
    padding: 15px;
    padding: .5rem 0;
    border-top: 1px solid var(--base-200);
    flex-shrink: 0;
}
.queue-actions button {
    padding: 8px 12px;
    font-size: var(--small);
    transition: all .2s;
    --height: max-content;
    padding: .75rem;
    width: 100%;
    font-size: var(--txt-x-small);
}
/* Refresh area */
.status-actions > .refresh {
    position: relative;
    font-size: var(--small);
    font-size: var(--txt-x-small);
}
.refresh .countdown {
    --justify:center;
    --align: center;
    --offset: 0;
    right: var(--offset);
    margin: 0 3px;
    border-radius: 50%;
    border: 1px solid var(--base-200);
}
.refreshNow {
    width: var(--height);
    height: var(--height);
    width: var(--btn);
    height: var(--btn);
}
.refreshNow:hover {
@@ -3575,27 +3038,21 @@
    --w: 18px;
}
/* Refreshing animation */
#queue.pending.expanded .refreshNow .icon {
    animation: spin 1.5s var(--function) infinite;
}
/**************************************************
DELAY
**************************************************/
/* Initialize counter on the parent container */
.item-grid, #queue {
    counter-reset: delay-counter;
}
/* Increment counter for each item */
.item {
    counter-increment: delay-counter;
}
/* Use counter value to calculate delay */
.item .progress .fill::after {
    --delay: calc(counter(delay-counter) * .1s);
}
/**************************************************
PROGRESS
**************************************************/
@@ -3615,16 +3072,19 @@
    width: 0;
    transition: width .3s ease;
}
.progress .details {
    margin-top: 5px;
    font-size: var(--small);
    font-size: var(--txt-x-small);
    color: var(--contrast);
    text-align: center;
    padding: .25rem 0;
}
.progress .details:empty {
    display: none;
}
.queued .fill::after,
.pending .fill::after,
.processing .fill::after,
@@ -3644,6 +3104,7 @@
    );
    animation: shimmer 2.5s infinite linear var(--delay);
}
/**************************************************
ACTIONS
**************************************************/
@@ -3651,87 +3112,86 @@
    padding: 0;
    background-color: transparent;
}
.additional-actions .buttons {
    position: fixed;
    bottom: var(--offHeight);
    bottom: var(--btn_);
    right: 1rem;
    margin: 0;
    --gap: 1rem;
    z-index: var(--z-6);
    width: fit-content;
}
.additional-actions .buttons button {
    height: var(--height);
    width: var(--height);
    background-color: var(--overlay-medium);
    height: var(--btn);
    width: var(--btn);
    background-color: rgba(var(--base-rgb),var(--op-4));
    color: var(--contrast);
    transition: width var(--transition-base), background-color var(--transition-base), color var(--transition-base), left var(--transition-base);
    box-shadow: var(--shadow);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
}
.additional-actions .buttons button:hover {
    background-color: var(--action-0);
    color: var(--action-contrast);
}
.additional-actions .buttons button:disabled,
.additional-actions .buttons button:disabled:hover,
.additional-actions .buttons button:disabled:focus {
    opacity: .5;
    background-color: var(--overlay-light);
    background-color: rgba(var(--base-rgb),var(--op-3));
    color: var(--contrast);
}
.additional-actions .buttons button:last-of-type {
    border-radius: 4px 4px 4px var(--outerRadius);
    border-radius: 4px 4px 4px var(--radius-outer);
}
aside {
    position: fixed;
    top: var(--doubleHeight);
    bottom: var(--offHeight);
    width: min(500px, calc(100vw - 2rem));
    background-color: var(--base);
    z-index: var(--z-5);
    box-shadow: var(--shadow);
    --wrap: nowrap;
    --align: stretch;
    overflow: hidden auto;
    padding: 1rem 1rem var(--height);
}
aside.left {
    transition: left var(--trans-base);
    left: var(--offScreen);
    transition: left var(--transition-base);
    border-radius: 0 var(--outerRadius) var(--outerRadius) 0;
    border-radius: 0 var(--radius-outer) var(--radius-outer) 0;
}
aside.left.expanded {
    left: 0;
}
aside.right {
    transition: right var(--trans-base);
    right: var(--offScreen);
    border-radius: var(--outerRadius) 0 0 var(--outerRadius);
    transition: right var(--transition-base);
    border-radius: var(--radius-outer) 0 0 var(--radius-outer);
}
aside.right.expanded {
    right: 0;
}
aside.right.expanded button.close {
    position: sticky;
    bottom: calc(var(--height) * -1);
    bottom: calc(var(--btn) * -1);
    left: 0;
    border-bottom-left-radius: var(--outerRadius);
    width: var(--height);
    height: var(--height);
    border-bottom-left-radius: var(--radius-outer);
    width: var(--btn);
    height: var(--btn);
}
.additional-actions .buttons:has(.expanded) button:not(.expanded) {
    display: none;
}
.additional-actions .buttons:has(.expanded){
    right: 0;
}
.additional-actions .buttons button {
    transition: right var(--trans-base), var(--trans-size);
}
.additional-actions .buttons .expanded {
    width: calc(min(500px, calc(100vw - 2rem)));
    background-color: var(--base);
}
.additional-actions .buttons button:hover,
.additional-actions .buttons .expanded:hover {
    background-color: var(--action-0);
@@ -3740,14 +3200,15 @@
[type=submit] {
    width: 100%;
    height: var(--height);
    height: var(--btn);
    background-color: var(--action-0);
    color: var(--action-contrast);
    box-shadow: var(--shadow-none);
    box-shadow: var(--shdw-none);
    font-weight: bold;
}
[type=submit]:hover {
    box-shadow: var(--shadow);
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
    border: 2px solid var(--action-0);
    color: var(--action-0);
    background-color: var(--action-contrast);
@@ -3760,25 +3221,25 @@
    left: 0;
    right: 0;
}
.jvb-referral nav.tabs button {
    width: 50%;
}
aside .tab-content.active {
    padding: 1rem;
    min-height: 100%;
}
aside header h3 {
    font-size: var(--medium);
    font-size: var(--txt-medium);
    margin: 1rem 0;
    text-align: center;
}
aside header p {
    margin: .25rem 0;
    text-align: center;
}
aside h4 {
    font-size: var(--small);
    font-size: var(--txt-x-small);
    margin: 1rem 0 0 0;
}
@@ -3792,35 +3253,54 @@
    background-color: var(--base-200);
    border: 1px solid var(--contrast-200);
}
.restore-form {
    background-color: rgba(var(--action-rgb), var(--rgb-light));
    background-color: rgba(var(--action-rgb), var(--op-3));
    border: 1px solid var(--action-200);
    padding: .5rem;
    border-radius: var(--outerRadius);
    border-radius: var(--radius-outer);
    margin: 1rem 2rem;
}
.restore-form h3 {
    text-align: center;
    margin: 1rem 0 0;
    font-size: var(--medium);
    font-size: var(--txt-medium);
}
.restore-form p {
    margin: .5rem 0;
}
.fstatus {
    z-index: var(--z-5);
    background-color: rgba(var(--base-rgb),var(--rgb-heavy));
    background-color: rgba(var(--base-rgb),var(--op-6));
    border-radius: 4px;
    padding: 0 .5rem;
    position: fixed;
    bottom: var(--offHeight);
    right: calc(var(--offHeight) + 1rem);
    top: var(--btnbtn);
    right: 1rem;
    --w: 1em;
    box-shadow:var(--shadow);
    box-shadow:var(--shdw);
    display:flex;
    flex-wrap: nowrap;
    gap: 1rem;
}
@media (min-width: 768px) {
    .fstatus {
        right:calc(var(--btn_) + 1rem);
        bottom: 0;
        top: unset;
    }
    body:has(.fixed.bottom) .fstatus {
        bottom: var(--btn_);
    }
}
.fstatus .spinner {
    display: none;
}
.fstatus.loading .spinner {
    display: inline-block;
}
@@ -3831,123 +3311,748 @@
}
/**************************************************
ASIDE EXCEPTIONS
CALLOUT SECTIONS
**************************************************/
aside.pre-header,
aside.sub-header {
    left: 0;
    right: 0;
    width: 100vw;
    display: flex;
.callalt.callalt,
.callout.callout {
    padding: 2rem;
    margin: 0;
    max-width: none;
    grid-column: full;
}
@media (min-width: 768px){
    .callout.callout {
        padding: 2rem 20vw;
    }
}
.callout.callout {
    background-color: var(--action-0);
    color: var(--action-contrast);
}
.callalt.callalt {
    background-color: var(--secondary-0);
    color: var(--secondary-contrast);
}
.callalt :is(h1, h2, h3, h4, h5, h6),
.callout :is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--body);
    font-weight: var(--fw-b-bold);
    margin: 1rem 0 0;
    width: 100%;
}
.callout a {
    background-color: var(--action-contrast);
    padding: 0 .125rem;
    border-radius: 4px;
}
.attn {
    animation: pulse-color 5s infinite;
    animation-delay: 1s;
}
.media-text > div,
.media-text figure {
    width: 100%;
    margin: 0;
}
@media (min-width:768px ){
    .media-text {
        --wrap: nowrap;
    }
}
.media-text > div {
    max-width: var(--content);
    margin: 0 auto;
    padding: 2rem;
}
.timeline.terms ul,
.timeline.terms {
    list-style: none;
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: space-between;
    height: 2rem;
    bottom: unset;
    padding: 0 .5rem;
    font-size: var(--small);
    flex-wrap: nowrap;
    align-items: flex-start;
}
    .timeline.terms ul {
        gap: 1rem;
    }
.timeline.terms > li {
    width: 100%;
}
@media (min-width: 768px) {
    .timeline.terms > li {
        width: 50%;
    }
}
/**********************************
GALLERY
**********************************/
dialog.gallery[open] {
    position: fixed;
    inset: 1rem;
    margin: 0;
    border: none;
    width: calc(100% - 2rem);
    height: calc(100% - 2rem);
    padding: 0;
    background: rgba(var(--base-rgb),var(--op-6));
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    backdrop-filter: blur(3px);
    z-index: var(--z-9);
    max-height: 100vh;
    max-width: 100vw;
}
    @media (min-width: 768px) {
        aside.pre-header,
        aside.sub-header {
            padding: 0 2rem;
            font-size: var(--medium);
        }
    }
    .pre-header p,
    .pre-header p + p,
    .sub-header p,
    .sub-header p + p {
        margin: 0;
    }
.pre-header {
    top: 0;
    z-index: 1001;
.gallery .controls {
    order: 3;
    justify-content: flex-end;
    --height: 2rem;
}
.wp-site-blocks > .pre-header ~ header {
    top: 2.05rem;
.gallery .controls .cancel {
    order: 3;
}
.sub-header {
    top: var(--height);
    box-shadow: var(--shadow);
dialog.gallery::backdrop {
    background: rgba(var(--base-rgb), var(--op-4));
}
.pre-header ~ .sub-header {
    top: calc(var(--height) + 1.5rem);
dialog.gallery .wrap {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
dialog.gallery .cancel:hover {
    background: rgba(var(--base-rgb),var(--op-4));
}
dialog.gallery .content {
    position: relative;
    flex: 1 1 auto;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
dialog.gallery .content .image {
    max-width: 90vw;
    max-height: 85vh;
    object-fit: contain;
    transition: transform 0.15s ease-out;
    touch-action: none;
}
dialog.gallery .image-left,
dialog.gallery .image-right {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
dialog.gallery details {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 2rem);
    max-width: 600px;
    background: rgba(0,0,0,0.45);
    color: #fff;
    border-radius: 4px;
    overflow: hidden;
    z-index: 10;
}
dialog.gallery details summary {
    padding: 0.75rem 1rem;
    cursor: pointer;
    user-select: none;
}
dialog.gallery details[open] .item-info {
    padding: 1rem;
}
dialog.gallery .counter {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    background: rgba(var(--base-rgb),var(--op-4));
    color: var(--contrast);
    padding: 0.4rem 0.8rem;
    border-radius: 3px;
    font-size: 0.85rem;
    z-index: 10;
}
dialog.gallery .favourite {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 10;
}
dialog.gallery .image {
    opacity: 0;
    transition: opacity .2s ease, transform .15s ease-out;
}
dialog.gallery .image[src] {
    opacity: 1;
}
/**************************************************
RESPONSES
REFERRAL SYSTEM
**************************************************/
/*dialog.create-response {*/
/*    width: min(650px, calc(95vw - (var(--padding) * 2)));*/
/*}*/
/*dialog.create-response .original {*/
/*    height: 20vh;*/
/*    overflow-y: scroll;*/
/*    padding: 1rem;*/
/*    background-color: var(--base-100);*/
/*    border-radius: var(--innerRadius);*/
/*}*/
/*dialog.create-response .editor-container .ql-container {*/
/*    height: 30vh;*/
/*}*/
.referral-reward-banner {
    background: var(--base-100);
    color: var(--action-0);
    border: 2px dashed var(--action-0);
    padding: 1.5rem;
    border-radius: 8px;
    text-align: center;
    margin-bottom: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
/*.responses summary {*/
/*    text-transform: none;*/
/*    display: block;*/
/*}*/
/*.news .header {*/
/*    margin-right: 2rem;*/
/*}*/
/*.news > summary::after,*/
/*.responses summary::after {*/
/*    display: block;*/
.referral-reward-banner .icon {
    --w: 3rem;
}
.referral-reward-banner h4 {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--contrast);
}
.check-code-btn {
    width: 100%;
    margin-top: 0.5rem;
    background: var(--base-100);
    color: var(--contrast-100);
    border: 1px solid var(--contrast-200);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.code-status {
    padding: 0.75rem;
    border-radius: 4px;
    margin-top: 0.5rem;
    font-size: 0.875rem;
}
.code-status.loading {
    background: var(--base-200);
    color: var(--contrast-200);
}
.code-status.success {
    background: var(--successBack);
    color: var(--successText);
    border: 1px solid var(--successBack);
}
.code-status.error {
    background: var(--errorBack);
    color: var(--errorText);
    border: 1px solid var(--errorBack);
}
.referral-footer {
    text-align: center;
    padding: 1rem 0;
    border-top: 1px solid var(--base-200);
    margin-top: 1rem;
}
.referral-footer .text-link {
    color: var(--contrast-200);
    text-decoration: none;
    font-size: 0.875rem;
}
.referral-footer .text-link:hover {
    color: var(--action-0);
    text-decoration: underline;
}
.share-section {
    margin-bottom: 1.5rem;
}
.share-section h4 {
    margin: 0 0 0.75rem;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--contrast-200);
}
.copy-section {
    margin-bottom: 1.5rem;
}
.copy-section h4 {
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--contrast-200);
}
.copy-group {
    --gap: 0 .5rem;
    margin-bottom: 0;
}
    .copy-group + .hint {
        margin: .25rem 1rem 1rem;
    }
.copy-target {
    flex: 1;
    padding: 0.75rem;
    background: var(--base-100);
    border: 1px solid var(--base-200);
    border-radius: 4px;
    font-family: 'Monaco', 'Courier New', monospace;
    font-size: 0.875rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    user-select: all;
}
.copy-btn {
    flex-shrink: 0;
    width: var(--chipchip);
    height: var(--chipchip);
    min-height: 0;
    padding: 0;
}
.copy-btn.success .icon-copy,
.copy-btn .icon-check-circle {
    display: none;
}
.copy-btn.success .icon-check-circle {
    display: inline-block;
}
.copy-btn.success {
    background: var(--successBack);
    color: var(--success);
}
.recent-referrals-section {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--contrast-200);
}
.recent-referrals-section h4 {
    margin: 0 0 0.75rem;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--contrast-200);
}
.recent-referrals-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.referral-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    background: var(--base-100);
    border-radius: 4px;
    font-size: 0.875rem;
}
.referral-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.referral-info strong {
    color: var(--contrast-200);
}
.referral-date {
    font-size: 0.75rem;
}
.no-referrals,
.loading,
.message {
    text-align: center;
    padding: 1rem;
    color: var(--contrast-200);
    font-size: 0.875rem;
}
.stats-summary {
    margin-bottom: 1.5rem;
}
.stat-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    border-bottom: 1px solid var(--base-200);
}
.stat-row:last-child {
    border-bottom: none;
}
.stat-row.highlight {
    background: var(--base-100);
    border-radius: 4px;
    border: 1px solid var(--base);
    font-weight: 600;
}
.stat-label {
    color: #666;
    font-size: 0.875rem;
}
.stat-value {
    color: #333;
    font-weight: 600;
    font-size: 1rem;
}
.stat-row.highlight .stat-value {
    color: var(--action-0);
    font-size: 1.25rem;
}
.view-dashboard-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.875rem;
    background: var(--action-0);
    color: var(--action-contrast);
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.2s ease;
}
aside button:not(.button, .qtoggle),
aside a.button{
    position: relative;
    top: 0;
    box-shadow: var(--shdw-none);
    transition: top var(--trans-base), box-shadow var(--trans-base);
}
aside button:not(.button, .qtoggle, :disabled):hover,
aside a.button:hover {
    top: -4px;
    box-shadow: rgba(var(--contrast-rgb),var(--op-45)) var(--shdw-down);
}
.view-dashboard-btn:visited {
    color: var(--action-contrast);
}
.view-dashboard-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}
.success-content {
    padding: 2rem 1rem;
    text-align: center;
}
.success-content h3 {
    color: var(--success);
    margin-bottom: 1rem;
}
.success-content p {
    margin-bottom: 0.75rem;
    color: var(--base-200);
}
.success-content .hint {
    font-size: 0.875rem;
    color: var(--base-200);
    font-style: italic;
}
.code-status.loading::before {
/*.loading::before {*/
    content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 2px solid var(--action-200);
    border-top: 2px solid var(--action-0);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-right: 0.5rem;
    vertical-align: middle;
}
.share-buttons-grid a {
    padding: 0;
    min-height: 0;
    width: var(--chipchip);
    height: var(--chipchip);
}
.share-buttons-grid a .icon {
    margin-right: 0;
}
@media (max-width: 768px) {
    .share-buttons-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .referral-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}
/***************
TOGGLE TEXT
***************/
.toggle-text input {
    display: none;
}
.toggle-text input + label {
    font-weight: normal;
    color: var(--contrast)!important;
    text-transform: none;
    cursor: pointer;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.toggle-text label::before,
.toggle-text label::after {
    display: none!important;
}
.toggle-text label {
    padding-left: 0!important;
}
.toggle-text input + label .text {
    position: relative;
    margin: 0;
    --gap: 0;
    font-weight: bold;
    width: fit-content;
    padding: 2px 4px;
    border: 1px solid var(--action-50);
    border-radius: 4px;
    color: var(--action-50)!important;
}
table .toggle-text input+label .text {
    color: var(--contrast)!important;
    border-color: var(--contrast);
}
.toggle-text:hover .text,
table .toggle-text:hover .text {
    background-color: var(--action-50);
    color: var(--light-0)!important;
    border-color: var(--action-50);
}
.toggle-text input + label .off,
.toggle-text input + label .on {
    transition: var(--trans-transform), opacity var(--trans-base);
}
.toggle-text input + label .off {
    opacity: 1;
    max-width: 100%;
    transform: none;
}
.toggle-text input + label .on {
    opacity: 0;
    max-width: 0;
    transform: translate3d(0, 100%, 0);
}
.toggle-text input:checked + label .off {
    opacity: 0;
    max-width: 0;
    transform: translate3d(0, -100%, 0);
}
.toggle-text input:checked + label .on {
    max-width: 100%;
    opacity: 1;
    transform: none;
}
/******************************************************************
TAXONOMY SELECTOR
******************************************************************/
.items-container {
    margin: 0;
    padding: 0;
    width: 100%;
}
details.create-term {
    margin-top: auto;
    width: 100%;
}
#jvb-selector .search-wrapper {
    margin-top: auto;
    width:100%;
}
.search-wrapper:not(.open) .search {
    margin-left: auto;
}
.search-wrapper + details.create-term {
    margin-top: 0;
}
details.create-term .field,
.create-term[open] summary {
    margin-bottom: 1rem;
}
details.create-term .field {
    max-width: 100%;
}
#jvb-selector > .wrap {
    --wrap: nowrap;
    --justify: flex-start;
}
#jvb-selector .items-wrap {
    width: 100%;
    padding: 1rem 0;
    border-top: 1px solid var(--base-200);
}
#jvb-selector .items-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}
#jvb-selector li {
    list-style: none;
}
#jvb-selector li label {
    padding-left: 0!important;
}
/*.auto-wrapper {*/
/*    position: absolute;*/
/*    top: 0;*/
/*    right: 0;*/
/*    mask-image: var(--chevron);*/
/*    bottom: -105%;*/
/*    background-color: rgba(var(--base-rgb), var(--op-5));*/
/*    backdrop-filter: blur(2px);*/
/*    border-radius: var(--radius);*/
/*    z-index: 1;*/
/*}*/
/*.responses[open] > summary {*/
/*    background-color: inherit;*/
/*}*/
/*.responses[open] {*/
/*    background-color: var(--base-200);*/
/*}*/
/*.responses {*/
/*    margin: 1rem 0;*/
/*}*/
.autocomplete-dropdown {
    width: 100%;
    background-color: var(--base-100);
    padding: .5rem;
    box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
}
li.autocomplete {
    list-style: none;
    display: inline-flex;
    margin: 0.25rem;
    min-height: var(--chip);
}
/*.response {*/
/*    background-color: inherit;*/
/*}*/
/*.response[open] {*/
/*    background-color: var(--base-100);*/
/*}*/
/*.response[open] > summary {*/
/*    background-color: inherit;*/
/*}*/
/*.news[open] > summary::after,*/
/*.responses[open] > summary::after,*/
/*.response[open] > summary::after {*/
/*    mask-image: var(--chevron);*/
/*}*/
/*.response > summary::after {*/
/*    display: none;*/
/*}*/
/*.response:has(.response) > summary::after {*/
/*    display: block;*/
/*}*/
/*.response:nth-of-type(even) {*/
/*    background-color: var(--base-50);*/
/*}*/
/*button.reply {*/
/*    margin-left: auto;*/
/*}*/
.submit-term {
    gap: 0;
}
.submit-term strong {
    padding-right: 1rem;
}
.selected-items {
    width:100%;
    padding: .5rem;
    border-radius: var(--radius);
    background-color:var(--base);
    --justify: flex-start;
    --gap: .5rem;
    margin-bottom: .5rem;
}
.selected-items.selected-items:empty {
    padding:0;
    background-color:transparent;
    margin: 0;
}
.selected-item {
    padding: .25rem .5rem;
    margin: .125em;
    background: var(--base-100);
    border-radius: .25rem;
    font-size: var(--txt-medium);
    border: 1px solid var(--base-200);
    position: relative;
}
.remove-term.remove-term {
    min-height: 0;
    height: var(--chip);
    width: var(--chip);
    padding: 0;
    --w: .75em;
}
.clear-filters {
    margin-left: auto;
    border: 1px solid var(--base-200);
}
/**************************************************
ANIMATIONS
**************************************************/
/** Used for Loading **/
@keyframes shimmer {
    0% {
        left: -50%;
@@ -3960,7 +4065,6 @@
    }
}
@keyframes pulse-color {
    0% {
        box-shadow: 0 0 0 0 rgba(var(--action-rgb), .4);
@@ -3973,7 +4077,6 @@
    }
}
/** fadeIn & fadeOut, for adding/removing items **/
@keyframes fadeIn {
    from {
        opacity: 0;
@@ -3996,1352 +4099,31 @@
    }
}
/******************************************
OVERFLOW DETECTION
Include this in items to detect:
// Scroll detection animation
animation: detect-scroll linear;
animation-timeline: scroll(self inline);
******************************************/
/* Scroll detection keyframe */
@keyframes detect-scroll {
    from, to {
        --can-scroll: 1;
    }
}
/******************************************************************
DIRECTORY
******************************************************************/
/*.directory-list {*/
/*    max-width: var(--alignWide);*/
/*}*/
/*.directory-list ul {*/
/*    gap: 0;*/
/*}*/
/*    .directory-list li.title {*/
/*        margin-left: -1rem;*/
/*    }*/
/*.is-directory section {*/
/*    max-width: var(--full);*/
/*    width: calc(var(--full) - 1rem);*/
/*    padding: 0 .5rem;*/
/*}*/
/*    .is-directory .list-none ul,*/
/*    .is-directory .list-none {*/
/*        margin: 0;*/
/*        padding: 0;*/
/*        list-style: none;*/
/*    }*/
/*    .is-directory .list-none ul {*/
/*        width: 80%;*/
/*    }*/
/*    .is-directory .list-none > li + li {*/
/*        border-top: 1px solid var(--base-100);*/
/*        padding-top: 2rem;*/
/*        margin-top: 2rem;*/
/*    }*/
/*    .is-directory .list-none ul li {*/
/*        background-color: var(--base-50);*/
/*        padding: .5rem .25rem;*/
/*    }*/
/*    .is-directory .list-none ul li:nth-of-type(even){*/
/*        background-color: var(--base-100);*/
/*    }*/
/*    .is-directory .list-none h3 {*/
/*        margin: .5rem auto!important;*/
/*        position: sticky;*/
/*        text-align: center;*/
/*        top: 4rem;*/
/*        font-size: 20vw;*/
/*        color: var(--base-200);*/
/*        background-color: var(--base);*/
/*        width: 20%;*/
/*    }*/
/*    @media (min-width:768px){*/
/*        .is-directory section {*/
/*            max-width: var(--alignWide);*/
/*        }*/
/*        .is-directory .list-none,*/
/*        .is-directory .list-none ul {*/
/*            padding-left: 2rem;*/
/*        }*/
/*        .is-directory .list-none h3 {*/
/*            text-align: left;*/
/*            top: 8rem;*/
/*            position: sticky;*/
/*            background-color: transparent;*/
/*        }*/
/*    }*/
/*.directories > .directory {*/
/*    border-radius: 1rem;*/
/*    background-color: var(--base-100);*/
/*    text-align: center;*/
/*    padding: .5rem;*/
/*}*/
/*.directories > .directory a .icon {*/
/*    --w: 3rem;*/
/*    margin: 0;*/
/*}*/
/*.directory h2 {*/
/*    font-size: var(--large);*/
/*    margin: .5rem 0!important;*/
/*    width: 100%;*/
/*}*/
/*@media (min-width: 768px) {*/
/*    .directories {*/
/*        display: grid;*/
/*        grid-template-columns: repeat(3, 1fr);*/
/*        gap: 1rem;*/
/*    }*/
/*}*/
/*nav.directory li {*/
/*    list-style: none;*/
/*    display: inline-flex;*/
/*}*/
/*.grouped-directory {*/
/*    margin: 0;*/
/*    padding: 0;*/
/*    list-style: none;*/
/*}*/
/*    .grouped-directory .grouped-directory {*/
/*        padding-left: 2rem;*/
/*    }*/
/*.grouped-directory li:not(:has(details)) {*/
/*    padding: .625rem;*/
/*}*/
/*.grouped-directory summary a {*/
/*    order: 1;*/
/*    text-transform: none;*/
/*}*/
/*.grouped-directory summary::after {*/
/*    order: 2;*/
/*}*/
/*.grouped-directory li details[open] > summary,*/
/*.grouped-directory li details[open] {*/
/*    background-color: var(--base-100);*/
/*}*/
/*.grouped-directory details[open] details[open] > summary,*/
/*.grouped-directory details[open] details[open] {*/
/*    background-color: var(--overlay-light);*/
/*}*/
/*.is-directory h1 {*/
/*    margin-top: 3rem!important;*/
/*}*/
/******************************************************************
NORTHEH
******************************************************************/
.menu-items .menu-item {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 1rem;
}
.menu-items .menu-item:not(.variable) label {
    display: none;
}
.menu-items .menu-item .field {
    margin: 0;
    --wrap: nowrap;
}
.menu-items .menu-item .has-tooltip {
    position: absolute;
    right: -2.5rem;
}
.menu-items .menu-item + .menu-item {
    border-top: 1px solid var(--base-200);
    margin-top: 2rem;
    padding-top: 1rem;
}
.menu-items .menu-item .header {
    grid-column: 1/-1;
}
.menu-items .menu-item .description {
    grid-column: 1/3;
}
.menu-items .menu-item .info {
    grid-column: 3/3;
}
.menu-items .menu-item h3 {
    font-size: var(--medium);
    font-weight: normal;
    margin: 0 0 .5rem 0!important;
}
.menu-items .menu-item .info {
    --gap: 1rem;
}
.price > span {
    vertical-align: super;
    font-size: 12px;
}
body.menu_item section > h2 {
    display: inline-block;
    max-width: var(--maxWidth);
    width: max-content;
    background-color: var(--base-50);
    color: var(--action-0);
    position: relative;
    z-index: 5;
    padding: 0 1rem;
    margin: var(--mt) auto var(--mb) auto;
}
.menu-section {
    position: relative;
}
.menu-section hr {
    position: absolute;
    width: 100%;
    left: -5%;
    top: 3.5rem;
    border: none;
    background-color: var(--action-100);
    height: 2px;
}
details.menu-item summary.row {
    flex-direction: column;
    align-items: flex-start;
}
details.menu-item summary .row {
    width: 100%;
}
.menu_item h1:first-of-type {
    margin-top: 10vh!important;
}
@media (min-width: 768px) {
    .menu-section hr {
        width: 120%;
        left: -10%;
        top: 4.25rem;
    }
    .menu_item section {
        max-width: var(--maxWidth);
    }
    /*details.menu-item summary.row {*/
    /*    flex-direction: var(--dir);*/
    /*    align-items: var(--justify);*/
    /*}*/
}
/**
TODO: For Legacy
Triangles Loader
.loading-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem 1rem 1rem;
}
.loader-wrap {
    height: 75px;
    width: 75px;
}
.new-term-toggle:disabled + .loader,
.loading .loader {
    width: 50px;
    aspect-ratio: 1.154;
    display: grid;
    color: var(--action-0);
    background:
            linear-gradient(to bottom left ,#0000 calc(50% - 1px),currentColor 0 calc(50% + 1px),#0000 0) right/50% 100%,
            linear-gradient(to bottom right,#0000 calc(50% - 1px),currentColor 0 calc(50% + 1px),#0000 0) left /50% 100%,
            linear-gradient(currentColor 0 0) bottom/100% 2px;
    background-repeat: no-repeat;
    transform-origin: 50% 66%;
    animation: l5 4s infinite linear;
}
.new-term-toggle:disabled + .loader::before,
.new-term-toggle:disabled + .loader::after,
.loading .loader::before,
.loading .loader::after {
    content: "";
    grid-area: 1/1;
    background: inherit;
    transform-origin: inherit;
    animation: inherit;
}
.new-term-toggle:disabled + .loader::after,
.loading .loader::after {
    animation-duration: 2s;
}
@keyframes l5{
    100% {transform:rotate(1turn)}
}
 */
/* DONE TO HERE */
/*dialog .search-wrapper {*/
/*    padding: .5rem;*/
/*}*/
/*.favourite-terms ul {*/
/*    gap: .25rem 1rem;*/
/*    padding: 0;*/
/*}*/
/*    .favourite-terms label::before,*/
/*    .favourite-terms label::after {*/
/*        display: none;*/
/*    }*/
/*    .favourite-terms label {*/
/*        padding: .25rem .5rem!important;*/
/*        border: 1px solid var(--base-200);*/
/*        color: var(--contrast-200);*/
/*        border-radius: var(--innerRadius);*/
/*    }*/
/*    .favourite-terms :checked + label,*/
/*    .favourite-terms label:hover {*/
/*        border-color: var(--action-0);*/
/*        color: var(--action-0);*/
/*    }*/
/*.items-container {*/
/*    padding: 0;*/
/*}*/
/*    .items-container li .children {*/
/*        width: 100%;*/
/*        padding-left: 1rem;*/
/*    }*/
/*.path button+button::before {*/
/*    content: ' > ';*/
/*    display: inline-block;*/
/*    margin: 0 .5rem;*/
/*}*/
/*!** Forms **!*/
/*!*.field.time_open,*!*/
/*!*.field.time_closes,*!*/
/*!*.field.date_start,*!*/
/*!*.field.time_start,*!*/
/*!*.field.time_end {*!*/
/*!*    margin-bottom: 0;*!*/
/*!*}*!*/
/*!*.field.time_open,*!*/
/*!*.field.time_closes,*!*/
/*!*.field.time_start,*!*/
/*!*.field.time_end {*!*/
/*!*    width: 49%;*!*/
/*!*    display: inline-block;*!*/
/*!*    margin-top: 1rem;*!*/
/*!*}*!*/
/*[data-h] {*/
/*    border: 0;*/
/*    clip: rect(1px, 1px, 1px, 1px);*/
/*    clip-path: inset(50%);*/
/*    height: 1px;*/
/*    margin: -1px;*/
/*    overflow: hidden;*/
/*    padding: 0;*/
/*    position: absolute !important;*/
/*    width: 1px;*/
/*    word-wrap: normal !important;*/
/*}*/
/*.checkbox-options {*/
/*    --gap: .5rem 2rem;*/
/*}*/
/*.checkbox-options label {*/
/*    flex: unset!important;*/
/*}*/
/*.radio-options {*/
/*    --gap: .125rem .5rem;*/
/*}*/
/*.radio-options input:not(.ch) + label::before {*/
/*    display: none!important;*/
/*}*/
/*.radio-options input:not(.ch) + label {*/
/*    flex: unset!important;*/
/*    padding: .25rem!important;*/
/*    border-radius: 4px;*/
/*    border: 1px solid var(--base-100);*/
/*    color: var(--contrast-200);*/
/*    transition: var(--transition-color)!important;*/
/*    font-weight: normal;*/
/*    !*width: 40%;*!*/
/*    text-align: center;*/
/*}*/
/*.radio-options input:not(.ch) + label:hover,*/
/*.radio-options input:not(.ch):checked + label {*/
/*    border-color: var(--action-0);*/
/*    color: var(--action-0);*/
/*    transition: var(--transition-color);*/
/*}*/
/*!* Style for disabled state *!*/
/*.date-range {*/
/*    padding: 2rem;*/
/*    border: none;*/
/*    border-radius: var(--innerRadius);*/
/*    background: var(--base);*/
/*    box-shadow: var(--shadow);*/
/*}*/
/*.date-range::backdrop {*/
/*    backdrop-filter: blur(5px);*/
/*    background: var(--overlay-medium);*/
/*}*/
/*.custom-range,*/
/*.month-picker {*/
/*    --gap: 1rem;*/
/*    margin-bottom: 1rem;*/
/*}*/
/*.custom-range input,*/
/*.month-picker select {*/
/*    padding: .5rem;*/
/*    border: 1px solid var(--base-100);*/
/*    border-radius: var(--innerRadius);*/
/*    background: var(--base-200);*/
/*    color: var(--contrast);*/
/*    font: inherit;*/
/*}*/
/*.custom-range input:focus,*/
/*.month-picker select:focus {*/
/*    outline: none;*/
/*    border-color: var(--action-0);*/
/*}*/
/*!** Shop Page **!*/
/*.shop header {*/
/*    max-width: var(--full);*/
/*}*/
/*.shop header img {*/
/*    width: 100%;*/
/*    height: auto;*/
/*}*/
/*.shop header h1 {*/
/*    margin-bottom: .5em;*/
/*}*/
/*.ratings {*/
/*    margin: 0;*/
/*}*/
/*!** Bio Sections **!*/
/*.bio-info {*/
/*    max-width: var(--alignWide);*/
/*    padding: .25em;*/
/*    border-radius: var(--outerRadius);*/
/*    font-size: var(--medium);*/
/*    line-height: 1.5;*/
/*}*/
/*.bio-info section {*/
/*    margin: 4rem 0;*/
/*}*/
/*.shop .column,*/
/*.bio-info .column {*/
/*    --justify: center;*/
/*}*/
/*.bio-info[open] {*/
/*    background-color: var(--base-100);*/
/*}*/
/*.bio-info summary {*/
/*    padding: .25rem;*/
/*    position: relative;*/
/*    border-radius: var(--innerRadius);*/
/*}*/
/*.bio-info[open] summary {*/
/*    background-color: var(--base-50);*/
/*    margin-bottom: 1rem;*/
/*}*/
/*.bio-info > div:not(.columns) {*/
/*    margin: 4rem 0;*/
/*    padding: 0 1rem;*/
/*}*/
/*.bio-info h2 {*/
/*    margin: 0!important;*/
/*    font-size: var(--medium);*/
/*    font-family: var(--body);*/
/*    font-weight: var(--bWeight);*/
/*}*/
/*.bio-info h3 {*/
/*    margin: 1em 0!important;*/
/*    font-size: var(--medium);*/
/*}*/
/*.bio-info figure {*/
/*    margin: 0;*/
/*    padding: 0;*/
/*}*/
/*.bio-info img {*/
/*    width: 100%;*/
/*    height: auto;*/
/*    aspect-ratio: 5/4;*/
/*    object-fit: cover;*/
/*}*/
/*    #contact {*/
/*        max-width: var(--alignWide);*/
/*    }*/
/*    #contact h2,*/
/*    section.inline h2 {*/
/*        font-size: var(--medium);*/
/*        font-weight: var(--bWeight);*/
/*        margin: 0 0 .5em 0!important;*/
/*        white-space: nowrap;*/
/*    }*/
/*ul.contact {*/
/*    list-style: none;*/
/*    display: inline-flex;*/
/*    justify-content: flex-start;*/
/*    flex-wrap: wrap;*/
/*    align-items: center;*/
/*    gap: 1rem;*/
/*    margin: 0;*/
/*    padding: 0;*/
/*}*/
/*    ul.contact + ul.contact {*/
/*        margin-left: 1rem;*/
/*    }*/
/*    ul.contact a{*/
/*        color: var(--contrast);*/
/*    }*/
/*        ul.contact a:hover {*/
/*            color: var(--action-0);*/
/*        }*/
/*.term-list {*/
/*    display: inline-flex;*/
/*    flex-wrap: wrap;*/
/*    list-style: none;*/
/*    text-transform: lowercase;*/
/*    margin: 0;*/
/*    padding: 0;*/
/*    gap: 0 .5em;*/
/*}*/
/*p.loading {*/
/*    text-align: center;*/
/*    margin: 3rem 0;*/
/*}*/
/*
/*.term-list li {*/
/*    padding: 2px 6px;*/
/*}*/
/*ul.simple-list {*/
/*    margin: 0;*/
/*    padding: 0;*/
/*    list-style: none;*/
/*}*/
/*ul.reviews li + li{*/
/*    margin-top: 2rem;*/
/*}*/
/*!*!* Status notification *!*/
/*!*.status-notification {*!*/
/*!*    position: fixed;*!*/
/*!*    bottom: 20px;*!*/
/*!*    left: 80px; !* Position to the right of the panel *!*!*/
/*!*    width: 300px;*!*/
/*!*    max-width: calc(100vw - 100px);*!*/
/*!*    border-radius: 8px;*!*/
/*!*    padding: 15px;*!*/
/*!*    background: #323232;*!*/
/*!*    color: white;*!*/
/*!*    transform: translateY(20px);*!*/
/*!*    opacity: 0;*!*/
/*!*    transition: transform .3s, opacity .3s;*!*/
/*!*    z-index: 10000;*!*/
/*!*    box-shadow: 0 4px 20px rgba(0, 0, 0, .2);*!*/
/*!*    pointer-events: none;*!*/
/*!*}*!*/
/*!*.status-notification.active {*!*/
/*!*    transform: translateY(0);*!*/
/*!*    opacity: 1;*!*/
/*!*    pointer-events: auto;*!*/
/*!*}*!*/
/*!*.status-notification .title {*!*/
/*!*    font-weight: 600;*!*/
/*!*    margin-bottom: 5px;*!*/
/*!*    font-size: 15px;*!*/
/*!*}*!*/
/*!*.status-notification .message {*!*/
/*!*    margin-bottom: 10px;*!*/
/*!*    font-size: 14px;*!*/
/*!*}*!*/
/*!*.status-notification .actions {*!*/
/*!*    display: flex;*!*/
/*!*    justify-content: flex-end;*!*/
/*!*}*!*/
/*!*.status-notification .actions button {*!*/
/*!*    padding: 6px 12px;*!*/
/*!*    background: rgba(255, 255, 255, .2);*!*/
/*!*    border: none;*!*/
/*!*    border-radius: 4px;*!*/
/*!*    color: white;*!*/
/*!*    cursor: pointer;*!*/
/*!*    font-size: 13px;*!*/
/*!*    transition: background .2s;*!*/
/*!*}*!*/
/*!*.status-notification .actions button:hover {*!*/
/*!*    background: rgba(255, 255, 255, .3);*!*/
/*!*}*!*/
/*!* Progress containers in notifications *!*/
/*.progress-container {*/
/*    margin-top: 15px;*/
/*    background: rgba(255, 255, 255, .1);*/
/*    border-radius: 4px;*/
/*    padding: 10px;*/
/*    transition: all .3s;*/
/*}*/
/*.progress-container.complete {*/
/*    opacity: .5;*/
/*}*/
/*!* Collapsed state - just show the toggle button *!*/
/*!***/
/*Response stuff*/
/* *!*/
/*.columns {*/
/*    --wrap: nowrap;*/
/*}*/
/*    .columns.stack-small {*/
/*        --wrap: wrap;*/
/*    }*/
/*    @media (min-width: 768px){*/
/*        .columns.stack-small {*/
/*            --wrap: nowrap;*/
/*        }*/
/*    }*/
/*.column {*/
/*    width: 100%;*/
/*    padding: 1rem 0;*/
/*}*/
/*.width-300 {*/
/*    width: 300px!important;*/
/*    height: auto!important;*/
/*}*/
    .stack-small.stack-small {
        --wrap: wrap;
    }
    @media (min-width: 768px){
        .stack-small.stack-small {
            --wrap: nowrap;
        }
    }
.font-small {
    font-size: var(--small);
}
.font-medium {
    font-size: var(--medium);
}
.font-large {
    font-size: var(--large);
}
/*!***/
/*Circular Loader*/
/* *!*/
/*!*.new-term-toggle:disabled + .loader,*!*/
/*!*.loading .loader {*!*/
/*!*    width: 50px;*!*/
/*!*    aspect-ratio: 1;*!*/
/*!*    display: grid;*!*/
/*!*    border: 4px solid #0000;*!*/
/*!*    border-radius: 50%;*!*/
/*!*    border-right-color: var(--action-0);*!*/
/*!*    animation: l15 1s infinite linear;*!*/
/*!*}*!*/
/*!*.new-term-toggle:disabled + .loader::before,*!*/
/*!*.new-term-toggle:disabled + .loader::after,*!*/
/*!*.loading .loader::before,*!*/
/*!*.loading .loader::after {*!*/
/*!*    content: "";*!*/
/*!*    grid-area: 1/1;*!*/
/*!*    margin: 2px;*!*/
/*!*    border: inherit;*!*/
/*!*    border-radius: 50%;*!*/
/*!*    animation: l15 2s infinite;*!*/
/*!*}*!*/
/*!*.new-term-toggle:disabled + .loader::after,*!*/
/*!*.loading .loader::after {*!*/
/*!*    margin: 8px;*!*/
/*!*    animation-duration: 3s;*!*/
/*!*}*!*/
/*!*@keyframes l15{*!*/
/*!*    100%{transform: rotate(1turn)}*!*/
/*!*}*!*/
/*!* High contrast mode support *!*/
/*@media (forced-colors: active) {*/
/*    .feed-item {*/
/*        border: 1px solid CanvasText;*/
/*    }*/
/*    button,*/
/*    [role="button"] {*/
/*        border: 1px solid ButtonText;*/
/*    }*/
/*    button.favourite.favourited {*/
/*        background-color: Highlight;*/
/*        color: HighlightText;*/
/*    }*/
/*}*/
/*!** TODO: Verify **!*/
input[type=time],
input[type=datetime-local],
input[type=date] {
    padding: .5rem;
    border: 1px solid var(--contrast-200);
    border-radius: 4px;
    font-size: 14px;
    min-width: 180px;
    background: var(--base);
    color: var(--contrast);
    cursor: pointer;
    transition: border-color .2s ease;
}
.field-input-wrapper input[type=time]:focus,
.field-input-wrapper input[type=datetime-local]:focus,
.field-input-wrapper input[type=date]:focus,
.time-wrapper input[type=time]:focus,
.datetime-wrapper input[type=datetime-local]:focus,
.date-wrapper input[type=date]:focus {
    border-color: var(--action-0);
    box-shadow: 0 0 0 2px rgba(var(--action-rgb), .1);
}
/* Icon styling in form fields */
.field-input-wrapper .icon,
.time-wrapper .icon,
.datetime-wrapper .icon,
.date-wrapper .icon {
    width: 18px;
    height: 18px;
    background-color: var(--contrast);
    opacity: .7;
}
/*!* Required field asterisk *!*/
/*.time-wrapper input[required],*/
/*.datetime-wrapper input[required],*/
/*.date-wrapper input[required] {*/
/*    border-left: 3px solid #dc3232;*/
/*}*/
/*!* Invalid field styling *!*/
/*.time-wrapper input:invalid,*/
/*.datetime-wrapper input:invalid,*/
/*.date-wrapper input:invalid {*/
/*    border-color: #dc3232;*/
/*    background-color: #fef7f7;*/
/*}*/
/*!* Frontend Display *!*/
/*.time-field-display,*/
/*.datetime-field-display,*/
/*.date-field-display {*/
/*    display: inline-flex;*/
/*    align-items: center;*/
/*    gap: .5rem;*/
/*    padding: .25rem 0;*/
/*}*/
/*.time-field-display svg,*/
/*.datetime-field-display svg,*/
/*.date-field-display svg {*/
/*    width: 16px;*/
/*    height: 16px;*/
/*    color: #0073aa;*/
/*    flex-shrink: 0;*/
/*}*/
/*.time-value,*/
/*.datetime-value,*/
/*.date-value {*/
/*    font-weight: 500;*/
/*    color: #333;*/
/*}*/
/*!* Set and Checkbox Field Display *!*/
/*.set-field-display {*/
/*    --wrap: wrap;*/
/*}*/
/*.set-label,*/
/*.checkbox-label {*/
/*    font-weight: 600;*/
/*    color: #555;*/
/*}*/
/*.set-item {*/
/*    background: #f0f0f1;*/
/*    padding: .25rem .5rem;*/
/*    border-radius: 3px;*/
/*    font-size: .9em;*/
/*    border: 1px solid #ddd;*/
/*}*/
/*!* Radio and Select Field Display *!*/
/*.radio-field-display,*/
/*.select-field-display {*/
/*    display: inline-flex;*/
/*    align-items: center;*/
/*    gap: .5rem;*/
/*}*/
/*.radio-label,*/
/*.select-label {*/
/*    font-weight: 600;*/
/*    color: #555;*/
/*}*/
/*.radio-value,*/
/*.select-value {*/
/*    background: #f8f9fa;*/
/*    padding: .25rem .5rem;*/
/*    border-radius: 3px;*/
/*    border: 1px solid #dee2e6;*/
/*}*/
/*!* True/False Field Display *!*/
/*.true-false-display {*/
/*    display: inline-flex;*/
/*    align-items: center;*/
/*    gap: .5rem;*/
/*}*/
/*.true-false-label {*/
/*    font-weight: 600;*/
/*    color: #555;*/
/*}*/
/*.true-value {*/
/*    color: var(--success);*/
/*    font-weight: 600;*/
/*}*/
/*.false-value {*/
/*    color: var(--error);*/
/*    font-weight: 600;*/
/*}*/
/*!* Group Field Styling *!*/
/*.group-field {*/
/*    border: 1px solid #e0e0e0;*/
/*    border-radius: 6px;*/
/*    padding: 1rem;*/
/*    margin: 1rem 0;*/
/*    background: #fafafa;*/
/*}*/
/*.group-label {*/
/*    font-size: 1.1em;*/
/*    font-weight: 600;*/
/*    color: #333;*/
/*    margin: 0 0 1rem 0;*/
/*    padding-bottom: .5rem;*/
/*    border-bottom: 1px solid #e0e0e0;*/
/*}*/
/*.group-content {*/
/*    --gap: .75rem;*/
/*}*/
/*.group-item {*/
/*    padding: .5rem 0;*/
/*    border-bottom: 1px solid #f0f0f0;*/
/*}*/
/*.group-item:last-child {*/
/*    border-bottom: none;*/
/*}*/
/*.subfield-label {*/
/*    font-weight: 600;*/
/*    color: #555;*/
/*    margin-right: .5rem;*/
/*}*/
/*!* Responsive Design *!*/
/*@media (max-width: 768px) {*/
/*    .time-wrapper input[type="time"],*/
/*    .datetime-wrapper input[type="datetime-local"],*/
/*    .date-wrapper input[type="date"] {*/
/*        min-width: 150px;*/
/*        font-size: 16px; !* Prevents zoom on iOS *!*/
/*    }*/
/*    .set-field-display,*/
/*    .checkbox-field-display {*/
/*        flex-direction: column;*/
/*        align-items: flex-start;*/
/*    }*/
/*    .group-content {*/
/*        gap: .5rem;*/
/*    }*/
/*}*/
legend {
    padding: 0 1rem;
}
.abs {
    position: absolute;
}
.top {
    top: 0;
    right: 0;
    left: 0;
}
.top-right {
    top: 0;
    right: 0;
}
.top-left {
    top: 0;
    left: 0;
}
.btm {
    bottom: 0;
    left: 0;
    right: 0;
}
.btm-right {
    bottom: 0;
    right: 0;
}
.btm-left {
    bottom: 0;
    left: 0;
}
.edges {
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
}
/*********************** REFERRAL SYSTEM ***********************/
.referral-widget {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 24px;
    margin: 20px 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.referral-header {
    text-align: center;
    margin-bottom: 20px;
}
.referral-header h3 {
    margin: 0 0 8px 0;
    color: #2271b1;
}
.referral-header p {
    margin: 0;
    color: #666;
    font-size: 14px;
}
/* Share Widget Styles */
.referral-link-section {
    margin-bottom: 20px;
}
.referral-link-section label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #333;
}
.link-copy-wrapper {
    display: flex;
    gap: 8px;
}
.link-copy-wrapper input {
    flex: 1;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-family: monospace;
    font-size: 13px;
    background: #f9f9f9;
}
.copy-link-btn {
    padding: 10px 20px;
    background: #2271b1;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
    white-space: nowrap;
    transition: background 0.2s;
}
.copy-link-btn:hover {
    background: #135e96;
}
.referral-code-display {
    margin: 8px 0 0 0;
    font-size: 13px;
    color: #666;
}
.referral-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
    padding: 16px;
    background: #f8f9fa;
    border-radius: 6px;
}
.stat-item {
    text-align: center;
}
.stat-value {
    display: block;
    font-size: 24px;
    font-weight: bold;
    color: #2271b1;
}
.stat-label {
    display: block;
    font-size: 12px;
    color: #666;
    margin-top: 4px;
}
.share-buttons {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}
.share-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s;
}
.share-btn:hover {
    background: #f5f5f5;
    border-color: #999;
}
/* Validation Widget Styles */
.form-group {
    margin-bottom: 16px;
}
.form-group label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #333;
}
.input-button-wrapper {
    display: flex;
    gap: 8px;
}
.input-button-wrapper input {
    flex: 1;
    padding: 12px 16px;
    border: 2px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    font-family: monospace;
    font-weight: 600;
    text-transform: uppercase;
    transition: border-color 0.2s;
}
.input-button-wrapper input:focus {
    outline: none;
    border-color: #2271b1;
}
.validate-btn {
    padding: 12px 24px;
    background: #2271b1;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
    white-space: nowrap;
    transition: background 0.2s;
}
.validate-btn:hover {
    background: #135e96;
}
.validate-btn:disabled {
    background: #ccc;
    cursor: not-allowed;
}
.helper-text {
    margin: 8px 0 0 0;
    font-size: 13px;
    color: #666;
}
.helper-text a {
    color: #2271b1;
    text-decoration: none;
}
.helper-text a:hover {
    text-decoration: underline;
}
.message {
    padding: 12px 16px;
    border-radius: 4px;
    margin-top: 16px;
    font-size: 14px;
}
.message.success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}
.message.error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}
/* Success State Styles */
.referral-success-state {
    text-align: center;
}
.success-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    background: #28a745;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 40px;
}
.success-content h3 {
    color: #28a745;
    margin: 0 0 12px 0;
}
.reward-highlight {
    background: #e7f5ff;
    padding: 20px;
    border-radius: 6px;
    margin: 20px 0;
    border-left: 4px solid #2271b1;
}
.reward-highlight strong {
    color: #2271b1;
    font-size: 18px;
}
.cta-button {
    display: inline-block;
    padding: 14px 32px;
    background: #2271b1;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
    margin-top: 16px;
    transition: background 0.2s;
}
.cta-button:hover {
    background: #135e96;
}
.referred-by {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #ddd;
    font-size: 13px;
    color: #666;
}
.loading-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #2271b1;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-left: 8px;
    vertical-align: middle;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
/* Responsive */
@media (max-width: 600px) {
    .input-button-wrapper {
        flex-direction: column;
@keyframes dance {
    0%, 100% {
        transform: rotate(-5deg) scale(1);
    }
    .validate-btn {
        width: 100%;
    }
    .link-copy-wrapper {
        flex-direction: column;
    }
    .copy-link-btn {
        width: 100%;
    50% {
        transform: rotate(5deg) scale(1.1);
    }
}
.callalt.callalt,
.callout.callout {
    padding: 2rem;
    margin: 2rem 0;
    max-width: none;
}
@media (min-width: 768px){
    .callout.callout {
        padding: 2rem 20vw;
    }
.content-term-list, .content-term-list ul,
.content-term-list li {
    list-style: none;
    margin: 0;
    padding: 0;
}
.callout.callout {
    background-color: var(--action-0);
    color: var(--action-contrast);
.content-term-list .item {
    flex-direction: column;
}
.callalt.callalt {
    background-color: var(--secondary-0);
    color: var(--secondary-contrast);
}
    .callalt h1,
    .callalt h2,
    .callalt h3,
    .callalt h4,
    .callalt h5,
    .callalt h6,
    .callout h1,
    .callout h2,
    .callout h3,
    .callout h4,
    .callout h5,
    .callout h6 {
        font-family: var(--body);
        font-weight: var(--bBold);
        margin: 1rem 0 0;
        width: 100%;
    }
    .callout a {
        background-color: var(--action-contrast);
        padding: 0 .125rem;
        border-radius: 4px;
    }
    .attn {
        animation: pulse-color 5s infinite;
        animation-delay: 1s;
    }
    @media (min-width:768px ){
        .media-text {
            --wrap: nowrap;
        }
    }
    .media-text > div,
    .media-text figure {
        width: 100%;
        margin: 0;
    }
    .media-text > div {
        max-width: var(--maxWidth);
        margin: 0 auto;
        padding: 2rem;
    }
.content-term-list h3 {
    font-size: var(--txt-medium);
    font-weight: var(--fw-h);
}