@font-face{font-family:Lexend;src:url(/assets/Lexend-Black-Dpch7wwr.ttf) format("truetype");font-weight:900;font-style:normal}@font-face{font-family:Lexend;src:url(/assets/Lexend-SemiBold-JHcnJWTm.ttf) format("truetype");font-weight:800;font-style:normal}@font-face{font-family:Lexend;src:url(/assets/Lexend-Regular-CloKOEWV.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Lexend;src:url(/assets/Lexend-ExtraLight-C_lQLRh-.ttf) format("truetype");font-weight:100;font-style:normal}main{width:100%}:root{--primaryLight: #E6E6EC;--secondaryLight: #6E88A6;--primaryDark: #0E1012;--secondaryDark: #252B33;--primaryColor: #63EC89;--secondaryColor: #63ECDC;--errorColor: #FF3056;--darkest: #000000;font-family:Lexend,Helvetica,Arial,sans-serif;font-display:swap;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100;max-width:100%;width:100}:root .lightMode{--primaryLight: #0E1012;--secondaryLight: #252B33;--primaryDark: #E6E6EC;--secondaryDark: #8c95a0;--primaryColor: #007a3b;--secondaryColor: #008f7f;--errorColor: #9c0420;--darkest: #b7b7b7}a{text-decoration:inherit;color:var(--primaryLight);cursor:pointer}body{margin:0;display:flex;background:var(--primaryDark);background:linear-gradient(135deg,var(--primaryDark) 0%,var(--darkest) 100%);background-attachment:fixed}button{border:none;cursor:pointer}input,textarea{border:none;border-radius:.5rem;font-family:Lexend,Helvetica,Arial,sans-serif;font-weight:400}::-webkit-scrollbar{width:.75rem;height:.75rem}::-webkit-scrollbar-track,body::-webkit-scrollbar-corner{background:var(--primaryDark)}::-webkit-scrollbar-thumb{background:var(--secondaryLight)}::-webkit-scrollbar-thumb:hover{background:var(--primaryLight)}#root{width:100%}.spacer{height:100px}.home{display:flex;flex-direction:column;align-items:center}header{width:100%;max-width:calc(100% - 4rem);display:flex;overflow-x:hidden;padding:2rem 0}.headerContent{width:100%;max-width:90%;display:flex}.profilePic{width:20vw;max-width:8rem;aspect-ratio:1 / 1;padding-right:1.5rem;transition:transform .3s ease}.profilePic:hover{transform:scale(1.1)}.hello{display:flex;flex-direction:column;justify-content:center;font-size:min(3vw,1.5rem)}.hello h1,.hello h2{display:flex;column-gap:.5rem;font-weight:900;color:var(--secondaryLight);text-align:start;margin:0}.hello h1 span,.hello h2 span{color:var(--primaryLight)}nav{flex-grow:1}nav ul{display:flex;flex-direction:row;align-items:start;justify-content:end;gap:3rem;width:100%;list-style-type:none;padding:0;margin-left:1rem}.navItem a{display:flex;align-items:center;color:var(--secondaryLight);font-size:1.5rem;font-weight:800;transition:color .3s ease,transform .3s ease}.navItem a svg{height:1.3rem}.navItem a svg path{transition:fill .3s ease;fill:var(--secondaryDark)}.navItem a:hover,.navItem a:focus,.navItem a:focus-visible{transform:scale(1.1);color:var(--primaryLight)}.navItem a:hover path,.navItem a:focus path,.navItem a:focus-visible path{fill:var(--primaryLight)}@media only screen and (max-width: 900px){.header{padding:1rem 0 0;justify-content:center}nav{display:none}}.aboutParent{display:flex;justify-content:center;width:100%;height:70vh}.about{display:flex;justify-content:center;width:1800px;min-width:800px}.intro{width:50%;display:grid}.intro div{grid-column:1;grid-row:1}.icons{display:flex;justify-content:center;align-items:center;width:100%;height:100%;z-index:-1}.icons img{width:390px;height:177px;margin-bottom:70px}.introContent{display:flex;flex-direction:column;justify-content:center;align-items:center;font-weight:900}.introContent h2{font-weight:900;font-size:4rem;margin:0;background:var(--primaryColor);background:linear-gradient(to right,var(--primaryColor) 0%,var(--secondaryColor) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.introContent p{display:flex;justify-content:center;align-items:center;margin:0;margin-top:-1rem;width:20rem;font-size:1.25rem;color:var(--secondaryLight);text-align:center}.introContent p span{color:var(--secondaryDark);font-weight:100;font-size:5rem;padding-bottom:1rem}.introContent .contactMe{display:flex;align-items:center;background:var(--primaryColor);background:linear-gradient(to right,var(--primaryColor) 0%,var(--secondaryColor) 100%);font-weight:900;color:var(--primaryDark);font-size:1.25rem;border-radius:10rem;padding:.4rem .8rem;margin-top:5rem}.introContent .contactMe svg{height:1.25rem}.introContent .contactMe svg path{fill:var(--primaryDark)}.introContent .contactMe:hover,.introContent .contactMe:focus,.introContent .contactMe:focus-visible{background:var(--primaryLight)}.resume{display:flex;align-items:center;margin-top:3rem;margin-bottom:1rem;color:var(--secondaryLight);font-size:1.25rem;font-weight:800;transition:color .3s ease,transform .3s ease}.resume svg{height:1.3rem}.resume svg path{transition:fill .3s ease;fill:var(--secondaryLight)}.resume:hover,.resume:focus,.resume:focus-visible{transform:scale(1.1);color:var(--primaryLight)}.resume:hover path,.resume:focus path,.resume:focus-visible path{fill:var(--primaryLight)}.explore{display:flex;flex-direction:column;align-items:center;gap:3rem;position:absolute;left:0;bottom:0;width:2rem;margin:0 0 10px 10px}.explore svg{height:2rem}.explore svg path{fill:var(--secondaryDark)}.explore p{color:var(--secondaryDark);font-size:2rem;rotate:-90deg;margin:0}@media only screen and (max-width: 900px){.aboutParent{margin-top:175px;height:200px}.about{flex-direction:column-reverse;justify-content:center;align-items:center;gap:3rem;width:100%;min-width:10px}.intro{width:100%}.introContent{margin-top:0}.introContent h2{font-size:2.5rem}.introContent .contactMe{margin:0}}@media only screen and (min-width: 900px){.resume{display:none}}.images{display:grid;width:50%}.images div{grid-column:1;grid-row:1}.images .projectImage{grid-column:1;grid-row:1;display:flex;justify-content:center;align-items:center;width:100%;height:100%;--scale: .8;--offsetX: -40px;--offsetY: -70px}.images .projectImage a{position:relative;transition:transform .3s ease;scale:var(--scale)}.images .projectImage a img{height:100%;width:100%;object-fit:fill;border:4px solid var(--secondaryDark);border-radius:3px;box-shadow:5px 5px 3px 1px #0000009c;transition:border-color .3s ease}.images .projectImage>a:hover,.images .projectImage>a:focus,.images .projectImage>a:focus-visible{transform:scale(1.05)}.images .projectImage>a:hover img,.images .projectImage>a:focus img,.images .projectImage>a:focus-visible img{border-color:var(--primaryColor)}.images .image0{width:352px;z-index:2;top:calc(-30px * var(--scale) + var(--offsetY));left:calc(-90px * var(--scale) + var(--offsetX))}.images .image1{width:650px;z-index:1;top:calc(-120px * var(--scale) + var(--offsetY));left:calc(240px * var(--scale) + var(--offsetX))}.images .image2{width:200px;z-index:2;top:calc(280px * var(--scale) + var(--offsetY));left:calc(150px * var(--scale) + var(--offsetX))}.images .image3{width:370px;z-index:3;top:calc(200px * var(--scale) + var(--offsetY));left:calc(-160px * var(--scale) + var(--offsetX))}.images .image4{width:400px;z-index:0;top:calc(170px * var(--scale) + var(--offsetY));left:calc(430px * var(--scale) + var(--offsetX))}.images .image5{width:400px;z-index:4;top:calc(400px * var(--scale) + var(--offsetY));left:calc(-100px * var(--scale) + var(--offsetX))}@media only screen and (max-width: 900px){.images{display:none}}@media only screen and (max-width: 1600px){.images .projectImage{--scale: .7}}@media only screen and (max-height: 900px){.images .projectImage{--scale: .7}}@media only screen and (max-width: 1300px){.images .projectImage{--scale: .6}}@media only screen and (max-height: 700px){.images .projectImage{--scale: .5}}@media only screen and (max-width: 1180px){.images .projectImage{--scale: .4;--offsetX: -100px }}.contact{display:flex;flex-direction:column;align-items:center}.letsTalk{font-weight:800;color:var(--primaryLight);font-size:3rem;margin:0;margin-bottom:3rem}.formSocials{display:flex;justify-content:center;gap:2rem;position:relative}form{display:flex;flex-direction:column;align-items:center;gap:1rem;width:90vw;max-width:400px}form .input{display:flex;flex-direction:column;gap:.25rem;width:100%}form .input div{display:grid;position:relative}form .input div *{grid-row:1;grid-column:1}form .input label{color:var(--primaryLight);margin-left:.5rem}form .input label.required:after{content:"*";color:var(--errorColor)}form .input input,form .input textarea{resize:none;box-sizing:border-box;width:100%;height:30px;color:var(--primaryLight);background-color:var(--secondaryDark);font-size:1rem;padding:.5rem 1rem;box-shadow:5px 5px 3px 1px #0000009c;white-space:nowrap;overflow-y:hidden;z-index:1}form .input input::-webkit-scrollbar,form .input textarea::-webkit-scrollbar{height:0rem}form .input:last-of-type textarea{resize:vertical;height:120px;min-height:120px;max-height:300px;white-space:unset;overflow-y:unset}form button{display:flex;align-items:center;background:var(--primaryColor);background:linear-gradient(to right,var(--primaryColor) 0%,var(--secondaryColor) 100%);font-weight:800;color:var(--primaryDark);font-size:1.25rem;border-radius:.5rem;padding:.4rem .8rem;margin-top:5rem}form button:hover,form button:focus,form button:focus-visible{background:var(--primaryLight)}form .successful{color:var(--primaryColor);font-size:1rem;margin:0}form .error{color:var(--errorColor);font-size:1rem;margin:0}.socials{margin-left:min(90vw,400px);padding-left:80px;margin-top:5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;position:absolute}.socials a svg{width:2rem;height:2rem}.socials a svg path{fill:var(--primaryColor)}.socials a:hover,.socials a:focus,.socials a:focus-visible{transform:scale(1.1);color:var(--primaryLight)}.socials a:hover path,.socials a:focus path,.socials a:focus-visible path{fill:var(--primaryLight)}@media only screen and (max-width: 900px){.letsTalk{margin-bottom:0}.formSocials{flex-direction:column-reverse}.socials{position:unset;padding-left:0;margin-top:1rem;margin-left:0;flex-direction:row;justify-content:center}}.skillsSection{display:flex;flex-direction:column;align-items:center;width:100%}.skillsSection h2{text-align:center;color:var(--primaryLight);font-weight:800;font-size:3rem}.categoryList{display:flex;justify-content:space-evenly;width:100%;max-width:1000px}.categoryList .category{flex:1 1 0px;display:flex;flex-direction:column;align-items:center}.categoryList .category svg{height:5rem}.categoryList .category svg path{fill:var(--primaryColor)}.categoryList .category h3{color:var(--primaryLight);font-weight:800;font-size:2rem;margin:0}.categoryList .category:not(:last-child){border-right:2px solid var(--secondaryDark)}.categoryList .skillsList{display:grid;grid-template-columns:repeat(2,85px);gap:1.2rem;margin-top:1.5rem;justify-content:center}.categoryList .skillsList .skill{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--primaryLight);width:85px;height:85px;font-weight:400;font-size:.8rem;background-color:var(--secondaryDark);border-radius:8px;padding:.6rem .4rem;box-shadow:0 4px 6px #0003;transition:transform .2s ease,box-shadow .2s ease}.categoryList .skillsList .skill img{width:42px;height:42px;object-fit:contain}.categoryList .skillsList .skill p{margin:0;text-align:center;width:100%;line-height:1.1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.categoryList .skillsList .skill:hover{transform:translateY(-2px);box-shadow:0 6px 8px #0000004d}@media only screen and (max-width: 900px){.categoryList{flex-direction:column;gap:3rem}.categoryList .category:not(:last-child){border-right:none}.categoryList .skillsList{grid-template-columns:repeat(3,80px);gap:1rem}.categoryList .skillsList .skill{width:80px;height:80px;padding:.5rem .4rem}.categoryList .skillsList .skill img{width:38px;height:38px}}@media only screen and (max-width: 400px){.categoryList .skillsList{grid-template-columns:repeat(3,70px);gap:.8rem}.categoryList .skillsList .skill{width:70px;height:70px;padding:.4rem .3rem;font-size:.75rem}.categoryList .skillsList .skill img{width:32px;height:32px}}.experienceSection{display:flex;flex-direction:column;align-items:center;width:100%}.experienceSection h2{text-align:center;color:var(--primaryLight);font-weight:800;font-size:3rem}.experienceList{width:100%;max-width:1000px;display:flex;gap:4rem;margin-top:1.5rem;justify-content:center;align-items:center}.experienceList .experience{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--primaryLight);width:120px;height:140px;font-weight:400;font-size:.8rem;background-color:var(--secondaryDark);border-radius:8px;padding:.6rem .4rem;box-shadow:0 4px 6px #0003;transition:transform .2s ease,box-shadow .2s ease}.experienceList .experience img{width:105px;height:105px;object-fit:contain}.experienceList .experience p{margin:6px 0 0;text-align:center;width:100%;line-height:1.1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.experienceList .experience:hover{transform:translateY(-2px);box-shadow:0 6px 8px #0000004d}@media only screen and (max-width: 900px){.experienceList{grid-template-columns:repeat(3,80px);gap:1rem}.experienceList .experience{width:120px;height:140px;padding:.5rem .4rem}.experienceList .experience img{width:105px;height:105px}}@media only screen and (max-width: 400px){.experienceList{grid-template-columns:repeat(3,70px);gap:.8rem;flex-direction:column}.experienceList .experience{width:120px;height:140px;padding:.4rem .3rem;font-size:.75rem}.experienceList .experience img{width:105px;height:105px}}.projectsSection{display:flex;flex-direction:column;align-items:center;width:100%}.projectsSection h2{text-align:center;color:var(--primaryLight);font-weight:800;font-size:3rem}.projectsSection .projectCategories{display:flex;flex-direction:column;gap:60px}.projectsSection .category .title{display:flex;align-items:center;justify-content:center;gap:1rem}.projectsSection .category .title h3{text-align:center;color:var(--primaryColor);font-weight:800;font-size:2rem;margin:0}.projectsSection .category .title svg{height:3rem;width:3rem}.projectsSection .category .title svg path{fill:var(--primaryColor)}.projectsSection .projectList{display:grid;grid-template-columns:1fr 1fr 1fr;column-gap:40px;row-gap:10px;margin-top:20px}.projectsSection .projectList div{display:flex;flex-direction:column;align-items:center}.projectsSection .projectList .projectListSpacer{display:none}@media only screen and (max-width: 840px){.projectsSection .projectList{grid-template-columns:1fr 1fr}}@media only screen and (max-width: 564px){.projectsSection .project{width:250px}.projectsSection .projectCategories{width:100%}.projectsSection .projectList{position:relative;display:flex;overflow-x:scroll;scroll-snap-type:x mandatory}.projectsSection .projectList .project{scroll-snap-align:center;margin-bottom:20px}.projectsSection .projectList .projectListSpacer{display:block;margin-left:50%}.projectsSection .projectList::-webkit-scrollbar{margin-top:200px}}@media only screen and (max-width: 274px){.projectsSection .project{width:180px}}@media only screen and (max-width: 209px){.projectsSection .project{width:120px}}.project{display:flex;flex-direction:column;align-items:space;justify-content:space-between;gap:12px;background-color:var(--secondaryDark);border-radius:10px;width:100%;max-width:280px;min-width:200px;height:auto;min-height:360px;box-shadow:5px 5px 3px 1px #0000009c;padding:12px;text-align:center;transition:border .3s ease;border:2px solid var(--primaryDark)}.project .imageHolder{width:100%;aspect-ratio:4/3;border-radius:10px;overflow:hidden;display:flex;align-items:flex-start;justify-content:center}.project picture{width:100%;height:100%;display:flex;align-items:flex-start}.project img{width:100%;height:100%;transition:transform .3s ease;object-fit:cover;object-position:top center;transform-origin:top}.project p{margin:0}.project .title{position:relative;display:flex;flex-direction:column;align-items:center;margin:0 0 1.5rem;color:var(--primaryLight);font-weight:800;font-size:clamp(1rem,4vw,1.25rem)}.project .duration{position:absolute;bottom:-1.2rem;color:var(--primaryColor);font-weight:400;font-size:clamp(.8rem,3vw,1rem)}.project .description{color:var(--secondaryLight);font-weight:400;font-size:clamp(.875rem,3vw,1rem);margin:.5rem 0;flex-grow:1}.project .button{background:var(--primaryColor);background:linear-gradient(to right,var(--primaryColor) 0%,var(--secondaryColor) 100%);font-weight:800;color:var(--primaryDark);font-size:clamp(.875rem,3vw,1rem);padding:.6rem 0;width:100%;border-radius:10px;margin-top:auto}.project:hover,.project:focus,.project:focus-visible{box-shadow:none;border:2px solid var(--primaryColor)}.project:hover .button,.project:focus .button,.project:focus-visible .button{background:var(--primaryLight)}.project:hover img,.project:focus img,.project:focus-visible img{transform:scale(1.1);transform-origin:top}@media only screen and (max-width: 400px){.project{padding:10px;gap:8px;min-width:180px;min-height:320px}.project .imageHolder{height:100px}}@media only screen and (max-width: 320px){.project{min-width:160px;min-height:300px;padding:8px}.project .imageHolder{height:85px}}footer{color:var(--secondaryLight);font-size:1.5rem;margin:5rem 0 2rem}.notFound{display:flex;flex-direction:column;align-items:center;margin-top:10%}.notFound h2{color:var(--errorColor);font-weight:800;font-size:8rem;margin:0;text-shadow:3px 3px var(--secondaryDark)}.notFound h3{color:var(--secondaryLight);font-weight:400;font-size:1.5rem;margin:0}.notFound a{background:var(--primaryColor);background:linear-gradient(to right,var(--primaryColor) 0%,var(--secondaryColor) 100%);border-radius:10rem;color:var(--primaryDark);font-weight:900;padding:.4rem .8rem;margin-top:2rem}.projectsPage{display:flex;flex-direction:column;align-items:center;width:100%;max-width:100%;overflow-x:hidden}.projectContent{display:flex}.projectParent{display:flex;flex-direction:column;align-items:center;gap:20px;padding-top:20px;flex:1 1 0px}.projectParent .project{width:280px}.projectParent .backButton{background:var(--secondaryDark);font-weight:800;color:var(--primaryLight);text-align:center;font-size:1rem;padding:.4rem 0;width:280px;border-radius:10px}.projectParent .backButton:hover,.projectParent .backButton:focus,.projectParent .backButton:focus-visible{background:var(--primaryDark)}.mainProjectContent{display:flex;flex:2 2 0px;min-width:50vw}.descriptionColumn{display:flex;flex-direction:column;flex:1 1 0px;min-width:30vw}.descriptionColumn h2{color:var(--primaryColor);font-weight:800;font-size:2rem;margin:0 0 5px}.descriptionColumn p{color:var(--primaryLight);font-weight:400;margin:0 0 30px}.descriptionColumn .toolsList{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;column-gap:10px;row-gap:10px;width:100px;margin:0 0 30px}.descriptionColumn .toolsList img{width:30px;height:30px}.descriptionColumn ul{margin:0 0 30px;padding-left:20px}.descriptionColumn ul li{color:var(--primaryLight);margin:0}.screenshots{display:flex;flex-direction:column;align-items:center;gap:20px;flex:1 1 0px;min-width:30vw}.screenshots div{width:80%}.screenshots div img{width:100%;height:fit-content;max-height:500px;object-fit:contain;border-radius:10px}@media only screen and (max-width: 900px){.projectContent{flex-direction:column;gap:50px;padding:0 50px}}@media only screen and (max-width: 600px){.projectContent{flex-direction:column;gap:50px;padding:0 25px}.mainProjectContent{flex-direction:column}}@media only screen and (max-width: 400px){.projectParent .project,.projectParent .backButton{width:180px}}@media only screen and (max-width: 320px){.projectParent .project,.projectParent .backButton{width:160px}}
