@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap");@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");:root{--background:#f8f8f8;--outline:#eaeaea;--primary:#4465fc;--black:#000000;--white:#ffffff;--header:"Playfair Display",serif;--paragraph:"Inter",sans-serif;--accent:"Playfair Display",serif}*{box-sizing:border-box;-webkit-box-sizing:border-box;font-smooth:always;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px}:after,:before{box-sizing:border-box}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--black);border-radius:4px}::-webkit-scrollbar-thumb{border-radius:4px}::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background-color:transparent}*{scrollbar-width:thin;scrollbar-color:var(--black) transparent}*,:focus,:hover,a,a:focus,a:hover,body,button,button:focus,button:hover,html,input,select,textarea{cursor:none!important}html{scroll-behavior:smooth}body,html{overflow-x:hidden!important;padding:0!important;margin:0!important}body{background-color:var(--background);font-size:14px}.custom-cursor{position:fixed;top:0;left:0;width:20px;height:20px;border-radius:50%;background:white;mix-blend-mode:difference;pointer-events:none;transform:translate(-50%,-50%) scale(1);z-index:99999;transition:transform .15s ease}.custom-cursor.hover{transform:translate(-50%,-50%) scale(2.5)}a,button,h1,h2,h3,h4,h5,h6,ol,p,span,ul{font-family:var(--paragraph);margin:0;padding:0}h1{font-family:var(--paragraph);margin-bottom:24px;line-height:1.1}h1,h1 span{font-size:48px;font-weight:500}h1 span{font-family:var(--accent);font-style:italic}h2{font-size:36px;margin-bottom:25px}p{line-height:1.5}.btn,p{font-size:14px}.btn{text-decoration:none;color:var(--black);background:var(--white);padding:10px 18px;line-height:1;border-radius:25px;border:1px solid var(--outline);display:inline-block;transition:all .2s}.btn:hover{border:1px solid var(--white)}.btn-black,.btn:hover{background:var(--black);color:var(--white)}.btn-black{text-decoration:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--black);padding:10px 18px;font-size:14px;line-height:1;border-radius:25px;display:inline-block;transition:all .2s}.btn-black:hover{background:var(--white);color:var(--black);border:1px solid var(--black)}.container-fluid{padding:0 20px}.container{max-width:1250px}.container,.container-smaller{width:100%;margin:auto;padding:0 20px}.container-smaller{max-width:750px}.row{display:flex;flex-wrap:wrap}.row>div{flex:1 1}.text-left{text-align:left}.text-right{text-align:right}img{max-width:100%;height:auto}#overlay{height:100vh;display:flex;position:fixed;width:100%;justify-content:center;align-items:center;z-index:999999;background:transparent;flex-direction:column}.overlay-p{font-family:var(--header);font-weight:300}.bottom-half,.top-half{position:absolute;background:var(--black);height:50%;width:100%;transition:transform .5s ease-in-out;z-index:1}.top-half{top:0}.bottom-half{bottom:0}#overlay .content{position:relative;width:100%;text-align:center;z-index:10;color:var(--white)}.overlay-p{font-size:40px;font-weight:100;opacity:0;transform:scale(1.2);transition:opacity .5s ease,transform .5s ease;margin-bottom:40px;position:relative;top:-50px}.line-wrapper{position:absolute;width:100%;height:1px;display:flex;justify-content:center;align-items:center;top:50%}.loading-line-half{background:var(--white);height:1px;width:0;transition:width .5s ease-in-out}.left-line{margin-right:0;transform-origin:right}.right-line{margin-left:0;transform-origin:left}.expand-line{width:50vw}.fade-in{opacity:1}.fade-out{opacity:0}.shrink-to-normal{transform:scale(1)}.zoom-out{transform:scale(.8);opacity:0}.top-move-up{transform:translateY(-100%)}.bottom-move-down{transform:translateY(100%)}nav{position:fixed;z-index:10;width:100%;padding:15px;background:transparent;mix-blend-mode:difference;color:var(--white)}nav .container{position:relative;max-width:1225px}nav .row{align-items:center}nav *{color:inherit}nav .logo{height:auto;width:35px;object-fit:contain;position:relative;top:2px;z-index:50;filter:invert(1)}nav .logo-text{font-family:var(--header);text-decoration:none;font-size:24px;font-weight:500}nav ul{list-style:none;display:flex;align-items:center;justify-content:flex-end;gap:40px;margin:0;padding:0}nav ul a{text-decoration:none}.burger span{background:currentColor}#menu-toggle{display:flex;gap:15px;background:transparent;border:0;margin:auto 0 auto auto;position:relative;z-index:50;flex-direction:row-reverse}#menu-toggle,#menu-toggle span.menu-text{font-size:24px;line-height:.25;font-family:var(--accent);text-transform:lowercase;font-style:italic}#menu-toggle span.menu-text{visibility:hidden}.burger{width:25px;height:12px;position:relative;display:flex;flex-direction:column;justify-content:space-between;margin:auto 0 auto auto}.burger span{display:block;height:2px;transition:.2s}.burger span:first-child{top:0}.burger span:nth-child(2){bottom:0}.burger.open span:first-child{transform:rotate(45deg);top:5px;position:relative}.burger.open span:nth-child(2){transform:rotate(-45deg);bottom:5px;position:relative}.menu-modal-container{position:fixed;top:0;left:0;right:0;width:100%;max-width:1250px;margin:auto;padding:0 20px;z-index:5}#menu-modal{position:absolute;top:65px;right:0;width:300px;margin:5px;border-radius:25px;padding:35px 25px;background:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--outline);transform:translateX(100%);opacity:0;visibility:hidden;transition:transform .3s ease,opacity .3s ease;z-index:11;box-shadow:2px 2px 20px 0 #0000001f}#menu-modal.visible{transform:translateX(0);opacity:1;visibility:visible}#menu-modal ul{flex-direction:column;gap:15px;text-align:left;justify-content:start;align-items:flex-start;list-style:none;display:flex}#menu-modal ul li{background:transparent}#menu-modal ul li a{font-family:var(--accent);font-size:21px;text-decoration:none;color:var(--black)}#menu-modal ul li button{margin-top:5px}header{margin-top:75px;margin-bottom:25px}header img{height:450px;width:450px;object-fit:cover;border-radius:25px;object-position:50% 25%}header .content-container{background:var(--white);color:var(--black);border:1px solid var(--outline);border-radius:25px;padding:20px 25px;height:calc(100vh - 100px);min-height:650px;align-content:center;transition:all .5s ease;animation:changeTheme 0s forwards;animation-delay:3s;transition:all 1s ease}header .content-container .btn{background:transparent;color:var(--black);border-color:var(--black)}header .content-container.dark{background:var(--black);color:var(--white)}header .content-container.dark .btn{background:transparent;color:var(--white);border-color:var(--white)}header .content-container.dark .btn:hover{background:var(--white);color:var(--black);border-color:var(--white)}header .content{display:flex;gap:35px;justify-content:center;align-items:center;width:1000px;max-width:100%;margin:auto;padding:35px 0}header .content p{margin-bottom:25px;font-size:15px}header .content .btn{font-size:15px}header .content>div{flex:1 1}header .content>div:first-child{flex:.5 1}header.page-header .content{flex-direction:column;text-align:center;gap:0}header.page-header .contact-info{display:flex;gap:5px;flex-wrap:wrap;justify-content:center;padding:0 50px}h1 span.name{font-style:normal;font-family:var(--paragraph);display:inline-block;margin-bottom:15px;font-size:21px}.project-nav ul{margin:12px 0;border-radius:50px;list-style:none;padding:4px;display:flex;gap:8px;justify-content:space-evenly;background:rgba(255,255,255,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--outline)}.project-nav ul li{flex:1 1;text-align:center;background:transparent;padding:8px;border-radius:28px;transition:all .2s}.project-nav ul li:hover{background:var(--outline)}.project-nav ul li.active{background:var(--white);filter:invert(1)}.project-nav a{text-decoration:none;color:var(--black);font-size:21px;font-family:var(--accent)}.project-nav.fixed ul{box-shadow:2px 2px 20px 0 #0000001f}.project-nav.fixed a{font-size:18px}.project{display:flex;gap:25px;background:var(--white);border-radius:25px;margin-top:15px;border:1px solid var(--outline);overflow:hidden}.project>div{flex:1 1}.project-visual{background:linear-gradient(90deg,#dcdcdc,transparent);min-height:350px;position:relative;overflow:hidden}.project-visual img.back{opacity:.05;height:110%;object-fit:contain;margin-left:-10%;margin-top:-5%;position:absolute;transform:translateX(var(--motion-x,0))}.project-visual img.front{position:absolute;top:50%;right:-12%;transform:translate(calc(0% + var(--motion-x, 0px)),-50%);padding:15px}.project-content{padding:50px 25px}.project h2{margin-bottom:12px}.project h3{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:20px}.project h3 span{font-size:12px;border:1px solid var(--outline);background:var(--background);padding:4px 6px;display:inline-flex;font-weight:600;border-radius:5px}.project .project-description{margin-bottom:15px;font-size:15px}.project .project-details{margin-bottom:20px}.project-section{padding-top:60px;margin-top:-60px}.project-actions{display:inline-flex;gap:8px;flex-wrap:wrap}.project-actions .btn{border-color:var(--black)}.project-section#web-apps{padding-top:100px;margin-top:-100px}main{margin-bottom:35px}footer{padding:20px;margin-top:50px;height:calc(100vh);background:var(--white);align-items:center;align-content:center;text-align:center;position:relative;transition:all 1s;transition-delay:.5s}footer h2{font-size:64px;font-family:var(--accent);font-weight:300;font-style:italic}footer .copyright{position:absolute;bottom:35px;left:0;right:0}footer.active{background:var(--black);color:var(--white)}.project-nav.fixed{position:fixed;top:0;left:0;right:0;z-index:10;width:1000px;max-width:75%;margin:auto}.project-nav.absolute{position:absolute;left:0;right:0;z-index:10}.hide-over-footer{opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-menu{display:none!important;width:100%;margin:12px 0;border-radius:50px;list-style:none;padding:4px 12px;display:flex;gap:8px;justify-content:space-evenly;background:rgba(255,255,255,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--outline);height:48px;font-size:18px;font-family:var(--accent);color:var(--black)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:9999}.modal-content{background:var(--white);padding:25px 20px;border-radius:25px;max-width:800px;width:90%;position:relative}.modal-content-inner{height:500px;overflow:scroll}.modal-content h2{font-family:var(--accent);font-size:32px;line-height:1;font-weight:300;margin-top:-10px;padding-right:15px}.modal-content h3{font-size:16px;margin-bottom:5px;padding-top:5px}.modal-content p{margin-bottom:15px;font-size:15px}.modal-content ul{padding-left:20px;margin-bottom:15px}.modal-content ul li{font-size:15px;list-style:disc;margin-bottom:5px}.modal-content ul ul{margin-top:5px;margin-bottom:0}.modal-close{position:absolute;top:5px;right:15px;font-size:38px;background:none;border:none;font-weight:300;color:var(--black)}iframe{border:none}.page-header h1{font-family:var(--accent)}.resume-section .content{padding:0 50px 35px;margin-bottom:50px;border-bottom:1px solid var(--outline)}.resume-section h3{font-size:21px;margin-bottom:3px}.resume-section h4{margin-bottom:16px;font-size:16px}.resume-section p{font-size:16px;margin-bottom:15px}.resume-section .resume-spacer{margin-top:25px}.certificates{display:inline-flex;flex-wrap:wrap;gap:16px}.certificates>img{flex:1 1;width:32%;max-width:100%}.resume-section .content.portfolio-content{border:0;padding-bottom:0;margin:0}@media (max-width:1050px){.project-nav.fixed a{font-size:16px}header .content-container{height:auto}}@media (max-width:1000px){header .content{width:600px;max-width:100%;flex-direction:column;text-align:center;gap:15px}header img{height:300px;width:300px;object-fit:cover;border-radius:100%;object-position:50% 25%}.project-nav a{font-size:16px}.project-nav.fixed a{font-size:14px}.project{gap:0}}@media (max-width:880px){.desktop-menu{display:none!important}.mobile-menu{display:block!important}.project h2{font-size:28px}.custom-cursor{display:none}}@media (max-width:667px){#menu-modal{right:10px;left:10px;width:calc(100% - 20px);max-width:calc(100% - 20px);margin:0}header img{height:200px;width:200px;object-fit:cover;border-radius:100%;object-position:50% 25%}footer h2,h1,h1 span{font-size:36px}.container{padding:0 10px}nav .container{padding:0}.project{flex-direction:column;gap:0;margin-bottom:25px}.project-nav.fixed{max-width:65%}.project h2{font-size:28px}.project-visual img.front{padding:0}.certificates>img{width:100%}.resume-section .content{padding:0 25px 35px}.resume-section h2{font-size:28px}}