-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
51 lines (41 loc) · 62.4 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Welcome- Brian Baldock</title><base href="/"><script><!-- inlined for all pages -->
(()=>{var m=Object.defineProperty;var p=(h,t,e)=>t in h?m(h,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):h[t]=e;var l=(h,t,e)=>p(h,typeof t!="symbol"?t+"":t,e);var r=class r extends HTMLElement{constructor(){super(),this.ready=new Promise(t=>{this.readyResolve=t})}static getParents(t,e=!1){let a=[];for(;t;){if(t.matches&&t.matches(r.tagName)){if(e&&t===e)break;c.hasConditions(t)&&a.push(t)}t=t.parentNode}return a}static async ready(t,e){if(e||(e=r.getParents(t)),e.length===0)return;let a=await Promise.all(e.map(i=>i.wait()));if(a.length)return a[0]}forceFallback(){window.Island&&Object.assign(r.fallback,window.Island.fallback);for(let t in r.fallback){let e=Array.from(this.querySelectorAll(t)).reverse();for(let a of e){if(!a.isConnected)continue;let i=r.getParents(a);if(i.length===1){let o=r.ready(a,i);r.fallback[t](o,a,r.prefix)}}}}wait(){return this.ready}async connectedCallback(){c.hasConditions(this)&&this.forceFallback(),await this.hydrate()}getTemplates(){return this.querySelectorAll(`template[${r.attr.template}]`)}replaceTemplates(t){for(let e of t){if(r.getParents(e,this).length>0)continue;let a=e.getAttribute(r.attr.template);if(a==="replace"){let i=Array.from(this.childNodes);for(let o of i)this.removeChild(o);this.appendChild(e.content);break}else{let i=e.innerHTML;if(a==="once"&&i){if(r.onceCache.has(i)){e.remove();return}r.onceCache.set(i,!0)}e.replaceWith(e.content)}}}async hydrate(){let t=[];this.parentNode&&t.push(r.ready(this.parentNode));let e=c.getConditions(this);for(let a in e)c.map[a]&&t.push(c.map[a](e[a],this));await Promise.all(t),this.replaceTemplates(this.getTemplates());for(let a of r.onReady.values())await a.call(this,r);this.readyResolve(),this.setAttribute(r.attr.ready,""),this.querySelectorAll(`[${r.attr.defer}]`).forEach(a=>a.removeAttribute(r.attr.defer))}};l(r,"tagName","is-land"),l(r,"prefix","is-land--"),l(r,"attr",{template:"data-island",ready:"ready",defer:"defer-hydration"}),l(r,"onceCache",new Map),l(r,"onReady",new Map),l(r,"fallback",{":not(is-land,:defined,[defer-hydration])":(t,e,a)=>{let i=document.createElement(a+e.localName);for(let n of e.getAttributeNames())i.setAttribute(n,e.getAttribute(n));let o=e.shadowRoot;if(!o){let n=e.querySelector(":scope > template:is([shadowrootmode], [shadowroot])");if(n){let f=n.getAttribute("shadowrootmode")||n.getAttribute("shadowroot")||"closed";o=e.attachShadow({mode:f}),o.appendChild(n.content.cloneNode(!0))}}return o&&i.attachShadow({mode:o.mode}).append(...o.childNodes),i.append(...e.childNodes),e.replaceWith(i),t.then(()=>{i.shadowRoot&&e.shadowRoot.append(...i.shadowRoot.childNodes),e.append(...i.childNodes),i.replaceWith(e)})}});var d=r,s=class s{static hasConditions(t){return Object.keys(s.getConditions(t)).length>0}static getConditions(t){let e={};for(let a of Object.keys(s.map))t.hasAttribute(`on:${a}`)&&(e[a]=t.getAttribute(`on:${a}`));return e}static visible(t,e){if("IntersectionObserver"in window)return new Promise(a=>{let i=new IntersectionObserver(o=>{let[n]=o;n.isIntersecting&&(i.unobserve(n.target),a())});i.observe(e)})}static idle(){let t=new Promise(e=>{document.readyState!=="complete"?window.addEventListener("load",()=>e(),{once:!0}):e()});return"requestIdleCallback"in window?Promise.all([new Promise(e=>{requestIdleCallback(()=>{e()})}),t]):t}static interaction(t,e){let a=["click","touchstart"];return t&&(a=(t||"").split(",").map(i=>i.trim())),new Promise(i=>{function o(n){i();for(let f of a)e.removeEventListener(f,o)}for(let n of a)e.addEventListener(n,o,{once:!0})})}static media(t){let e={matches:!0};if(t&&"matchMedia"in window&&(e=window.matchMedia(t)),!e.matches)return new Promise(a=>{e.addListener(i=>{i.matches&&a()})})}static saveData(t){if(!(!("connection"in navigator)||navigator.connection.saveData===(t!=="false")))return new Promise(()=>{})}};l(s,"map",{visible:s.visible,idle:s.idle,interaction:s.interaction,media:s.media,"save-data":s.saveData});var c=s;"customElements"in window&&(window.customElements.define(d.tagName,d),window.Island=d);var w=d.ready;})();
(()=>{var a="theme-preference";var l={dark:"#353535",light:"#F2F2D9"},t={value:s()};window.onload=()=>{let e=document.querySelector("#light-theme-toggle"),r=document.querySelector("#dark-theme-toggle");document.querySelector("[data-theme-switcher]")&&(c(),o(),e.addEventListener("click",()=>n("light")),r.addEventListener("click",()=>n("dark")),e.setAttribute("aria-pressed",t.value==="light"),r.setAttribute("aria-pressed",t.value==="dark"))};window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",({matches:e})=>{t.value=e?"dark":"light",i(),o()});function n(e){t.value=e,document.querySelector("#light-theme-toggle").setAttribute("aria-pressed",e==="light"),document.querySelector("#dark-theme-toggle").setAttribute("aria-pressed",e==="dark"),i(),o()}function s(){return localStorage.getItem(a)?localStorage.getItem(a):window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function i(){localStorage.setItem(a,t.value),c(),o()}function c(){document.firstElementChild.setAttribute("data-theme",t.value)}function o(){let e=document.querySelector('meta[name="theme-color"]'),r=t.value==="dark"?l.dark:l.light;e.setAttribute("content",r)}c();})();</script><script type="application/ld+json">{
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebSite",
"@id": "https://www.brianbaldock.com#website",
"url": "https://www.brianbaldock.com",
"name": "Brian Baldock",
"description": "My personal site, blog and repository of thought",
"inLanguage": "en_CA"
}
]
}</script><style>.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1}.filter{--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: }*,:after,:before{box-sizing:border-box}:where(*){text-wrap:pretty}:where(h1,h2,h3,h4){text-wrap:balance}:where(html:focus-within){scroll-behavior:smooth}:where(body){line-height:1.5;min-height:100vh;min-height:100dvh;text-rendering:optimizeSpeed}:where(body,h1,h2,h3,h4,p,figure,blockquote,dl,dd){margin:0}:where(ul[role=list],ol[role=list]){list-style:none}:where([role=list]){padding:0}:where(a:not([class])){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}:where(img,picture,svg,canvas){background-repeat:no-repeat;background-size:cover;block-size:auto;font-style:italic;max-inline-size:100%;shape-margin:.75rem;vertical-align:middle}:where(button){all:unset}:where(button,input,select,textarea){color:inherit;font:inherit}:where(textarea){resize:vertical;resize:block}:where(textarea:not([rows])){min-height:10em}:where(button,label,select,summary,[role=button],[role=option]){cursor:pointer}:where(:target){scroll-margin-block-start:2ex}:where(:focus){scroll-margin-block-end:8vh}:where(dialog){background:none;border:none;inset:unset;max-height:unset;max-width:unset}:where([popover]){background:none;border:none;color:inherit;inset:unset}:where([popover]:not(:popover-open)),:where(dialog:not([open],[popover])){display:none!important}:where(html:has(dialog[open]:modal)){overflow:hidden}@font-face{font-display:swap;font-family:RobotoMono;font-style:normal;font-weight:400;src:local(""),url(/assets/fonts/robotomono/robotomono-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:normal;font-weight:100;src:local(""),url(/assets/fonts/claritycity/ClarityCity-Thin.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:italic;font-weight:100;src:local(""),url(/assets/fonts/claritycity/ClarityCity-ThinItalic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:normal;font-weight:200;src:local(""),url(/assets/fonts/claritycity/ClarityCity-ExtraLight.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:italic;font-weight:200;src:local(""),url(/assets/fonts/claritycity/ClarityCity-ExtraLightItalic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:normal;font-weight:300;src:local(""),url(/assets/fonts/claritycity/ClarityCity-Light.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:italic;font-weight:300;src:local(""),url(/assets/fonts/claritycity/ClarityCity-LightItalic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:normal;font-weight:400;src:local(""),url(/assets/fonts/claritycity/ClarityCity-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:italic;font-weight:400;src:local(""),url(/assets/fonts/claritycity/ClarityCity-RegularItalic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:normal;font-weight:500;src:local(""),url(/assets/fonts/claritycity/ClarityCity-Medium.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:italic;font-weight:500;src:local(""),url(/assets/fonts/claritycity/ClarityCity-MediumItalic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:normal;font-weight:600;src:local(""),url(/assets/fonts/claritycity/ClarityCity-SemiBold.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:italic;font-weight:600;src:local(""),url(/assets/fonts/claritycity/ClarityCity-SemiBoldItalic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:normal;font-weight:700;src:local(""),url(/assets/fonts/claritycity/ClarityCity-Bold.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:italic;font-weight:700;src:local(""),url(/assets/fonts/claritycity/ClarityCity-BoldItalic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:normal;font-weight:800;src:local(""),url(/assets/fonts/claritycity/ClarityCity-ExtraBold.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:italic;font-weight:800;src:local(""),url(/assets/fonts/claritycity/ClarityCity-ExtraBoldItalic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:normal;font-weight:900;src:local(""),url(/assets/fonts/claritycity/ClarityCity-Black.woff2) format("woff2")}@font-face{font-display:swap;font-family:Clarity City;font-style:italic;font-weight:900;src:local(""),url(/assets/fonts/claritycity/ClarityCity-BlackItalic.woff2) format("woff2")}:root{--color-base-dark:#353535;--color-base-light:#f2f2d9;--color-primary-highlight:#e79419;--color-secondary-highlight:#ecaa46;--color-tertiary-highlight:#77b6a6;--color-quaternary-highlight:#3c6e71;--color-quinary-highlight:#346063;--space-2xs:clamp(0.1875rem,0.15rem + 0.19vw,0.3125rem);--space-xs:clamp(0.3125rem,0.27rem + 0.19vw,0.4375rem);--space-s:clamp(0.625rem,0.55rem + 0.38vw,0.875rem);--space-m:clamp(0.875rem,0.74rem + 0.67vw,1.3125rem);--space-l:clamp(1.1875rem,1.01rem + 0.87vw,1.75rem);--space-xl:clamp(2.375rem,2.03rem + 1.73vw,3.5rem);--space-2xl:clamp(3.5625rem,3.04rem + 2.60vw,5.25rem);--space-3xl:clamp(5.9375rem,5.07rem + 4.33vw,8.75rem);--space-xs-s:clamp(0.3125rem,0.14rem + 0.87vw,0.875rem);--space-s-m:clamp(0.625rem,0.41rem + 1.06vw,1.3125rem);--space-m-l:clamp(0.875rem,0.61rem + 1.35vw,1.75rem);--space-l-xl:clamp(1.1875rem,0.48rem + 3.56vw,3.5rem);--space-l-2xl:clamp(2.375rem,1.49rem + 4.42vw,5.25rem);--space-xl-2xl:clamp(3.5625rem,1.97rem + 7.98vw,8.75rem);--space-2xl-3xl:clamp(5.9375rem,3.46rem + 12.40vw,14rem);--size-step-min-2:clamp(0.868125rem,0.84rem + 0.14vw,0.96rem);--size-step-min-1:clamp(1.041875rem,0.99rem + 0.24vw,1.2rem);--size-step-0:clamp(1.25rem,1.17rem + 0.38vw,1.5rem);--size-step-1:clamp(1.5rem,1.38rem + 0.58vw,1.875rem);--size-step-2:clamp(1.8rem,1.63rem + 0.84vw,2.34375rem);--size-step-3:clamp(2.16rem,1.92rem + 1.18vw,2.93rem);--size-step-4:clamp(2.591875rem,2.26rem + 1.65vw,3.661875rem);--size-step-5:clamp(3.110625rem,2.66rem + 2.26vw,4.5775rem);--size-step-6:clamp(3.7325rem,3.12rem + 3.06vw,5.721875rem);--leading-flat:1;--leading-fine:1.2;--leading-standard:1.4;--font-display:Clarity City,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;--font-base:Clarity City,Optima,Candara,Noto Sans,source-sans-pro,sans-serif;--font-mono:RobotoMono,ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,DejaVu Sans Mono,monospace;--font-thin:100;--font-extra-light:200;--font-light:300;--font-regular:400;--font-medium:500;--font-semi-bold:600;--font-bold:700;--font-extra-bold:800;--font-black:900;--gutter:var(--space-m-l);--border-radius:0.3rem;--transition-duration:250ms;--transition-timing:ease;--wrapper-width:85rem;--tracking:-0.05ch;--tracking-s:-0.075ch;--tracking-wide:0.05ch;--gradient-reflection:linear-gradient(45deg,var(--color-primary),var(--color-secondary),var(--color-primary));--gradient-linear:linear-gradient(0deg,var(--color-primary),var(--color-tertiary));--gradient-conic:conic-gradient(var(--color-primary) 0 33.333%,var(--color-quaternary) 0 66.666%,var(--color-tertiary) 0 99.999%);--gradient-stripes:linear-gradient(45deg,var(--color-base-dark) 0 70%,var(--color-primary) 0 80%,var(--color-quaternary) 0 90%,var(--color-tertiary) 0 100%)}:root,:root[data-theme=light]{--color-dark:var(--color-base-dark);--color-light:var(--color-base-light);--color-text:var(--color-base-dark);--color-bg:var(--color-base-light);--color-base:var(--color-base-dark);--color-primary:var(--color-primary-highlight);--color-secondary:var(--color-secondary-highlight);--color-tertiary:var(--color-tertiary-highlight);--color-quaternary:var(--color-quaternary-highlight);--color-quinary:var(--color-quinary-highlight);--color-text-accent:#505050;--color-bg-accent:#fdfdfd;--color-bg-accent-2:#f7f7f7}@media (prefers-color-scheme:dark){:root{--color-text:var(--color-base-light);--color-bg:var(--color-base-dark);--color-base:var(--color-base-light);--color-primary:var(--color-primary-highlight);--color-secondary:var(--color-secondary-highlight);--color-tertiary:var(--color-tertiary-highlight);--color-quaternary:var(--color-quaternary-highlight);--color-quinary:var(--color-quinary-highlight);--color-text-accent:#a8a8a8;--color-bg-accent:#383838;--color-bg-accent-2:#404040}}:root[data-theme=dark]{--color-text:var(--color-base-light);--color-bg:var(--color-base-dark);--color-base:var(--color-base-light);--color-primary:var(--color-primary-highlight);--color-secondary:var(--color-secondary-highlight);--color-tertiary:var(--color-tertiary-highlight);--color-quaternary:var(--color-quaternary-highlight);--color-quinary:var(--color-quinary-highlight);--color-text-accent:#a8a8a8;--color-bg-accent:#383838;--color-bg-accent-2:#404040}@supports (background:color-mix(in srgb,red 50%,blue)){:root,:root[data-theme=light]{--color-text-accent:color-mix(in oklab,var(--color-base-dark) 80%,var(--color-bg));--color-bg-accent:color-mix(in oklab,var(--color-bg) 90%,var(--color-text));--color-bg-accent-2:color-mix(in oklab,var(--color-bg) 70%,var(--color-text));--color-primary-sub-20:color-mix(in oklab,var(--color-primary-highlight),var(--color-bg) 20%);--color-secondary-sub-20:color-mix(in oklab,var(--color-secondary-highlight),var(--color-bg) 20%);--color-tertiary-sub-20:color-mix(in oklab,var(--color-tertiary-highlight),var(--color-bg) 20%);--color-quaternary-sub-20:color-mix(in oklab,var(--color-quaternary-highlight),var(--color-bg) 20%);--color-quinary-sub-20:color-mix(in oklab,var(--color-quinary-highlight),var(--color-bg) 20%);--color-primary-add-20:color-mix(in oklab,var(--color-primary-highlight),#000 20%);--color-secondary-add-20:color-mix(in oklab,var(--color-secondary-highlight),#000 20%)}@media (prefers-color-scheme:dark){:root{--color-text-accent:color-mix(in oklab,var(--color-base-light) 70%,var(--color-bg));--color-bg-accent:color-mix(in oklab,var(--color-bg) 92%,var(--color-text));--color-bg-accent-2:color-mix(in oklab,var(--color-bg) 80%,var(--color-text));--color-primary:var(--color-primary-sub-20);--color-secondary:var(--color-secondary-sub-20);--color-tertiary:var(--color-tertiary-sub-20);--color-quaternary:var(--color-quaternary-sub-20);--color-quinary:var(--color-quinary-sub-20);--color-primary-add-20:color-mix(in oklab,var(--color-primary-highlight),var(--color-bg) 20%);--color-secondary-add-20:color-mix(in oklab,var(--color-secondary-highlight),var(--color-bg) 20%)}}:root[data-theme=dark]{--color-text-accent:color-mix(in oklab,var(--color-base-light) 70%,var(--color-bg));--color-bg-accent:color-mix(in oklab,var(--color-bg) 92%,var(--color-text));--color-bg-accent-2:color-mix(in oklab,var(--color-bg) 80%,var(--color-text));--color-primary:var(--color-primary-sub-20);--color-secondary:var(--color-secondary-sub-20);--color-tertiary:var(--color-tertiary-sub-20);--color-quaternary:var(--color-quaternary-sub-20);--color-quinary:var(--color-quinary-sub-20);--color-primary-add-20:color-mix(in oklab,var(--color-primary-highlight),var(--color-bg) 20%);--color-secondary-add-20:color-mix(in oklab,var(--color-secondary-highlight),var(--color-bg) 20%)}}@supports (color:hsl(from red h s l)){@media (prefers-color-scheme:dark){:root{--color-primary:hsl(from var(--color-primary-highlight) h calc(s / 1.2) l);--color-secondary:hsl(from var(--color-secondary-highlight) h calc(s / 1.2) l);--color-tertiary:hsl(from var(--color-tertiary-highlight) h calc(s / 1.2) l);--color-quaternary:hsl(from var(--color-quaternary-highlight) h calc(s / 1.2) l);--color-quinary:hsl(from var(--color-quinary-highlight) h calc(s / 1.2) l)}}:root[data-theme=dark]{--color-primary:hsl(from var(--color-primary-highlight) h calc(s / 1.2) l);--color-secondary:hsl(from var(--color-secondary-highlight) h calc(s / 1.2) l);--color-tertiary:hsl(from var(--color-tertiary-highlight) h calc(s / 1.2) l);--color-quaternary:hsl(from var(--color-quaternary-highlight) h calc(s / 1.2) l);--color-quinary:hsl(from var(--color-quinary-highlight) h calc(s / 1.2) l)}}html{color-scheme:light dark;scrollbar-color:var(--color-text) var(--color-bg);scrollbar-width:auto}body{accent-color:var(--color-primary);background-color:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;font-family:var(--font-base);font-size:var(--size-step-0);font-size-adjust:from-font;font-weight:var(--font-medium);letter-spacing:var(--tracking);line-height:var(--leading-standard)}main{flex:auto}h1,h2,h3{font-family:var(--font-display);font-weight:var(--font-bold);letter-spacing:var(--tracking-s);line-height:var(--leading-fine)}h1{font-size:var(--size-step-6)}h2{font-size:var(--size-step-4)}h3{font-size:var(--size-step-2)}blockquote:not([class]),li,p{max-inline-size:65ch}ul:not([role=list]){margin-inline-start:1ch}blockquote{font-size:var(--size-step-2);padding:var(--space-m-l);position:relative;quotes:"“" "”" "‘" "’";&:before{content:open-quote;left:0;top:-.5rem}&:after,&:before{font-weight:var(--font-semi-bold);position:absolute}&:after{bottom:-.5rem;content:close-quote;right:0}}blockquote q{quotes:"‘" "’" "“" "”"}blockquote>*+*{margin-block-start:var(--space-m-l)}blockquote :last-child{font-family:var(--font-base);font-size:var(--size-step-1);font-style:normal}q{quotes:"“" "”" "‘" "’" "“" "”" "‘" "’" "“" "”"}svg{block-size:2ex;flex:none;inline-size:auto}b,strong{font-weight:var(--font-extra-bold)}hr{background-color:var(--color-bg-accent-2);border:0;height:1px;margin-block:var(--space-m-l);margin-inline-start:0;width:10%}a{color:currentcolor;text-decoration-thickness:.08em}a:hover{text-decoration:none}:focus-visible{outline:3px solid currentColor;outline-offset:.3ch}main:focus{outline:none}::-moz-selection{background-color:var(--color-text);color:var(--color-bg)}::selection{background-color:var(--color-text);color:var(--color-bg)}::-moz-placeholder{color:var(--color-text);opacity:1}::placeholder{color:var(--color-text);opacity:1}.preload-transitions *{transition:none!important}@media (scripting:none){.require-js{display:none}}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media print{*,:after,:before{background-color:transparent!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}@page{margin:1cm}a,a:visited{text-decoration:underline}a[href*="://"]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}body{font-size:var(--size-step-min-2);font-weight:var(--font-medium)}.grid{display:block!important}ul.grid{display:grid!important;grid-template-columns:1fr 1fr 1fr}h1{font-size:var(--size-step-1)}h2{font-size:var(--size-step-0)}h3{font-size:var(--size-step-min-1)}blockquote:not([class]),li,p{max-inline-size:75ch}#accessibility,.back-to-top-wrapper,.seperator,.site-footer-spacer,.site-head,.site-hero,.site-logo-spacer,.site-main-spacer,.site-navigation,.site-spacer,footer{display:none!important}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999}blockquote,figure,img,pre,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}h1:before{content:"brianbaldock.com";font-size:var(--size-step-min-2);font-weight:var(--font-medium);inset-block-start:3.5rem;inset-inline-end:-2.75rem;letter-spacing:.0125ch;position:absolute;transform:rotate(90deg);z-index:100}}:where(.cluster){align-items:var(--cluster-vertical-alignment,center);display:flex;flex-wrap:wrap;gap:var(--gutter,var(--space-s-l));justify-content:var(--cluster-horizontal-alignment,flex-start)}:where(.flow)>*+*{margin-block-start:var(--flow-space,1em)}:where(.grid){display:grid;gap:var(--gutter,var(--space-s-m));grid-template-columns:repeat(var(--grid-placement,auto-fill),minmax(var(--grid-min-item-size,16rem),1fr))}:where(.grid)[data-rows=masonry]{align-items:start;grid-template-rows:masonry}:where(.grid)[data-layout="50-50"]{--grid-placement:auto-fit;--grid-min-item-size:clamp(16rem,50vw,28rem);padding-block-end:var(--space-m-l);padding-inline:var(--space-m-l)}.grid[data-layout=site]{display:grid;gap:3px 3px;grid-template-areas:"header nav" "hero hero" "main main" "footer footer" "main-spacer main-spacer";grid-template-columns:1fr 1fr;grid-template-rows:10rem minmax(auto,min-content) minmax(250px,auto) max-content}@media (min-width:640px){.grid[data-layout=site]{background-color:var(--color-bg);grid-template-areas:". header ." "hero hero main-spacer" "nav main main-spacer" "nav main ." ". footer .";grid-template-columns:max(15ch) minmax(auto,3fr) minmax(10%,1.25fr);grid-template-rows:10rem minmax(200px,300px) minmax(200px,350px) auto max-content;&:before{background-image:linear-gradient(to bottom,var(--color-quaternary-highlight) 0 6.5rem,var(--color-tertiary-highlight) 6.5rem 7rem,var(--color-quinary-highlight) 7rem);grid-column:1}&:after,&:before{content:"";grid-row:1}&:after{background-color:var(--color-quaternary-highlight);grid-column:3}}}:where(.repel){align-items:var(--repel-vertical-alignment,center);display:flex;flex-wrap:wrap;gap:var(--gutter,var(--space-s-l));justify-content:space-between}:where(.repel)[data-nowrap]{flex-wrap:nowrap}:where(.sidebar){display:flex;flex-wrap:wrap;gap:var(--gutter,var(--space-s-l))}:where(.sidebar):not([data-direction])>:first-child{flex-basis:var(--sidebar-target-width,20rem);flex-grow:1}:where(.sidebar):not([data-direction])>:last-child{flex-basis:0;flex-grow:999;min-inline-size:var(--sidebar-content-min-width,50%)}:where(.sidebar)[data-direction=rtl]>:last-child{flex-basis:var(--sidebar-target-width,20rem);flex-grow:1}:where(.sidebar)[data-direction=rtl]>:first-child{flex-basis:0;flex-grow:999;min-inline-size:var(--sidebar-content-min-width,50%)}.switcher{align-items:var(--switcher-vertical-alignment,flex-start);display:flex;flex-wrap:wrap;gap:var(--gutter,var(--space-s-l))}.switcher>*{flex-basis:calc((var(--switcher-target-container-width, 40rem) - 100%)*999);flex-grow:1}.switcher>:nth-last-child(n+3),.switcher>:nth-last-child(n+3)~*{flex-basis:100%}.wrapper{--gap:clamp(1rem,6vw,3rem);--full:minmax(var(--gap),1fr);--content:min(var(--wrapper-width,85rem),100% - var(--gap) * 2);--popout:minmax(0,2rem);--feature:minmax(0,5rem);display:grid;grid-template-columns:[full-start] var(--full) [feature-start] var(--feature) [popout-start] var(--popout) [content-start] var(--content) [content-end] var(--popout) [popout-end] var(--feature) [feature-end] var(--full) [full-end]}.wrapper>*{grid-column:content}.prose-wrapper{--wrapper-width:64rem}.popout{grid-column:popout}.feature{grid-column:feature}.full{grid-column:full}.back-to-top-link-wrapper{display:none;inset-block-end:0;inset-block-start:100vh;inset-inline-end:0;position:absolute;width:3rem;z-index:100}.back-to-top-link{align-items:center;block-size:2rem;border:2px solid;border-radius:50%;display:flex;inline-size:2rem;inset-block-start:calc(100vh - 4.75rem);justify-content:center;padding:.25rem;position:fixed;transition:transform 80ms ease-in;&:hover{outline:outset currentColor;outline-offset:6px}}@media (min-width:662px){.back-to-top-link-wrapper{display:block}.back-to-top-link{border:0;inset-block-start:calc(100vh - 8rem)}}.button{background-color:var(--button-bg,var(--color-bg));border:2px solid var(--button-border,var(--color-text));border-radius:var(--border-radius);color:var(--button-text,var(--color-text));display:inline-block;font:inherit;font-weight:var(--font-bold);padding:.3rem var(--space-s);text-align:center;text-decoration:none}.button:hover,.button[aria-current=page],.button[aria-pressed=true],.button[data-state=active]{background-size:150% 150%;--button-bg:var(--color-text);--button-text:var(--color-bg);--button-border:var(--color-text)}.button:active{transform:scale(99%)}.button:where(:has(svg)){align-items:center;display:flex;gap:.5em}.button:where(:has(.visually-hidden)){border-radius:50%;padding:.5em}.button:where(:not(:has(svg))){min-inline-size:6ch;text-align:center}.button:where(:not(:has(.visually-hidden))){padding:var(--button-padding,.35em 1em)}:root{--color-code-orange:#e09952;--color-code-blue:var(--color-secondary);--color-code-indigo:#7d59c5;--color-code-violet:#e052bf;--color-code-pink:#e05269;--color-code-gray:#949494;--color-code-bg:color-mix(in oklab,var(--color-bg) 92%,#000)}code,pre{background-color:var(--color-code-bg);border-radius:var(--border-radius);font-family:var(--font-mono);font-size:var(--size-step-min-1)}code[class*=language-],pre[class*=language-]{white-space:pre;word-break:normal;word-spacing:normal;word-wrap:normal;-webkit-hyphens:none;hyphens:none}pre{grid-column:popout!important;overflow-x:auto;padding:var(--space-m-l)}:where(:not(pre))>code{padding:.1em .4em;position:relative;top:-.05em}pre[class*=language-]{overflow:auto;position:relative}[class*=language-] .namespace{opacity:.7}.token.atrule{color:var(--color-code-pink)}.token.attr-name{color:var(--color-code-orange)}.token.attr-value{color:var(--color-text-accent)}.token.attribute{color:var(--color-code-blue)}.token.boolean{color:var(--color-code-pink)}.token.builtin,.token.cdata,.token.char,.token.class,.token.class-name,.token.color{color:var(--color-code-orange)}.token.comment{color:var(--color-code-gray)}.token.constant,.token.deleted{color:var(--color-code-pink)}.token.doctype{color:var(--color-code-orange)}.token.entity,.token.function{color:var(--color-code-pink)}.token.hexcode{color:var(--color-code-orange)}.token.id,.token.important{color:var(--color-code-pink);font-weight:var(--font-bold)}.token.inserted{color:var(--color-code-orange)}.token.keyword{color:var(--color-code-pink);font-style:italic}.token.number{color:var(--color-text-accent)}.token.operator{color:var(--color-code-gray)}.token.prolog,.token.property{color:var(--color-code-orange)}.token.pseudo-class,.token.pseudo-element{color:var(--color-code-blue)}.token.punctuation{color:var(--color-code-gray)}.token.regex{color:var(--color-code-orange)}.token.selector{color:var(--color-code-pink)}.token.string{color:var(--color-text-accent)}.token.symbol,.token.tag,.token.unit{color:var(--color-code-pink)}.token.url{color:var(--color-code-violet)}.token.variable{color:var(--color-code-pink)}.codepen a{--icon-size:1.2em;align-items:center;display:flex;gap:var(--space-2xs)}.prose .cp_embed_wrapper,.prose .cp_embed_wrapper+script+:not(h2){--flow-space:var(--space-l)}.cp_embed_wrapper{display:grid;grid-column:popout;grid-template-areas:"container";overflow:auto;place-items:center;position:relative;resize:horizontal}.cp_embed_wrapper iframe{grid-area:container;width:100%}article [href^=http]:not([href*="localhost:8080"]):not([href*="brianbaldock.com"]):not(.button){padding-inline-end:.8em}article [href^=http]:not([href*="localhost:8080"]):not([href*="brianbaldock.com"]):not(.no-indicator):after{background-image:url(/assets/images/template/external.svg);background-position:50%;background-repeat:no-repeat;background-size:60% auto;block-size:1em;content:"(external link)";display:inline-block;inline-size:1em;overflow:hidden;position:absolute;text-indent:1em;white-space:nowrap}.faq dt{font-weight:var(--font-bold);margin-inline-start:2rem;&:before{color:var(--color-primary);content:"Q: ";margin-inline-start:-1.85rem}}.faq dd{margin-inline-start:2rem;&:before{content:"A: ";font-weight:var(--font-bold);margin-inline-start:-1.85rem}+dd:before{content:none}}form{padding-block-start:var(--space-m)}input{background-color:var(--color-bg);border-color:var(--color-text);border-width:4px;color:var(--color-text)}form>span,span>input{display:block}input+span{font-size:var(--size-step-min-1);font-weight:var(--font-light)}p+label,span+input{margin-block-start:var(--space-m)}p+label{display:inline-block}.site-hero{display:grid;gap:3px;grid-area:hero;grid-template-areas:"image" "blurb";grid-template-columns:fit-content auto}@media (min-width:662px){.site-hero{grid-template-areas:"blurb image";grid-template-columns:subgrid}}.hero-blurb{align-items:end;background-color:#141414;color:color-mix(in srgb,var(--color-base-light),transparent 50%);display:grid;font-size:var(--size-step-min-2);grid-area:blurb;justify-content:start;letter-spacing:-.0027777778rem;padding:var(--space-xs-s)}.hero-image{grid-area:image;img{aspect-ratio:3/2.75;filter:grayscale(1) sepia(25%) saturate(131%) hue-rotate(21deg) brightness(98%) contrast(101%);inline-size:100%;max-height:300px;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 75%;object-position:50% 75%}}.mainnav{--nav-list-timing-function:cubic-bezier(0.68,-0.55,0.27,1.55);inset-inline-end:0;position:var(--nav-position,absolute);z-index:100}.mainnav:has([aria-expanded=true]){--nav-position:fixed;inset-inline-end:var(--gap)}.mainnav ul{--gutter:var(--space-xs);--cluster-vertical-alignment:normal;--nav-list-background:var(--color-bg-accent);--nav-list-shadow:-5px 0 11px 0 rgba(0,0,0,.2);--nav-list-layout:column;--nav-list-height:100dvh;--nav-list-padding:var(--space-2xl) var(--space-s);--nav-list-position:fixed;--nav-list-width:min(18rem,100vw);--nav-list-visibility:hidden;background:var(--nav-list-background);block-size:var(--nav-list-height);box-shadow:var(--nav-list-shadow);display:flex;flex-direction:var(--nav-list-layout);flex-wrap:wrap;inline-size:var(--nav-list-width);inset-block-start:10rem;inset-inline-end:0;list-style:none;margin:0;opacity:0;padding:var(--nav-list-padding);position:var(--nav-list-position);transition:opacity .3 var(--nav-list-timing-function) visibility .3s ease-in-out;visibility:var(--nav-list-visibility)}.mainnav ul[no-flash]{transition:none}@media (prefers-reduced-motion:no-preference){.mainnav ul{--nav-list-transform:translateX(100%);opacity:1;transform:var(--nav-list-transform);transition:transform .5s var(--nav-list-timing-function),visibility .3s linear}.mainnav svg{transition:transform .4s var(--nav-list-timing-function)}}.mainnav [aria-expanded=true]+ul{--nav-list-visibility:visible;--nav-list-transform:translateX(0);opacity:1}.mainnav button{--gutter:var(--space-2xs);--cluster-vertical-alignment:center;display:var(--nav-button-display,flex);line-height:var(--leading-flat);padding:var(--space-2xs) 0;position:relative;z-index:2}.mainnav span{font-family:var(--font-display);font-size:var(--size-step-min-1);font-weight:var(--font-extra-bold);text-transform:uppercase}.mainnav svg{block-size:.9em;color:var(--color-text);stroke-width:3}.mainnav [aria-expanded=true] svg{transform:rotate(45deg)}.mainnav a{--nav-item-background:transparent;--nav-item-text-color:var(--text-color);--nav-item-padding:var(--space-xs) var(--space-2xs);--nav-item-decoration-color:transparent;background:var(--nav-item-background);border-radius:var(--border-radius);color:var(--nav-item-text-color);display:block;padding:var(--nav-item-padding);text-decoration-color:var(--nav-item-decoration-color);text-decoration-line:underline;text-decoration-thickness:3px;text-underline-offset:.2em}.mainnav a:where(:hover,:focus){--nav-item-background:transparent;--nav-item-text-color:var(--color-text);--nav-item-decoration-color:var(--color-text)}.mainnav [aria-current=page],.mainnav [data-state=active]{--nav-item-background:var(--color-primary);--nav-item-text-color:var(--color-light);--nav-item-decoration-color:transparent}@media (min-width:662px){.mainnav{--nav-position:static;--nav-button-display:none}.mainnav ul{--gutter:0;--nav-list-layout:column;--nav-list-position:static;--nav-list-padding:0 var(--space-xs);--nav-list-height:auto;--nav-list-width:100%;--nav-list-shadow:none;--nav-list-visibility:visible;--nav-list-transform:translateX(0)}.mainnav [aria-current=page],.mainnav [data-state=active]{--nav-item-background:transparent;--nav-item-text-color:var(--color-primary);--nav-item-decoration-color:var(--color-primary)}}.mainnav ul:first-child{--nav-list-layout:row;--nav-list-position:static;--nav-list-padding:0;--nav-list-height:auto;--nav-list-width:100%;--nav-list-shadow:none;--nav-list-visibility:visible;--nav-list-transform:translateX(0);margin-block-end:var(--space-2xs)}.mainnav ul:first-child [aria-current=page],.mainnav ul:first-child [data-state=active]{--nav-item-background:transparent;--nav-item-text-color:var(--color-primary);--nav-item-decoration-color:var(--color-primary)}.mainnav:has(ul:first-child){--nav-position:relative}.prose{--flow-space:var(--space-m-l);--wrapper-width:64rem}.prose :where(pre,pre+*,figure,figure+*){--flow-space:var(--space-m-l)}.prose figcaption{border-bottom:1px solid var(--color-bg-accent);font-size:var(--size-step-min-1);margin-block-end:var(--space-s);padding-block-end:var(--space-xs);text-align:center}:where(.prose :is(h2,h3,h4)){--flow-space:var(--space-xl)}:where(.prose :is(h2+*,h3+*,h4+*):not(figure)){--flow-space:var(--space-m)}.prose .heading-anchor:is(:hover,:focus){text-decoration:none}.heading-anchor{text-decoration:none}.prose mark{background-color:var(--color-tertiary);color:var(--color-base-dark)}.prose :not(.cluster):not(.grid)>li+li{padding-block-start:var(--space-s-m)}.prose :where(ul:not(.grid),ol:not(.grid)){padding-inline-start:1.2ch}.prose :where(ul:not(.grid):not([role=list])) li::marker{color:var(--color-primary);content:"– "}.prose ol li::marker{color:var(--color-primary)}.prose img{border-radius:var(--border-radius)}@media (max-width:640px){.prose a,.prose>*{overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;word-break:break-word}}.section>.seperator:first-child{transform:rotate(180deg) translateY(-1px)}.section__inner{background-color:var(--spot-color,var(--color-bg-accent));color:var(--color-text)}.section blockquote{font-size:var(--size-step-4);font-weight:var(--font-bold);letter-spacing:var(--tracking-s);line-height:1}.section :is(h1,h2,h3,blockquote){opacity:95%}.seperator{block-size:3.5em;display:block;inline-size:100%;fill:var(--spot-color,var(--color-bg))}.section>.seperator{transform:translateY(-1px)}.site-head{align-items:end;background-image:linear-gradient(to bottom,var(--color-quaternary-highlight) 0 6.5rem,var(--color-tertiary-highlight) 6.5rem 7rem,var(--color-quinary-highlight) 7rem);display:grid;grid-area:header;justify-content:end;padding-block-end:var(--space-xs);padding-inline-end:var(--space-s)}.logo{--gutter:var(--space-xs);font-size:var(--size-step-0);font-weight:var(--font-bold);text-decoration:none;text-transform:uppercase}.site-navigation{align-items:end;background-image:linear-gradient(to bottom,var(--color-quaternary-highlight) 0 65%,var(--color-tertiary-highlight) 65% 70%,var(--color-quinary-highlight) 70%);display:flex;grid-area:nav;justify-content:end;padding-block-end:var(--space-xs)}.site-navigation button span,.site-navigation button svg{color:var(--color-base-light)}@media (min-width:640px){.site-navigation{align-items:start;background-color:var(--color-bg-accent);background-image:none;justify-content:start}}.site-main{grid-area:main}.site-main-spacer{background-color:var(--color-bg-accent);background-image:repeating-linear-gradient(45deg,transparent,transparent .25rem,var(--color-bg) .25rem,var(--color-bg) .3rem);background-size:6px 6px;grid-area:main-spacer}.site-logo-spacer{display:none}@media (min-width:640px){.site-logo-spacer{align-items:end;background-color:var(--color-bg-accent);display:grid;justify-content:end;>svg{height:auto;margin-block:10%;margin-inline:10%;width:80%}>svg>path{fill:var(--color-bg);opacity:.4}}.site-spacer{background-color:var(--color-quaternary-highlight)}}.site-foot{background-image:linear-gradient(to top,var(--color-quinary-highlight) 0 95%,var(--color-tertiary-highlight) 95% 100%);color:var(--color-base-light);grid-area:footer;padding:var(--space-l-xl)}@media (min-width:640px){.site-footer-spacer{background-image:linear-gradient(to top,var(--color-quinary-highlight) 0 95%,var(--color-tertiary-highlight) 95% 100%)}}.site-foot__inner{align-items:center;display:flex;gap:var(--space-xs);justify-content:center}.site-foot__inner a{padding:var(--space-xs)}:not(nav#social).site-foot__inner{flex-wrap:wrap}.site-foot svg{block-size:1em;inline-size:1.1em}.site-foot .creator{text-decoration:none}.site-foot .creator:hover{-webkit-background-clip:text;background-clip:text;background-image:var(--gradient-reflection);background-repeat:repeat;background-size:100%;color:transparent}.site-foot .creator:hover svg{color:var(--color-text)}.skip-link{clip:rect(1px,1px,1px,1px);block-size:1px;display:block;inline-size:1px;left:1rem;overflow:hidden;position:absolute;top:1rem;z-index:999}.skip-link:focus{clip:auto;background-color:var(--color-text);block-size:auto;border-radius:var(--border-radius);color:var(--color-bg);inline-size:auto;line-height:1;overflow:visible;padding:var(--space-xs) var(--space-s-m)}.skip-link:not(:focus){border:0;clip:rect(0 0 0 0);block-size:auto;inline-size:1px;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.taglist{--gutter:var(--space-s-m)}.post-tag{--button-bg:var(--color-text);--button-text:var(--color-bg);--button-border:var(--color-text);font-size:var(--size-step-min-2);font-weight:var(--font-bold);padding:.1rem .625rem;text-transform:uppercase}.card .post-tag{--button-bg:var(--color-bg-accent-2);--button-text:var(--color-text);--button-border:var(--color-bg-accent-2)}.tags h1{font-size:var(--size-step-4)}.tags h2{font-size:var(--size-step-2)}.gradient-text{-webkit-background-clip:text;background-clip:text;background-image:var(--gradient-conic);background-size:100%;color:transparent;padding:.6rem 0}.gradient-text-reflection{background-image:var(--gradient-reflection)}.gradient-text-linear,.gradient-text-reflection{-webkit-background-clip:text;background-clip:text;background-repeat:repeat;background-size:auto;color:transparent}.gradient-text-linear{background-image:var(--gradient-linear)}.theme-switch h2{font-family:var(--font-base);font-size:var(--size-step-min-1)}.theme-switch .button{--button-border:var(--color-bg-accent-2);border-radius:var(--border-radius);font-size:var(--size-step-min-2);font-weight:var(--font-bold);min-block-size:1.5em;padding:.1rem .625rem;text-transform:uppercase}.theme-switch .button[aria-pressed=true]{--_color-primary-contrast:color-mix(in oklab,var(--color-primary) 85%,var(--color-base-dark));--button-bg:var(--_color-primary-contrast);--button-text:#000;--button-border:var(--_color-primary-contrast);outline-color:var(--_color-primary-contrast)}is-land:not(:defined) .theme-switch{display:none}.blur{filter:blur(.25rem)}.heading-line{align-items:flex-start;display:flex;text-align:left;&:after{background:var(--color-bg-accent-2);block-size:1px;content:"";flex-grow:1;margin-block-start:auto;margin-inline-start:var(--space-s);transform:translateY(-.25em)}}.ontop{position:relative;z-index:1}.region{padding-block-end:var(--region-space-bottom,var(--space-l-xl));padding-block-start:var(--region-space-top,var(--space-l-xl))}.region>:not(.section){padding-inline-end:var(--region-space-right,var(--space-m-l));padding-inline-start:var(--region-space-left,var(--space-m-l))}.region.section__inner{padding-inline-end:0;padding-inline-start:0}.spin{animation:spin 30s linear infinite}@media (prefers-reduced-motion:no-preference){@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}}.visually-hidden{border:0;clip:rect(0 0 0 0);height:0;margin:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.my-s-m{margin-bottom:clamp(.625rem,.41rem + 1.06vw,1.3125rem);margin-top:clamp(.625rem,.41rem + 1.06vw,1.3125rem)}.mt-l-xl{margin-top:clamp(1.1875rem,.48rem + 3.56vw,3.5rem)}.mt-s-m{margin-top:clamp(.625rem,.41rem + 1.06vw,1.3125rem)}.mt-xs{margin-top:clamp(.3125rem,.27rem + .19vw,.4375rem)}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.text-center{text-align:center}.text-step-0{font-size:clamp(1.25rem,1.17rem + .38vw,1.5rem)}.text-step-min-1{font-size:clamp(1.041875rem,.99rem + .24vw,1.2rem)}.capitalize{text-transform:capitalize}.text-base-light{color:#f2f2d9}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}</style><style>custom-card{--gutter:var(--space-xs-s);background-color:var(--card-bg,var(--color-bg-accent));border:4px solid var(--color-bg-accent);border-radius:var(--border-radius);color:var(--color-text);display:grid;grid-template-rows:[image] max-content [headline] max-content [meta] max-content [desc] auto [footer] max-content;max-inline-size:unset;padding:var(--space-s-m)}custom-card>:empty{display:none}custom-card ::-moz-selection{background-color:var(--color-secondary);color:var(--color-dark)}custom-card ::selection{background-color:var(--color-secondary);color:var(--color-dark)}custom-card :is(h2,h3){--flow-space:var(--space-m);font-size:var(--size-step-1);grid-row:headline}custom-card :is(h2,h3) a{text-decoration:none}custom-card>:is(picture,figure){grid-row:image;--flow-space:0}custom-card img{aspect-ratio:16/9;block-size:auto;max-inline-size:var(--max-img-width,100%);-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}custom-card>.meta{font-size:var(--size-step-min-1);grid-row:meta}custom-card>p{grid-row:desc}custom-card>footer{font-size:var(--size-step-min-2);grid-row:footer}custom-card :is(a,p,h2,h3){overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}custom-card[no-padding]{background-color:transparent;border:4px solid var(--color-bg-accent);border-radius:none;padding:0}custom-card[img-square] img{aspect-ratio:1}custom-card[clickable]:focus-within,custom-card[clickable]:hover{border:4px solid var(--color-primary)}custom-card[clickable]:focus-within a:focus{outline:none}custom-card[clickable]{position:relative}custom-card[clickable] a:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0}</style><link rel="preload" href="/assets/fonts/claritycity/ClarityCity-Medium.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/assets/fonts/claritycity/ClarityCity-Bold.woff2" as="font" type="font/woff2" crossorigin><script src="/bundle/jRNT8ldZjF.js" type="module"></script><meta name="description" content="Welcome to Brian Baldock&#39;s digital hub! Explore creativity, innovation, and more in one dynamic space. Let&#39;s embark on a journey together! #DigitalJourney"><meta name="theme-color" content="#353535"><meta name="robots" content="index,follow"><meta name="googlebot" content="index,follow"><meta name="generator" content="Eleventy v3.0.0"><meta name="format-detection" content="telephone=no"><meta name="color-scheme" content="dark light"><meta name="view-transition" content="same-origin"><link rel="canonical" href="https://www.brianbaldock.com/"><link rel="author" href="humans.txt"><link rel="me" href="https://fosstodon.org/@midknight"><meta name="fediverse:creator" content="https://fosstodon.org/@midknight"><meta property="og:url" content="https://www.brianbaldock.com/"><meta property="og:type" content="website"><meta property="og:title" content="Welcome"><meta property="og:image" content="https://www.brianbaldock.com/assets/images/template/default-image.webp"><meta property="og:image:alt" content="Visible content: My personal site, blog and repository of thought"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="675"><meta property="og:description" content="Welcome to Brian Baldock&#39;s digital hub! Explore creativity, innovation, and more in one dynamic space. Let&#39;s embark on a journey together! #DigitalJourney"><meta property="og:site_name" content="Brian Baldock"><meta property="og:locale" content="en_CA"><meta property="article:author" content="Brian Baldock"><link rel="alternate" type="application/atom+xml" title="Atom Feed for My Blog: Brian Baldock" href="/feed.xml"><link rel="alternate" type="application/json" title="JSON Feed: Brian Baldock" href="/feed.json"><link rel="icon" href="/favicon.ico" sizes="any"><link rel="icon" href="/favicon.svg" type="image/svg+xml"><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="manifest" href="/site.webmanifest"></head><body class="base"><div id="accessibility" aria-label="accessibility navigation"><a href="#main" class="skip-link">Skip to content</a> <a href="#theme-switcher-label" class="skip-link">Skip to select theme</a></div><div data-layout="site" class="grid"><header class="site-head"><div class="repel"><a href="/" aria-current="page" class="logo | cluster text-base-light"><span>Brian Baldock</span></a></div></header><div class="site-navigation"><nav id="mainnav" aria-label="Main" class="mainnav"><ul role="list" no-flash class="cluster"><li><a href="/about/">About</a></li><li><a href="/contact/">Contact</a></li><li><a href="/projects/">Projects</a></li><li><a href="/blog/">Blog</a></li></ul></nav><template id="burger-template"><button type="button" aria-expanded="false" aria-controls="mainnav" class="cluster"><span>Menu</span> <svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></button></template></div><section class="site-hero"><div class="hero-blurb"><p>Photo by <a href="https://unsplash.com/@victor_g?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Victor</a> on <a href="https://unsplash.com/photos/black-and-white-stripe-textile-iaquA2snPbk?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Unsplash</a></p></div><div class="hero-image"><img id="hero-image" src="/assets/images/template/victor-modern-architecture.webp" alt="The architectural marvel of Messe Basel in Switzerland, featuring a striking center void design. This innovative layout integrates sleek lines, glass, and steel, fostering creativity and seamless flow within the venue's dynamic spaces."></div></section><div aria-hidden="true" class="site-main-spacer"></div><main id="main" tabindex="-1" class="flow | site-main"><article class="region flow prose"><h1 class="gradient-text-reflection">Welcome</h1><p>Hey there, welcome to my corner of the web! I'm Brian Baldock, a passionate creator with a love for all things design and technology. Whether you're here to check out my latest projects, dive into my blog posts, or simply explore the creative journey I've been on, I'm thrilled to have you along for the ride.</p><p>On this site, you'll find a curated collection of my past and present projects, each one a labour of love and a testament to my dedication to craftsmanship. From graphic design to web development, I've dabbled in a bit of everything, and I can't wait to share my work with you.</p><p>But this site isn't just about showcasing my portfolio—it's also a space for me to share my thoughts, insights, and experiences through my blog. Whether I'm diving into design trends, sharing tips and tricks I've learned along the way, or reflecting on the ever-evolving landscape of technology, you'll find it all right here.</p><p>So go ahead, take a look around, and get to know me and my work a little better. And if you like what you see, be sure to subscribe to my RSS feed or connect with me on social media—I'd love to stay in touch and hear your thoughts.</p><p>Thanks for stopping by, and I hope you enjoy your time here!</p></article><section style="--spot-color: var(--color-bg-accent)" class="section"><svg xmlns="https://www.w3.org/2000/svg" fill="none" preserveAspectRatio="none" viewBox="0 0 1440 96" aria-hidden="true" class="seperator"><path d="m0 96 80-5.3C160 85 320 75 480 64s320-21 480-21.3c160 .3 320 10.3 400 16l80 5.3V0H0z"></path></svg><div class="section__inner | region flow prose"><h2 id="blog"><a href="/blog/" class="heading-anchor">Blog</a></h2><p>My recent blog posts.</p><is-land on:visible>
<custom-masonry data-rows="masonry" data-layout="50-50" class="grid">
<custom-card clickable class="flow no-indicator">
<h2><a href="/blog/hair-a-double-edged-sword-in-modern-hr-practices/">H.A.I.R. - A Double-Edged Sword in Modern HR Practices</a></h2>
<div class="meta | cluster"><span><time datetime="2024-05-28T00:00:00.000Z">May 27, 2024</time></span></div>
<p>The impact of AI in HR, the pitfalls of over-reliance on technology, and the essential role of human judgment in the hiring process.</p>
</custom-card><custom-card clickable class="flow no-indicator">
<h2><a href="/blog/opossum-symposium/">Opossum Symposium</a></h2>
<div class="meta | cluster"><span><time datetime="2024-05-10T00:00:00.000Z">May 9, 2024</time></span></div>
<p>Explore the highlights of a virtual symposium for 11ty, where community, knowledge, and passion for web technologies collided. From heartfelt kickoff remarks to inspiring speaker insights, join in the celebration of creativity and collaboration in the digital realm.</p>
</custom-card><custom-card clickable class="flow no-indicator">
<h2><a href="/blog/working-away/">Working Away</a></h2>
<div class="meta | cluster"><span><time datetime="2024-04-30T00:00:00.000Z">April 29, 2024</time></span></div>
<p>Working away on this portfolio, blog... site.</p>
</custom-card><custom-card clickable class="flow no-indicator">
<h2><a href="/blog/new-site/">New Site</a></h2>
<div class="meta | cluster"><span><time datetime="2024-03-31T00:00:00.000Z">March 30, 2024</time></span></div>
<p>First post on the new site.</p>
</custom-card>
<template data-island="once">
<script src="/assets/scripts/components/custom-masonry.js" type="module"></script>
</template>
</custom-masonry>
</is-land></div><svg xmlns="https://www.w3.org/2000/svg" fill="none" preserveAspectRatio="none" viewBox="0 0 1440 96" aria-hidden="true" class="seperator"><path d="m0 96 80-5.3C160 85 320 75 480 64s320-21 480-21.3c160 .3 320 10.3 400 16l80 5.3V0H0z"></path></svg></section></main><div aria-hidden="true" class="site-main-spacer"></div><div aria-hidden="true" class="site-logo-spacer"><svg xmlns="https://www.w3.org/2000/svg" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 783 2159" aria-hidden="true"><path fill="#f7f7f780" d="M391.454 782.908 0 391.454 391.454 0l391.454 391.454zm-163.516-554.97V554.97H554.97V227.938z"></path><path fill="#f7f7f780" fill-rule="nonzero" d="M579.722 2145.638v-99.466c0-36.267-20.267-62.133-49.6-62.133-20 0-37.333 12.533-46.667 33.866-8-16-22.666-25.6-40.8-25.6-26.666 0-46.133 23.734-46.133 57.6v95.733zm-110.667-45.333H435.19v-39.466c0-12.534 6.933-21.6 16.8-21.6 9.866 0 17.066 9.066 17.066 21.6zm72 0h-36.8v-46.133c0-13.6 7.734-23.2 18.4-23.2 10.667 0 18.4 9.6 18.4 23.2zm38.667-132.8v-66.933c0-62.933-38.133-107.466-91.733-107.466s-91.467 44.533-91.467 107.466v66.933zm-41.333-45.6H437.856v-28.266c0-31.467 20.8-53.6 50.133-53.6s50.4 22.133 50.4 53.6zm44.533-239.465c0-53.334-43.467-98.4-94.933-98.4s-94.667 45.066-94.667 98.4c0 53.6 43.2 98.666 94.667 98.666s94.933-45.067 94.933-98.667Zm-41.333 0c0 28-24.534 51.732-53.6 51.732-28.8 0-53.333-23.733-53.333-51.733s24.533-51.466 53.333-51.466c29.066 0 53.6 23.466 53.6 51.466Zm41.333-209.6c0-28.534-12.267-54.4-31.733-72.534l-29.334 33.067c12 9.6 19.734 23.733 19.734 39.467 0 28-24.534 51.733-53.6 51.733-28.8 0-53.333-23.734-53.333-51.733 0-15.467 7.733-29.867 19.733-39.2l-29.6-33.334c-19.2 18.134-31.467 44-31.467 72.534 0 53.6 43.2 98.666 94.667 98.666s94.933-45.067 94.933-98.666m-3.2-86.134v-45.6h-49.867l-22.666-20.8 72.533-51.733v-54.933l-105.333 74.933-77.867-69.6v54.4l78.133 67.733h-78.133v45.6zm203.2 687.199c0-45.333-22.934-73.333-59.734-73.333-34.4 0-46.133 26.4-54.933 67.467-5.867 27.2-9.6 36-20.8 36-9.066 0-16-8.267-16-22.934 0-17.066 6.667-35.466 19.467-52.266l-32.533-23.2c-16 19.466-25.067 43.466-25.067 74.4 0 41.6 23.467 69.866 58.667 69.866 36.8 0 47.466-29.067 56.266-68.266 6.4-26.667 8.8-35.2 19.733-35.2 9.867 0 16.8 8.8 16.8 25.866 0 22.4-8.533 42.4-23.2 60.267l30.667 25.866c20-22.4 30.667-52 30.667-84.533m0-181.066c0-53.333-43.467-98.4-94.934-98.4s-94.666 45.067-94.666 98.4c0 53.6 43.2 98.666 94.666 98.666 51.467 0 94.934-45.066 94.934-98.666m-41.334 0c0 28-24.533 51.733-53.6 51.733-28.8 0-53.333-23.733-53.333-51.733s24.534-51.467 53.333-51.467c29.067 0 53.6 23.467 53.6 51.467m-2.666-158.399h-142.4v45.599h183.2v-133.866h-40.8zm44-181.067c0-50.134-34.4-85.067-83.467-85.067H596.522v45.333h100.8c25.866 0 44.266 16.534 44.266 39.734 0 22.933-18.4 39.466-44.266 39.466h-100.8v45.6h102.933c49.067 0 83.467-35.2 83.467-85.066m-3.2-167.2v-45.6h-142.4v-55.733h-40.8v156.8h40.8v-55.467zm-183.2-129.066v-45.6h183.2v45.6zm186.4-158.4c0-53.333-43.467-98.4-94.934-98.4s-94.666 45.067-94.666 98.4c0 53.6 43.2 98.666 94.666 98.666 51.467 0 94.934-45.066 94.934-98.666m-41.334 0c0 28-24.533 51.733-53.6 51.733-28.8 0-53.333-23.733-53.333-51.733s24.534-51.467 53.333-51.467c29.067 0 53.6 23.467 53.6 51.467m38.134-110.133v-45.6H671.455l108.267-80V817.64h-183.2v45.333h108.266l-108.266 80v45.6zm3.2-264.273c0-45.333-22.934-73.333-59.734-73.333-34.4 0-46.133 26.4-54.933 67.466-5.867 27.2-9.6 36-20.8 36-9.066 0-16-8.266-16-22.933 0-17.067 6.667-35.466 19.467-52.266l-32.533-23.2c-16 19.466-25.067 43.466-25.067 74.4 0 41.6 23.467 69.866 58.667 69.866 36.8 0 47.466-29.067 56.266-68.267 6.4-26.666 8.8-35.2 19.733-35.2 9.867 0 16.8 8.8 16.8 25.867 0 22.4-8.533 42.4-23.2 60.267l30.667 25.866c20-22.4 30.667-52 30.667-84.533"></path></svg></div><div aria-hidden="true" class="site-footer-spacer"></div><footer id="footer" class="site-foot"><div class="site-foot__inner"><nav aria-label="Complementary" class="site-foot__inner text-step-0">© 2024 <a href="/" aria-current="page">Brian Baldock </a><a href="/credits/">Credits</a> <a href="/tidbits/">Tidbits</a> <a href="/styleguide/">Style guide</a></nav><nav aria-label="Platforms" class="site-foot__inner"><a href="/feed.xml" rel="alternate" type="application/atom+xml"><span class="visually-hidden">Atom Feed for My Blog</span> <svg xmlns="https://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M19.199 24C19.199 13.467 10.533 4.8 0 4.8V0c13.165 0 24 10.835 24 24zM3.291 17.415a3.3 3.3 0 0 1 3.293 3.295A3.303 3.303 0 0 1 3.283 24C1.47 24 0 22.526 0 20.71s1.475-3.294 3.291-3.295zM15.909 24h-4.665c0-6.169-5.075-11.245-11.244-11.245V8.09c8.727 0 15.909 7.184 15.909 15.91z"></path></svg> </a><a href="https://github.com/Midknight" rel="me"><span class="visually-hidden">Github</span><div aria-hidden="true"><svg xmlns="https://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></div></a><a href="https://www.linkedin.com/in/brian-baldock/" rel="me"><span class="visually-hidden">Linkedin</span><div aria-hidden="true"><svg xmlns="https://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.06 2.06 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0z"></path></svg></div></a><a href="https://fosstodon.org/@midknight" rel="me"><span class="visually-hidden">Mastodon</span><div aria-hidden="true"><svg xmlns="https://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38q.398-.092.786-.213c.585-.184 1.27-.39 1.774-.753a.06.06 0 0 0 .023-.043v-1.809a.05.05 0 0 0-.02-.041.05.05 0 0 0-.046-.01 20.3 20.3 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.6 5.6 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422q.059-.011.11-.024c2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102q0-1.965 1.011-3.12c.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164q1.012 1.155 1.012 3.12z"></path></svg></div></a><a href="https://www.buymeacoffee.com/bdock" rel="me"><span class="visually-hidden">Buymeacoffee</span><div aria-hidden="true"><svg xmlns="https://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="m20.216 6.415-.132-.666c-.119-.598-.388-1.163-1.001-1.379-.197-.069-.42-.098-.57-.241-.152-.143-.196-.366-.231-.572-.065-.378-.125-.756-.192-1.133-.057-.325-.102-.69-.25-.987-.195-.4-.597-.634-.996-.788a6 6 0 0 0-.626-.194c-1-.263-2.05-.36-3.077-.416a26 26 0 0 0-3.7.062c-.915.083-1.88.184-2.75.5-.318.116-.646.256-.888.501-.297.302-.393.77-.177 1.146.154.267.415.456.692.58.36.162.737.284 1.123.366 1.075.238 2.189.331 3.287.37q1.829.074 3.65-.118.449-.05.896-.119c.352-.054.578-.513.474-.834-.124-.383-.457-.531-.834-.473-.466.074-.96.108-1.382.146q-1.767.12-3.536.006a22 22 0 0 1-1.157-.107c-.086-.01-.18-.025-.258-.036q-.364-.055-.724-.13c-.111-.027-.111-.185 0-.212h.005q.416-.09.838-.147h.002c.131-.009.263-.032.394-.048a25 25 0 0 1 3.426-.12q1.011.029 2.017.144l.228.031q.4.06.798.145c.392.085.895.113 1.07.542.055.137.08.288.111.431l.319 1.484a.237.237 0 0 1-.199.284h-.003q-.056.008-.112.015a37 37 0 0 1-4.743.295 37 37 0 0 1-4.699-.304c-.14-.017-.293-.042-.417-.06-.326-.048-.649-.108-.973-.161-.393-.065-.768-.032-1.123.161-.29.16-.527.404-.675.701-.154.316-.199.66-.267 1-.069.34-.176.707-.135 1.056.087.753.613 1.365 1.37 1.502a39.7 39.7 0 0 0 11.343.376.483.483 0 0 1 .535.53l-.071.697-1.018 9.907c-.041.41-.047.832-.125 1.237-.122.637-.553 1.028-1.182 1.171q-.868.197-1.756.205c-.656.004-1.31-.025-1.966-.022-.699.004-1.556-.06-2.095-.58-.475-.458-.54-1.174-.605-1.793l-.731-7.013-.322-3.094c-.037-.351-.286-.695-.678-.678-.336.015-.718.3-.678.679l.228 2.185.949 9.112c.147 1.344 1.174 2.068 2.446 2.272.742.12 1.503.144 2.257.156.966.016 1.942.053 2.892-.122 1.408-.258 2.465-1.198 2.616-2.657q.511-4.997 1.024-9.995l.215-2.087a.48.48 0 0 1 .39-.426c.402-.078.787-.212 1.074-.518.455-.488.546-1.124.385-1.766zm-1.478.772c-.145.137-.363.201-.578.233-2.416.359-4.866.54-7.308.46-1.748-.06-3.477-.254-5.207-.498-.17-.024-.353-.055-.47-.18-.22-.236-.111-.71-.054-.995.052-.26.152-.609.463-.646.484-.057 1.046.148 1.526.22q.865.132 1.737.212c2.48.226 5.002.19 7.472-.14q.675-.09 1.345-.21c.399-.072.84-.206 1.08.206.166.281.188.657.162.974a.54.54 0 0 1-.169.364zm-6.159 3.9c-.862.37-1.84.788-3.109.788a5.9 5.9 0 0 1-1.569-.217l.877 9.004c.065.78.717 1.38 1.5 1.38 0 0 1.243.065 1.658.065.447 0 1.786-.065 1.786-.065.783 0 1.434-.6 1.499-1.38l.94-9.95a4 4 0 0 0-1.322-.238c-.826 0-1.491.284-2.26.613z"></path></svg></div></a></nav></div><is-land on:idle><div role="region" aria-labelledby="theme-switcher-label" data-theme-switcher style="--cluster-horizontal-alignment: center; --gutter: 0.5rem" class="theme-switch | cluster mt-xs"><h2 id="theme-switcher-label">Theme</h2><button id="light-theme-toggle" data-theme="light" class="button"><span>light</span></button> <button id="dark-theme-toggle" data-theme="dark" class="button"><span>dark</span></button></div></is-land><div role="navigation" class="back-to-top-link-wrapper"><a href="#accessibility" aria-label="Scroll to Top of Page" class="back-to-top-link"><svg xmlns="https://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 98.148 98.149" aria-hidden="true" id="caret"><path d="M97.562 64.692 50.49 17.618c-.75-.75-2.078-.75-2.828 0L.586 64.693a2 2 0 0 0 0 2.827l12.987 12.987c.391.391.902.586 1.414.586s1.023-.195 1.414-.586l32.674-32.674L81.75 80.506c.75.751 2.078.75 2.828 0l12.984-12.987a1.997 1.997 0 0 0 0-2.827"></path></svg></a></div></footer><div aria-hidden="true" class="site-spacer"></div></div></body>
</html>