@font-face{font-family:Roboto;font-weight:300;src:url(/static/media/roboto-light-webfont.578bcb2363120d3c7640.woff2) format("woff2")}@font-face{font-family:Roboto;font-weight:400;src:url(/static/media/roboto-regular-webfont.08ac0320f3d551693bc4.woff2) format("woff2")}@font-face{font-family:Roboto;font-weight:500;src:url(/static/media/roboto-medium-webfont.2bd2bacd6a22b05b83b1.woff2) format("woff2")}@font-face{font-family:Roboto;font-weight:700;src:url(/static/media/roboto-bold-webfont.61d30a7806843ffc6bb7.woff2) format("woff2")}@font-face{font-family:Roboto;font-weight:900;src:url(/static/media/roboto-black-webfont.9b76e356915c882d08cc.woff2) format("woff2")}@font-face{font-family:Roboto-Mono;font-weight:300;src:url(/static/media/robotomono-light-webfont.221a7296395764afa2d8.woff2) format("woff2")}@font-face{font-family:Roboto-Mono;font-weight:400;src:url(/static/media/robotomono-regular-webfont.646953086a243e2febfe.woff2) format("woff2")}@font-face{font-family:Roboto-Mono;font-weight:700;src:url(/static/media/robotomono-bold-webfont.55a90a30e40d7649e073.woff2) format("woff2")}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Roboto,sans-serif;margin:0}:root{--color-background:#191919;--color-input-field:#232323;--color-bullet-button:#fff3;--color-project-hover:#ffffff0d;--color-transparent-dark:#000000e6;--color-transparent-semi-dark:#000000b3;--color-title:#ebebeb;--color-text:#d2d2d2;--color-highlight:#e19600;--color-highlight2:#323250cc}body{background-color:#191919;background-color:var(--color-background);color:#ebebeb;color:var(--color-title);overflow-y:hidden}h1,h2,h3{font-family:Roboto-Mono,sans-serif}.App{display:flex;flex-direction:column;height:max(100dvh)}a:-webkit-any-link,a:any-link{color:#d2d2d2;color:var(--color-text);cursor:auto}a:-moz-any-link{color:#d2d2d2;color:var(--color-text);cursor:auto}a:link,a:visited{color:#d2d2d2;color:var(--color-text);cursor:auto}@keyframes animateIn{0%{bottom:-2rem;opacity:0}to{bottom:0;opacity:1}}@keyframes animateInFromRight{0%{opacity:0;right:-100%}to{opacity:1;right:0}}.header{background-color:#000;box-shadow:0 0 2rem #000;flex-wrap:wrap;width:100%;z-index:3}.header,.headerElement,.title{display:flex;position:relative}.headerElement,.title{align-items:center;padding-inline:2rem}.header .homeButton{cursor:pointer;text-decoration:none}.headerElements{display:flex}.headerElement{align-items:center;display:flex;padding-inline:2rem;text-decoration:none}.headerElement:visited{color:inherit}.headerElement>h2{z-index:4}.headerElement>h2.active{color:var(--color-highlight)}.headerElement>.overlay{background-color:var(--color-highlight2);bottom:0;height:0;left:0;position:absolute;transition:height 50ms;width:100%}.headerElement:hover{cursor:pointer}.headerElement:hover>.overlay{height:100%}.header h1,h2{line-height:.8;margin-bottom:1rem;margin-top:1rem}.header h1{font-size:1.5rem}.header h2{font-size:1.125rem}.hamburgerButton{display:none;height:100%;padding-right:1rem;position:absolute;right:0;top:0}.hamburgerButton>img{height:100%}@media (max-width:780px){.header{flex-direction:column}.headerElement{max-height:0;overflow:hidden;position:relative;transition:max-height .2s}.headerElement.visible{max-height:500px}.headerElement>h2{padding-left:1rem}.hamburgerButton{display:flex}}.projectsContainer{flex-basis:100%;overflow-x:clip;overflow-y:scroll;position:relative}.noscroll{overflow-y:hidden}.projectsContainer::-webkit-scrollbar{width:0}.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(33%,18rem),1fr));margin:auto;max-width:-webkit-max-content;max-width:max-content;padding:2%}.project{animation-duration:.5s;animation-fill-mode:backwards;animation-name:animateIn;border-radius:.5rem;box-shadow:0 0 2rem #000;margin:1.5rem;position:relative;transition:all .2s;transition-timing-function:cubic-bezier(.2,.6,.8,1.5)}.project:hover{box-shadow:0 0 2rem .5rem #000;cursor:pointer;transform:scale(1.03)}.project:hover>.overlay{background-color:var(--color-project-hover)}.project>.overlay{border-radius:.5rem;height:100%;position:absolute;text-align:center;top:0;transition:background-color .2s;transition-timing-function:ease-in;width:100%;z-index:1}.project>img{border-radius:.5rem;display:block;object-fit:cover;position:relative;width:100%}.titlebar{background-color:var(--color-transparent-dark);border-radius:0 0 .4rem .4rem;bottom:-1px;pointer-events:none;position:absolute;text-align:center;width:100%}.titlebar h2{font-size:1rem;line-height:1.5rem}.selectedProject{border-radius:.5rem;position:fixed;z-index:1}.selectedProject>img,.selectedProject>video{border-radius:.5rem;height:100%;object-fit:cover;vertical-align:bottom;width:100%}.selectedProject>video{overflow-y:scroll;z-index:500}.descriptionWrapper{display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;width:100%;z-index:2}.projectDescriptionContainer{background-color:var(--color-transparent-dark);-webkit-clip-path:polygon(10% 0,100% 0,100% 100%,0 100%);clip-path:polygon(10% 0,100% 0,100% 100%,0 100%);display:flex;height:100%;overflow-y:scroll;position:fixed;transition:width .2s;width:min(60rem,50%);z-index:2}.projectDescriptionContainer::-webkit-scrollbar{width:0}.projectDescriptionContent{margin:auto;padding:10% 10% 10% 25%;position:relative}.projectDescriptionContent>h1{color:#fff;font-size:2.5rem;left:-1.5rem;position:relative}.projectDescriptionContent>p{color:var(--color-text);font-size:1.25rem;line-height:2rem}.verticalDescriptionButton{align-items:flex-end;background-image:linear-gradient(0deg,#000 0,rgba(0,0,0,.989) 15.7%,rgba(0,0,0,.957) 29.4%,rgba(0,0,0,.908) 41.2%,rgba(0,0,0,.843) 51.3%,rgba(0,0,0,.767) 59.9%,rgba(0,0,0,.683) 67.2%,rgba(0,0,0,.592) 73.2%,rgba(0,0,0,.498) 78.3%,rgba(0,0,0,.404) 82.5%,rgba(0,0,0,.313) 86.1%,rgba(0,0,0,.227) 89.1%,#00000026 91.9%,rgba(0,0,0,.085) 94.5%,rgba(0,0,0,.034) 97.2%,#0000);bottom:-1px;display:none;height:6rem;justify-content:center;padding:.5rem;position:fixed;width:100%;z-index:3}.verticalDescriptionButton .content{animation-duration:.5s;animation-fill-mode:backwards;animation-name:animateIn;display:flex;justify-content:center;position:relative}.verticalDescriptionButton svg{stroke:var(--color-title);filter:drop-shadow(0 0 .5rem rgba(255,255,255,1));height:4rem;position:relative;transition:transform 50ms;width:min(30rem,85%)}.verticalDescriptionButton .content h2{bottom:0;font-size:1.125rem;position:absolute;text-shadow:0 0 1rem #fff;transition:bottom 50ms}.bulletButtonContainer{display:flex;flex-direction:column;margin-top:1rem;position:fixed;right:1rem;-webkit-user-select:none;user-select:none;z-index:3}.bulletButtonContainer .animationWrapper{animation-delay:.3s;animation-duration:.5s;animation-fill-mode:backwards;animation-name:animateInFromRight;position:relative}.bulletButton{background-color:var(--color-bullet-button);border-radius:50%;height:2rem;margin-bottom:.5rem;padding:.5rem;width:2rem}.bulletButton>img{height:100%;width:100%}.bulletButton:hover{cursor:pointer}@media (max-width:1000px){.projectDescriptionContainer{-webkit-clip-path:none;clip-path:none;width:100%}.projectDescriptionContent{padding-left:15%}}@media (max-width:1000px) and (orientation:portrait){.hideButton{display:none}.verticalDescriptionButton{display:flex}.projectDescriptionContent{padding-bottom:calc(10% + 2rem)}.bulletButtonContainer .animationWrapper{animation-delay:0s;animation-name:animateIn}}.contact{animation-duration:.5s;animation-fill-mode:backwards;animation-name:animateIn;margin-inline:auto;overflow-y:auto;position:relative;width:min(100%,70rem)}.contact h1{font-size:3rem;margin-bottom:2rem;margin-top:1rem}.contact h2{font-size:1.125rem}.contactFormContainer{padding:2rem}.contactFormContainer>.text{font-size:larger;padding-bottom:1rem;text-align:center}.text>p{color:var(--color-text)}.contactForm{display:flex;flex-direction:column;gap:1rem;max-width:100%}.contactForm .formItem{display:flex;justify-content:space-between}.formItem>label{flex-shrink:0}.formItem>span{min-height:6rem}.contactForm>button{align-self:flex-end;background-color:var(--color-title);border:none;border-radius:2rem;cursor:pointer;font-size:1rem;font-weight:700;height:3rem;margin-top:1rem;transition:background-color .2s;width:20%}.contactForm>button:hover{background-color:var(--color-highlight)}.formItem>span,input{background-color:var(--color-input-field);border:none;border-radius:2rem;color:var(--color-text);font-family:roboto;font-size:1rem;outline:none;padding:1rem;resize:vertical;width:80%}.formItem>span:focus,input:focus{outline:1px solid var(--color-highlight)}.formItem textarea{display:none}.formItem span:empty:after{content:"Your message"}.formItem input::placeholder,.formItem span:empty:after{color:#777;font-family:roboto;font-weight:300;text-transform:lowercase}.contactFormContainer label{padding-right:1rem}@media (max-width:670px){.contactForm>.formItem{flex-direction:column;width:100%}.formItem>span,input{padding:1rem;width:auto}.contactForm>button{width:100%}}.contactThanks{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:auto;width:min(20rem,100%)}.contactThanks>p{font-size:larger;margin:0;text-align:center}.contactThanks>h1{font-size:2rem;text-align:center}.contactThanks>img{border-radius:5%;margin-bottom:-2rem;width:100%}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-box-shadow:0 0 0 1000px var(--color-input-field) inset!important;caret-color:var(--color-text);color:var(--color-text)!important}.notFound{align-items:center;color:var(--color-input-field);display:flex;flex-direction:column;height:100%;justify-content:center}.notFound h1{font-size:12rem;line-height:10rem;margin:0}.notFound p{font-size:2rem;font-weight:700;margin:0;position:relative}.aboutContainer{display:flex;justify-content:center;overflow-y:scroll;padding:2%}.aboutContainer::-webkit-scrollbar{width:0}.about{align-items:center;flex-direction:column;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin:1.5rem;width:min(100%,76rem)}.about,.skills{display:flex;gap:2rem}.skills{flex-direction:row-reverse;flex-wrap:wrap-reverse;width:100%}.skill{animation-duration:.5s;animation-fill-mode:backwards;animation-name:animateIn;background-color:var(--color-input-field);border:1px solid var(--color-text);border-radius:1rem;box-shadow:0 0 2rem #000;display:flex;flex-grow:1;min-width:20rem;padding:1rem;position:relative}.skill h2{color:var(--color-title);font-size:2rem}.skill h3{margin:0}.skill h2,.skill h3{margin-right:1rem}.skill h3{color:var(--color-text);font-size:1.5rem;line-height:0}.skill>img{margin-right:1rem;width:9rem}.otherSkillsContainer{align-items:center;animation-duration:.5s;animation-fill-mode:backwards;animation-name:animateIn;background-color:var(--color-input-field);border:1px solid var(--color-text);border-radius:1rem;display:flex;flex-direction:column;flex-wrap:wrap;padding-bottom:1rem;padding-top:1rem;position:relative;width:100%}.otherSkills{display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:center;margin-bottom:1rem;margin-top:1rem;padding-left:1rem;padding-right:1rem}.smallSkill{align-items:center;animation-duration:.5s;animation-fill-mode:backwards;animation-name:animateIn;display:flex;flex-direction:column;position:relative;width:5rem}.smallSkill>img{width:5rem}.experience{animation-duration:.5s;animation-fill-mode:backwards;animation-name:animateIn;display:flex;flex-wrap:wrap;gap:2rem;position:relative;width:100%}.experience>div{flex:1 1 48%}.experience h2{font-size:2rem;margin-left:2rem;margin-top:2rem}.experience p{font-size:1rem;font-weight:300;margin:0}.education,.jobExperience{background-color:var(--color-input-field);border:1px solid var(--color-text);border-radius:1rem;box-shadow:0 0 2rem #000;display:flex;flex-direction:column}.experience .timelineContent{margin:1rem;position:relative}.experience svg{height:100%;overflow:visible;position:absolute;width:3rem}.experience .textContent{display:flex;flex-direction:column;height:100%;width:100%}.experience .textContent>div{left:-1rem;opacity:0;padding-bottom:2rem;padding-left:3rem;position:relative;transition:all .2s;transition-timing-function:ease-out}.experience .sectionSubtitle,.experience .sectionTitle{display:inline-block;margin:0}.titleBlock .sectionTitle{color:var(--color-highlight);font-size:1.5rem}.projectBlock .sectionTitle{color:var(--color-title);font-size:1.25rem;line-height:2rem}.experience .titleBlock .separator:after{color:var(--color-title);content:"-";margin-inline:.5rem;visibility:visible}.experience .titleBlock .noSeperator:after{color:var(--color-title);content:"-";margin-inline:.5rem;visibility:hidden}.experience .sectionSubtitle{color:var(--color-title)}.experience .duration{color:var(--color-text);font-family:roboto;font-size:.875rem;margin:0}svg circle,svg rect{transform-box:fill-box;transform-origin:center;transition:transform .3s;transition-timing-function:cubic-bezier(.1,.5,0,2)}svg circle{transform:scale(0)}svg rect{transform:translate(-50%) rotate(45deg) scale(0)}@media (max-width:550px){.skill>img{margin-right:1rem;width:6rem}.skill{min-width:8rem}.smallSkill>img{width:3.5rem}.smallSkill h3{display:none}.experience .sectionSubtitle{display:block;margin:0}}.landingContainer{flex-basis:100%;overflow-x:hidden;pointer-events:none;width:100%}.landing{height:100%;position:relative}.landing .intro{align-items:center;display:flex;height:100%;justify-content:center;pointer-events:all;position:absolute;transition:opacity .2s;width:100%;z-index:2}.intro .textWrapper{display:flex;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;justify-content:center;position:relative;top:-10%;width:40rem}.intro .textContent{animation-duration:.5s;animation-fill-mode:backwards;animation-name:animateIn;display:flex;flex-direction:column;position:relative;text-align:center;transition:opacity .25s}.landing .intro p{font-size:1.5rem;font-weight:300;margin:0}.landing .intro h2{font-size:3rem}.landing .overlay{background-color:var(--color-transparent-semi-dark);display:flex;height:100%;position:absolute;transition:background-color .25s;width:100%;z-index:1}.pageLinks{display:flex;height:100%;min-height:20rem;overflow-y:clip;width:105%}.pageLink{flex-basis:100%;height:100%;left:-5%;position:relative}.pageLink .content{align-items:center;display:flex;flex-direction:column;height:100%;position:absolute;width:115%}.pageLinks .textContent{display:flex;justify-content:center;position:relative;text-align:center;top:35%;width:40%;z-index:2}.pageLinks .animationWrapper{animation-duration:.5s;animation-fill-mode:backwards;animation-name:animateIn;position:relative}.pageLinks .imageWrapper{-webkit-clip-path:polygon(15% 0,115% 0,100% 100%,0 100%);clip-path:polygon(15% 0,115% 0,100% 100%,0 100%);height:100%;position:relative}.pageLink .highlight{height:100%;position:absolute;top:0;transition:background-color .2s;width:115%;z-index:4}.pageLink img:hover~.highlight{background-color:#ffffff4d}.landing p{color:var(--color-text);font-size:1.5rem;font-weight:300;margin:0;text-shadow:0 0 1rem #fff}.landing h2{color:var(--color-title);font-size:3.5rem;position:relative;text-shadow:0 0 2rem #ffffff80}.pageLink img{cursor:pointer;height:100%;object-fit:cover;pointer-events:all;position:relative;width:115%}@media (max-width:1000px){.pageLinks{align-items:stretch;display:flex;flex-direction:column;width:100%}.pageLinks .imageWrapper{-webkit-clip-path:none;clip-path:none}.pageLink{left:0}.pageLink img{height:100%;position:absolute;width:100%}.pageLink p{font-size:1rem}.pageLink h2{font-size:1.5rem}.pageLink .content,.pageLink .highlight,.pageLinks,.pageLinks .textContent{width:100%}.landing .intro .textWrapper{width:90%}.pageLink .textContent{align-items:center;height:100%;top:0}}
/*# sourceMappingURL=main.09b703ff.css.map*/