.under-construction{display:flex;flex-direction:column;gap:5px}.under-construction .header{text-align:left;animation:jump .6s}.under-construction .info{text-align:left;animation:jump .65s}@media (max-width: 850px){#app .under-construction{width:100%}#app .under-construction .header,#app .under-construction .info{margin:0 30px}}.home{display:flex;flex-direction:column;align-items:center;width:500px;gap:25px}.home .signature{animation:jump .55s;filter:drop-shadow(0px 6px 15px rgba(207,214,247,.2)) drop-shadow(0px 2px 6px rgba(207,214,247,.5))}.home .about-me{display:flex;flex-direction:column;text-align:center;gap:5px;animation:jump .6s}.home .connections{display:flex;justify-content:center;flex-wrap:wrap;gap:35px;animation:jump .65s}.home .connections svg{opacity:.25;color:var(--text-base);animation:jiggle 5s infinite linear;transition:all .2s ease-in-out}.home .connections svg:hover{opacity:1;color:var(--text-base);filter:drop-shadow(0px 0px .35em rgba(207,214,247,.5))}@media (max-width: 850px){#app .home{width:100%}#app .home .about-me,#app .home .connections{margin:0 30px}}.contact-details{display:flex;flex-direction:column;gap:15px;width:900px}.contact-details .information{display:flex;flex-direction:column;text-align:left;gap:5px;animation:jump .6s}.contact-details .divider{animation:jump .65s}.contact-details .contact{display:flex;align-items:center;flex-direction:row;gap:10px;animation:jump .75s}.contact-details .contact .contact-info{display:flex;align-items:center;flex-direction:row;gap:10px}@media (max-width: 960px){.contact-details{width:100%}.contact-details .information,.contact-details .divider,.contact-details .contact{margin:0 30px}}@media (max-width: 525px){#app .contact-details .contact{align-items:start}#app .contact-details .contact .contact-info{align-items:flex-start;flex-direction:column}#app .contact-details .contact .contact-info .nav-divider{display:none}}.error{display:flex;flex-direction:column;text-align:center;gap:5px}.error .status{animation:jump .6s}.error .info{animation:jump .65s}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Thin.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-ThinItalic.ttf) format("truetype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-ExtraLight.ttf) format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-ExtraLightItalic.ttf) format("truetype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-LightItalic.ttf) format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-MediumItalic.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-SemiBoldItalic.ttf) format("truetype");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-ExtraBold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-ExtraBoldItalic.ttf) format("truetype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-BlackItalic.ttf) format("truetype");font-weight:900;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Black.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}.theme-midnight-sea{--bg-base: #090A11;--bg-lighter: #131624;--bg-lightest: #2C3354;--text-base: #CFD6F7;--branding-accent: #9C91FC}html,body{margin:0;overflow:hidden;background-color:var(--bg-base);color:var(--text-base);font-family:Montserrat,Arial,Helvetica,sans-serif}a{color:var(--text-base);text-decoration:inherit}a.link:hover{color:var(--branding-accent);text-decoration:underline;text-decoration-color:var(--branding-accent)}::selection{color:#000;background:var(--branding-accent)}svg{fill:var(--text-base)!important}#app{width:100%;height:100%}.noise{background-image:url(/assets/noise.png)}.topbar{z-index:1001;position:sticky;display:flex;justify-content:center;padding:50px 125px;gap:25px;top:0}.topbar .site-nav{display:flex;flex-direction:row;align-items:center;gap:25px}.topbar .site-nav .nav-item{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;transition:font-weight .15s linear}.topbar .site-nav .nav-item:after{content:"";display:block;position:absolute;width:3px;bottom:-10px;height:3px;border-radius:6px;transition:all .15s linear;opacity:0}.topbar .site-nav .nav-item:hover:after{opacity:1}.topbar .site-nav .nav-item:is(.topbar .site-nav .nav-item:hover,.topbar .site-nav .nav-item:active):after{background-color:var(--text-base)}.topbar .site-nav .nav-item.nav-active:after{width:100%;background-color:var(--text-base);opacity:1}.nav-divider{width:5px;height:5px;border-radius:100%;background-color:var(--bg-lightest)}.background{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:radial-gradient(circle at 75% -5%,var(--bg-lightest) 0%,var(--bg-lighter) 10%,rgba(0,0,0,0) 50%);background-size:cover;background-repeat:no-repeat;overflow:hidden}.background .background-blur{width:100%;height:100%}.background #mouse-shadow{position:absolute;transition:opacity .25s ease-in-out;width:30px;height:30px;background-color:var(--bg-lightest);box-shadow:0 0 20px 10px var(--bg-lightest);border-radius:100%;pointer-events:none;opacity:0}.background .star-trails{position:absolute;filter:drop-shadow(0 0 5px var(--branding-accent))}.background .star-trails g{fill:#525a85}.background .star-trails g circle{animation:infinite star-rotate 15s linear;-webkit-mask-image:conic-gradient(from .38deg at 50% 50%,#fff0,#fff0,#ffffff40,#ffffff80,#ffffff40,#fff0,#fff0 360deg);mask-image:conic-gradient(from .38deg at 50% 50%,#fff0,#fff0,#ffffff40,#ffffff80,#ffffff40,#fff0,#fff0 360deg);transform-origin:center center}.foreground{z-index:1000;position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:25px;width:100%;height:100%;overflow:hidden}.divider{width:stretch;height:1px;background:linear-gradient(90deg,#cfd6f700,#cfd6f7,#cfd6f700)}.montserrat-px-32{font-size:32px}.montserrat-px-24{font-size:24px}.montserrat-px-16{font-size:16px}.montserrat-100{font-weight:100;letter-spacing:.1em}.montserrat-200{font-weight:200;letter-spacing:.1em}.montserrat-300{font-weight:300;letter-spacing:.1em}.montserrat-400{font-weight:400;letter-spacing:.1em}.montserrat-500{font-weight:500;letter-spacing:.1em}.montserrat-600{font-weight:600;letter-spacing:.1em}.montserrat-700{font-weight:700;letter-spacing:.1em}.montserrat-800{font-weight:800;letter-spacing:.1em}.montserrat-900{font-weight:900;letter-spacing:.1em}@keyframes jump{0%{opacity:0;transform:translateY(25px)}50%{opacity:1;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}@keyframes jiggle{0%{transform:rotate(0)}25%{transform:rotate(5deg)}50%{transform:rotate(0)}75%{transform:rotate(-5deg)}to{transform:rotate(0)}}@keyframes star-rotate{to{transform:rotate(-360deg)}}
