:root{--paper:#dcdcdd;--contrast:#00697d;--primary:#140f2d;--primary-30:#140f2d4d;--bgDark:#048ba8;--bgDark-10:#048ba81a;--banana:#ffbc0a;--success:#539987;--warning:#e56b70;--error:#f02e2e;--xxs:8px;--xs:16px;--s:20px;--m:28px;--l:40px;--xl:80px;--boxShadow:3px 3px 10px 3px var(--primary-30);--boxShadowLight:3px 3px 10px 3px var(--bgDark-10);--border:1px solid var(--primary-30)}*{box-sizing:border-box;padding:0;margin:0;transition:all .2s linear;font-family:var(--font-poppins)}body,html{max-width:100vw;min-height:100vh;overflow-x:hidden}body{color:var(--foreground);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:var(--xl)}h2{font-size:var(--l)}h3{font-size:var(--m)}p{font-size:var(--s)}a{color:inherit;text-decoration:none;&:hover{text-decoration:underline}}ul{margin-left:var(--l);line-height:1.2}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/034d78ad42e9620c-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fe0777f1195381cb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/eafabf029ad39a43-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/29a4aea02fdee119-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a1386beebedccca4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b957ea75a84b6ea7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins Fallback;src:local("Arial");ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.__className_c968c1{font-family:Poppins,Poppins Fallback;font-style:normal}.Header_header__gtmFw{width:100%;background-color:var(--primary);color:var(--banana);padding:20px;display:flex;flex-direction:row;justify-content:center}.Header_nav__oxqCq{gap:20px}.Header_logoLink__p7sQd,.Header_nav__oxqCq{display:flex;flex-direction:row;align-items:center}.Header_logoLink__p7sQd{gap:10px;line-height:1;padding:10px;border-radius:10px;font-size:var(--xl);font-weight:700}.Header_logoLink__p7sQd:hover{background-color:var(--bgDark-10)}.HeaderMenu_menu__sx99s{display:flex;flex-direction:row;font-size:var(--m);font-weight:700;align-items:center;gap:var(--s)}.HeaderMenu_menuItem__uqXNQ{padding:5px 10px;border-radius:var(--xxs);display:flex;flex-direction:row;align-items:center;gap:5px;position:relative;>a,p{font-size:inherit}>a:hover{text-decoration:underline}&:hover{background-color:var(--bgDark-10);cursor:pointer}}.HeaderMenu_menuCaretHovered__dAr_K{transform:rotate(180deg)}.DropDownMenu_dropDown__M41cP{position:absolute;display:flex;flex-direction:column;left:0;top:calc(5px + var(--l));overflow:hidden;background-color:var(--primary);border-radius:0 0 var(--xxs) var(--xxs);max-height:0;padding:0 var(--s);gap:var(--xs);box-shadow:none;>a{white-space:nowrap}>a:hover{text-decoration:underline}}.DropDownMenu_dropDownSelected__O_zYy{max-height:500px;padding:var(--s);box-shadow:var(--boxShadow)}.Maintenance_maintenance__rA4FO{padding:var(--xl);background-color:var(--primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--m);color:var(--banana)}.Maintenance_blurbContainer__V5PRv{width:100%;max-width:900px;display:flex;flex-direction:column;gap:var(--m);padding-bottom:var(--l);>ul{margin-top:calc(var(--m) * -.75)}}.ProjectCard_projectCard__8U_Dj{border:var(--border);width:100%;padding:var(--xs);border-radius:var(--xxs);display:flex;flex-direction:column;gap:var(--xs);background-color:white;box-shadow:var(--boxShadowLight)}.ProjectCard_projectInfo__XiIdg{display:flex;flex-direction:row}.ProjectCard_projectInfoPanel__A6tot{width:50%;display:flex;flex-direction:column;gap:var(--m)}.ProjectCard_frameworks__yKrOR{font-size:var(--xs)}.ProjectCard_deploymentLink__lyu4F{font-size:var(--xs);>a{font-weight:700;color:var(--contrast)}}.ProjectCard_skillWrapper__5zodJ{display:flex;flex-direction:row;gap:var(--xxs)}.ProjectCard_skillImage__lHoBg{position:relative;height:var(--s);aspect-ratio:1/1;&>span{z-index:1;display:inline-block;visibility:hidden;position:absolute;bottom:110%;left:50%;transform:translate(-50%);opacity:0;background-color:var(--primary);color:var(--banana);padding:var(--xxs);border-radius:var(--xs);border:var(--border);white-space:nowrap}&:hover span{visibility:visible;opacity:1}}.ProjectCard_imageWrapper__OBJLQ{position:relative;width:100%;aspect-ratio:2/1}.ProjectCard_description__AvRSq{display:flex;flex-direction:column;gap:var(--xs);>p{text-align:justify;font-size:var(--xs);line-height:1.1}>ul{margin-top:calc(var(--xs) * -.8)}}.ProjectCardWrapper_projectCardWrapper__4FGg7{background:var(--paper);padding:var(--s);border-radius:var(--xs);color:var(--primary);display:flex;flex-direction:column;gap:var(--xs);width:100%;max-width:900px;&>div{display:flex;flex-direction:row;flex-wrap:wrap;width:100%;gap:var(--xs)}}