:root{--home-background:linear-gradient(356deg, #020024 50%, #220f76 95%, #1e99ce 100%);--works-background:linear-gradient(356deg, #020024 50%, #220f76 95%, #1e99ce 100%);--main-text:#fff6e8;--back-button-arrow:#f86a63;--back-button-background:#fff6e8;--back-button-background-hover:#f86a63;--card-color:#fff6e8;--card-text-color:black;--nodevember-card-outline-color:white}body.light-theme{--home-background:linear-gradient(356deg, #020024 50%, #220f76 95%, #1e99ce 100%);--works-background:#fff6e8;--main-text:black;--back-button-arrow:#fff6e8;--back-button-background:#f86a63;--back-button-background-hover:#f86a63;--card-color:black;--card-text-color:#fff6e8;--nodevember-card-outline-color:black}@font-face{font-display:swap;font-family:basteleur-bold;font-style:normal;font-weight:400;src:url(/fonts/velvetyne/Basteleur-Bold.woff2)format("woff2"),url(/fonts/velvetyne/Basteleur-Bold.woff)format("woff")}@font-face{font-display:swap;font-family:basteleur-moonlight;font-style:normal;font-weight:400;src:url(/fonts/velvetyne/Basteleur-Moonlight.woff2)format("woff2"),url(/fonts/velvetyne/Basteleur-Moonlight.woff)format("woff")}@font-face{font-display:swap;font-family:pilowlava;font-style:normal;font-weight:400;src:url(/fonts/velvetyne/Pilowlava-Regular.woff2)format("woff2"),url(/fonts/velvetyne/Pilowlava-Regular.woff)format("woff")}@font-face{font-display:swap;font-family:pilowlava-atome;font-style:normal;font-weight:400;src:url(/fonts/velvetyne/Pilowlava-Atome.woff2)format("woff2"),url(/fonts/velvetyne/Pilowlava-Atome.woff)format("woff")}@font-face{font-family:montserrat;src:url(../fonts/Montserrat/Montserrat[wght].woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:montserrat;src:url(../fonts/Montserrat/Montserrat-Italic[wght].woff2)format("woff2");font-style:italic;font-weight:100 900;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:montserrat underline;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/Montserrat/MontserratUnderline[wght].woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:montserrat underline;font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/Montserrat/MontserratUnderline-Italic[wght])format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:montserrat alternates;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/Montserrat/MontserratAlternates[wght].woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:montserrat alternates;font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/Montserrat/MontserratAlternates-Italic[wght])format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-display:swap;font-family:nunito;font-style:normal;font-weight:200;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-200.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-200.ttf)format("truetype")}@font-face{font-display:swap;font-family:nunito;font-style:italic;font-weight:200;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-200italic.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-200italic.ttf)format("truetype")}@font-face{font-display:swap;font-family:nunito;font-style:normal;font-weight:300;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-300.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-300.ttf)format("truetype")}@font-face{font-display:swap;font-family:nunito;font-style:italic;font-weight:300;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-300italic.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-300italic.ttf)format("truetype")}@font-face{font-display:swap;font-family:nunito;font-style:normal;font-weight:400;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-regular.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-regular.ttf)format("truetype")}@font-face{font-display:swap;font-family:nunito;font-style:italic;font-weight:400;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-italic.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-italic.ttf)format("truetype")}@font-face{font-display:swap;font-family:nunito;font-style:normal;font-weight:500;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-500.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-500.ttf)format("truetype")}@font-face{font-display:swap;font-family:nunito;font-style:italic;font-weight:500;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-500italic.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-500italic.ttf)format("truetype")}@font-face{font-display:swap;font-family:nunito;font-style:normal;font-weight:600;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-600.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-600.ttf)format("truetype")}@font-face{font-display:swap;font-family:nunito;font-style:italic;font-weight:600;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-600italic.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-600italic.ttf)format("truetype")}@font-face{font-display:swap;font-family:nunito;font-style:normal;font-weight:700;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-700.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-700.ttf)format("truetype")}@font-face{font-display:swap;font-family:nunito;font-style:italic;font-weight:700;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-700italic.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-700italic.ttf)format("truetype")}@font-face{font-display:swap;font-family:nunito;font-style:normal;font-weight:800;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-800.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-800.ttf)format("truetype")}@font-face{font-display:swap;font-family:nunito;font-style:italic;font-weight:800;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-800italic.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-800italic.ttf)format("truetype")}@font-face{font-display:swap;font-family:nunito;font-style:normal;font-weight:900;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-900.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-900.ttf)format("truetype")}@font-face{font-display:swap;font-family:nunito;font-style:italic;font-weight:900;src:url(../fonts/nunito-v31-latin/nunito-v31-latin-900italic.woff2)format("woff2"),url(../fonts/nunito-v31-latin/nunito-v31-latin-900italic.ttf)format("truetype")}@font-face{font-display:swap;font-family:fredoka;font-style:normal;font-weight:300;src:url(../fonts/fredoka-v16-latin/fredoka-v16-latin-300.woff2)format("woff2"),url(../fonts/fredoka-v16-latin/fredoka-v16-latin-300.ttf)format("truetype")}@font-face{font-display:swap;font-family:fredoka;font-style:normal;font-weight:400;src:url(../fonts/fredoka-v16-latin/fredoka-v16-latin-regular.woff2)format("woff2"),url(../fonts/fredoka-v16-latin/fredoka-v16-latin-regular.ttf)format("truetype")}@font-face{font-display:swap;font-family:fredoka;font-style:normal;font-weight:500;src:url(../fonts/fredoka-v16-latin/fredoka-v16-latin-500.woff2)format("woff2"),url(../fonts/fredoka-v16-latin/fredoka-v16-latin-500.ttf)format("truetype")}@font-face{font-display:swap;font-family:fredoka;font-style:normal;font-weight:600;src:url(../fonts/fredoka-v16-latin/fredoka-v16-latin-600.woff2)format("woff2"),url(../fonts/fredoka-v16-latin/fredoka-v16-latin-600.ttf)format("truetype")}@font-face{font-display:swap;font-family:fredoka;font-style:normal;font-weight:700;src:url(../fonts/fredoka-v16-latin/fredoka-v16-latin-700.woff2)format("woff2"),url(../fonts/fredoka-v16-latin/fredoka-v16-latin-700.ttf)format("truetype")}@font-face{font-display:swap;font-family:national-park;font-style:normal;font-weight:400;font-weight:275 800;src:url(/fonts/national-park/NationalPark-VariableVF.woff2)format("woff2-variations"),url(/fonts/national-park/NationalPark-VariableVF.woff)format("woff-variations")}@font-face{font-display:swap;font-family:onlytrue small;font-style:normal;font-weight:400;src:url(/fonts/onlytrue/onlytrue-small-webfont.woff2)format("woff2")}@font-face{font-display:swap;font-family:onlytrue bigblob;font-style:normal;font-weight:400;src:url(/fonts/onlytrue/onlytrue-bigblob-webfont.woff2)format("woff2")}@font-face{font-display:swap;font-family:onlytrue neutral;font-style:normal;font-weight:400;src:url(/fonts/onlytrue/onlytrue-neutral-webfont.woff2)format("woff2")}@font-face{font-display:swap;font-family:libre baskerville;font-style:normal;font-weight:400;src:url(/fonts/libre-baskerville-v14-latin-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:libre baskerville;font-style:italic;font-weight:400;src:url(/fonts/libre-baskerville-v14-latin-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:libre baskerville;font-style:normal;font-weight:700;src:url(/fonts/libre-baskerville-v14-latin-700.woff2)format("woff2")}@font-face{font-display:swap;font-family:modak;font-style:normal;font-weight:400;src:url(/fonts/modak-v18-latin-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:rubik gemstones;font-style:normal;font-weight:400;src:url(/fonts/rubik-gemstones-v1-latin-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:dangrek;font-style:normal;font-weight:400;src:url(/fonts/dangrek-v30-latin-regular.woff2)format("woff2")}.works-body{background:var(--works-background)}body,#main-content{overflow-x:auto}.back-button{font-family:pilowlava;font-size:4rem;font-weight:400}@media(max-width:700px){.back-button{font-size:2rem}}.back-button{container-type:size;display:flex;align-items:center;align-content:center;justify-content:center;text-align:center;aspect-ratio:1/1;border-radius:50%;background-color:var(--back-button-background);overflow:hidden;user-select:none;cursor:pointer}.back-button>svg{width:100%;height:100%;border-radius:50%}.back-button:hover,.back-button:focus{background-color:var(--back-button-arrow);outline-color:var(--back-button-background-hover)}.back-button:hover>span,.back-button:hover>svg,.back-button:focus>span,.back-button:focus>svg{color:var(--back-button-background)}.back-button{float:right;width:1em;margin:10px}@media not (max-width:calc(1100px + 12em + 10px + min(15px,5vw))){.back-button{position:absolute;left:calc((100vw - 1100px)/2 + 1100px)}}.back-button-banner-image{right:0;position:absolute;margin:min(50px,5vw);width:min(7em,13vw);container-type:size;display:flex;align-items:center;align-content:center;justify-content:center;text-align:center;aspect-ratio:1/1;border-radius:50%;background-color:var(--back-button-background);overflow:hidden;user-select:none;cursor:pointer}.back-button-banner-image>svg{width:100%;height:100%;border-radius:50%}.back-button-banner-image:hover,.back-button-banner-image:focus{background-color:var(--back-button-arrow);outline-color:var(--back-button-background-hover)}.back-button-banner-image:hover>span,.back-button-banner-image:hover>svg,.back-button-banner-image:focus>span,.back-button-banner-image:focus>svg{color:var(--back-button-background)}#banner-image-wrapper{width:100vw;height:100vh;max-height:100vw;overflow:hidden}#banner-image-wrapper img{display:block;width:100%;height:100%;object-fit:cover}h1{font-family:pilowlava;font-size:4rem;font-weight:400}@media(max-width:700px){h1{font-size:2rem}}h1{margin-bottom:.1em}h1,h2,h3,h4,h5,h6{margin-top:calc(min(5rem,10vw)/4/2);margin-bottom:calc(min(5rem,10vw)/4/2)}h2{font-family:montserrat;font-weight:700;font-size:1.3rem}@media(max-width:700px){h2{font-size:1rem}}.content-article>p{margin-top:calc(min(5rem,10vw)/4/2);margin-bottom:calc(min(5rem,10vw)/4/2)}#fish-background{position:absolute;height:100%;width:100%;top:0;left:0;z-index:-1;background-image:url(/fish-puzzle/fish-tiling-rect.svg);background-repeat:repeat;opacity:20%;background-size:10em}.content-article{box-sizing:border-box;padding:min(15px,5vw);font-size:1.4em;margin-top:calc(min(5rem,10vw)/4)}@media(max-width:700px){.content-article{font-size:1.1em}}.content-article{max-width:1100px;margin-left:auto;margin-right:auto}.content-article>p>img{display:block;margin-top:calc(min(5rem,10vw)/4);margin-bottom:calc(min(5rem,10vw)/4)}.content-article>p>video{width:100%;display:block;margin-top:calc(min(5rem,10vw)/4);margin-bottom:calc(min(5rem,10vw)/4)}.content-article tbody{margin:auto}.content-article td{padding:.15em .2em}.content-article ul{padding-left:1em}.youtube-video{margin-top:calc(min(5rem,10vw)/4);margin-bottom:calc(min(5rem,10vw)/4);outline-style:solid;outline-width:calc(min(5rem,10vw)/20);outline-color:#f86a63;border-radius:5px;overflow:hidden}.padded-image{margin-left:min(5rem,10vw);margin-right:min(5rem,10vw)}a.link-with-image-box:hover,a.link-with-image-box:active{outline-color:#c578ff}.link-with-image-box,a.link-with-image-box{margin-top:calc(min(5rem,10vw)/4);margin-bottom:calc(min(5rem,10vw)/4);width:100%;display:grid;grid-template-columns:1fr 2fr;grid-template-rows:1fr;text-decoration:none;font-size:1rem;overflow:hidden;border-radius:5px;background-color:var(--card-color);color:var(--card-text-color);text-decoration:none;font-family:montserrat;font-weight:600;font-size:1.05rem}@media(max-width:700px){.link-with-image-box,a.link-with-image-box{font-size:.9rem}}.link-with-image-box,a.link-with-image-box{cursor:pointer}.link-with-image-box a,a.link-with-image-box a{font-family:montserrat;font-weight:600;font-size:1.05rem}@media(max-width:700px){.link-with-image-box a,a.link-with-image-box a{font-size:.9rem}}.link-with-image-box a,a.link-with-image-box a{text-decoration:none;color:var(--card-text-color)}.link-with-image-box:hover,.link-with-image-box:active,a.link-with-image-box:hover,a.link-with-image-box:active{background-color:#f86a63;color:var(--card-color)}.link-with-image-box:hover a,.link-with-image-box:active a,a.link-with-image-box:hover a,a.link-with-image-box:active a{text-decoration:none;color:var(--card-color)}.link-with-image-box:hover,a.link-with-image-box:hover{outline:solid 5px var(--back-button-arrow);outline-offset:-1px}.link-with-image-box>:nth-child(1),a.link-with-image-box>:nth-child(1){margin:0;padding:0;min-width:150px}.link-with-image-box>:nth-child(1) img,a.link-with-image-box>:nth-child(1) img{display:block;padding:0;margin:0}.link-with-image-box>:nth-child(2),a.link-with-image-box>:nth-child(2){font-size:min(3vw,1rem);padding:1em;align-content:center}.link-with-image-box .youtube-img-link,a.link-with-image-box .youtube-img-link{margin:0;outline-style:none;border-radius:0}p.box-link{width:100%;margin-top:calc(min(5rem,10vw)/4);margin-bottom:calc(min(5rem,10vw)/4);border-radius:5px;background-color:var(--card-color);color:var(--card-text-color);text-decoration:none;font-family:montserrat;font-weight:600;font-size:1.05rem}@media(max-width:700px){p.box-link{font-size:.9rem}}p.box-link{cursor:pointer}p.box-link a{font-family:montserrat;font-weight:600;font-size:1.05rem}@media(max-width:700px){p.box-link a{font-size:.9rem}}p.box-link a{text-decoration:none;color:var(--card-text-color)}p.box-link:hover,p.box-link:active{background-color:#f86a63;color:var(--card-color)}p.box-link:hover a,p.box-link:active a{text-decoration:none;color:var(--card-color)}p.box-link>a{font-family:montserrat;font-weight:600;font-size:1.05rem}@media(max-width:700px){p.box-link>a{font-size:.9rem}}p.box-link>a{text-decoration:none;text-align:center;padding-top:calc(min(5rem,10vw)/4/2);padding-bottom:calc(min(5rem,10vw)/4/2);width:100%;height:100%;display:inline-block}.youtube-img-link{height:fit-content;position:relative;margin-top:calc(min(5rem,10vw)/4);margin-bottom:calc(min(5rem,10vw)/4);min-width:150px;outline-style:solid;outline-width:calc(min(5rem,10vw)/20);outline-color:#f86a63;border-radius:5px;overflow:hidden;text-decoration:none;display:block}.youtube-img-link .youtube-container{position:absolute;container-type:size;width:100%;height:100%}.youtube-img-link .youtube-thumbnail{display:block}.youtube-img-link .youtube-title{font-family:montserrat;font-weight:600;font-size:1.05rem}@media(max-width:700px){.youtube-img-link .youtube-title{font-size:.9rem}}.youtube-img-link .youtube-title{font-weight:800;color:#fff6e8;position:absolute;top:0;padding-left:.5em;font-size:max(min(2rem,5cqw),10px)}.youtube-img-link .youtube-card{font-family:montserrat;font-weight:600;font-size:1.05rem}@media(max-width:700px){.youtube-img-link .youtube-card{font-size:.9rem}}.youtube-img-link .youtube-card{text-decoration:none;position:absolute;bottom:.5em;right:0;font-size:max(min(2rem,5cqw),10px);color:#fff6e8;padding-left:1em;padding-right:1em;padding-top:.3em;padding-bottom:.3em;background-color:rgba(0,0,0,.5921568627)}.youtube-img-link .youtube-play-button{color:rgba(0,0,0,.5921568627);top:calc(50% - min(20cqw,7em)/2);left:calc(50% - min(20cqw,7em)/2);position:absolute;z-index:10;width:min(20cqw,7em);height:min(20cqw,7em)}.youtube-img-link .youtube-title-gradient{position:absolute;top:0;right:0;height:10em;width:100%;background-image:linear-gradient(to top,transparent,hsla(0,0%,0%,.709%) 10.47%,hsla(0,0%,0%,.02755) 19.56%,hsla(0,0%,0%,.06016) 27.58%,hsla(0,0%,0%,.1037) 34.81%,hsla(0,0%,0%,.15697) 41.57%,hsla(0,0%,0%,.21875) 48.13%,hsla(0,0%,0%,.28782) 54.79%,hsla(0,0%,0%,.36296) 61.85%,hsla(0,0%,0%,.44297) 69.61%,hsla(0,0%,0%,.52662) 78.36%,hsla(0,0%,0%,.6127) 88.39%,hsla(0,0%,0%,.7))}.youtube-img-link:hover .youtube-play-button{color:#f86a63}.left-right{outline-style:solid;outline-width:calc(min(5rem,10vw)/20);outline-color:#f86a63;display:flex;justify-items:flex-start;align-items:center}.left-right .youtube-img-link{margin:0;outline-style:none}.left-right>:nth-child(1){width:30%}.left-right>p{padding-left:1em}.ölige-fische{margin-top:calc(min(5rem,10vw)/4);margin-bottom:calc(min(5rem,10vw)/4);width:100%;height:auto;aspect-ratio:640/480}.ölige-fische #unity-canvas{width:100%;height:100%}.subheading{margin-bottom:1.5em}.content-article #threejs-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh}#pufferfish-rect{width:100%;aspect-ratio:1}#pufferfish-container{aspect-ratio:2.5;width:70%;margin-left:auto;overflow:hidden;padding:0}.image-mosaic{margin-top:30px;display:grid;gap:.3rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));grid-auto-rows:100px}.card{background:#353535;font-size:3rem;color:#fff;box-shadow:rgba(3,8,20,.1)0 .15rem .5rem,rgba(2,8,20,.1)0 .075rem .175rem;height:100%;width:100%;border-radius:4px;transition:all 500ms;overflow:hidden;padding:0;margin:0}.card img{min-height:100%;object-fit:cover}@media screen and (min-width:600px){.card-tall{grid-row:span 2/auto}.card-wide{grid-column:span 2/auto}}.nodevember-container{margin-top:.4em;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr)}@media screen and (max-width:700px){.nodevember-container{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(8,1fr)}}.nodevember-item{font-family:national-park;font-variation-settings:"wght" 700;container-type:size;aspect-ratio:1/1.3;margin:3px;position:relative;border-radius:7px;overflow:hidden;cursor:pointer}.nodevember-item>div{width:100%;height:30cqw;background-color:var(--card-color);color:var(--card-text-color);border-radius:0 0 7px 7px;align-content:center}.nodevember-item>div p{padding:0 12cqw;font-size:9cqw;text-align:center}.nodevember-item>img,.nodevember-item video{display:block;width:100cqw;height:100cqw}.nodevember-item>.loader{background:0 0;position:absolute;width:100cqw;height:100cqw;top:0;left:0}.nodevember-item:hover,.nodevember-item:hover>div,.nodevember-item:active,.nodevember-item:active>div{outline-width:2px;outline-color:#fff;outline-offset:-2px;outline-style:solid;background-color:var(--card-text-color);color:var(--card-color)}.nodevember-item:hover,.nodevember-item:active{transition:.3s}#nodevember-text-item{container-type:size;margin:3px;text-align:center;align-content:center;overflow:hidden;border-radius:7px}#nodevember-text-item p{font-family:national-park;font-variation-settings:"wght" 700;padding:3cqw;font-size:9.5cqw}#nodevember-text-item .nodevember-arrow{width:30%;height:auto}#nodevember-modal-overlay{display:none;position:fixed;justify-content:center;z-index:10;left:0;top:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.6)}#nodevember-modal-column{position:relative;container-type:size;margin-top:5em;margin-left:min(20px,2vw);margin-right:min(20px,2vw);width:min(100%,700px)}#nodevember-modal-video-wrapper{width:100%;aspect-ratio:1/1;background:rgba(0,0,0,.116);position:relative}#nodevember-modal-video{display:block;width:100%;height:100%;background:#000}.loader{background:0 0;container-type:size}.loader>div{z-index:1;position:absolute;width:30cqw;height:30cqw;background:rgba(0,0,0,.5490196078);border-radius:50%;top:calc(50% - 15cqw);left:calc(50% - 15cqw)}.loader>div>svg{width:100%;height:100%;color:rgba(255,255,255,.7411764706);animation:spin 1s cubic-bezier(.5,2,.5,.5)infinite}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}#nodevember-modal-content{background-color:#fff6e8;padding:min(1.5 * min(20px,2vw),2em);padding-top:0;border-radius:1cqw;border-top-right-radius:1.5cqw}#nodevember-modal-title{font-family:national-park;font-variation-settings:"wght" 700;font-size:calc(min(50px,8vw)/1.2);text-align:center;align-content:center;color:#000;margin:0;height:calc(min(50px,8vw) * 2)}.x-button-modal{position:absolute;top:0;right:0;width:min(50px,8vw);height:min(50px,8vw);container-type:size;display:flex;align-items:center;align-content:center;justify-content:center;text-align:center;aspect-ratio:1/1;border-radius:50%;background-color:var(--back-button-background);overflow:hidden;user-select:none;cursor:pointer}.x-button-modal>svg{width:100%;height:100%;border-radius:50%}.x-button-modal:hover,.x-button-modal:focus{background-color:var(--back-button-arrow);outline-color:var(--back-button-background-hover)}.x-button-modal:hover>span,.x-button-modal:hover>svg,.x-button-modal:focus>span,.x-button-modal:focus>svg{color:var(--back-button-background)}.x-button-modal{border-radius:0;border-bottom-left-radius:1cqw;border-top-right-radius:1cqw}.x-button-modal svg{color:#000}.x-button-modal>span{font-size:120cqw;translate:0 -1cqw}.x-button-modal:active,.x-button-modal:hover{background-color:#000}.x-button-modal:active svg,.x-button-modal:hover svg{color:#fff6e8}#overflow-videos{display:flex;gap:1em}#overflow-videos video{width:100%}#overflow-videos{margin-top:calc(min(5rem,10vw)/4);margin-bottom:calc(min(5rem,10vw)/4)}:root{--banner-angle:3deg}#work-banner{--banner-angle:3deg}#me-banner{--banner-angle:-2deg}#software-banner{--banner-angle:4deg}.tape-banner-spacer{height:1em;font-size:1.03rem}@media(max-width:700px){.tape-banner-spacer{font-size:.5rem}}.tape-banner-spacer{z-index:99;justify-items:center}.tape-banner-overflow{position:absolute;height:calc(abs(sin(var(--banner-angle)) * 100vw) + 5em);left:0;right:0;translate:0 calc(.5em - (abs(sin(var(--banner-angle)) * 100vw) + 5em)/2);justify-content:center;align-content:center;overflow:hidden}.tape-banner{font-family:rubik gemstones;display:flex;height:5em;z-index:999999;width:200vw;translate:-50vw 0;rotate:var(--banner-angle);background:repeating-linear-gradient(45deg,#f3dd1b,#f3dd1b 80px,#000000 80px,#000000 160px);align-items:center;justify-content:center;overflow:hidden;user-select:none}.tape-banner div{text-align:center;vertical-align:middle;width:100%;color:#000;font-size:2.2em;padding:10;white-space:nowrap;background-color:#f3dd1b}.img-gallery{container-type:size;width:100%;aspect-ratio:16/9;overflow:visible;margin-top:calc(min(5rem,10vw)/4);margin-bottom:calc(30px + min(5rem,10vw)/4)}.img-gallery .prev-button,.img-gallery .next-button{position:absolute;z-index:1;color:rgba(255,255,255,.5529411765);height:100cqh;cursor:pointer}.img-gallery .prev-button>svg,.img-gallery .next-button>svg{width:3rem;height:3rem;background:rgba(0,0,0,.4078431373);border-radius:50%;position:absolute;top:calc(50% - 1.5rem)}.img-gallery .prev-button:hover>svg,.img-gallery .next-button:hover>svg{background:#f86a63;color:#fff6e8}.img-gallery .prev-button.disabled,.img-gallery .next-button.disabled{display:none}.img-gallery .prev-button{right:calc(50% + 50cqw + 2rem - 3rem);left:max(100vw - (50% + 50cqw + 2rem - 3rem) - 200px,0px)}.img-gallery .prev-button>svg{right:3rem}.img-gallery .next-button{left:calc(50% + 50cqw + 2rem - 3rem);right:max(100vw - (50% + 50cqw + 2rem - 3rem) - 200px,0px)}.img-gallery .next-button>svg{transform:scaleX(-1);left:3rem}@media(max-width:calc(1100px + 9rem + 4rem)){.img-gallery .prev-button{right:calc(50% + 50cqw - 3rem - .75rem - 3rem);left:calc(100vw - (50% + 50cqw - 3rem - .75rem - 3rem) - 9rem)}.img-gallery .next-button{left:calc(50% + 50cqw - 3rem - .75rem - 3rem);right:max(100vw - (50% + 50cqw - 3rem - .75rem - 3rem) - 9rem,0px)}}.img-gallery-mask{position:absolute;justify-content:center;height:100cqh;left:0;right:0;mask-image:linear-gradient(to left,#000 0%,hsla(0,0%,0%,.987) 8%,hsla(0,0%,0%,.951) 15.2%,hsla(0,0%,0%,.896) 21.7%,hsla(0,0%,0%,.825) 27.8%,hsla(0,0%,0%,.741) 33.5%,hsla(0,0%,0%,.648) 38.9%,hsla(0,0%,0%,.55) 44.3%,hsla(0,0%,0%,.45) 49.7%,hsla(0,0%,0%,.352) 55.3%,hsla(0,0%,0%,.259) 61.2%,hsla(0,0%,0%,.175) 67.5%,hsla(0,0%,0%,.104) 74.4%,hsla(0,0%,0%,.049) 82.1%,hsla(0,0%,0%,.013) 90.5%,transparent 100%),linear-gradient(to right,#000 0%,hsla(0,0%,0%,.987) 8%,hsla(0,0%,0%,.951) 15.2%,hsla(0,0%,0%,.896) 21.7%,hsla(0,0%,0%,.825) 27.8%,hsla(0,0%,0%,.741) 33.5%,hsla(0,0%,0%,.648) 38.9%,hsla(0,0%,0%,.55) 44.3%,hsla(0,0%,0%,.45) 49.7%,hsla(0,0%,0%,.352) 55.3%,hsla(0,0%,0%,.259) 61.2%,hsla(0,0%,0%,.175) 67.5%,hsla(0,0%,0%,.104) 74.4%,hsla(0,0%,0%,.049) 82.1%,hsla(0,0%,0%,.013) 90.5%,transparent 100%),linear-gradient(black,black);mask-size:200px 100%,200px 100%,103cqw,100%;mask-position:calc(50vw - 50cqw - 200px)0,calc(50vw + 50cqw)0,center;mask-repeat:no-repeat;overflow:hidden;user-select:none}.img-gallery-mask .img-gallery-main{width:100cqw;height:100cqh;overflow:visible;overflow:scroll}.img-gallery-mask>.img-gallery-images{display:flex;justify-content:flex-start;width:max-content;gap:30px;height:100%;margin-left:50vw;margin-right:50vw}.img-gallery-mask>.img-gallery-images>.img-gallery-image-wrapper{height:100%;max-width:100cqw;overflow:hidden;display:flex;justify-content:center}.img-gallery-mask>.img-gallery-images>.img-gallery-image-wrapper>img{display:block;height:100%;width:auto}.img-gallery-mask>.img-gallery-images :not(:nth-child(1))>img{opacity:.2;filter:grayscale(1)}.img-gallery-mask>.img-gallery-row{width:100%;aspect-ratio:8/1;display:flex;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;scroll-behavior:smooth;margin-left:-.2em;margin-right:-.2em}.img-gallery-mask>.img-gallery-row>img{max-height:100%;display:block;width:auto;margin:.2em}.img-gallery-mask>.img-gallery-row .chosen{outline-style:solid;outline-width:calc(min(5rem,10vw)/20);outline-color:#f86a63;outline-color:#fff6e8}.img-gallery-mask .img-gallery-note{background:#000}.img-gallery-dots-container{position:absolute;translate:0 calc(100cqh + 5px);width:100cqw;display:flex;justify-content:center}.img-gallery-dot{position:relative;width:20px;height:20px;cursor:pointer}.img-gallery-dot .img-gallery-dot-circle{position:absolute;left:5px;right:5px;top:5px;bottom:5px;opacity:50%;background:#fff6e8;border-radius:50%}.img-gallery-dot.selected .img-gallery-dot-circle,.img-gallery-dot:hover .img-gallery-dot-circle{background:#fff6e8;opacity:100%}#modal-media-overlay{display:flex;display:none;position:fixed;justify-content:center;align-items:center;z-index:20;left:0;top:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.8);overflow:hidden}#modal-media-content-wrapper{position:relative;margin:min(30px,2vw);border-radius:0}#modal-media-content-wrapper #modal-media-x-button{opacity:0;transition:.5s}@media(hover:none){#modal-media-content-wrapper #modal-media-x-button{opacity:1}}#modal-media-content-wrapper:active #modal-media-x-button,#modal-media-content-wrapper:hover #modal-media-x-button{opacity:1}#modal-media-img,#modal-media-video{display:block;max-width:min(2e3px,100vw);max-height:calc(100vh - min(30px,2vw) * 2);z-index:11}#modal-media-x-button{position:absolute;top:calc(0px - min(50px,8vw)/3);right:calc(0px - min(50px,8vw)/3);width:min(50px,8vw);height:min(50px,8vw);padding:calc(min(50px,8vw)/3);user-select:none}#modal-media-x-button svg{width:100%;height:100%;color:#000;color:#fff6e8;opacity:.4;filter:drop-shadow(0 0 calc(min(50px,8vw)/8) #000)}#modal-media-x-button:active svg,#modal-media-x-button:hover svg{color:var(--back-button-arrow);opacity:1;filter:none;background:0 0}#modal-media-x-button:active,#modal-media-x-button:hover{background:0 0}.clickable-image:not(.disabled){cursor:pointer}p.font-attrib>a{display:block;background:var(--card-color);padding:0 1em;text-decoration:none;font-variation-settings:"wght" 400;transition:font-variation-settings 1s;border-radius:5px;background-color:var(--card-color);color:var(--card-text-color);text-decoration:none;font-family:montserrat;font-weight:600;font-size:1.05rem}@media(max-width:700px){p.font-attrib>a{font-size:.9rem}}p.font-attrib>a{cursor:pointer}p.font-attrib>a a{font-family:montserrat;font-weight:600;font-size:1.05rem}@media(max-width:700px){p.font-attrib>a a{font-size:.9rem}}p.font-attrib>a a{text-decoration:none;color:var(--card-text-color)}p.font-attrib>a:hover,p.font-attrib>a:active{background-color:#f86a63;color:var(--card-color)}p.font-attrib>a:hover a,p.font-attrib>a:active a{text-decoration:none;color:var(--card-color)}p.font-attrib>a{font-size:2em}p.font-attrib>a:hover{font-variation-settings:"wght" 800}p.font-attrib>a{margin-bottom:.1em}p.font-attrib{margin-bottom:2em}p.pilowlava>a{padding-top:.2em;font-family:pilowlava}p.pilowlava>a:hover{font-family:pilowlava-atome}p.montserrat>a{font-family:montserrat}p.montserrat>a:hover{font-family:montserrat underline}p.national-park>a{padding-bottom:.1em;font-family:national-park}p.rubik-gemstones>a{padding-top:.1em;padding-bottom:.1em;font-family:rubik gemstones}*{margin:0;padding:0;border:0;outline:0;background:0 0}body{background:var(--home-background);position:relative;font-family:montserrat;font-weight:600;font-size:1.05rem}@media(max-width:700px){body{font-size:.9rem}}body{color:var(--main-text)}.no-scroll{overflow:hidden}#threejs-canvas{position:fixed;top:0;width:0;width:100%;height:100%;display:block;z-index:9999;pointer-events:none}#threejs-playground-canvas{position:fixed;top:0;width:0;width:100vw;height:100vh;display:block;z-index:9999;pointer-events:none}#secret-corner{position:absolute;top:0;left:0;height:120px;width:120px}main{margin:0;font-size:.75em;min-height:100vh}a{text-decoration:none;font-family:montserrat underline;text-decoration:none;color:#f86a63}a:hover{color:#c578ff}#hello-div{color:#fff6e8;padding:5%;overflow:hidden;margin-bottom:calc(min(1.8em,3vw) * 3);font-size:clamp(.1rem,1vw,1rem)}#hello-div .hello-title h1{font-family:pilowlava;font-size:20.79em;font-weight:400}#hello-div .hello-title h2{font-family:pilowlava-atome;font-size:6.757em;font-weight:400}#hello-div .hello-title{margin-bottom:1.5em}#hello-div .hello-introduction{width:70%;font-family:montserrat;font-weight:600;font-size:2.268em;max-width:800px}#fish-shape-outside,#fish-shape-outside-playground{overflow:hidden;float:right;padding-top:.075em;width:49em;shape-outside:circle(36.75em at 36.75em 36.825em);outline-offset:-1px}#fish-shape-outside #fish-rect,#fish-shape-outside-playground #fish-rect{width:73.5em;height:73.5em;opacity:0%;outline-offset:-1px;translate:0 0}#fish-shape-outside #fish-rect :first-child,#fish-shape-outside-playground #fish-rect :first-child{touch-action:none;border-radius:50%;height:100%;width:100%;outline:4px solid rgba(242,242,242,.4);outline-offset:-4px}footer{padding:5px 5px 5px 1em;margin:5em 0 0;color:#000;text-align:left}footer #copyright{display:inline;text-align:right;position:absolute;right:1em}footer{font-size:clamp(.5rem,3vw,1.7rem)}footer>p{display:inline}footer a{font-family:montserrat;font-weight:600;font-size:1.05rem}@media(max-width:700px){footer a{font-size:.9rem}}footer a{color:#000;font-size:clamp(.5rem,3vw,1.7rem)}footer{background-color:#fff6e8}#map{height:300px}img{width:100%}.works-grid{margin:60px auto;display:grid;grid-template-columns:repeat(auto-fill,min(25rem,45vw));gap:calc(min(25rem,45vw)/20);max-width:calc(4 * (min(25rem,45vw) + min(25rem,45vw)/20));justify-content:center}@media not (hover:none){.work-cover{transition:.3s}}.work-cover{width:100%;font-size:calc(.07 * min(25rem,45vw));font-weight:700;border-radius:5px;overflow:hidden;height:fit-content;position:relative}.work-cover:hover{z-index:1;outline:2px;outline-color:#fff;outline-offset:-2px;outline-style:solid}.work-cover:hover .work-cover-link{color:#fff6e8;background-color:#000;outline:2px;outline-color:#fff;outline-offset:-2px;outline-style:solid}.work-cover>.work-cover-img{display:block}.work-cover .work-cover-link{font-family:national-park;font-variation-settings:"wght" 700;color:#000;text-decoration:none;display:block;margin:0;padding:10px;font-weight:700;border-bottom-left-radius:5px;border-bottom-right-radius:5px;background-color:#fff6e8;text-align:center}.locked-cover>.work-cover>.work-cover-img{filter:grayscale(100%);opacity:60%}.locked-cover>.work-cover>.work-cover-title{opacity:60%;background-color:#dbdbdb}.locked-cover>.work-cover{background-color:#252525;pointer-events:none}@media not (hover:none){.mobile-only{display:none}}.hint{opacity:60%}.box-link{cursor:pointer}#about-section{font-size:clamp(.35rem,.75vw,.6rem);margin:auto;padding:11rem 5% 0;max-width:calc(4 * min(25rem,45vw))}#about-me-image{width:49%;height:100%;float:left;margin-bottom:4em;padding-right:2.5%;box-sizing:border-box}#about-me-image img{border-radius:5px}#about-me-text{width:50%;float:right;margin-bottom:2em}#about-me-text h2{font-family:montserrat;font-weight:600;font-size:2.268em;margin-top:0}#about-me-text{font-family:montserrat;font-weight:600;font-size:2.268em}@media(max-width:700px){#about-me-text,#about-me-image{float:none;margin:auto;width:100%}#about-section{padding-top:3.5rem}#about-me-image{margin-bottom:1.5rem}}#contact-button a{font-size:clamp(.7rem,1.5vw,1.5rem)}#contact-button{clear:both}#software-section{font-size:clamp(.35rem,.75vw,.75rem);margin:auto;max-width:calc(4 * (min(25rem,45vw) + min(25rem,45vw)/20))}#software-section p{font-family:montserrat;font-weight:600;font-size:2.268em}#software-section h2{font-size:4.5em}#software-section{clear:both;padding:3rem 5% 5%;text-align:center}