@charset "UTF-8";@font-face{font-family:Montserrat;src:url(/assets/Montserrat-VariableFont_wght-i02rBV5P.ttf);font-weight:200 800}@font-face{font-family:Roboto;src:url(/assets/Roboto-Black-qr0G-G-3.ttf)}@font-face{font-family:FAregular;src:url(/assets/fa-regular-CXjIVIxJ.woff2)}@font-face{font-family:FAbrands;src:url(/assets/fa-brands-rBZOKPDu.woff2)}.ReactModal__Content{transform:scale(.1);transition:.1s ease-in-out .2s}.ReactModal__Content--after-open{transform:scale(1)}.ReactModal__Content--before-close{transform:scale(.1)}.ReactModal__Overlay{opacity:0;transition:.25s ease-in-out}.ReactModal__Overlay--after-open{opacity:1}.ReactModal__Overlay--before-close{opacity:0}.modal-indicator,.modal-close-btn{display:block;position:fixed;top:2.5rem;right:2.5rem;font-size:2rem;font-weight:600;line-height:3.1rem;z-index:10000;color:#00bfff;width:3rem;height:3rem;border-radius:.5rem;background-color:#ffffff1a;opacity:0;transition:opacity .5s linear}.modal{top:2.5rem;bottom:2.5rem;left:2.5rem;right:2.5rem;position:absolute;background-color:#000;border-radius:5rem;overflow:hidden}.modal:focus,.modal:active{outline:none!important;box-shadow:none!important}.modal-overlay{top:0;bottom:0;left:0;right:0;position:fixed;background-color:#191919d9}@media (hover: hover){.modal-close-btn:hover{color:#000;background-color:#00bfff;cursor:pointer}}.modal-indicator{left:2.5rem;top:calc(100dvh - 5rem);width:fit-content;background-color:transparent;opacity:0}.modal .modal-loading{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.modal .modal-loading>img{transform-origin:50% 50%;width:15lvh;transition:transform .5s ease;animation:bounce 1.5s cubic-bezier(.28,.84,.42,1) infinite}@media (orientation: portrait){.modal .modal-loading>img{width:15lvw}}@keyframes button-pulsing{0%,40%,to{transform:scale(1)}20%{transform:scale(1.15)}}@keyframes eyes-shifting{10%,40%{transform:rotate(-2deg) translate(0)}0%,30%,50%,to{transform:rotate(-2deg) translate(-12.5%)}20%{transform:rotate(-2deg) translate(12.5%)}}@keyframes hand-wave{0%{transform:rotate(40deg)}to{transform:rotate(-10deg)}}@keyframes ringing{20%{transform:rotate(0)}21%{transform:rotate(10deg)}22%{transform:rotate(-10deg)}23%{transform:rotate(12deg)}24%{transform:rotate(-12deg)}25%{transform:rotate(12deg)}26%{transform:rotate(-12deg)}28%{transform:rotate(10deg)}30%{transform:rotate(-10deg)}32%{transform:rotate(5deg)}34%{transform:rotate(-5deg)}36%{transform:rotate(2deg)}38%{transform:rotate(0)}}@keyframes rocking{0%,to{transform:rotate(7deg)}50%{transform:rotate(-7deg)}}@keyframes bouncing{0%,to{transform:translateY(0);color:#fff}16.67%{transform:translateY(15px);color:#00bfff}33.34%{transform:translateY(0);color:#00bfff}50%{transform:translateY(15px);color:#000}66.66%{transform:translateY(0);color:#000}83.4%{transform:translateY(15px);color:#fff}}@keyframes bouncing-shadow{0%,16.67%,33.34%,83.4%,to{text-shadow:3px 3px 0 #000,-3px 3px 0 #000,-3px -3px 0 #000,3px -3px 0 #000}50%,66.66%{text-shadow:3px 3px 0 #fff,-3px 3px 0 #fff,-3px -3px 0 #fff,3px -3px 0 #fff}}@keyframes menu-button-pulsing{0%,40%,to{transform:scale(1);color:#fff;background-color:#00bfff}20%{transform:scale(1.15);color:#00bfff;background-color:#fff}}@keyframes anchor-title-pulsing{0%,80%,to{transform:scale(1)}90%{transform:scale(1.15)}}@keyframes clickable-pulsing{0%,80%,to{transform:scale(1);color:#fff}90%{transform:scale(1.15);color:#00bfff}}@keyframes gradient-loading{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}:root{font-family:Montserrat,Roboto,Arial,sans-serif;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{font-family:Montserrat,sans-serif;font-size:16px;font-style:normal;margin:0;padding:0;-webkit-font-smoothing:subpixel-antialiased;max-width:100%;color:#fff;-webkit-user-select:none;user-select:none}@media (max-width: 1400px) and (orientation: landscape){html,body{font-size:15px}}@media (max-width: 1300px){html,body{font-size:1vw}}@media (max-width: 1300px) and (min-aspect-ratio: 2 / 1) and (orientation: landscape){html,body{font-size:.7vw}}@media (min-width: 501px) and (max-width: 850px) and (orientation: portrait){html,body{font-size:1.5vw}}@media (max-width: 500px) and (orientation: portrait){html,body{font-size:2vw}}@media (max-width: 358px) and (orientation: portrait){html,body{font-size:7.2px}}body{background:#000}button,input[type=submit],input[type=reset]{background:none;color:inherit;border:none;padding:0;font:inherit;cursor:pointer;outline:inherit;line-height:normal}a{text-decoration:none;color:inherit}*{box-sizing:border-box}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-button{width:0;height:0}*::-webkit-scrollbar-thumb{background:#039ccf;border:none;border-radius:2px}*::-webkit-scrollbar-thumb:hover{background:#00bfff}*::-webkit-scrollbar-thumb:active{background:#00bfff}*::-webkit-scrollbar-track{background:#0d0d0d;border:none;border-radius:2px}*::-webkit-scrollbar-track:hover{background:#0d0d0d}*::-webkit-scrollbar-track:active{background:#0d0d0d}*::-webkit-scrollbar-corner{background:transparent}.tooltip{position:absolute;display:inline-block;top:2rem;margin-left:-1.5rem;padding:.75rem;border-radius:.5rem;line-height:initial;font-size:1.2rem;background:#00bfff;opacity:1;transition:opacity .5s linear 1s;z-index:3}.tooltip:before{display:block;position:absolute;width:0;bottom:-.35rem;left:.5rem;content:"";border-style:solid;border-width:.5rem .5rem 0;border-color:#00bfff transparent}.tooltip.error{background-color:#ff4040}.tooltip.error:before{border-color:#ff4040 transparent}.deep-sky-blue{color:#00bfff}.big{font-size:6rem;font-weight:400}.small{font-size:2rem;font-weight:200}body{overflow:hidden}.app-wrapper{width:100%}#app{display:block;max-width:1440px;min-width:360px;margin-left:auto;margin-right:auto;left:0;right:0;position:absolute;padding:0 10px}#app .pages{display:block;font-size:2rem;font-weight:600;line-height:4.5rem}#about-me>div{margin-left:auto;margin-right:auto;width:calc(90% + 1rem)}#about-me h1{width:100%}#about-me .slides-container{overflow:hidden}#about-me .slides-container>div{display:flex;align-items:center;width:300%;height:100%}#about-me .slides-container>div .slide{display:flex;justify-content:center;width:100%;padding:0}#about-me .slides-container>div .slide .slide-content{margin:1rem}#about-me .slides-container a{display:inline}#about-me .slides-container a img{height:7rem;padding:1rem;vertical-align:middle;background-color:#fff;border-radius:2rem;transition:.5s ease-in-out;animation:button-pulsing 3s ease-in-out infinite}@media (hover: hover){#about-me .slides-container a img:hover{transform-origin:50% 50%;scale:1.25;animation-play-state:paused}}#about-me .slides-container .hobbies div{width:100%;text-align:center}#about-me .slides-container .hobbies button{margin-left:auto;margin-right:auto;padding:2rem;vertical-align:middle;background-color:#00bfff;border-radius:2rem;transition:.25s ease-in-out;animation:button-pulsing 3s ease-in-out infinite}@media (hover: hover){#about-me .slides-container .hobbies button:hover{transform-origin:50% 50%;scale:1.25;background-color:#fff;animation:none}}#back-to-top{display:flex;justify-content:center;position:fixed;bottom:2rem;right:2rem;flex-flow:row;visibility:hidden;opacity:0}@media (hover: hover){#back-to-top:hover{opacity:1!important}}#back-to-top a{top:50%;transform:translateY(-50%);position:absolute;padding:10pt;border-radius:20pt;font-family:FAregular;font-size:8pt;opacity:.5;transition:all .15s ease-out}@media (hover: hover){#back-to-top a:hover{opacity:1;color:#00bfff;font-weight:600;transform:translateY(-50%) scale(1.25)}}#back-to-top svg{position:sticky;transform:rotate(-90deg)}#back-to-top svg circle{stroke:#ffffff80;stroke-width:2px;stroke-linecap:round;fill:transparent}#back-to-top .progress-bar{stroke:url(#grad);transition:stroke-dashoffset 0s ease-in-out}#contact-me{margin-left:auto;margin-right:auto;width:90%}#contact-me .title-container{padding-top:1rem;width:100%}#contact-me .title-container h1{width:fit-content;transform-origin:50% 100%}#contact-me .title-container+div{position:relative}#contact-me .hand-wave{display:inline-block;width:fit-content;transform-origin:bottom right;animation:hand-wave 2s linear infinite;animation-direction:alternate-reverse}#contact-me .email.tooltip{position:relative;top:-4rem}#contact-me .contact-me-form-container{margin-left:auto;margin-right:auto;display:flex;position:relative;width:80%;line-height:normal;padding:2rem 2rem 2rem 0;border-left:.4rem solid #00bfff}#contact-me .contact-me-form-container .visually-hidden{position:absolute;position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}#contact-me .contact-me-form-container .contact-me-form-bg{width:100%;height:100%;display:block;position:absolute;top:0;left:0;padding:0;margin:0;background-color:#101010;clip-path:polygon(0 0,100% 0,100% calc(100% - 1.5rem),calc(100% - 1.5rem) 100%,0 100%)}#contact-me .contact-me-form-container .contact-me-form,#contact-me .contact-me-form-container .form-logo{flex-basis:50%;z-index:2}#contact-me .contact-me-form-container .contact-me-form>div,#contact-me .contact-me-form-container .form-logo>div{position:relative;transition:all .2s ease-in-out}@media (hover: hover){#contact-me .contact-me-form-container .contact-me-form>div:hover,#contact-me .contact-me-form-container .form-logo>div:hover{transform:translateY(-.375rem)}}#contact-me .contact-me-form-container .contact-me-form input,#contact-me .contact-me-form-container .form-logo input{width:100%;padding:.75rem;margin-bottom:1.5rem;color:#fff;font-weight:700;background-color:#333;border:none;outline:none;transition:all .2s ease-in-out;border-left:1px solid transparent;box-shadow:1px 1px #1a1a1af7,2px 2px #1a1a1aeb,3px 3px #1a1a1ade,4px 4px #1a1a1ad1,5px 5px #1a1a1ac2,6px 6px #1a1a1ab5,7px 7px #1a1a1aa6,8px 8px #1a1a1a96,9px 9px #1a1a1a85,10px 10px #1a1a1a75,11px 11px #1a1a1a63,12px 12px #1a1a1a54,13px 13px #1a1a1a42,14px 14px #1a1a1a30,15px 15px #1a1a1a1f,16px 16px #1a1a1a0d}#contact-me .contact-me-form-container .contact-me-form .text-area-wrapper,#contact-me .contact-me-form-container .form-logo .text-area-wrapper{margin-top:.25rem}#contact-me .contact-me-form-container .contact-me-form textarea,#contact-me .contact-me-form-container .form-logo textarea{width:100%;max-height:20rem;padding:.75rem;margin-bottom:1.5rem;border:none;outline:none;color:#fff;font-weight:700;background-color:#666;resize:vertical;border-left:1px solid transparent;transition:all .2s ease-in-out;box-shadow:1px 1px #333333f7,2px 2px #333333eb,3px 3px #333333de,4px 4px #333333d1,5px 5px #333333c2,6px 6px #333333b5,7px 7px #333333a6,8px 8px #33333396,9px 9px #33333385,10px 10px #33333375,11px 11px #33333363,12px 12px #33333354,13px 13px #33333342,14px 14px #33333330,15px 15px #3333331f,16px 16px #3333330d}#contact-me .contact-me-form-container .contact-me-form textarea::placeholder,#contact-me .contact-me-form-container .form-logo textarea::placeholder{color:#333}#contact-me .contact-me-form-container .contact-me-form input:focus,#contact-me .contact-me-form-container .form-logo input:focus,#contact-me .contact-me-form-container .contact-me-form textarea:focus,#contact-me .contact-me-form-container .form-logo textarea:focus{border-left:.4rem solid #00bfff;border-right:1px solid #00bfff;transform:translateY(-.375rem)}#contact-me .contact-me-form-container .contact-me-form .buttons,#contact-me .contact-me-form-container .form-logo .buttons{display:flex;filter:drop-shadow(.5rem .5rem .1rem rgba(0,191,255,.75))}#contact-me .contact-me-form-container .contact-me-form .buttons .send-button,#contact-me .contact-me-form-container .form-logo .buttons .send-button{flex-basis:100%;padding:.75rem;margin-bottom:.5rem;font-family:Montserrat,Roboto,Arial,sans-serif;font-size:1.75rem;font-weight:500;text-align:center;background:#00bfff;border:1px solid transparent;transition:all .2s ease-in-out;clip-path:polygon(0 0,100% 0,100% calc(100% - .75rem),calc(100% - .75rem) 100%,0 100%)}@media (hover: hover){#contact-me .contact-me-form-container .contact-me-form .buttons .send-button:hover,#contact-me .contact-me-form-container .form-logo .buttons .send-button:hover{color:#00bfff;background:#101010;border:1px solid #00bfff;cursor:pointer}}#contact-me .contact-me-form-container .contact-me-form .buttons .tooltip.form-message,#contact-me .contact-me-form-container .form-logo .buttons .tooltip.form-message{top:-5rem;right:-5rem;padding:.25rem .75rem;transition:opacity .5s linear 5s}#contact-me .contact-me-form-container .contact-me-form .validated-valid,#contact-me .contact-me-form-container .form-logo .validated-valid{border-left:2.5rem solid #00bfff}#contact-me .contact-me-form-container .contact-me-form .validated-invalid,#contact-me .contact-me-form-container .form-logo .validated-invalid{border-left:2.5rem solid #ff4040}#contact-me .contact-me-form-container .contact-me-form .valid-check,#contact-me .contact-me-form-container .form-logo .valid-check,#contact-me .contact-me-form-container .contact-me-form .invalid-x,#contact-me .contact-me-form-container .form-logo .invalid-x{position:absolute;top:.25rem;left:.5rem;pointer-events:none;visibility:hidden;transition:opacity .5s ease-in-out;opacity:0}@media (hover: hover){#contact-me .contact-me-form-container .contact-me-form .valid-check:hover,#contact-me .contact-me-form-container .form-logo .valid-check:hover,#contact-me .contact-me-form-container .contact-me-form .invalid-x:hover,#contact-me .contact-me-form-container .form-logo .invalid-x:hover{transform:translateY(-.375rem)}}#contact-me .contact-me-form-container .contact-me-form .valid-check.on,#contact-me .contact-me-form-container .form-logo .valid-check.on,#contact-me .contact-me-form-container .contact-me-form .invalid-x.on,#contact-me .contact-me-form-container .form-logo .invalid-x.on{visibility:visible;opacity:1}#contact-me .contact-me-form-container .contact-me-form .invalid-x,#contact-me .contact-me-form-container .form-logo .invalid-x{left:.7rem}#contact-me .contact-me-form-container .contact-me-form .tooltip.error,#contact-me .contact-me-form-container .form-logo .tooltip.error{top:-1rem;right:-5rem;padding:.25rem .75rem;background:#ff4040}#contact-me .contact-me-form-container .contact-me-form .tooltip.error:before,#contact-me .contact-me-form-container .form-logo .tooltip.error:before{left:2rem}#contact-me .contact-me-form-container .form-logo{display:flex}#contact-me .contact-me-form-container .form-logo img{width:100%;padding:5rem;margin:0;transform-origin:50% 100%}@media (hover: hover){#contact-me .contact-me-form-container .form-logo img:hover{animation:ringing 5s ease-in-out infinite}}#contact-me .contact-me-form-container .loading{background:linear-gradient(-45deg,#000,#fff,#00bfff);background-size:300% 300%;animation:gradient-loading 1.5s ease-in-out infinite}@media (orientation: portrait){#contact-me .contact-me-form-container{padding-left:2rem;border-left:none;border-top:.4rem solid #00bfff;flex-direction:column}#contact-me .contact-me-form-container .form-logo{max-height:25rem;flex-basis:30%}#contact-me .contact-me-form-container .contact-me-form,#contact-me .contact-me-form-container .form-logo{flex-basis:70%}}#contact-me .social-media{width:100%;margin:5rem 0;text-align:center;font-weight:400;line-height:normal}#contact-me .social-media a{display:inline-flex;position:relative;width:5rem;height:5rem;margin:0 1rem;justify-content:center;align-items:center;font-family:FAbrands;font-size:3rem;color:#fff;background:#ffffff40;border-radius:.5rem;opacity:.85;transition:all .5s;-webkit-font-smoothing:antialiased}@media (hover: hover){#contact-me .social-media a:hover{background:#fff6;opacity:1}#contact-me .social-media a:hover span{bottom:6rem;visibility:visible;opacity:1}}#contact-me .social-media a span{left:-2rem;right:-2rem;position:absolute;bottom:0;font-family:Montserrat,Roboto,Arial,sans-serif;font-size:1rem;padding:.5rem .25rem;color:#fff;background:#00bfff;border-radius:.25rem;visibility:hidden;opacity:0;transition:all .5s cubic-bezier(.68,-.55,.265,1.55);z-index:-1}#contact-me .social-media a span:before{position:absolute;width:0;height:0;left:4.25rem;bottom:-.25rem;border-left:.25rem solid transparent;border-right:.25rem solid transparent;border-top:.25rem solid #00bfff;content:""}#contact-me .social-media a span.inactive{background:#ff4040}#contact-me .social-media a span.inactive:before{border-top:.25rem solid #ff4040}#contact-me .social-media .linkedin:before{content:""}#contact-me .social-media .github:before{content:""}#contact-me .social-media .instagram:before{content:""}#contact-me .social-media .facebook:before{content:""}#contact-me .recaptcha{display:flex;margin:5rem 0;place-content:center}@media (max-width: 500px){#contact-me .recaptcha{transform:scale(.8)}}.copy-email{font-family:FAregular;color:#fff;opacity:.75;transition:opacity .15s ease-out}@media (hover: hover){.copy-email:hover{color:#00bfff;opacity:1}}#expertise .big{line-height:6rem}#expertise>div{margin-left:auto;margin-right:auto;width:90%}#expertise>div>div{text-shadow:#000 0 0 1rem,#000 0 0 1rem,#000 0 0 1rem}#expertise>div>div a{display:inline}#expertise>div>div a img{height:7rem;padding:1rem;border-radius:2rem;background-color:#fff;vertical-align:middle;transition:.5s ease-in-out}@media (hover: hover){#expertise>div>div a img:hover{transform-origin:50% 50%;transform:scale(1.25)}}#expertise #job-roles{position:relative;padding-left:2rem}#expertise #job-roles .job-roles-progress-bar{position:absolute;left:0;top:0;width:3px;height:80vh;background:#ffffff26;border-radius:2px}#expertise #job-roles .job-roles-progress-fill{width:100%;height:100%;background:#00bfff;border-radius:2px;transform-origin:top center;transform:scaleY(0);box-shadow:0 0 8px #00bfff,0 0 16px #00bfff80}#expertise #job-roles .job-roles-list{list-style:none;padding:0}#expertise #job-roles .job-roles-list li{color:#fff;will-change:transform,opacity}#expertise #job-roles .job-roles-list li.technical{position:absolute}#expertise #job-roles .job-roles-list li.technical>span{position:relative;top:-7rem}#expertise #job-roles .job-roles-list .role-item{text-align:center}#expertise #job-roles .job-roles-list .role-item.align-left{text-align:left}#expertise #job-roles .role-transition-item{position:relative;overflow:hidden}#expertise #job-roles .role-transition-item .role-prefix{display:inline-block}#expertise #job-roles .role-transition-item .back-text{position:absolute;left:7rem;opacity:0}#expertise #job-roles .role-transition-item .role-suffix{display:inline-block;color:#00bfff}#expertise ul{list-style:none}#expertise ul li{margin:5rem 0;color:#00bfff}#expertise ul li:first-child{margin-top:10rem}#expertise .logo-container-wrapper{position:absolute;width:100%}#expertise #logo-container{position:absolute;width:50%;top:-6.66rem;right:50px;z-index:-1}#expertise #logo-container .dev-logo{position:absolute;display:block;height:10rem;padding:1rem;border-radius:2rem;background:#000000d9;opacity:.2}#expertise #logo-container .dev-logo:nth-child(1){left:0;top:0;transform:rotate(-45deg)}#expertise #logo-container .dev-logo:nth-child(2){left:10rem;top:0;transform:rotate(0)}#expertise #logo-container .dev-logo:nth-child(3){left:20rem;top:0;transform:rotate(45deg)}#expertise #logo-container .dev-logo:nth-child(4){left:5rem;top:5rem;transform:rotate(-15deg)}#expertise #logo-container .dev-logo:nth-child(5){left:15rem;top:5rem;transform:rotate(15deg)}#expertise #logo-container .dev-logo:nth-child(6){left:0;top:10rem;transform:rotate(-5deg)}#expertise #logo-container .dev-logo:nth-child(7){left:10rem;top:15rem;transform:rotate(5deg)}#expertise #logo-container .dev-logo:nth-child(8){left:22.5rem;top:10rem;transform:rotate(10deg)}#expertise #logo-container .dev-logo:nth-child(9){left:2.5rem;top:17.5rem;transform:rotate(-45deg)}#expertise #logo-container .dev-logo:nth-child(10){left:10rem;top:22.5rem;transform:rotate(-8deg)}#expertise #logo-container .dev-logo:nth-child(11){left:22.5rem;top:20rem;transform:rotate(45deg)}#expertise #logo-container .dev-logo.light{background:#fff}#expertise #logo-container .built-with-logo{display:block;opacity:.2}#expertise #logo-container .built-with-logo:nth-child(12){left:15rem;top:5rem;transform:rotate(15deg)}#expertise #logo-container .built-with-logo:nth-child(13){left:2.5rem;top:17.5rem;transform:rotate(-45deg)}#expertise #logo-container .built-with-logo:nth-child(14){left:13rem;top:13rem;transform:rotate(5deg)}#expertise #logo-container .built-with-logo:nth-child(15){left:22.5rem;top:10rem;transform:rotate(10deg)}#expertise #logo-container .built-with-logo:nth-child(16){left:0;top:10rem;transform:rotate(-5deg)}#expertise #logo-container .built-with-logo:nth-child(17){left:22.5rem;top:20rem;transform:rotate(45deg)}#frontpage{display:block;position:relative;height:100dvh;width:100%}#frontpage .portrait-bg{margin-left:auto;margin-right:auto;top:50%;transform:translateY(-50%);position:relative;width:81.25rem;height:80dvh;min-height:768px;max-height:850px;background-image:url(/assets/portrait_sunglasses_0.8-DyCSPY9N.png);background-position:top right;background-size:contain;background-repeat:no-repeat;clip-path:polygon(0 200%,100% 200%,100% 0,0 0);opacity:1}@media (max-width: 1300px){#frontpage .portrait-bg{height:52.25vw;min-height:initial}}@media (max-width: 1300px) and (min-aspect-ratio: 2 / 1) and (orientation: landscape){#frontpage .portrait-bg{width:67vw;height:40vw}}@media (min-width: 501px) and (max-width: 850px) and (orientation: portrait){#frontpage .portrait-bg{height:150vw;max-height:600px;width:initial;transform:translateY(-72.5%)}}@media (max-width: 500px) and (orientation: portrait){#frontpage .portrait-bg{height:150vw;max-height:600px;width:initial;background-position:right -14rem top 0;background-size:50rem;transform:translateY(-53.25%)}#frontpage .portrait-bg:after{top:27.5rem;bottom:0;left:0;right:0;content:"";position:absolute;background:linear-gradient(to bottom,transparent,#000,#000);z-index:-2}}#frontpage .animate-pupils{animation:eyes-shifting 5s ease-out infinite}#frontpage h1{font-weight:500}#frontpage .text-group{position:relative;top:8.35rem;padding:10px;clip-path:polygon(0 200%,100% 200%,100% 0,0 0);opacity:1}#frontpage .full-name-with-dots{display:block;height:9.38rem;padding-left:.94rem}#frontpage .full-name-with-dots-portrait{display:none}#frontpage .full-name{position:absolute;padding:0;margin:0 0 0 .94rem;font-size:9.5rem;letter-spacing:-.15rem;clip-path:polygon(-20% 0,100% 0,100% 100%,-20% 100%)}#frontpage .full-name>span{display:inline-block}#frontpage .dots{height:3.65rem;overflow:hidden;color:#00bfff}#frontpage .title{position:relative;height:17.2rem;top:2.7rem;margin:5px 0;padding:0}#frontpage .half-opaque{opacity:.5}#frontpage .bg-deep-sky-blue{padding:0 .63rem .63rem;margin-left:-.63rem;background-color:#00bfff!important}#frontpage .developer{padding:.63rem;margin-left:-.63rem}#frontpage .sub-title{position:relative;top:4.4rem;margin-left:5px}#frontpage .sub-title h3,#frontpage .sub-title .emoji{margin:0;display:inline-block;font-weight:500;font-size:2rem}#frontpage .sub-title .emoji{vertical-align:text-bottom;padding-left:10px;transform-origin:50% 100%;animation:rocking 2.5s ease-in-out 2s infinite}#frontpage .arrow-container{display:inline-block;position:absolute;height:8rem;right:16.5rem;bottom:-4rem;padding:.75rem;font-size:10rem;font-weight:700;animation:bouncing ease-in-out 6s infinite;overflow:hidden}@media (hover: hover){#frontpage .arrow-container:hover{animation-play-state:paused}}#frontpage #arrow{text-shadow:3px 3px 0 #000,-3px 3px 0 #000,-3px -3px 0 #000,3px -3px 0 #000;display:inline-flex;position:relative;height:6.5rem;top:-4rem;line-height:5.75rem;cursor:pointer;overflow:hidden;-webkit-user-select:none;user-select:none;animation:bouncing-shadow ease-in-out 6s infinite;transition:transform .5s ease-in-out,opacity .5s ease-in-out;opacity:.85}@media (hover: hover){#frontpage #arrow:hover{opacity:1;transform:scale(1.25);animation-play-state:paused}#frontpage #arrow:hover:active{cursor:grabbing;animation-play-state:paused;transition:transform .1s ease;transform:scale(.9)}}@media (min-width: 501px) and (max-width: 850px) and (orientation: portrait){#frontpage .text-group{top:172px;padding-left:0;margin-left:2.5rem}#frontpage .full-name-with-dots{display:none}#frontpage .full-name-with-dots-portrait{display:block;height:16.5rem;padding-left:.5rem}#frontpage .full-name{font-size:12rem}#frontpage .dots{height:5rem}#frontpage .last-name{height:8rem;top:13.5rem;left:12.25rem;line-height:5.75rem;overflow:hidden}#frontpage .title{top:3.5rem}#frontpage .title .typist{font-size:10.75rem;line-height:12rem}#frontpage .title .typist-done:after{display:none}#frontpage .sub-title{top:13rem;margin-left:.5em}#frontpage .sub-title h3{font-weight:600}#frontpage .sub-title .emoji{line-height:2rem;font-size:3rem}#frontpage .arrow-container{height:10rem;width:10rem;bottom:-22.5rem;left:25.25rem}#frontpage #arrow{height:8rem;top:-1.5rem;left:-.25rem;line-height:5.5rem;font-size:15rem}}@media (min-width: 751px) and (max-width: 850px) and (orientation: portrait){#frontpage .text-group{top:100px}#frontpage .arrow-container{height:8rem;width:8rem;bottom:-20rem;left:26.1rem}#frontpage #arrow{height:8rem;top:-3rem;left:-.25rem;line-height:5.5rem;font-size:12rem}}@media (max-width: 500px) and (orientation: portrait){#frontpage .text-group{top:18.5rem;padding-left:0;margin-left:.98rem}#frontpage .full-name-with-dots{display:none}#frontpage .full-name-with-dots-portrait{display:block;height:21.5rem;padding-left:.5rem}#frontpage .full-name{font-size:15.5rem}#frontpage .dots{height:5.75rem}#frontpage .last-name{height:10rem;top:17.5rem;left:15.75rem;line-height:7rem;overflow:hidden}#frontpage .title .typist-done:after{display:none}#frontpage .sub-title{top:6.5rem;margin-left:.5em}#frontpage .sub-title h3{font-size:2.2rem;font-weight:600}#frontpage .sub-title .emoji{position:absolute;top:-1rem;right:-.75rem;font-size:3rem}#frontpage .arrow-container{width:8rem;bottom:-14.5rem;left:18.75rem}#frontpage #arrow{height:8rem;top:-3rem;left:-.25rem;line-height:5.5rem;font-size:12rem}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes blink-out{0%,40%,80%{opacity:1}20%,60%,to{opacity:0}}.typist{display:inline-block;position:relative;line-height:8.8rem;letter-spacing:.12rem;font-size:7.5rem;font-weight:800;white-space:pre-wrap}@media (max-width: 850px) and (orientation: portrait){.typist{font-size:8.13rem;line-height:9.81rem}}.typist:after{display:inline-block;position:relative;height:1.275em;width:.1em;content:"";color:#fff;vertical-align:top;border-right:.25em solid #fff;opacity:1;animation:blink 1s linear infinite;transition:border-right-color .5s ease}.typist-done:after{opacity:0;animation:blink-out 2s linear 1}#intro{display:flex;justify-content:center;align-items:center;margin-left:auto;margin-right:auto;width:90%;height:100lvh;font-weight:400;line-height:initial}#intro .typist{display:inline-block;position:relative;line-height:5.75rem;white-space:pre-wrap;font-size:3rem;letter-spacing:normal;font-weight:800}#intro .typist:after{height:1.5em}#intro .response{opacity:0;clip-path:polygon(0 0,100% 0,100% 0,0 0)}#intro ul{margin-left:auto;margin-right:auto;width:80%;padding:0;font-weight:600;list-style-type:none}#intro li{transform-origin:50% 50%;margin-bottom:1.25rem;transition:transform .2s ease-in-out;background-color:#00bfff;padding:1rem;font-weight:800;text-align:center}#intro li a{display:inline-block;width:100%}#intro li:nth-child(1){animation:menu-button-pulsing 3s ease-in-out infinite}@media (hover: hover){#intro li:hover{color:#00bfff;background-color:#fff;transform:scale(1.5);cursor:pointer;animation:none}#intro li:hover:active{transform:scale(1.3)}#intro li:hover:active a{cursor:grabbing}}@media (min-width: 501px) and (max-width: 850px) and (orientation: portrait){#intro .chat-jpt{height:18rem}#intro .typist{line-height:6rem;font-size:4rem}}@media (min-width: 501px) and (orientation: portrait){#intro .chat-jpt{height:11.8rem}#intro .typist{line-height:4rem;font-size:2.5rem}}.nav-bar-container{display:none;position:fixed;height:5lvh;width:100%;top:0}.nav-bar-container .nav-bar-clip,.nav-bar-container .nav-bar-clip-bg{width:100%;height:100%;display:block;position:absolute;background:#000000e6;clip-path:polygon(0 0,100% 0,100% calc(100% - .75rem),calc(100% - .75rem) 100%,0 100%)}.nav-bar-container .nav-bar-clip-bg{background:#00bfff40;clip-path:polygon(0 calc(100% - 1px),calc(100% - .75rem - 1px) calc(100% - 1px),100% calc(100% - .75rem - 2px),100% calc(100% - .75rem),calc(100% - .75rem) 100%,0 100%)}.nav-bar-container .nav-bar-wrapper{display:block;max-width:1440px;min-width:360px;margin-left:auto;margin-right:auto;height:100%}.nav-bar-container .nav-bar{margin-left:auto;margin-right:auto;width:90%;display:block;position:relative;height:100%}.nav-bar-container .nav-bar .logo img{display:block;position:absolute;height:5lvh;max-width:5lvh;top:0;left:0;padding:1.25lvh 0;transition:.5s ease-in-out}.nav-bar-container .nav-bar a.logo{opacity:.75;transition:opacity .25s ease-out}@media (hover: hover){.nav-bar-container .nav-bar a.logo:hover{opacity:1!important}}.nav-bar-container .nav-bar .divider{display:none;position:absolute;background:linear-gradient(to bottom,#000,#fff,#000);height:100%;width:1px;left:50%}.nav-bar-container .ham-container,.nav-bar-container .ham{position:absolute;top:0;right:0}.nav-bar-container .ham{height:5lvh;max-height:140px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .4s,opacity .25s;opacity:.75}.nav-bar-container .ham .top,.nav-bar-container .ham .bottom{transform-origin:50% 50%;transform:scaleX(.75)}.nav-bar-container .ham .top{stroke-dasharray:40 139}.nav-bar-container .ham .bottom{stroke-dasharray:40 180}.nav-bar-container .ham .line{fill:none;stroke:#fff;stroke-width:5.5;stroke-linecap:round;transition:transform .25s,stroke-dasharray .4s,stroke-dashoffset .4s}.nav-bar-container.active a.logo{opacity:1;pointer-events:none}.nav-bar-container.active .logo img{height:25lvw;width:50%;max-height:360px;max-width:50%;top:50%;transform:translateY(-65%)}.nav-bar-container.active .ham{height:10lvmax;top:4lvh;transform:rotate(45deg);opacity:1}.nav-bar-container.active .ham .top{stroke-dashoffset:-98px}.nav-bar-container.active .ham .bottom{stroke-dashoffset:-138px}@media (hover: hover){.nav-bar-container.active .ham{opacity:.75}}@media (hover: hover) and (hover: hover){.nav-bar-container.active .ham-container:hover .ham,.nav-bar-container.active .ham:hover .ham{transform:scale(1.25) rotate(45deg)}}@media (hover: hover) and (hover: hover){.nav-bar-container .ham-container:hover .ham,.nav-bar-container .ham:hover .ham{opacity:1}.nav-bar-container .ham-container:hover .ham .top,.nav-bar-container .ham:hover .ham .top,.nav-bar-container .ham-container:hover .ham .bottom,.nav-bar-container .ham:hover .ham .bottom{transform:none}}.nav-bar-container .menu-email{display:none;position:absolute;width:50%;top:calc(50% + 10lvw);margin-left:2rem;font-size:2rem;font-weight:500;text-align:center;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}@media (min-width: 1401px){.nav-bar-container .menu-email{top:65%}}.nav-bar-container .menu-email div{display:inline-block}.nav-bar-container .menu-email .tooltip{top:-3.5rem}.nav-bar-container .menu-buttons{top:50%;transform:translateY(-50%);display:none;position:absolute;width:50%;left:50%}.nav-bar-container .menu-buttons .menu-button-wrap{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.nav-bar-container .menu-buttons a{display:block;margin:2.5rem 0;padding-left:4rem;font-size:3rem;font-weight:500;transform-origin:0 50%;transform:translateY(-6rem);transition:transform .1s ease-in-out}@media (hover: hover){.nav-bar-container .menu-buttons a:hover{color:#00bfff;transform:translate(5%)!important}}@media (orientation: portrait){.nav-bar-container.active .logo img{left:50%;transform:translate(-50%);height:15lvmax;min-height:120px;top:calc(90% - 15lvmax)}.nav-bar-container .nav-bar .divider{display:none!important}.nav-bar-container .menu-email{display:none;width:100%;top:91.5%;margin-left:0}.nav-bar-container .menu-buttons{left:50%;transform:translate(-50%,-50%);width:unset;top:40%;font-weight:500}.nav-bar-container .menu-buttons a{font-size:6lvw;padding-left:0}}.page{margin-bottom:15rem;-webkit-user-select:text;user-select:text}.page div.full-width{width:100%}.page div h1{font-size:3.5rem;font-weight:800;opacity:1}#projects h1,#projects .sub-title{margin-left:auto;margin-right:auto;width:90%}#projects h1 .center,#projects .sub-title .center{text-align:center}#projects h1{opacity:.25}#projects .projects,#projects .frame-container{left:50%;transform:translate(-50%);position:relative;width:70lvh;height:44.55lvh}@media (orientation: portrait){#projects .projects,#projects .frame-container{width:70lvw;height:44.55lvw}}#projects .projects a,#projects .projects #projects-title .project-title button,#projects #projects-title .project-title .projects button,#projects .frame-container a,#projects .frame-container #projects-title .project-title button,#projects #projects-title .project-title .frame-container button{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' style='font-size:48px'><text y='50'>👆</text></svg>"),auto}#projects .frame-container{position:absolute;width:100%}#projects .frame-container>div{left:50%;transform:translate(-50%);position:relative;width:80lvh;height:51lvh;top:-3.225lvh;background:#ffffff80;clip-path:polygon(0 0,90% 0,100% 10%,100% 100%,10% 100%,0% 90%,0 0,2px 2px,2px 90%,10% calc(100% - 2px),calc(100% - 2px) calc(100% - 2px),calc(100% - 2px) 10%,90% 2px,2px 2px);z-index:101}@media (orientation: portrait){#projects .frame-container>div{width:80lvw;height:51lvw;top:-3.225lvw}}#projects .project{display:flex;justify-content:center;align-items:center;cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' style='font-size:48px'><text y='50'>🤚</text></svg>"),auto;position:absolute;width:70lvh;height:44.55lvh;transition:filter .25s linear;filter:grayscale(100%)}@media (orientation: portrait){#projects .project{width:70lvw;height:44.55lvw}}#projects .project.active{filter:grayscale(0);-webkit-filter:grayscale(0);opacity:1}#projects .project.active a,#projects .project.active #projects-title .project-title button,#projects #projects-title .project-title .project.active button{pointer-events:auto}#projects .project a,#projects .project #projects-title .project-title button,#projects #projects-title .project-title .project button{pointer-events:none}#projects .project img{clip-path:polygon(0 0,90% 0,100% 10%,100% 100%,10% 100%,0% 90%);width:70lvh}@media (orientation: portrait){#projects .project img{width:70lvw}}#projects #projects-title{width:100%;margin-top:4rem;text-align:center}#projects #projects-title .project-title{left:10%;right:10%;position:absolute;visibility:hidden;opacity:0;transition:opacity .25s linear}#projects #projects-title .project-title .year{display:inline-block;font-size:1rem;font-weight:400}#projects #projects-title .project-title a,#projects #projects-title .project-title button{display:inline-block;transition:.15s ease-in-out}#projects #projects-title .project-title a img,#projects #projects-title .project-title button img{height:5rem;padding:.5rem;border-radius:1rem;background-color:#fff;vertical-align:middle;transition:.5s ease-in-out}#projects #projects-title .project-title a.mobile,#projects #projects-title .project-title button.mobile{animation:anchor-title-pulsing 4s ease-in-out infinite}@media (hover: hover){#projects #projects-title .project-title a.mobile:hover,#projects #projects-title .project-title button.mobile:hover{animation-play-state:paused}}@media (hover: hover){#projects #projects-title .project-title a:hover,#projects #projects-title .project-title button:hover{color:#00bfff}}#projects #projects-title .project-title .no-indent{text-indent:0;text-decoration:underline}#projects #projects-title .project-title .arrow-nav-container{display:flex;justify-content:center;align-items:center;justify-content:space-between;padding:0 18%}#projects #projects-title .project-title .arrow-nav{font-size:5rem;animation:clickable-pulsing 3s ease-in-out infinite}@media (hover: hover){#projects #projects-title .project-title .arrow-nav:hover{color:#00bfff;scale:1.25;animation:none}}
