.error-page .footer,.error-page .site-header{display:none}.error-page article{text-align:center;height:calc(100vh - var(--rhythm-double));display:flex;align-items:center;justify-content:center;flex-direction:column}.error-page article h1{margin-bottom:0}.error-page article a{text-decoration:none}.glitch{position:relative;transform:scaleX(1)}.glitch:after,.glitch:before{content:attr(data-text);position:absolute;top:0;left:0;right:0;overflow:hidden;background:#fff;color:#000;clip:rect(0,900px,0,0)}.glitch:before{left:7px;text-shadow:1px 0 green;animation:glitch-effect 3s linear infinite alternate-reverse}.glitch:after{left:3px;text-shadow:-1px 0 red;animation:glitch-effect 2s linear infinite alternate-reverse}@-webkit-keyframes glitch-effect{0%{clip:rect(5px,9999px,50px,0)}5%{clip:rect(43px,9999px,86px,0)}10%{clip:rect(40px,9999px,79px,0)}15%{clip:rect(26px,9999px,70px,0)}20%{clip:rect(72px,9999px,74px,0)}25%{clip:rect(36px,9999px,80px,0)}30%{clip:rect(6px,9999px,12px,0)}35%{clip:rect(97px,9999px,19px,0)}40%{clip:rect(70px,9999px,56px,0)}45%{clip:rect(58px,9999px,44px,0)}50%{clip:rect(1px,9999px,63px,0)}55%{clip:rect(89px,9999px,67px,0)}60%{clip:rect(94px,9999px,5px,0)}65%{clip:rect(54px,9999px,62px,0)}70%{clip:rect(41px,9999px,90px,0)}75%{clip:rect(36px,9999px,79px,0)}80%{clip:rect(86px,9999px,35px,0)}85%{clip:rect(79px,9999px,36px,0)}90%{clip:rect(31px,9999px,95px,0)}95%{clip:rect(75px,9999px,96px,0)}to{clip:rect(52px,9999px,78px,0)}}@keyframes glitch-effect{0%{clip:rect(5px,9999px,50px,0)}5%{clip:rect(43px,9999px,86px,0)}10%{clip:rect(40px,9999px,79px,0)}15%{clip:rect(26px,9999px,70px,0)}20%{clip:rect(72px,9999px,74px,0)}25%{clip:rect(36px,9999px,80px,0)}30%{clip:rect(6px,9999px,12px,0)}35%{clip:rect(97px,9999px,19px,0)}40%{clip:rect(70px,9999px,56px,0)}45%{clip:rect(58px,9999px,44px,0)}50%{clip:rect(1px,9999px,63px,0)}55%{clip:rect(89px,9999px,67px,0)}60%{clip:rect(94px,9999px,5px,0)}65%{clip:rect(54px,9999px,62px,0)}70%{clip:rect(41px,9999px,90px,0)}75%{clip:rect(36px,9999px,79px,0)}80%{clip:rect(86px,9999px,35px,0)}85%{clip:rect(79px,9999px,36px,0)}90%{clip:rect(31px,9999px,95px,0)}95%{clip:rect(75px,9999px,96px,0)}to{clip:rect(52px,9999px,78px,0)}}form,h1,h2,h3,h4,h5,h6{margin:var(--rhythm) 0}body,hr{position:relative}.field,hr,p,table{margin-bottom:var(--rhythm)}.button:disabled,.field [disabled]+*,[disabled]{opacity:.5;pointer-events:none}.button,.wrapper,body,html{box-sizing:border-box}html{--border-radius:4px;--color-primary-tint1:#eb4763;--color-primary:#cf1736;--color-primary-shade1:#a1122a;--color-accent-tint1:#47ebcf;--color-accent:#17cfb0;--color-accent-shade1:#12a189;--color-link:#334dcc;--color-link-visited:#b233cc;--color-link-hover:#4763eb;--color-link-active:#cc334d;--color-neutral-tint4:#f9fafa;--color-neutral-tint3:#eef1f1;--color-neutral-tint2:#d5dddb;--color-neutral-tint1:#a5b6b3;--color-neutral:#819894;--color-neutral-shade1:#5e7370;--color-neutral-shade2:#455452;--color-neutral-shade3:#293231;--color-neutral-shade4:#050605;--focus-outline:var(--rhythm-twelfth) dotted var(--color-primary-tint1);--focus-outline-offset:var(--rhythm-twelfth);--font-family:"Avenir","Avenir Next","Helvetica Neue","Segoe UI","Verdana",sans-serif;--font-heading:var(--font-family);overflow-x:hidden}body{font-size:var(--font-size);line-height:var(--line-height)}*{--rhythm:2rem;--rhythm-quadruple:calc(var(--rhythm)*4);--rhythm-triple:calc(var(--rhythm)*3);--rhythm-double:calc(var(--rhythm)*2);--rhythm-half:calc(var(--rhythm)*0.5);--rhythm-third:calc(var(--rhythm)*0.33333);--rhythm-fourth:calc(var(--rhythm)*0.25);--rhythm-sixth:calc(var(--rhythm)*0.16667);--rhythm-eighth:calc(var(--rhythm)*0.125);--rhythm-twelfth:calc(var(--rhythm)*0.08333);--rhythm-sixteenth:calc(var(--rhythm)*0.0625);--line-height:var(--sub-rhythm,var(--rhythm));--line-height-ratio:1.4;--font-size:calc(var(--line-height)/var(--line-height-ratio));border:0;font:inherit;margin:0;padding:0;text-rendering:geometricPrecision}code,kbd,pre,samp{border-radius:var(--rhythm-fourth);border-radius:var(--border-radius);overflow-y:hidden;overflow-x:auto}b,h1,h3,h5,strong,var{font-weight:700}.button,code,h1,h2,h3,h4,h5,h6,kbd,pre,samp{font-size:var(--font-size)}:focus{outline:var(--rhythm-twelfth) solid #ebcb8b;outline:var(--focus-outline);outline-offset:var(--rhythm-twelfth);outline-offset:var(--focus-outline-offset)}body,html{min-height:100%}body{background-color:#f9fafa;background-color:var(--color-neutral-tint4);color:#050605;color:var(--color-neutral-shade4);font-family:Atkinson,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--font-body)}h1,h2,h3,h4,h5,h6{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--font-heading);line-height:var(--line-height)}h1{--line-height-ratio:1.1;margin-bottom:var(--rhythm-double)}h1,h2{--sub-rhythm:var(--rhythm-triple)}h2{--line-height-ratio:1.2}h3{--line-height-ratio:1.3}h3,h4{--sub-rhythm:var(--rhythm-double)}code,kbd,pre,samp{background-color:#eef1f1;background-color:var(--color-neutral-tint3);color:#434c5e;color:var(--color-primary-shade1);font-family:Consolas,Monaco,Courier New,monospace;font-family:var(--font-mono);line-height:1}code,kbd,samp{padding:var(--rhythm-sixth)}pre{line-height:var(--line-height);padding:var(--rhythm-half);margin:0 0 var(--rhythm)}pre code,pre kbd,pre samp{background-color:transparent;border:none;border-radius:0;padding:0}a:link{color:#86587e;color:var(--color-link)}a:visited{color:#434c5e;color:var(--color-link-visited)}a:focus,a:hover{color:#b48ead;color:var(--color-link-hover)}a:active{color:#3b4252;color:var(--color-link-active)}img,video{max-width:100%;vertical-align:top}hr{height:var(--rhythm-double)}hr:before{background-color:#a5b6b3;background-color:var(--color-neutral-tint1);content:"";height:1px;left:0;position:absolute;top:50%;width:100%}.field,sub,sup{position:relative}ol,ul{margin:0 0 var(--rhythm) var(--rhythm)}ol{list-style-type:decimal}blockquote p:last-child,ol ol,ul ul{margin-bottom:0}ul{list-style-type:disc}cite,dt,em,i,q>q{font-style:italic}dd{margin-left:var(--rhythm)}blockquote{margin:0 0 var(--rhythm) var(--rhythm-half);border-left:var(--rhythm-eighth) solid var(--color-neutral-tint1);padding:var(--rhythm) var(--rhythm-half)}figure{margin:0 auto var(--rhythm)}caption,figcaption,small,sub,sup{font-size:calc(var(--rhythm-third)*2);vertical-align:top}sub{top:var(--rhythm-third)}sup{bottom:var(--rhythm-third)}caption,figcaption{font-style:italic;text-align:center}q:after,q:before{content:"'"}.field [type=checkbox]:checked+.label:after,.field [type=radio]:checked+.label:after,.field select+.label:after{content:""}abbr,dfn{border-bottom:var(--rhythm-sixteenth) dotted var(--color-neutral-shade2);cursor:default}table{border-radius:var(--rhythm-fourth);border-radius:var(--border-radius);border-collapse:separate;border-spacing:0;width:100%}table th{text-align:left}table td,table th{padding:0 var(--rhythm-fourth)}button,input,label,select,textarea{color:#050605;color:var(--color-neutral-shade4);display:block;padding:var(--rhythm-half);resize:none;-webkit-appearance:none;-moz-appearance:none}@-moz-document url-prefix(){select{line-height:calc(var(--rhythm) - 2px)}}label{color:#5e7370;color:var(--color-neutral-shade1);padding:0}.button{--border-color:transparent;--border-color-hover:transparent;--border-thickness:var(--rhythm-twelfth);--background-color:var(--color-primary);--background-color-hover:var(--color-primary-shade1);--text-color:var(--color-neutral-tint4);--text-color-hover:var(--color-neutral-tint4);align-items:center;align-content:center;background-color:var(--background-color);border:var(--border-thickness) solid var(--border-color);border-radius:var(--rhythm-fourth);border-radius:var(--border-radius);color:var(--text-color);cursor:pointer;display:inline-block;justify-content:center;line-height:var(--rhythm);max-width:100%;min-height:calc(var(--rhythm)*2);padding:calc(var(--rhythm-twelfth)*5) var(--rhythm);text-align:center;transition-duration:.25s;transition-property:all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:auto;vertical-align:middle}.button.-large,.button.-small{font-size:var(--font-size);line-height:var(--line-height)}.field,.ta-left{text-align:left}.button::-moz-focus-inner{border:0}.button:link,.button:visited{color:var(--text-color);text-decoration:none}.button:focus,.button:hover{background-color:var(--background-color-hover);border-color:var(--border-color-hover);color:var(--text-color-hover)}.button:active{background-color:var(--background-color);color:var(--text-color)}.button.-outlined{--background-color:transparent;--background-color-hover:var(--color-primary-shade1);--border-color:var(--color-primary);--border-color-hover:var(--color-primary-shade1);--text-color:var(--color-primary)}.button.-secondary{--background-color:var(--color-neutral-tint2);--background-color-hover:var(--color-neutral-tint1);--border-color:var(--color-neutral-tint2);--border-color-hover:var(--color-neutral-tint1);--text-color:var(--color-neutral-shade3);--text-color-hover:var(--color-neutral-shade3)}.button.-link{--background-color:transparent;--background-color-hover:transparent;--border-color:transparent;--border-color-hover:transparent;--text-color:var(--color-link);--text-color-hover:var(--color-link-hover);text-decoration:underline}.button.-block{display:block;width:100%}.button.-small{--sub-rhythm:calc(var(--rhythm-sixteenth)*14);--border-thickness:var(--rhythm-sixteenth);margin-top:calc(var(--rhythm-sixteenth)*-2);min-height:var(--sub-rhythm);padding:0 var(--rhythm-half)}.button.-large{--sub-rhythm:calc(var(--rhythm)*1.5);--border-thickness:var(--rhythm-eighth);min-height:calc(var(--rhythm)*3);padding:calc(var(--rhythm-eighth)*3) calc(var(--rhythm)*2)}.field [disabled]+*,[disabled]{cursor:default}.field{display:flex}.field .label{z-index:2}.field [type=checkbox]+.label,.field [type=radio]+.label{color:#050605;color:var(--color-neutral-shade4);cursor:pointer;display:inline-block;padding-left:var(--rhythm)}.field :not([type=radio]):not([type=checkbox])+.label{font-size:var(--rhythm-half);position:absolute;left:var(--rhythm-sixteenth);line-height:1;padding:var(--rhythm-fourth) var(--rhythm-fourth) 0;right:var(--rhythm-sixteenth);top:0}.field input,.field select,.field textarea{background-color:#f9fafa;background-color:var(--color-neutral-tint4);border:1px solid #5e7370;border:1px solid var(--color-neutral-shade1);border-radius:var(--rhythm-fourth);border-radius:var(--border-radius);box-sizing:border-box;margin-top:-2px;padding:calc(var(--rhythm-eighth)*7) var(--rhythm-fourth) var(--rhythm-eighth);position:relative;width:100%}.field select{z-index:1}.field select+.label:after{border-left:var(--rhythm-fourth) solid transparent;border-right:var(--rhythm-fourth) solid transparent;border-top:var(--rhythm-fourth) solid var(--color-neutral-shade1);bottom:calc(var(--rhythm-third)*-2);height:0;pointer-events:none;position:absolute;right:var(--rhythm-half);width:0}.field option[disabled]{background-color:#eef1f1;background-color:var(--color-neutral-tint3);color:#455452;color:var(--color-neutral-shade2)}.field.-inline{display:inline-block;margin-right:var(--rhythm-half)}.field [type=checkbox],.field [type=radio]{opacity:0;position:absolute;z-index:0}.field [type=checkbox]+.label:before,.field [type=radio]+.label:before{background-color:#f9fafa;background-color:var(--color-neutral-tint4);border:2px solid #5e7370;border:2px solid var(--color-neutral-shade1);content:"";height:var(--rhythm-half);left:0;position:absolute;top:var(--rhythm-eighth);transform:translateY(var(--rhythm-sixteenth));width:var(--rhythm-half)}.field [type=checkbox]+.label:after,.field [type=radio]+.label:after{background-color:#2e3440;background-color:var(--color-primary);border:2px solid transparent;color:#f9fafa;color:var(--color-neutral-tint4);height:var(--rhythm-fourth);left:var(--rhythm-eighth);position:absolute;top:var(--rhythm-fourth);transform:translateY(var(--rhythm-sixteenth));width:var(--rhythm-fourth)}.field [type=checkbox]+.label:after,.field [type=checkbox]+.label:before{border-radius:var(--rhythm-fourth);border-radius:var(--border-radius)}.field [type=radio]+.label:after,.field [type=radio]+.label:before{border-radius:var(--rhythm)}.field [type=checkbox]:focus+.label:before,.field [type=radio]:focus+.label:before{outline:var(--rhythm-twelfth) solid #ebcb8b;outline:var(--focus-outline);outline-offset:var(--rhythm-twelfth);outline-offset:var(--focus-outline-offset)}.field textarea{margin-top:0;min-height:calc(var(--rhythm)*4)}.grid{--columns:auto-fit;display:grid;grid-column-gap:var(--rhythm);-moz-column-gap:var(--rhythm);column-gap:var(--rhythm);grid-template-columns:repeat(var(--columns),minmax(0,1fr))}@media(max-width:45rem){.grid.-medium{display:block}}@media(max-width:80rem){.grid.-large{display:block}}.wrapper{margin:0 auto;max-width:60rem;padding:var(--rhythm-double) var(--rhythm-half);width:100%}.wrapper.-thin{max-width:45rem;padding:var(--rhythm) var(--rhythm-half)}.wrapper.-wide{max-width:80rem;padding:var(--rhythm-triple) var(--rhythm-half)}.wrapper.-flush{padding:0 var(--rhythm-half)}.disabled{cursor:default;opacity:.5;pointer-events:none}.f-none{float:none}.f-left{float:left}.f-right{float:right}.clearfix{clear:both;overflow:hidden}.ta-center{text-align:center}.ta-right{text-align:right}.fw-light{font-weight:300}.fw-normal{font-weight:400}.fw-bold{font-weight:700}.fs-base,.fs-large,.fs-small{font-size:var(--font-size);line-height:var(--line-height)}.fs-small{--sub-rhythm:calc(var(--rhythm)*0.75)}.fs-base{--sub-rhythm:initial}.fs-large{--sub-rhythm:calc(var(--rhythm)*1.25)}.m-zero{margin:0}.mt-zero{margin-top:0}.mb-zero{margin-bottom:0}@font-face{font-family:Atkinson;font-display:swap;src:url(/_nuxt/fonts/atkinson-hyperlegible-regular.7572a7a.woff2) format("woff2")}@font-face{font-family:Atkinson;font-style:italic;font-display:swap;src:url(/_nuxt/fonts/atkinson-hyperlegible-italic.deb0b45.woff2) format("woff2")}@font-face{font-family:Atkinson;font-weight:700;font-display:swap;src:url(/_nuxt/fonts/atkinson-hyperlegible-bold.fce21da.woff2) format("woff2")}@font-face{font-family:Atkinson;font-style:italic;font-weight:700;font-display:swap;src:url(/_nuxt/fonts/atkinson-hyperlegible-bolditalic.eeaf9fc.woff2) format("woff2")}:root{--black:#000;--white:#fff;--subtle:#f6f8fb;--nord0:#2e3440;--nord1:#3b4252;--nord2:#434c5e;--nord3:#4c566a;--nord4:#d8dee9;--nord5:#e5e9f0;--nord6:#eceff4;--nord7:#8fbcbb;--nord8:#88c0d0;--nord9:#81a1c1;--nord10:#5e81ac;--nord11:#bf616a;--nord12:#d08770;--nord13:#ebcb8b;--nord14:#a3be8c;--nord15:#b48ead}*{--rhythm:1.8rem;--line-height-ratio:1.65}@media(min-width:45rem){*{--rhythm:2.1rem;--line-height-ratio:1.7}}html{--background:var(--white);--color-primary-shade1:var(--nord2);--color-primary:var(--nord0);--color-primary-tint:var(--nord0);--color-accent-shade:#9fe;--color-accent:#47ebcf;--color-accent-tint:#29a38f;--color-link:#86587e;--color-link-visited:var(--nord2);--color-link-hover:var(--nord15);--color-link-active:var(--nord1);--focus-outline:var(--rhythm-twelfth) solid var(--nord13);--focus-tight:0 0 0 var(--rhythm-twelfth) var(--white),0 0 0 var(--rhythm-sixth) var(--nord13);--font-family:"Atkinson",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:"Consolas","Monaco","Courier New",monospace;--font-heading:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-body:var(--font-family);--border-radius:var(--rhythm-fourth)}@media(prefers-reduced-motion){*{transition:none!important}}html{overflow-y:scroll}body{background:#fff;background:var(--background)}::-moz-selection{background:#ebcb8b;background:var(--nord13)}::selection{background:#ebcb8b;background:var(--nord13)}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.0298em;color:#2e3440;color:var(--nord0)}h1{color:#000;color:var(--black)}@media(max-width:55rem){.project h1{--sub-rhythm:calc(var(--rhythm)*1.8)}}h2{--sub-rhythm:calc(var(--rhythm)*1.4)}h3,h4{--sub-rhythm:calc(var(--rhythm)*1.2)}h5{letter-spacing:0;margin-bottom:0}code,kbd,pre,samp{color:inherit}a:hover{text-decoration:none}.footer a:focus,.nuxt-content ul a:focus,.skip-link a:focus,p a:focus{background:#ebcb8b;background:var(--nord13);outline-offset:0;transition:background .4s ease-out;text-decoration:none}.button:focus,p a.button:focus{outline:none;box-shadow:0 0 0 var(--rhythm-twelfth) #fff,0 0 0 var(--rhythm-sixth) #ebcb8b;box-shadow:var(--focus-tight)}blockquote{text-align:center;position:relative;font-style:italic;quotes:"“" "”";border:none;border-radius:var(--rhythm-fourth);border-radius:var(--border-radius);padding:var(--rhythm);margin-top:var(--rhythm-double);margin-left:0}@media(min-width:65rem){blockquote{margin-left:-5rem;margin-right:-5rem}}blockquote p{font-size:calc(var(--rhythm-third)*2.2)}blockquote:after,blockquote p{font-family:Georgia,Times,Times New Roman,serif}blockquote:after{color:#d8dee9;color:var(--nord4);content:open-quote;font-size:100px;position:absolute;left:50%;bottom:calc(100% - var(--rhythm-half));height:55px;width:55px;line-height:normal;text-align:center;transform:translateX(-50%);padding-right:10px}blockquote figcaption,blockquote figcaption cite{font-style:normal;font-size:inherit}pre{border-radius:var(--rhythm-fourth);border-radius:var(--border-radius)}code,kbd,samp{background-color:#f6f8fb;background-color:var(--subtle);border-radius:var(--rhythm-eighth);border:1px solid #d8dee9;border:1px solid var(--nord4);padding:var(--rhythm-sixteenth);word-wrap:break-word}figure{position:relative}figure figcaption{position:absolute;bottom:var(--rhythm);width:100%;font-style:normal}figure figcaption p{margin:0;display:inline-block;color:#4c566a;color:var(--nord3);background:#f6f8fb;background:var(--subtle);padding:var(--rhythm-sixth) var(--rhythm-half);border-radius:var(--rhythm-fourth);border-radius:var(--border-radius);border:1px solid #2e3440;border:1px solid var(--nord0)}figure figcaption a{text-decoration:none}ol,ul{margin-left:calc(var(--rhythm-half) + 4px)}.toc3{margin-left:var(--rhythm)}.rounded{border-radius:var(--rhythm-fourth);border-radius:var(--border-radius)}.center{margin-left:auto;margin-right:auto;display:block}@media(max-width:65rem){.width-wide.rounded,pre{border-radius:0}}.grid,.v-container{margin-bottom:var(--rhythm)}.grid.side-by-side>p{display:flex;align-items:center}.grid .v-container,.grid figure,.v-container .grid{margin-bottom:0}ul.grid{margin:0;list-style:none}.hero{--line-height-ratio:1.5;--sub-rhythm:calc(var(--rhythm)*1.2);font-weight:500;text-align:center}@media(max-width:35rem){.hero{--line-height-ratio:1.3;--sub-rhythm:var(--rhythm);font-size:1.2rem}}.width-full,.width-wide,pre{max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}img.width-full{min-width:100vw}img{height:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block}img:not(.width-full):not(.width-wide){width:100%}.v-lazy-image{filter:blur(10px);transition:filter .7s}.v-lazy-image-loaded{filter:blur(0)}.image-placeholder{background:#f6f8fb;background:var(--subtle);color:#f6f8fb;color:var(--subtle);padding-bottom:var(--ratio);position:relative;height:0;overflow:hidden;display:block}.image-placeholder:after{content:attr(data-alt);width:100%;height:100%;display:flex;position:absolute;top:0;left:0;align-items:center;justify-content:center;text-align:center;color:#2e3440;color:var(--nord0)}.width-full.image-placeholder{--ratio:85%!important}@media(min-width:65rem){.width-wide,pre,ul.width-wide{margin-left:-10rem;margin-right:-10rem;max-width:65rem}}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.browser-mockup{border-top:3em solid #2e3440;border-top:3em solid var(--nord0);position:relative;border-radius:var(--rhythm-fourth) var(--rhythm-fourth) 0 0;border-radius:var(--border-radius) var(--border-radius) 0 0}.browser-mockup:before{display:block;position:absolute;content:"";top:calc(var(--rhythm)*-1);left:var(--rhythm);width:.5em;height:.5em;border-radius:50%;background-color:#bf616a;background-color:var(--nord11);box-shadow:0 0 0 2px #bf616a,1.5em 0 0 2px #a3be8c,3em 0 0 2px #ebcb8b;box-shadow:0 0 0 2px var(--nord11),1.5em 0 0 2px var(--nord14),3em 0 0 2px var(--nord13)}.browser-mockup img{position:relative;top:-1px}.mobile-mockup{border-color:#2e3440;border-color:var(--nord0);border-style:solid;border-width:2em 10px;background:#2e3440;background:var(--nord0);position:relative;border-radius:var(--rhythm-fourth);border-radius:var(--border-radius)}.mobile-mockup:after{display:block;position:absolute;content:"";bottom:-1.2em;left:50%;width:4em;margin-left:-2em;height:.5em;border-radius:1em;background-color:#434c5e;background-color:var(--nord2)}.browser-mockup>*,.mobile-mockup>*{display:block}.mobile-mockup img{border-radius:var(--rhythm-eighth)}.fade-out{position:relative}.fade-out:after{display:block;position:absolute;bottom:0;left:0;content:"";background:linear-gradient(0deg,#fff,hsla(0,0%,100%,0));width:100%;height:33.33333%;z-index:100}.background-subtle,.soft-background{background-color:#f6f8fb;background-color:var(--subtle)}.p-one{padding:var(--rhythm)}.remark-oembed-inline{position:relative;overflow:hidden;width:100%;padding-top:56.25%;margin-bottom:var(--rhythm)}.remark-oembed-speaker-deck{padding-top:75%}.remark-oembed-inline iframe{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%}.remark-oembed-you-tube .remark-oembed-anchor{display:none}.remark-oembed-twitter{padding-top:0}.remark-oembed-twitter .twitter-tweet{margin-left:auto;margin-right:auto}.page-enter-active{transition-duration:1.1s}.page-leave-active{transition-duration:.9s}.page-enter .transition-bottom,.page-leave-active .transition-bottom{opacity:0;transform:translateY(50px)}.page-enter-active .transition-bottom{transition:opacity .2s ease-in,transform .4s cubic-bezier(.47,1.64,.41,.8);transition-delay:.5s}.page-leave-active .transition-bottom{transition:opacity .2s ease-out,transform .4s ease-out;transition-delay:.5s}.page-enter .transition-top{opacity:0;transform:translateY(-100px)}.page-leave-active .transition-top{opacity:0;transform:translateY(-50px)}.page-enter-active .transition-top{transition:opacity .2s ease-in,transform .4s cubic-bezier(.47,1.64,.41,.8)}.page-leave-active .transition-top{transition:opacity .2s ease-out,transform .4s ease-out}.page-enter .transition-fade{opacity:0}.page-enter-active .transition-fade{transition:opacity .2s ease-in}.page-leave-active .transition-fade{transition:opacity .2s ease-out;opacity:0}.app{padding:var(--rhythm)}#content,#footer{position:relative;z-index:1}#header{position:relative;z-index:10}#content{min-height:calc(100vh - var(--rhythm-double))}.skip-link{transform:translateY(-100px);transition:transform .4s cubic-bezier(.47,1.64,.41,.8)}.skip-link[focus-within]{transform:translateY(0);position:fixed;display:block;margin:0 auto;background-color:#f6f8fb;background-color:var(--subtle);clip:auto!important;-webkit-clip-path:none;clip-path:none;height:auto;width:100%;top:0;left:0;padding:var(--rhythm-fourth) var(--rhythm-half);z-index:20}.skip-link:focus-within{transform:translateY(0);position:fixed;display:block;margin:0 auto;background-color:#f6f8fb;background-color:var(--subtle);clip:auto!important;-webkit-clip-path:none;clip-path:none;height:auto;width:100%;top:0;left:0;padding:var(--rhythm-fourth) var(--rhythm-half);z-index:20}.navigation{position:fixed;top:0;left:var(--rhythm);z-index:10}.navigation a{transition:background .25s linear,box-shadow .2s ease-out;padding:var(--rhythm-sixth) var(--rhythm-half);font-size:.9em;text-decoration:none;color:#fff;color:var(--white);display:block;border-radius:0 0 var(--rhythm-fourth) var(--rhythm-fourth);background-color:#2e3440;background-color:var(--nord0)}.navigation a:focus,.navigation a:hover{outline:none;box-shadow:0 0 0 var(--rhythm-twelfth) #fff,0 0 0 var(--rhythm-sixth) #ebcb8b;box-shadow:var(--focus-tight);background-color:#434c5e;background-color:var(--nord2)}.container{max-width:45rem;margin:0 auto}.nuxt-content h2{margin-top:var(--rhythm-triple)}.nuxt-content>img{display:block;margin-bottom:var(--rhythm)}article h1{margin-top:var(--rhythm-half)}.home .photo-link{width:110px;height:110px;margin:0 auto;display:block;border-radius:50%;overflow:hidden;transition:transform .2s ease-out,box-shadow .2s ease-out;box-shadow:0}.home .photo-link img{width:110px}.home .photo-link:hover{transform:translateY(-4px)}.home .photo-link:focus,.home .photo-link:hover{outline:none;box-shadow:0 0 0 var(--rhythm-twelfth) #fff,0 0 0 var(--rhythm-sixth) #ebcb8b;box-shadow:var(--focus-tight);transform:translateY(-4px)}.projects-list{--columns:1;padding:var(--rhythm)}@media(min-width:45rem){.projects-list{--columns:2}}@media(min-width:65rem){.projects-list{--columns:3;padding:0}.projects-list article:nth-child(3n+2){position:relative;top:calc(var(--rhythm)*-1)}}.project-card{background-color:var(--nord0);background-color:var(--card-colour,var(--nord0));border-radius:var(--rhythm-fourth);border-radius:var(--border-radius);height:450px;position:relative;transition:transform .2s ease-out,box-shadow .2s ease-out;box-shadow:0;overflow:hidden;opacity:1;max-width:325px;margin:0 auto;width:100%;max-width:318px}@media(min-width:45rem){.project-card{width:318px}}.project-card.active{transition:opacity .4s ease-out,transform .2s ease-out .2s;opacity:0;transform:scale(.85)!important}.project-card:hover,.project-card[focus-within]{outline:none;box-shadow:0 0 0 var(--rhythm-twelfth) #fff,0 0 0 var(--rhythm-sixth) #ebcb8b;box-shadow:var(--focus-tight);transform:translateY(-4px)}.project-card:focus-within,.project-card:hover{outline:none;box-shadow:0 0 0 var(--rhythm-twelfth) #fff,0 0 0 var(--rhythm-sixth) #ebcb8b;box-shadow:var(--focus-tight);transform:translateY(-4px)}.project-card a{display:block;width:100%;height:100%;text-decoration:none}.project-card a,.project-card a:hover{color:#fff;color:var(--white)}.project-card a:focus{outline:none}.project-card img{position:relative;top:20px;margin:0 auto;max-width:250px;display:block}.project-card h3{color:#fff;color:var(--white);--sub-rhythm:calc(var(--rhythm)*1);margin:0 0 var(--rhythm)}.project-card .entry-meta{margin:0;list-style:none;font-weight:700}.project-card .meta-category{background:hsla(0,0%,100%,.1);display:inline-block;padding:var(--rhythm-sixth) var(--rhythm-half);border-radius:var(--rhythm-fourth);border-radius:var(--border-radius)}.project-card-content{padding:var(--rhythm)}.project-card .entry-content{bottom:0;padding:0 var(--rhythm)}.project-card .card-overlay,.project-card .entry-content{position:absolute;left:0;width:100%;box-sizing:border-box}.project-card .card-overlay{top:0;height:100%;transform:translateY(100%);padding:var(--rhythm);background:var(--nord0);background:var(--card-colour,var(--nord0));border-radius:var(--rhythm-fourth);border-radius:var(--border-radius);text-align:center;transition:transform .45s cubic-bezier(.47,1.64,.41,.8)}.project-card:hover .card-overlay,.project-card[focus-within] .card-overlay{transform:translateY(71%)}.project-card:focus-within .card-overlay,.project-card:hover .card-overlay{transform:translateY(71%)}.project-overview{--columns:1;grid-gap:0!important}.project-overview ul{margin-bottom:0;list-style:none;margin-left:0}@media(min-width:65rem){.project-overview{--columns:2;grid-gap:var(--rhythm)!important}}.projects-container .grid{padding-top:calc(var(--rhythm)*3)}.journal-container,.page-container header,.project-container header,.projects-container header{padding-top:var(--rhythm-quadruple)}.load-more{margin:var(--rhythm-double) auto 0;display:block}.journal-container .entry-meta,.project-container .entry-meta{margin:0;list-style:none;color:#4c566a;color:var(--nord3);background:#f6f8fb;background:var(--subtle);display:inline-block;padding:var(--rhythm-sixth) var(--rhythm-half);border-radius:var(--rhythm-fourth);border-radius:var(--border-radius)}.journal-container .entry-meta li,.project-container .entry-meta li{display:inline;position:relative;top:2px}.journal-container .entry-meta li:after,.project-container .entry-meta li:after{content:"/";padding:0 10px;font-weight:700;color:#d8dee9;color:var(--nord4)}.journal-container .entry-meta li:last-child:after,.project-container .entry-meta li:last-child:after{content:"";padding:0}.meta-status.active{color:#a3be8c;color:var(--nord14)}.meta-status.archived{color:#bf616a;color:var(--nord11)}.clients{display:flex;justify-content:center;flex-wrap:wrap;list-style:none;margin:0;padding:0}.clients li{width:30%}@media(min-width:45rem){.clients li{width:15%}}.footer{margin-top:var(--rhythm-quadruple);overflow:hidden}.footer.solar{margin-top:calc(var(--rhythm-quadruple) + var(--rhythm-quadruple))}@media(max-width:65rem){.footer.solar{margin-top:calc(var(--rhythm-quadruple))}}.footer a,.footer a:visited{text-decoration:none;color:#2e3440;color:var(--nord0)}.footer a:hover{color:#b48ead;color:var(--color-link-hover)}.local{list-style:none;margin:0 0 var(--rhythm)}.local li{float:left;margin-right:var(--rhythm-half)}.social{list-style:none;margin:0;clear:left}.social li{float:left;margin-right:var(--rhythm-half)}@media(min-width:45rem){.local{margin:0}.social{float:right;clear:none}.social li{float:left;margin-left:var(--rhythm-half);margin-right:0}.local,.social{position:relative;top:3px}}code[class*=language-],pre[class*=language-]{color:#f8f8f2;background:0 0;font-family:Fira Code,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:var(--rhythm);margin-top:var(--rhythm);margin-bottom:var(--rhythm);overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2e3440}:not(pre)>code[class*=language-]{padding:.1em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#636f88}.token.punctuation{color:#81a1c1}.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#81a1c1}.token.number{color:#b48ead}.token.boolean{color:#81a1c1}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#a3be8c}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#81a1c1}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#88c0d0}.token.keyword{color:#81a1c1}.token.important,.token.regex{color:#ebcb8b}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.solar[data-v-4ba81798]{position:fixed;bottom:0;left:0;width:100vw;height:5vh;z-index:0;pointer-events:none;transition:height 1s ease-out}.solar[data-v-4ba81798]:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;opacity:.1;background:var(--subtle);transition:all 1s ease-out}.solar.low[data-v-4ba81798]:before{background:var(--nord11)}.solar.medium[data-v-4ba81798]:before{background:var(--nord12)}.solar.high[data-v-4ba81798]:before{background:var(--nord14)}.battery[data-v-4ba81798]{color:var(--white);background:var(--nord0);padding:0 8px;border-radius:var(--rhythm-fourth);position:relative;left:var(--rhythm);top:-12px;z-index:5;font-size:.9rem;display:inline-flex;align-items:center;vertical-align:baseline}@media(max-width:65rem){.battery[data-v-4ba81798]{transform:rotate(270deg);left:-2em;border-radius:0 0 var(--rhythm-fourth) var(--rhythm-fourth);line-height:1}}.solar.low .battery[data-v-4ba81798]{background:var(--nord11)}.solar.medium .battery[data-v-4ba81798]{background:var(--nord12)}.solar.high .battery[data-v-4ba81798]{background:var(--nord14)}.battery svg[data-v-4ba81798]{transform:rotate(90deg);margin-right:5px}.battery span[data-v-4ba81798]{position:relative;top:1px}.battery-stats[data-v-4ba81798]{font-size:2rem;line-height:2.2rem;font-weight:800;color:var(--white);padding:var(--rhythm);position:absolute;bottom:calc(var(--rhythm)*2)}@media(max-width:65rem){.battery-stats[data-v-4ba81798]{display:none}}