:root{--clr-neutral-50: hsl(0, 0%, 93%);--clr-neutral-100: hsl(0, 0%, 75%);--clr-neutral-200: hsl(0, 0%, 62%);--clr-neutral-300: hsl(0, 0%, 52%);--clr-neutral-400: hsl(0, 0%, 42%);--clr-neutral-500: hsl(0, 0%, 32%);--clr-neutral-600: hsl(0, 0%, 22%);--clr-neutral-700: hsl(0, 0%, 20%);--clr-neutral-800: hsl(0, 0%, 17%);--clr-neutral-850: hsl(0, 0%, 15%);--clr-neutral-900: hsl(0, 0%, 13%);--clr-primary-dark: hsl(205, 67%, 10%);--clr-primary: hsl(205, 66%, 15%);--clr-primary-light: hsl(205, 67%, 20%);--clr-accent-dark: hsl(192, 100%, 39%);--clr-accent: hsl(192, 100%, 49%);--clr-accent-light: hsl(192, 100%, 70%);--clr-error: hsl(0, 100%, 68%);--clr-valid: hsl(120, 56%, 55%);--fc-primary: var(--clr-neutral-50);--fc-accent: var(--clr-accent);--fc-accent-light: hsl(192, 100%, 85%);--gradient-primary: linear-gradient(75deg, hsl(205, 66%, 12%), var(--clr-primary-dark));--header-bg: hsl(205, 67%, 20%);--header-fc: var(--clr-neutral-50)}@font-face{font-family:Maven Pro;src:url(/fonts/MavenPro-Regular.woff2) format("woff2"),url(/fonts/MavenPro-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:auto}@font-face{font-family:Maven Pro;src:url(/fonts/MavenPro-Medium.woff2) format("woff2"),url(/fonts/MavenPro-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:auto}@font-face{font-family:Maven Pro;src:url(/fonts/MavenPro-SemiBold.woff2) format("woff2"),url(/fonts/MavenPro-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:auto}@font-face{font-family:Maven Pro;src:url(/fonts/MavenPro-Bold.woff2) format("woff2"),url(/fonts/MavenPro-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:auto}@font-face{font-family:Maven Pro;src:url(/fonts/MavenPro-ExtraBold.woff2) format("woff2"),url(/fonts/MavenPro-ExtraBold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:auto}@font-face{font-family:Maven Pro;src:url(/fonts/MavenPro-Black.woff2) format("woff2"),url(/fonts/MavenPro-Black.ttf) format("truetype");font-weight:900;font-style:normal;font-display:auto}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;font-family:Maven Pro,sans-serif}body.no-scroll{overflow:hidden;height:100vh}body{background-color:var(--clr-primary-dark);color:var(--fc-primary);line-height:1.5;text-rendering:optimizeSpeed}li{list-style:none}a{text-decoration:none}html:focus-within{scroll-behavior:smooth}img,picture{max-width:100%;display:block}h1{font-size:clamp(2.3rem,5vw,2.8rem)}h2{font-size:clamp(1.8rem,4vw,2.1rem);color:var(--fc-accent)}h3{font-size:1.2rem}p{font-size:1rem;font-weight:var(--fw-medium);color:var(--clr-neutral-100);text-wrap:pretty;max-width:40ch}::-webkit-scrollbar-button{height:0}::-webkit-scrollbar-thumb{background-color:var(--clr-accent-dark)}::-webkit-scrollbar-thumb:hover{background-color:var(--fc-accent)}::-webkit-scrollbar-thumb:active{background-color:var(--clr-accent-light)}::-webkit-scrollbar{background-color:var(--clr-primary);width:10px}textarea::-webkit-scrollbar{width:5px}:root{--size-25: .125rem;--size-50: .25rem;--size-75: .375rem;--size-100: .5rem;--size-125: .625rem;--size-150: .75rem;--size-200: 1rem;--size-250: 1.25rem;--size-300: 1.5rem;--size-350: 1.75rem;--size-400: 2rem;--size-450: 2.25rem;--size-500: 2.5rem;--size-550: 2.75rem;--size-600: 3rem;--size-625: 3.125rem;--size-650: 3.25rem;--size-700: 3.5rem;--size-750: 3.75rem;--size-800: 4rem;--size-850: 4.25rem;--size-900: 4.5rem;--fw-extralight: 200;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-bolder: 800;--fw-extrabold: 900;--fw-maxibold: 1000}button:disabled{opacity:.5}.button{position:relative;font-size:1.1rem;border-radius:8px;background-color:var(--clr-primary);padding:.875rem;cursor:pointer;border:2px solid transparent;color:var(--fc-accent-light);transition:ease-out .25s;font-weight:500}.button:before,.button:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:6px;transition:ease-out .25s}.button:before{transform:scaleX(0);border-top:1px solid var(--clr-accent);border-bottom:1px solid var(--clr-accent)}.button:after{transform:scale(1);border-right:1px solid var(--clr-accent);border-left:1px solid var(--clr-accent)}.button:hover,.button:focus-visible,.button.loading{color:var(--fc-accent);background-color:var(--clr-primary-light);border:2px solid var(--clr-accent)}.button:hover:before,.button:focus-visible:before,.button.loading:before{transform:scale(1)}.button:focus-visible{outline:1px solid var(--clr-accent-light)}.button.secondary{background-color:#016fa2}.button.secondary:hover{color:var(--fc-accent);background-color:#003f5b}.icon-button{display:flex;align-items:center;justify-content:center;color:var(--clr-neutral-50);background-color:transparent;border:none;cursor:pointer}.icon-button:hover,.icon-button:focus-visible{filter:brightness(2)}.shape-divider-margin{width:100%;height:150px}.shape-divider-top{position:absolute;top:0;left:0;width:100%;overflow:hidden;line-height:0;z-index:-1}.shape-divider-top svg{position:relative;display:block;width:calc(100% + 1.3px);height:150px;filter:drop-shadow(2px 2px 8px rgba(0,0,0,.5))}@media only screen and (max-width: 799px){.shape-divider-top svg{width:calc(150% + 1.3px)}}.shape-divider-top .shape-fill{fill:var(--clr-primary-dark)}.shape-divider-bottom{position:absolute;bottom:0;left:0;width:100%;overflow:hidden;line-height:0;transform:rotate(180deg)}.shape-divider-bottom svg{position:relative;display:block;width:calc(100% + 1.3px);height:150px;filter:drop-shadow(2px 2px 8px rgba(0,0,0,.5))}@media only screen and (max-width: 799px){.shape-divider-bottom svg{width:calc(150% + 1.3px)}}.shape-divider-bottom .shape-fill{fill:var(--clr-primary-dark)}.input-text_wrapper{position:relative;padding-bottom:3px;border-radius:6px;width:100%;overflow:hidden}.input-text_wrapper:before,.input-text_wrapper:after{content:"";position:absolute;bottom:0;height:3px}.input-text_wrapper:before{left:50%;transform:translate(-50%);height:3px;width:0;background-color:var(--clr-accent);transition:.3s ease}.input-text_wrapper:after{left:0;width:100%;background-color:#0003}.input-text_wrapper:has(.input-text:focus-visible):before{width:100%}.input-text_wrapper:has(.input-text.valid):before{width:100%;background-color:var(--clr-valid)}.input-text_wrapper:has(.input-text.invalid):before{width:100%;background-color:var(--clr-error)}.input-text{background-color:var(--clr-primary);border-top-left-radius:6px;border-top-right-radius:6px;border:none;outline:none;padding:1rem;color:var(--fc-primary);font-size:1rem;overflow:visible;caret-color:var(--clr-accent);width:100%}.input-text_label{color:var(--fc-accent-light);margin-left:.25rem}.input-text_wrapper.textarea{padding-bottom:0}.input-text_wrapper.textarea:before,.input-text_wrapper.textarea:after{bottom:3px;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.input-text.textarea{resize:none;line-height:1.5}.error-message{font-size:.8rem;text-align:center;color:var(--clr-error);font-weight:var(--fw-regular)}.loading-spinner_wrapper{height:21px;width:fit-content}.loading-spinner{animation:1s spin linear infinite;transform:rotate(0)}.toasts_container{position:fixed;bottom:0;left:0;padding:1rem;z-index:99}@media only screen and (max-width: 399px){.toasts_container{width:100%}}.toast{width:340px;padding:1.15rem .9rem;border-radius:4px;overflow:hidden;box-shadow:4px 4px 3px #0003}@media only screen and (max-width: 399px){.toast{width:100%}}.toast:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;width:90%;height:50%;border-radius:2px;border-left:3px solid;border-top:3px solid;border-color:#fff3}.toast>*{transform:skew(15deg)}.toast.success{background-color:#1a7f1a}.toast.success .toast_icon{color:#93ec93}.toast.success .toast_line:before{background-color:#93ec93}.toast.success:before{border-color:#93ec9380}.toast.error{background-color:#730d0d}.toast.error .toast_icon{color:#f47171}.toast.error .toast_line:before{background-color:#f47171}.toast.error:before{border-color:#f4717180}.toast.info{background-color:#075c83}.toast.info .toast_icon{color:#95c6ea}.toast.info .toast_line:before{background-color:#95c6ea}.toast.info:before{border-color:#95c6ea80}.toast_icon{flex-shrink:0}.toast_message{color:var(--fc-primary);font-weight:var(--fw-regular)}.toast_line{position:absolute;bottom:0;left:0;height:3px;width:100%;background-color:#0000004d}.toast_line:before{content:"";display:block;width:0%;height:100%;animation:toastLine 5s linear}@keyframes toastLine{0%{width:100%}to{width:0%}}.mx-auto{margin-inline:auto}.mx-25{margin-inline:var(--size-25)}.mx-50{margin-inline:var(--size-50)}.mx-75{margin-inline:var(--size-75)}.mx-100{margin-inline:var(--size-100)}.mx-125{margin-inline:var(--size-125)}.mx-150{margin-inline:var(--size-150)}.mx-200{margin-inline:var(--size-200)}.mx-250{margin-inline:var(--size-250)}.mx-300{margin-inline:var(--size-300)}.mx-350{margin-inline:var(--size-350)}.mx-400{margin-inline:var(--size-400)}.my-25{margin-block:var(--size-25)}.my-50{margin-block:var(--size-50)}.my-75{margin-block:var(--size-75)}.my-100{margin-block:var(--size-100)}.my-125{margin-block:var(--size-125)}.my-150{margin-block:var(--size-150)}.my-200{margin-block:var(--size-200)}.my-250{margin-block:var(--size-250)}.my-300{margin-block:var(--size-300)}.my-350{margin-block:var(--size-350)}.my-400{margin-block:var(--size-400)}.mt-25{margin-top:var(--size-25)}.mt-50{margin-top:var(--size-50)}.mt-75{margin-top:var(--size-75)}.mt-100{margin-top:var(--size-100)}.mt-125{margin-top:var(--size-125)}.mt-150{margin-top:var(--size-150)}.mt-200{margin-top:var(--size-200)}.mt-250{margin-top:var(--size-250)}.mt-300{margin-top:var(--size-300)}.mt-350{margin-top:var(--size-350)}.mt-400{margin-top:var(--size-400)}.mb-25{margin-bottom:var(--size-25)}.mb-50{margin-bottom:var(--size-50)}.mb-75{margin-bottom:var(--size-75)}.mb-100{margin-bottom:var(--size-100)}.mb-125{margin-bottom:var(--size-125)}.mb-150{margin-bottom:var(--size-150)}.mb-200{margin-bottom:var(--size-200)}.mb-250{margin-bottom:var(--size-250)}.mb-300{margin-bottom:var(--size-300)}.mb-350{margin-bottom:var(--size-350)}.mb-400{margin-bottom:var(--size-400)}.flex{display:flex}.justify-center{justify-content:center}.align-center{align-items:center}.flex-column{flex-direction:column}.space-between{justify-content:space-between}.inline-flex{display:inline-flex}.flex-wrap{flex-wrap:wrap}.align-start{align-items:flex-start}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-around{justify-content:space-around}.space-evenly{justify-content:space-evenly}.wrap{flex-wrap:wrap}.relative{position:relative}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.cursor-pointer{cursor:pointer}.cursor-help{cursor:help}.cursor-default{cursor:default}.pointer-events-none{pointer-events:none}.gap-25{gap:var(--size-25)}.gap-50{gap:var(--size-50)}.gap-75{gap:var(--size-75)}.gap-100{gap:var(--size-100)}.gap-150{gap:var(--size-150)}.gap-200{gap:var(--size-200)}.gap-250{gap:var(--size-250)}.f-width{width:100%}.f-height{height:100%}.fw-semibold{font-weight:var(--fw-semibold)}.fw-bold{font-weight:var(--fw-bold)}.fw-bolder{font-weight:var(--fw-bolder)}.even-columns{display:flex}.even-columns>*{flex:1}@keyframes spin{to{transform:rotate(360deg)}}header{position:fixed;height:60px;top:0;left:0;display:flex;align-items:center;justify-content:space-between;padding-inline:1.2rem;background-color:var(--header-bg);box-shadow:0 4px 8px #0000004d;z-index:2}header h1{font-size:1.8rem;color:var(--fc-accent-light)}.logo-link{border-radius:10px}.logo-link:focus-visible{outline:2px solid var(--clr-accent-light)}.logo{width:45px}@media only screen and (max-width: 799px){.nav-primary{display:none}}.nav-primary_li{transition:.2s ease}.nav-primary_li:has(.nav-primary_link:hover,.nav-primary_link:focus-visible,.nav-primary_link.selected){background-color:#195580}.nav-primary_link{display:flex;align-items:center;justify-content:center;padding-inline:.8rem;color:var(--header-fc);transition:color .2s ease;font-weight:500;letter-spacing:.5px}.nav-primary_link:before,.nav-primary_link:after{content:"";position:absolute;width:0%;height:2px;background-color:var(--clr-accent-light);transition:.2s ease;transform:translate(-50%);left:50%}.nav-primary_link:before{top:1px}.nav-primary_link:after{bottom:1px}.nav-primary_link:hover,.nav-primary_link:focus-visible,.nav-primary_link.selected{color:var(--fc-accent-light)}.nav-primary_link:hover:before,.nav-primary_link:hover:after,.nav-primary_link:focus-visible:before,.nav-primary_link:focus-visible:after,.nav-primary_link.selected:before,.nav-primary_link.selected:after{width:100%}.nav-primary_link:focus-visible{outline:1px solid var(--clr-accent-light)}.btn_menu-hamburger{display:none;align-items:center;color:var(--fc-primary);border:none;background-color:transparent;cursor:pointer;transition:.2s ease}.btn_menu-hamburger:hover,.btn_menu-hamburger:focus-visible{color:var(--fc-accent-light)}.btn_menu-hamburger:focus-visible{outline:1px solid var(--clr-accent-light)}@media only screen and (max-width: 799px){.btn_menu-hamburger{display:flex}}.backdrop{position:fixed;display:flex;align-items:center;justify-content:flex-start;top:0;left:0;height:100%;min-height:100vh;width:100%;background-color:#000000e6;z-index:9999}.drawer{display:flex;flex-direction:column;width:200px;height:100%;background-color:var(--clr-primary);padding-block:1rem}.drawer h1{font-size:1.7rem;color:var(--fc-accent-light)}.drawer .logo{width:35px}.drawer_line{width:80%;height:2px;background-color:var(--clr-accent-light);opacity:.5;margin-block:1rem}.nav-primary_link.nav-drawer-link{padding-block:1.2rem}.drawer_close-btn{position:absolute;right:-20px;top:50%;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background-color:var(--clr-primary-light);border:2px solid hsla(204,66%,33%,.9);color:var(--fc-accent-light);cursor:pointer;box-shadow:0 0 4px 2px #0003;transition:.2s ease}.drawer_close-btn:hover,.drawer_close-btn:focus-visible{border:2px solid var(--clr-accent-dark);color:var(--fc-accent)}.drawer_close-btn:focus-visible{outline:1px solid var(--clr-accent-light)}.first_section{height:calc(100vh - 60px);height:calc(100svh - 60px);min-height:600px;isolation:isolate}.first_section .section_content{min-height:100%}section:not(.first_section){min-height:100vh;height:100%}.section_content{display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;min-height:100vh;width:100%;max-width:1440px;isolation:isolate;padding:4rem 2rem;margin-inline:auto}@media only screen and (max-width: 799px){.section_content{padding:4rem 1rem}}.section_p{text-align:center;margin:.5rem auto 3rem}main{margin-top:60px}#hero{scroll-margin-top:60px}.hero_line{height:2px;background-color:var(--clr-accent)}.hero_presentation{padding:4rem}@media only screen and (max-width: 799px){.hero_presentation{padding:2rem 1rem}}.hero_presentation-wrapper{margin-inline:auto}.presentation_img{position:absolute;right:5%;top:20%;width:50%;opacity:.5;z-index:-1;display:none;max-width:395px}@media only screen and (max-width: 1023px){.presentation_img{display:block}}.hero_img-container{overflow:hidden}@media only screen and (max-width: 1023px){.hero_img-container{display:none}}#skills{background-image:var(--gradient-primary)}.skills_container>*{padding:2rem}@media only screen and (max-width: 799px){.skills_container{flex-direction:column;margin-top:2rem}.skills_container>*{padding:2rem 1rem}}.skill_ratio{position:absolute;bottom:20px;transform:translate(-50%);transition:1s ease;color:var(--fc-accent-light)}.skill_line{width:100%;height:10px;border-radius:100vw;background-color:#00000080;margin-top:.5rem;overflow:hidden}@media only screen and (max-width: 479px){.skill_line-title{font-size:1.1rem}}@media only screen and (max-width: 399px){.skill_line-title{font-size:1rem}}.skill_line-ratio{background-color:var(--clr-accent-dark);transition:1s ease}.skill_line-wrapper{max-width:400px}.skill_logo{position:relative;width:fit-content;transition:1s ease}.skill_logo:before{content:attr(data-name);color:var(--fc-primary);position:absolute;top:-42px;left:50%;text-align:center;padding:.2rem .5rem;transform:translate(-50%) scale(0);background-color:var(--clr-primary);border:1px solid var(--clr-accent-dark);border-radius:10px;transition:.2s ease;opacity:.8}.skill_logo:hover:before{transform:translate(-50%) scale(1)}.skill_logo-grid{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;justify-items:center;align-content:space-between;gap:1rem}@media only screen and (max-width: 799px){.skill_logo-grid{gap:1rem}}.projects_container{padding:2rem;max-width:1000px}.project_card{transition:1s ease}.project_link{color:var(--fc-primary);height:190px;width:250px;background-color:var(--clr-primary);border:2px solid var(--clr-primary-light);padding:1.8rem 1rem;border-radius:8px}@media only screen and (max-width: 639px){.project_link{height:auto}}.project_link:before,.project_link:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;transition:ease-out .25s}.project_link:before{transform:scaleX(0);border-top:2px solid var(--clr-accent-dark);border-bottom:2px solid var(--clr-accent-dark)}.project_link:after{transform:scaleY(0);border-right:2px solid var(--clr-accent-dark);border-left:2px solid var(--clr-accent-dark)}.project_link:hover,.project_link:focus-visible{color:var(--fc-accent);background-color:var(--clr-primary);border:2px solid var(--clr-accent-dark)}.project_link:hover:before,.project_link:focus-visible:before{transform:scaleX(.4)}.project_link:hover:after,.project_link:focus-visible:after{transform:scaleY(.4)}.project_link:focus-visible{outline:1px solid var(--clr-accent-light)}@media only screen and (max-width: 639px){.project_logos-container{display:none}}.project_logo-wrapper{width:50px}.contact_form{width:100%;max-width:400px}.not-found{padding:2rem 1rem;min-height:100vh}.not-found figcaption a{color:gray;font-size:.8rem}.not-found svg{width:500px}@media only screen and (max-width: 639px){.not-found svg{width:100%}}.not-found_404{font-size:clamp(3rem,5vw,3.5rem);line-height:1}
