:root{--light_bg: #dbdbdb;--light_alt_bg: #fff;--light_font: #000;--light_menu: #fff;--light_sub_font: #555;--light_menu_font: #831e91;--light_link: #014dbe;--dark_bg: #242424;--dark_alt_bg: #111;--dark_font: #fff;--dark_menu: #2D3356;--dark_sub_font: #999;--dark_menu_font: #f1bce5;--dark_link: #66adff;font-family:Quicksand,Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif}#root,html,body{scroll-behavior:smooth;margin:0;display:grid;grid-template-rows:1fr min-content;justify-items:center;width:100%;background-color:var(--light_bg);color:var(--light_font)}.subtext{color:var(--light_sub_font)}.highlight{color:var(--light_menu_font)}.header{padding:1em;margin:3em 2em 0;text-align:center}.container,.flex-container{margin:1em 0;box-sizing:border-box;width:80%;max-width:1440px}.flex-container{display:flex;flex-direction:row}.svg-icon{height:4em;filter:invert(14%)}.link,.link:after{color:var(--light_link);text-decoration:none;transition:color .25s}@media (orientation: landscape) and (min-width: 1080px){.link:hover{color:var(--light_font);text-decoration:underline}@media (prefers-color-scheme: dark){.link:hover{color:var(--dark_font)}}}@media (prefers-color-scheme: dark){#root,html,body{background-color:var(--dark_bg);color:var(--dark_font)}.subtext{color:var(--dark_sub_font)}.highlight{color:var(--dark_menu_font)}.svg-icon{filter:invert(100%)}.link,.link:after{color:var(--dark_link)}}@media (orientation: portrait) or (max-width: 1080px){.container{width:100%}.flex-container{width:auto;flex-direction:column}}.spacer{height:100vh;grid-column:1 / -1;grid-row:1 / span 2}.splash-container{grid-column-start:1;grid-row-start:1;width:80%;max-width:1440px;position:relative;overflow:hidden}.splash-flex-container{display:flex;height:100%;width:100%;justify-content:flex-end;align-items:center;flex-direction:column;background-color:#745591;forced-color-adjust:none}.poi{position:relative}.splash,.splash-bg,.splash-border{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}.splash-border{width:calc(100% * 54/52);left:calc(100% * -1/52);bottom:calc(100% * -1/104);color:var(--light_bg);z-index:100}.splash,.splash img{width:100%}.poi:nth-child(1){width:20%;bottom:50%;z-index:1}.poi:nth-child(2){width:125%;bottom:calc(-70vw + 35vh);z-index:4}.poi:nth-child(3){width:125%;bottom:calc(-70vw + 39vh);z-index:3}.poi:nth-child(4){width:125%;bottom:calc(-70vw + 40vh);z-index:2}.poi:nth-child(5){width:125%;bottom:100vh;z-index:0}.splash{bottom:1px}.splash-bg{background-image:linear-gradient(#2d3356 0% 25%,#745591);height:200vh;width:100%}@media (prefers-color-scheme: dark){.splash-border{color:var(--dark_bg)}}@media (forced-colors: active){.splash-border{color:Canvas}}@media (min-width: 1800px){.poi:nth-child(2){bottom:calc(-1260px + 35vh)}.poi:nth-child(3){bottom:calc(-1260px + 39vh)}.poi:nth-child(4){bottom:calc(-1260px + 40vh)}}@media (orientation: portrait) or (max-width: 1080px){.splash-container{width:100%}.poi:nth-child(2){bottom:calc(-80vw + 20vh)}.poi:nth-child(3){bottom:calc(-80vw + 25vh)}.poi:nth-child(4){bottom:calc(-80vw + 30vh)}}.navbar{position:sticky;top:1em;z-index:100;grid-column-start:1;grid-row-start:2;display:flex;text-align:center;background-color:transparent;font-size:1.7em;border-radius:2em;margin:.5em 0;padding:.5em 1em;height:min-content;transition:padding .25s}.navbar-spacer{grid-column-start:1;grid-row-start:2;font-size:1.7em;height:4em;width:1em}.navbar button{font-family:Quicksand,Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif;background-color:transparent;border:none;display:none}.navbar a,.navbar button{padding:0 .5em;text-decoration:none;font-size:1.2em}.navbar a{transition:all .25s}.navbar a,.navbar a:after,.navbar button{color:var(--light_menu_font)}.navbar button:has(+.show){color:#db3232}.navbar a:hover,.navbar button:hover{text-decoration:none;cursor:pointer}.navbar.pinned{padding:.75em 1em;font-size:1em;background-color:var(--light_menu);filter:drop-shadow(0 .5em .75em #00000080)}.navbar.pinned a,.navbar.pinned a:after{color:var(--light_menu_font);padding:0 1em}@media (orientation: landscape) and (min-width: 1080px){.navbar a:hover,.navbar button:hover,.navbar.pinned a:hover,.navbar.pinned button:hover{color:var(--light_font)}@media (prefers-color-scheme: dark){.navbar a:hover,.navbar button:hover,.navbar.pinned a:hover,.navbar.pinned button:hover{color:var(--dark_font)}}}@media (prefers-color-scheme: dark){.navbar a,.navbar a:after,.navbar button{color:var(--dark_menu_font)}.navbar button:has(+.show){color:#ff8585}.navbar.pinned{background-color:var(--dark_menu)}.navbar.pinned a,.navbar.pinned a:after{color:var(--dark_menu_font)}}@media (orientation: portrait) or (max-width: 1080px){.navbar{flex-direction:column-reverse;margin:1.5em 0;padding:0 1em}.navbar-spacer{height:7em}.navbar-spacer.show{height:18em}.navbar.pinned{flex-direction:column;padding:0 1em}.navbar:has(#menu.show),.navbar.pinned:has(#menu.show){padding:.5em 1em}.navbar a,.navbar.pinned a{padding:.5em .25em}#menu{overflow:hidden;max-height:0;height:0;display:none;flex-direction:column}#menu.show{overflow:hidden;display:flex;height:auto;max-height:100vh}.navbar button,.navbar.pinned button{padding:.5em 2.5em;display:block}}#about div{margin:3em 2em 0;padding:1em;flex:0 1 50%}#about #about-1{text-align:right}#about #about-2{margin-top:12em}@media (orientation: portrait) or (max-width: 1080px){#about #about-1{margin:2em 2em 0;text-align:center}#about #about-2{margin:0 2em 2em;text-align:center}}.heading{margin-bottom:.25em}.subheading{margin:0 0 1em}#projects{width:100%}.card-container{width:100%;max-width:1440px;display:grid;grid-template-columns:repeat(auto-fill,minMax(0,480px));grid-auto-rows:1fr;justify-content:center}.card{position:relative;display:flex;flex-direction:column;padding:1em 1em 2.5em;text-align:center;opacity:0}.card.show{animation-name:slideCard;animation-duration:.75s;animation-fill-mode:forwards}.card-link-container a{margin:0 .75em}.card-link-container span{-webkit-user-select:none;user-select:none}.gallery-container{position:relative;margin:0 0 1.5em}.carousel{display:flex;overflow-x:scroll;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:0;margin:0;border-radius:1em;gap:1em}.scroll-marker-container{position:absolute;bottom:-1.5em;display:flex;justify-content:center;gap:.75em;left:50%;transform:translate(-50%)}.scroll-marker{content:"";width:.75em;height:.75em;background-color:var(--dark_sub_font);border-radius:50%;cursor:pointer;transition:background-color .5s}.scroll-marker.active{background-color:var(--light_font)}.image{display:flex;flex:0 0 100%;align-items:center;list-style-type:none;scroll-snap-align:center;background-color:#111;border-radius:1em;overflow:hidden;aspect-ratio:4/3}.image img{width:100%}.stack-container{padding-top:1em;margin:auto 0 0}.stack{margin:1em 0 .5em}.stack-container div{display:flex;flex-wrap:wrap;justify-content:center;align-items:center}.stackItem{border:.0625em solid;border-radius:1.5em;border-color:var(--light_menu_font);color:var(--light_menu_font);margin:.1em;padding:.1em .75em}.project-footer{margin:0 2em;padding:1em 1em 0;text-align:center}@keyframes slideCard{0%{opacity:0;top:10em}to{opacity:1;top:0}}@media (prefers-color-scheme: dark){.scroll-marker{background-color:var(--light_sub_font)}.scroll-marker.active{background-color:var(--dark_font)}.stackItem{border-color:var(--dark_menu_font);color:var(--dark_menu_font)}}@media (min-width: 1441px){.card:nth-child(3n+2){animation-delay:.1s}.card:nth-child(3n+3){animation-delay:.2s}}@media (min-width: 961px) and (max-width: 1440px){.card:nth-child(odd){animation-delay:0}.card:nth-child(2n+2){animation-delay:.1s}}#contact{margin-bottom:0;display:flex;flex-direction:column;height:100vh}.contact-body{display:flex;flex:1 0 auto;flex-direction:column;justify-content:center;margin-bottom:15vh;text-align:center}.contact-body p.subtext{margin-top:0}.contact-card-container{display:flex;justify-content:center}.contact-card{display:block;text-align:center;width:min-content;padding:1em}.footer{margin:1em;padding:.5em 1.5em;max-width:1440p;border-radius:1.5em;text-align:right;color:var(--light_menu_font);background-color:var(--light_menu);filter:drop-shadow(0 .5em .75em #00000080)}@media (min-height: 864px){#contact{height:auto}.contact-body{margin-top:5vh}}@media (prefers-color-scheme: dark){.footer{color:var(--dark_menu_font);background-color:var(--dark_menu)}}.app{background-color:var(--light_bg)}.test{background-color:var(--light_bg);width:80%;height:200vh;flex:0 0 auto}@media (prefers-color-scheme: dark){.test,.app{background-color:var(--dark_bg)}}
