@import"https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,100..900&display=swap";#root{margin:0 auto}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.home{position:relative;display:flex;height:100vh;width:100%;z-index:999}.heading{position:relative;align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;line-height:normal;width:fit-content;height:auto;margin-left:auto;margin-right:auto;font-weight:300;z-index:999}.heading h1{position:relative;font-size:6.5rem;font-weight:800}.heading span{color:#2098d1;font-weight:00}@keyframes moveInLeft{0%{opacity:0;transform:translate(-10rem)}to{opacity:1;transform:translate(0)}}.heading__line-1{animation-name:moveInLeft}@keyframes moveInRight{0%{opacity:0;transform:translate(10rem)}to{opacity:1;transform:translate(0)}}.heading__line-2{animation-name:moveInRight;color:var(--light-slate)}.heading__line-1,.heading__line-2{font-size:6rem;animation-duration:1.4s;animation-timing-function:cubic-bezier(.21,1.11,.81,.99)}@keyframes moveInBottom{0%{opacity:0;transform:translateY(4rem)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes hvr-hang{0%{-webkit-transform:translateY(8px);transform:translateY(8px)}50%{-webkit-transform:translateY(4px);transform:translateY(4px)}to{-webkit-transform:translateY(8px);transform:translateY(8px)}}@keyframes hvr-hang{0%{-webkit-transform:translateY(8px);transform:translateY(8px)}50%{-webkit-transform:translateY(4px);transform:translateY(4px)}to{-webkit-transform:translateY(8px);transform:translateY(8px)}}@-webkit-keyframes hvr-hang-sink{to{-webkit-transform:translateY(8px);transform:translateY(8px)}}@keyframes hvr-hang-sink{to{-webkit-transform:translateY(8px);transform:translateY(8px)}}.hvr-hang{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px #0000}.hvr-hang:hover,.hvr-hang:focus,.hvr-hang:active{-webkit-animation-name:hvr-hang-sink,hvr-hang;animation-name:hvr-hang-sink,hvr-hang;-webkit-animation-duration:.3s,1.5s;animation-duration:.3s,1.5s;-webkit-animation-delay:0s,.3s;animation-delay:0s,.3s;-webkit-animation-timing-function:ease-out,ease-in-out;animation-timing-function:ease-out,ease-in-out;-webkit-animation-iteration-count:1,infinite;animation-iteration-count:1,infinite;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-direction:normal,alternate;animation-direction:normal,alternate}.hvr-sweep-to-top{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px #0000;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.hvr-sweep-to-top:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.hvr-sweep-to-top:hover,.hvr-sweep-to-top:focus,.hvr-sweep-to-top:active{color:#fff}.hvr-sweep-to-top:hover:before,.hvr-sweep-to-top:focus:before,.hvr-sweep-to-top:active:before{-webkit-transform:scaleY(1);transform:scaleY(1)}@-webkit-keyframes hvr-pulse-grow{to{-webkit-transform:scale(1.1);transform:scale(1.1)}}@keyframes hvr-pulse-grow{to{-webkit-transform:scale(1.1);transform:scale(1.1)}}.hvr-pulse-grow{display:inline-block;vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px #0000}.hvr-pulse-grow:hover,.hvr-pulse-grow:focus,.hvr-pulse-grow:active{-webkit-animation-name:hvr-pulse-grow;animation-name:hvr-pulse-grow;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-direction:alternate}.heading-cta{position:relative;display:flex;align-items:center;margin-top:2.4rem;padding:.8rem 3rem;width:32rem;height:4.8rem;color:#2098d1;border-radius:2px;font-size:2.4rem;font-weight:500;cursor:pointer}.heading-cta:before,.heading-cta:after{content:"";position:absolute;top:-2px;left:19px;width:27.5rem;height:4.8rem;border-radius:3px;filter:blur(0);transform-origin:50%;z-index:-1}.heading-cta:hover{transform:translateY(-2px);color:#2098d1}.heading-cta:hover:after{transition-delay:.15s}.heading-cta:hover:before,.heading-cta:hover:after{border:2px solid #2098D1;border-color:transparent;filter:blur(2px);transform:scaleX(1.3) scaleY(2.2);transition:.8s transform ease,1.9s blur ease,.7s border-color ease;pointer-events:none}.navigation-bar{position:-webkit-sticky;position:sticky;top:0;display:flex;justify-content:flex-end;align-items:center;height:6rem;background-color:#0a192fd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1}.navigation{display:flex;margin-right:10rem;font-size:2rem;font-weight:500;letter-spacing:1px}.navigation__item{transition:all .2s}.navigation__item:not(:last-child){margin-right:3rem}.navigation__item:hover{color:#2098d1}.about{width:1300px;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;align-items:center}.section-heading{position:relative;font-size:5.5rem;font-weight:700;margin-top:9rem;margin-bottom:13rem;z-index:9999}.about__heading:before{position:absolute;content:"";border-bottom:18px solid #2098D1;width:16rem;display:block;margin:0 auto;position:relative;left:3.5rem;top:6.3rem;z-index:-1}.about__content{display:flex;justify-content:space-between;width:100%}.profile{position:relative;display:flex;flex-direction:column;align-items:center;font-weight:500;left:-5px;opacity:0;transition:all 1.1s}.profile__fade-in{opacity:1;transform:translate(300px)}.profile__picture{height:24rem;margin-bottom:4rem;display:flex;justify-content:flex-start;align-items:center;border:double 3px transparent;border-image-slice:1;border-width:3px;background-origin:border-box;background-clip:content-box,border-box;transition:transform .2s,opacity 1.2s}.profile__picture img{border-radius:10px;height:100%}.profile__picture-fade-in{opacity:1}.profile__blurb{font-size:20px;width:500px;line-height:1.8}.skills{display:flex;justify-content:center}.skills__row{display:flex;flex-direction:column;justify-content:center}.skills__row:not(:last-child){margin-right:25px}.skills__item{opacity:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;height:100px;width:160px;border:double 3px transparent;border-image-slice:1;border-width:3px;border-radius:10px;background-origin:border-box;background-clip:content-box,border-box;transition:transform .2s,opacity 1.2s;overflow:hidden}.skills__item-fade-in{opacity:1}.skills__item:not(:last-child){margin-bottom:3rem}.skills__item img{height:60px;width:auto;transition:all .2s}.skills__item-name{font-size:1.2rem;font-weight:600;line-height:1;transition:all .2s;letter-spacing:1px}.projects{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-bottom:-50px}.project{position:relative;display:flex;margin-bottom:14rem;justify-content:flex-start}.project__heading{display:flex;flex-direction:column}.project__heading:before{position:absolute;content:"";border-bottom:18px solid #2098D1;width:22.5rem;display:block;margin:0 auto;left:3.5rem;top:6.3rem;z-index:-1}.project_description{position:relative;margin-top:3rem;font-size:1.8rem;font-weight:500;z-index:999909999}.project-left{align-self:flex-start;margin-left:22rem}.project-right{align-self:flex-end;margin-right:22rem}.weather{display:flex;align-items:center;justify-content:flex-start}.project__image-image{width:85%;position:relative;opacity:1}.project__image-image img{width:100%}#tsparticles{position:absolute;width:100%;height:100%;z-index:-1}#stardew{width:60%!important;margin-left:33rem}.project__info{position:relative;top:8rem;height:fit-content;padding:1rem;z-index:9999999}.project-left .project__info{left:-8rem;margin-right:-2rem}.project-right,.project__info{right:-8rem;margin-left:-2rem}.project__title{position:relative;z-index:66;font-size:3.5rem}.project__live-2{font-size:1.6rem;font-weight:700;letter-spacing:3px;line-height:1;text-transform:uppercase;display:flex;flex-direction:column;justify-content:center;align-items:center;width:fit-content;padding:1rem 1.2rem;position:relative;margin-top:3rem;cursor:pointer}.project__live-2:after{position:absolute;content:"";height:2px;background-color:#2098d1;width:100%;bottom:1px;display:block;transform-origin:bottom right 2cm;transition:all .25s}.todo{display:flex;align-items:center;justify-content:flex-end}.project__image-container{position:relative;height:70rem;width:100rem;background-color:#2098d1;transition:all .2s;opacity:.33}.project__image-container:hover{opacity:1}.resume{display:flex;flex-direction:column;justify-content:center;align-items:center}.resume__heading:before{position:absolute;content:"";border-bottom:18px solid #2098D1;width:22.5rem;display:block;margin:0 auto;position:relative;left:3.5rem;top:6.3rem;z-index:-1}.timeline,.resume-subheading{position:relative;max-width:1300px;margin:0 auto;width:100%}.resume-subheading{display:flex;justify-content:center;align-items:center;position:relative;font-size:3rem;font-weight:400;top:1rem;margin-bottom:3rem;z-index:1}.timeline:after{content:"";position:absolute;width:6px;background-color:#fff;top:0;bottom:0;left:50%;margin-left:-3px}.resume-container{padding:10px 40px;position:relative;background-color:inherit;width:50%}.resume-container-fade-in{opacity:1}.resume-container:after{content:"";position:absolute;width:25px;height:25px;right:-1.1625rem;top:20px;border-radius:50%;z-index:1;border:double 2px transparent;border-image-slice:1;background-image:linear-gradient(#1a1a1a,#1a1a1a),radial-gradient(circle at top left,#51a2e9,#ff4d5a);background-origin:border-box;background-clip:content-box,border-box;transition:transform .2s,opacity 1.2s;background-color:transparent}.left{left:.23rem}.left:before{content:" ";height:0;position:absolute;top:22px;width:0;z-index:1;right:30px;border:medium solid;border-width:10px 0 10px 10px;border-color:transparent transparent transparent #3216bb}.right{left:50.3%}.right:before{content:" ";height:0;position:absolute;top:22px;width:0;z-index:1;left:30px;border:medium solid white;border-width:10px 10px 10px 0;border-color:transparent #3216bb transparent transparent}.right:after{left:-16px}.timeline__subheading{position:relative;z-index:66;font-size:2.5rem;padding-bottom:2px}.timeline__text{font-size:2.0255rem;padding-bottom:2px}.timeline__text_p{font-size:1.5rem}.timeline__content{padding:10px 30px;position:relative;border-radius:6px;background-color:#3216bb;margin-bottom:2rem;color:#fff}.timeline__content-left{display:flex;flex-direction:column;align-items:end}.timeline__content-right,.timeline__content-left{font-size:1.3rem;font-weight:400}.contact{position:relative;margin-left:auto;margin-right:auto;display:flex;width:500px;flex-direction:column;align-items:center;justify-content:center;z-index:10;padding:120px}.contact__heading:before{position:absolute;content:"";border-bottom:18px solid #2098D1;width:22.5rem;display:block;margin:0 auto;position:relative;left:3.5rem;top:6.3rem;z-index:-1}.contact-bar{display:flex;justify-content:center;align-items:center;width:100%;padding:50px 0;height:80px}.contact-bar img{height:100%}.contact input,.contact textarea{width:500px;resize:none;border:none;color:inherit;font-size:1.6rem;border-left:2px solid transparent;border-radius:0}.contact-form{display:flex;flex-direction:column;align-items:center;justify-content:center}.form-name,.form-email{margin-bottom:6px;padding:1rem;height:4rem}.form-message{height:12rem;padding:1rem}.input-error{border-left:2px solid #51a2e9!important}.form-submit{align-self:flex-start;margin-top:0!important}.github{margin-right:16px}.email{margin-left:5px}.email,.github{height:50px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s}.footer{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center}@media (max-width: 500px){.skills__item{height:60px;width:100px}.skills__item img{height:35px}}@media (max-width: 550px){.heading__line-1,.heading__line-2{font-size:5rem}.heading-cta{padding:.8rem 2rem;position:relative;display:flex;align-items:center;margin-top:2.4rem;width:32rem;height:4.8rem;color:#2098d1;border-radius:2px;font-size:2.4rem;font-weight:500;cursor:pointer}.heading-cta:before,.heading-cta:after{content:"";position:absolute;top:-2px;left:19px;width:27.5rem;height:4.8rem;border-radius:3px;filter:blur(0);transform-origin:50%;z-index:-1}.heading-cta:hover{transform:translateY(-2px);color:#2098d1}.heading-cta:hover:after{transition-delay:.15s}.heading-cta:hover:before,.heading-cta:hover:after{border:2px solid #2098D1;border-color:transparent;filter:blur(2px);transform:scaleX(1.3) scaleY(2.2);transition:.8s transform ease,1.9s blur ease,.7s border-color ease;pointer-events:none}.project__title{font-size:2.5rem!important}}@media (max-width: 560px){.project{margin-bottom:12rem}.project__image-container{height:40rem!important;width:52rem!important}.project__info{top:4rem}.project__description,.project__live-2{margin-top:2rem}.heading-cta{position:relative;display:flex;align-items:center;margin-top:2.4rem;padding:.8rem 2rem;width:32rem;height:4.8rem;color:#2098d1;border-radius:2px;font-size:2.4rem;font-weight:500;cursor:pointer}.heading-cta:before,.heading-cta:after{content:"";position:absolute;top:-2px;left:19px;width:27.5rem;height:4.8rem;border-radius:3px;filter:blur(0);transform-origin:50%;z-index:-1}.heading-cta:hover{transform:translateY(-2px);color:#2098d1}.heading-cta:hover:after{transition-delay:.15s}.heading-cta:hover:before,.heading-cta:hover:after{border:2px solid #2098D1;border-color:transparent;filter:blur(2px);transform:scaleX(1.3) scaleY(2.2);transition:.8s transform ease,1.9s blur ease,.7s border-color ease;pointer-events:none}}@media (max-width: 600px){.heading{position:relative;align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;line-height:normal;width:fit-content;height:auto;margin-left:auto;margin-right:auto;color:#fafafa;font-weight:300;z-index:999}.heading-cta{position:relative;display:flex;align-items:center;margin-top:2.4rem;padding:.8rem 3rem;width:32rem;height:4.8rem;color:#2098d1;border-radius:2px;font-size:2.4rem;font-weight:500;cursor:pointer}.heading-cta:before,.heading-cta:after{content:"";position:absolute;top:-2px;left:19px;width:27.5rem;height:4.8rem;border-radius:3px;filter:blur(0);transform-origin:50%;z-index:-1}.heading-cta:hover{transform:translateY(-2px);color:#2098d1}.heading-cta:hover:after{transition-delay:.15s}.heading-cta:hover:before,.heading-cta:hover:after{border:2px solid #2098D1;border-color:transparent;filter:blur(2px);transform:scaleX(1.3) scaleY(2.2);transition:.8s transform ease,1.9s blur ease,.7s border-color ease;pointer-events:none}.profile__blurb{width:80vw;margin-left:auto;margin-right:auto;font-size:2rem;width:390px}.skills__item{height:70px;width:115px}.skills__item img{height:45px}.project-left .project__info{margin-right:-6rem!important}.project-right .project__info{margin-left:-6rem}.timeline:after{left:31px}.resume-container{width:100%;padding-left:70px}.resume-container:before{left:60px;border:medium solid white;border-width:10px 10px 10px 0;border-color:transparent #3216bb transparent transparent}.timeline__content-left{display:flex;flex-direction:column;align-items:start}.timeline__text{font-size:2.0255rem;padding-bottom:2px}.timeline__text_p{font-size:2rem}.left:after{left:15.9px}.right:after{left:18px}.right{left:0%}.email,.github{height:40px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s}}@media (max-width: 700px){html{font-size:43.75%!important}.heading__line-1,.heading__line-2{font-size:5rem;text-align:center;margin-left:4rem;margin-right:4rem}.heading-cta{margin-top:1.8rem}.heading-cta{position:relative;display:flex;align-items:center;margin-top:2.4rem;padding:.8rem 3rem;width:32rem;height:4.8rem;color:#2098d1;border-radius:2px;font-size:2.4rem;font-weight:500;cursor:pointer}.heading-cta:before,.heading-cta:after{content:"";position:absolute;top:-2px;left:19px;width:27.5rem;height:4.8rem;border-radius:3px;filter:blur(0);transform-origin:50%;z-index:-1}.heading-cta:hover{transform:translateY(-2px);color:#2098d1}.heading-cta:hover:after{transition-delay:.15s}.heading-cta:hover:before,.heading-cta:hover:after{border:2px solid #2098D1;border-color:transparent;filter:blur(2px);transform:scaleX(1.3) scaleY(2.2);transition:.8s transform ease,1.9s blur ease,.7s border-color ease;pointer-events:none}.navigation-bar{justify-content:center}.navigation{margin-right:0}.project__image-container{height:48rem;width:64rem}.project__info{background-color:#1a1a1a80}.contact{width:400px;padding-top:200px}.contact input,.contact textarea{width:400px}}@media (max-width: 770px){.project-left .project__info{margin-right:-4rem}}@media (max-width: 800px){.heading__line-1,.heading__line-2{font-size:5rem;text-align:center;margin-left:4rem;margin-right:4rem}.heading-cta{margin-top:1.8rem}.project-left .project__info{margin-right:-4rem}}@media (max-width: 820px){.project__title{font-size:2.7rem}}@media (max-width: 900px){.heading__line-1,.heading__line-2{font-size:5rem;text-align:center;margin-left:4rem;margin-right:4rem}.project__image-container{height:54rem;width:75rem}.project__title{font-size:3rem}}@media (max-width: 970px){.project__image-container{height:58rem;width:80rem}}@media (max-width: 1000px){.section-heading{margin-top:6rem}.profile{margin-bottom:7rem}.skills__item img{height:50px}.project__info{width:fit-content}}@media (max-width: 1100px){.project__image-container{height:64rem;width:90rem}}@media (max-width: 1200px){.about{width:auto!important}.heading-cta:before,.heading-cta:after{width:28.5rem;border:2px solid transparent}.navigation{margin-right:3rem}.section-heading{margin-bottom:10rem}}@media (max-width: 1300px){.about__content{flex-direction:column}.profile__fade-in{transform:translate(0)}}@media (max-width: 1301px){.profile{margin-bottom:10rem;left:0;opacity:1}}@media (max-width: 1500px){.about{width:1100px}.heading-cta{width:auto}.heading-cta:before,.heading-cta:after{width:27.8rem}.skills__item img{height:55px}.project-left{margin-left:0!important}.project-right{margin-right:0!important}}@media (max-width: 1700px){.project-left{margin-left:11rem}.project-right{margin-right:11rem}.heading-cta{position:relative;display:flex;align-items:center;margin-top:2.4rem;padding:.8rem 2rem;width:32rem;height:4.8rem;color:#2098d1;border-radius:2px;font-size:2.4rem;font-weight:500;cursor:pointer}.heading-cta:before,.heading-cta:after{content:"";position:absolute;top:-2px;left:19px;width:27.5rem;height:4.8rem;border-radius:3px;filter:blur(0);transform-origin:50%;z-index:-1}.heading-cta:hover{transform:translateY(-2px);color:#2098d1}.heading-cta:hover:after{transition-delay:.15s}.heading-cta:hover:before,.heading-cta:hover:after{border:2px solid #2098D1;border-color:transparent;filter:blur(2px);transform:scaleX(1.3) scaleY(2.2);transition:.8s transform ease,1.9s blur ease,.7s border-color ease;pointer-events:none}}.card-wrapper{max-width:1100px;margin:0 60px 35px;padding:20px 10px;overflow:hidden}.card-list .card-item{list-style:none}.card-list .card-item .card-link{display:block;padding:18px;border-radius:12px;text-decoration:none;transition:.2s ease;margin:20px}.card-list .card-item .card-link:active{cursor:grabbing}.card-list .card-item .card-link:hover{border:1px solid #2098D1;box-shadow:0 0 10px 5px #2098d1;background-color:#10223f}.card-list .card-item .card-link:active{opacity:1;border:1px solid #2098D1;box-shadow:0 10px 10px 5px #2098d1}.card-list .card-link .card-image{width:100%;border-radius:10px;aspect-ratio:16 / 9;object-fit:cover}.card-list .card-link .badge{color:#2098d1;width:fit-content;padding:8px 16px;font-size:.95rem;border-radius:50px;font-weight:500;background:#dde4ff;margin:16px 0 18px}.card-list .card-link .card-title{color:#2098d1;font-size:1.19rem;font-weight:600}.card-list .card-link .card-button{height:35px;width:35px;color:#5372f0;margin:30px 0 5px;background:none;cursor:pointer;border-radius:50%;border:2px solid #5372F0;transform:rotate(-45deg);transition:.4s ease}.card-list .card-link:hover .card-button{color:#fff;background:#5372f0}.card-wrapper .swiper-pagination-bullet{height:13px;width:13px;opacity:.5;background:#5372f0}.card-wrapper .swiper-pagination-bullet-active{opacity:1}.card-wrapper .swiper-slide-button{color:#5372f0;margin-top:-35px}@media (max-width: 768px){.card-wrapper{margin:0 10px 25px}.card-wrapper .swiper-slide-button{display:none}}:root{background-color:#0b192e;--light-slate: #a8b2d1;--lightest-slate: #ccd6f6;font-family:Calibre,Inter,San Francisco,SF Pro Text,-apple-system,system-ui,sans-serif}html{box-sizing:border-box;font-size:62.5%;scroll-behavior:smooth}a{font-weight:500;color:inherit;text-decoration:inherit}a:hover,a:active{color:#535bf2}body{min-height:100vh;box-sizing:border-box;overflow-x:hidden}li{list-style:none}h1{font-size:3.2em;text-transform:capitalize;line-height:1.1}h1,h2{text-transform:capitalize}h1,h2,h3{color:var(--lightest-slate)}p{color:var(--light-slate)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (max-width: 615px){html{font-size:40%!important}}@media (max-width: 770px){html{font-size:43.75%}}@media (max-width: 1200px){html{font-size:50%}}@media (max-width: 1500px){html{font-size:57.25%}}
