body{overscroll-behavior-y:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body a{cursor:crosshair}@keyframes tilt-in{0%{transform:rotateY(45deg) rotateX(-45deg) translateX(30%);opacity:0}to{transform:rotateX(0deg) translateX(0);opacity:1}}html{background:#d3d3d3}div,h1,h2,h3,h4,h5,p,span{fill:#000;color:#000;text-shadow:0 0 7px #d3d3d3,0 0 7px #d3d3d3,0 0 7px #d3d3d3,0 0 7px #d3d3d3}.bgCover:before{-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:-1}.contact-copy{display:inline;word-wrap:break-word;cursor:crosshair;-webkit-text-decoration:underline solid blue .125vw;text-decoration:underline solid blue .125vw;font-family:gangster;color:blue;background:transparent;border:0;padding:0;white-space:normal;max-width:100%}.copy-alert{position:relative;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;background:#000;height:calc-size(auto);color:#bebebe;text-shadow:none;opacity:1;transition:all .25s ease;border-radius:.5rem;padding:1rem;font-size:24px;text-align:center}.copy-alert img{color:lime}.copy-alert.invisible{transform:translateY(-30%);overflow:hidden;height:0;margin:0;padding-top:0;padding-bottom:0;opacity:0}.rows{flex-wrap:wrap}@media screen and (max-width:640px){.project-landing .image,.texts{width:100%}.project-title-detail span{font-size:1rem;text-shadow:0 0 7px #d3d3d3,0 0 7px #d3d3d3,0 0 7px #d3d3d3,0 0 7px #d3d3d3,0 0 7px #d3d3d3,0 0 7px #d3d3d3,0 0 7px #d3d3d3,0 0 7px #d3d3d3,0 0 7px #d3d3d3,0 0 7px #d3d3d3,0 0 7px #d3d3d3,0 0 7px #d3d3d3}}@media screen and (min-width:641px) and (max-width:1024px){.project-landing .image,.texts{width:75%}.project-title-detail span{font-size:1rem}}@media screen and (min-width:1025px){.texts{width:50%}.project-landing .image{width:50%;transform:translate(-15%)}}.works-container{padding:0;margin:0;width:100%;height:auto;overflow:clip}.project-landing{cursor:pointer;width:100%;height:100vh;min-height:500px;position:relative;display:flex;flex-direction:row}.project-landing .skills-container{max-width:200px;display:flex;flex-wrap:wrap}.project-landing>*{position:relative}.project-landing .texts{z-index:2;margin:0}.project-landing .texts>.content{position:absolute;top:50%;left:50%;width:auto;transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);z-index:100;cursor:pointer}.project-landing .texts>.content *{z-index:100}.project-landing .image{z-index:1;position:absolute;right:0;top:0;height:100%}.project-landing .image .parallax-container{width:100%;position:absolute;top:50%;transform:translateY(-50%);padding:2rem}.project-landing .image img{position:absolute;top:50%;left:50%;max-height:80vh;width:auto;height:auto}.project-landing .description{padding-top:2rem;max-width:300px;text-align:justify;text-justify:distribute-all-lines;z-index:100}.project-title{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;align-content:flex-start;width:auto;margin-bottom:.5rem}.project-title h1{width:min-content;max-width:90vw;font-size:min(7vw,4rem);vertical-align:top;line-height:min(10vw,4rem);display:inline;margin:0;padding:0 1rem 1rem 0}.project-title-detail{display:flex;flex-direction:column;font-size:2rem;margin-top:-.7rem;margin-right:1rem}.landing-list{min-height:100vh;padding-bottom:2rem}.landing-list a{text-decoration:none}.landing-link{padding:2rem}.landing-link .content .project-title h1,.landing-link .content .project-title h2{width:auto;text-decoration:none}.landing-link *{text-decoration:none}.landing-link a,.landing-link h1,.landing-link h2,.landing-link h3,.landing-link h4{text-decoration:none!important}.landing-link{transition:all .5s;overflow:hidden}.landing-link:hover{background-color:#cdcdcd}.uncollapsed{height:calc-size(auto,size);overflow:hidden}.collapsed{height:0;overflow:hidden}.landing-greeting{font-style:italic;font-size:min(10vw,60px)}.contact-link,.contact-link-shadow{background-color:#d3d3d3;color:blue;fill:blue;font-size:40px;font-weight:bolder;vertical-align:top;letter-spacing:.25rem}a:hover #circ0-1{stroke:blue}.contact-link-shadow{fill:#fff;stroke:#fff;stroke-width:4}.landing{width:100%;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center}.landing button{font-size:22px}.landing .about{font-size:22px;max-width:500px;width:100%;margin:2rem auto 0;padding:2rem 2rem 0;position:relative;z-index:10}.header{position:fixed;pointer-events:none;top:0;right:0;padding:2rem;display:flex;justify-content:flex-end;width:100%;z-index:10}.header .logo .image-container{box-shadow:none}.header .logo img,.header .logo svg{width:30px!important;height:30px!important;color:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fixed{position:fixed;top:10px;left:10px;z-index:5}.spring-scroll-container{position:fixed;top:0;left:0;width:100%;overflow:hidden;will-change:transform}@media screen and (max-width:640px){.portrait-scene{left:50%;transform:translateX(-50%)}}@media screen and (min-width:641px) and (max-width:1024px){.portrait-scene{left:50%;transform:translateX(-50%)}}@media screen and (min-width:1025px){.portrait-scene{left:50%;transform:translateX(-50%)}}.portrait-centerd,.portrait-scene{position:fixed;bottom:0;width:min(500px,min(100vh,100vw));height:min(500px,min(100vh,100vw));z-index:-1}.portrait-centerd{left:50%;transform:translateX(-50%)}.canvas{z-index:-2;background-color:#d3d3d3}.portrait-scene-loading{background-color:#d3d3d3;position:absolute;top:0;bottom:0;left:0;right:0;transition:all 3s ease-in-out}.portrait-scene-loaded{background-color:transparent;opacity:0}.portrait-loading-spinner{transition:all 3s ease-in-out;width:100%;height:100%;text-align:center;vertical-align:middle}.portrait-loading-spinner p{animation:rotation 2s linear infinite;text-shadow:none}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.vimeo{width:100%}.bandcamp{border:0;width:350px;height:350px}.image-container{display:flex;justify-content:center;align-items:center;height:100%;width:100%;position:relative}.image-container .image{object-fit:contain;position:relative!important;display:block}@media screen and (max-width:640px){.card-gallery{max-width:100vw;justify-content:center}}@media screen and (min-width:641px){.card-gallery{max-width:80vw;justify-content:flex-end}}.cardOuterAnchor{text-decoration:none}.card{max-width:300px;height:auto;cursor:pointer;position:relative;align-self:flex-start;padding-left:2rem;padding-right:2rem}.card h3{font-family:gangster}.card .image-container{position:relative}.card .image-container img{left:0;max-height:300px;min-height:200px;max-width:100%;width:auto!important}.card-gallery{display:flex;flex-direction:row;flex-wrap:wrap;gap:2rem;margin:auto}.ring-text{width:min(300,min(100vw,30vh));height:min(300,min(100vw,30vh));display:block;margin:auto}.donut-text{font-size:2px;fill:#d3d3d3}.pill-button{border-radius:2rem;background-color:#fff;padding:1rem;margin:2rem;border:0 solid transparent}.floatingImage{position:fixed;width:90px;transition:all 10s ease;transform-origin:center}@font-face{font-family:gangster;src:url(/fonts/gangstergrotesk-light.ttf) format("truetype")}@font-face{font-family:plex-mono;src:url(/fonts/IBMPlexMono-Thin.ttf) format("truetype")}@font-face{font-family:inter;src:url(/fonts/InterTight-SemiBoldItalic.ttf) format("truetype")}html{font-family:gangster}a{text-shadow:none}h1,h2,h3,h4,h5{font-family:inter;line-height:1rem}div,p,span{line-height:1.5}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}body,html{padding:0;margin:0}*{box-sizing:border-box}.padding-container{padding:2rem}.column-padded :not(:last-child){padding-bottom:2rem}.column-padded *{display:block;max-width:calc(100vw - 5rem);margin:0 auto}.column-padded p{max-width:500px}.rows{display:flex;flex-direction:row;flex-wrap:nowrap}.rows :not(:last-child){padding-right:2rem}.flex-break{flex-basis:100%;height:0}.full-height,.noFilters{height:100vh}.noFilters{min-width:100vw;text-align:center;padding:50vh 2rem 2rem}.hidden{display:none;height:0;min-height:0;overflow:hidden}.transparent{opacity:0}.code-block *{max-width:100vw!important}.didactic{max-width:640px;width:800px;max-width:100vw;margin:2rem auto}.didactic *{text-shadow:none;max-width:calc(100vw - (2* 2rem))}.didactic .image-container{margin-bottom:0;padding-top:0;padding-bottom:0}.didactic .capsule-span{display:inline-block;background-color:#000;color:#d3d3d3;border-radius:2rem;height:1.4rem;padding-left:.5rem;padding-right:.5rem;margin:4rem .25rem .25rem 0;white-space:nowrap}.didactic div,.didactic h2,.didactic h3,.didactic h4,.didactic h5,.didactic p,.didactic>h1{color:#000;background-color:hsla(0,0%,83%,.9);padding:0;font-family:gangster}.didactic div,.didactic iframe{margin-left:auto;margin-right:auto}.didactic .code-block,.didactic .image-container{max-width:none}.unblur{animation:unblur 1s linear}@keyframes unblur{0%{filter:blur(20px)}to{filter:blur(0)}}.blurImg{opacity:0;filter:blur(20px)}.pixelate{image-rendering:pixelated}.capsule-span{display:inline-block;background-color:#000;text-decoration:none!important;color:#d3d3d3;border-radius:2rem;height:1.4rem;padding-left:.5rem;padding-right:.5rem;padding-bottom:1.55rem;margin:.25rem .25rem .25rem 0;white-space:nowrap;text-shadow:none;box-shadow:0 0 7px #d3d3d3,0 0 7px #d3d3d3,0 0 7px #d3d3d3}.toggleInnerWrapper{display:flex;flex-direction:row;transition:all .3s}.toggleContainer{pointer-events:none;will-change:transform;padding:2rem;display:flex;flex-direction:row;flex-wrap:wrap;flex-grow:0;position:fixed;top:0;z-index:1000;max-width:calc(100vw - 4rem);transition:all 1s}.toggleContainer *{pointer-events:auto}.toggleContainer.outOfView{transform:translateY(-100%)}.slideToggle,.toggle-container{box-shadow:0 0 7px #d3d3d3,0 0 7px #d3d3d3,0 0 7px #d3d3d3,0 0 7px #d3d3d3}input[type=checkbox].checkCustom~.slideToggle{position:relative;display:inline-block;vertical-align:middle;cursor:pointer;padding:0 1.25rem;margin-right:.5rem;margin-bottom:.5rem}input[type=checkbox].checkCustom~.slideToggle,input[type=checkbox].checkCustom~.slideToggle .slideHandle,input[type=checkbox].checkCustom~.slideToggle .slideText{transition:all .2s ease}input[type=checkbox].checkCustom~.slideToggle{border-radius:1rem;background:#b4b4b4}input[type=checkbox].checkCustom:checked~.slideToggle{background:lime}input[type=checkbox].checkCustom~.slideToggle .slideHandle{display:inline-block;position:absolute;left:.25rem;top:.25rem;width:1rem;height:1rem;border-radius:1rem;background:#d3d3d3}input[type=checkbox].checkCustom:checked~.slideToggle .slideHandle{left:calc(100% - 1.25rem);background:#a9a9a9}input[type=checkbox].checkCustom~.slideToggle .slideText{-webkit-user-select:none;-moz-user-select:none;user-select:none;display:inline-block;transform:translateX(.5rem);text-shadow:none}input[type=checkbox].checkCustom:checked~.slideToggle .slideText{transform:translateX(-.5rem)}.checked{background-color:lime}.hideOffScreen{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.toggle-container{display:flex;background:#b4b4b4;border-radius:25px;height:1.5rem;overflow:hidden;margin-right:.5rem;margin-bottom:.5rem}.toggle-option{flex:1 1;display:flex;align-items:center;justify-content:center;padding:12px;cursor:pointer;transition:flex .3s ease-in-out,background .3s}.toggle-option svg{width:32px;height:1rem;transition:transform .3s}.active{flex:2 1;background:lime;color:#000}.active svg{stroke:gray}.chevronScrollButton{top:0;background:transparent;border:none;cursor:pointer;transition:transform .5s;pointer-events:all;z-index:90000000}.chevronScrollButton svg{filter:drop-shadow(0 0 5px lightgray) drop-shadow(0 0 5px lightgray) drop-shadow(0 0 5px lightgray) drop-shadow(0 0 5px lightgray) drop-shadow(0 0 5px lightgray) drop-shadow(0 0 5px lightgray)}.chevronScrollButton:hover{transform:translateY(-10px)}.chevronScrollArea{display:flexbox;flex:1 1 100%;height:100%;overflow:visible}.project-page{z-index:100;min-height:100vh}.project-page .vimeo,.project-page img{margin-top:2rem}.credit{padding-right:4rem}.space-between{justify-content:space-between}.statement{width:400px;max-width:800px;margin:0 0 2rem;padding-right:4rem}.chrysanthemum-page{background-color:red}.resume{width:100%;background-color:#d3d3d3}.resume>*{max-width:800px}.resume h1{font-size:min(100px,20vw);font-style:italic;font-family:gangster;font-weight:700;line-height:1;padding-top:50px;color:#d3d3d3;text-shadow:#000}.resume div,.resume h1,.resume h2,.resume h3,.resume h4,.resume h5,.resume p,.resume span{color:#000;text-shadow:none;font-family:gangster;line-height:normal}.resume a{text-shadow:none}.resume h2{font-size:min(50px,10vw);font-style:italic}.resume h4{font-size:30px}.resume h1,.resume h2,.resume h3,.resume h4,.resume h5{margin:-.5rem 0 0}.resume h2,.resume h3,.resume h4,.resume h5{margin-top:1rem}.resume .page-break{page-break-before:always}.resume .resume-intro a,.resume .resume-intro span{display:block}.resume .resume-intro div{margin-bottom:2rem}.resume .resume-section{margin-bottom:4rem}.resume ul{list-style-type:disc;padding:1rem}.resume ul li{margin-bottom:.5rem}.resume .resume-subheading{display:flex;flex-wrap:wrap;align-items:center;width:100%;max-width:500px;vertical-align:center}.resume .resume-subheading h4{line-height:1;margin-right:.25rem}.resume button{font-size:1rem}.resume .copy-alert{margin-bottom:0!important}.technical-overview{width:100%;height:100%;min-height:100vh;background-color:#000}.technical-overview>*{max-width:800px}.technical-overview h1{font-size:min(100px,20vw);font-family:gangster;font-weight:700;line-height:1;color:#d3d3d3}.technical-overview div,.technical-overview h1,.technical-overview h2,.technical-overview h3,.technical-overview h4,.technical-overview h5,.technical-overview p,.technical-overview span{text-shadow:none;line-height:normal}.technical-overview a{text-shadow:none}.technical-overview h2{font-size:min(50px,10vw);font-style:italic}.technical-overview h4{font-size:30px}.technical-overview h1,.technical-overview h2,.technical-overview h3,.technical-overview h4,.technical-overview h5{margin:-.5rem 0 0}.technical-overview h2,.technical-overview h3,.technical-overview h4,.technical-overview h5{margin-top:1rem}.technical-overview .page-break{page-break-before:always}.technical-overview .resume-intro a,.technical-overview .resume-intro span{display:block}.technical-overview .resume-intro div,.technical-overview .resume-intro span{margin-bottom:2rem}.technical-overview .resume-section{margin-bottom:4rem}.technical-overview ul{list-style-type:none;padding:0}.technical-overview ul li{margin-bottom:.5rem}.technical-overview .resume-subheading{display:flex;flex-wrap:wrap;align-items:center;width:100%;max-width:500px;vertical-align:center}.technical-overview .resume-subheading h4{line-height:1;margin-right:.25rem}.technical-overview .capsule-span{background-color:#000;color:#d3d3d3;border-radius:2rem;height:1.4rem;padding-left:.5rem;padding-right:.5rem;margin:.25rem .25rem .25rem 0;white-space:nowrap}