:root{--bg-1: #111;--bg-2: #06061f;--fg-1: #fff;--fg-2: #aaa;--green: #0c0;--font-kode: "Kode Mono", monospace}*{margin:0;padding:0}body{background-color:var(--bg-1);color:var(--fg-1);font-family:Montserrat,sans-serif;font-weight:400;font-style:normal;width:100vw;overflow-x:hidden}a{text-decoration:none}.header{position:fixed;top:0;width:100vw;background-color:var(--bg-2);box-shadow:0 16px 16px var(--bg-2);z-index:1}.header-container{width:48rem;height:2rem;margin-top:.25rem;margin-inline:auto;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.logo-svg{height:30px}.anchor{display:block;color:var(--fg-1);position:relative}.anchor:before{content:"";height:3px;width:0%;position:absolute;top:1.375rem;box-shadow:0 3px 6px -1px var(--green);background-color:var(--green)}.anchor:hover{text-shadow:0 0 2px var(--fg-1)}.anchor:hover:before{width:100%}.content{margin-top:3rem}::-webkit-scrollbar{display:none}.element{scrollbar-width:none;-ms-overflow-style:none}.kode-mono{font-family:Kode Mono,monospace;font-optical-sizing:auto;font-weight:700;font-style:normal}.wide{max-width:66rem;width:calc(100% - 2rem);margin:auto}.title-content{height:60vh;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.image-container{width:20rem}.picture{width:14rem;height:21rem;margin:auto;border:3px solid var(--green);border-radius:1rem;background-color:var(--bg-1);background-image:url(/me.jpg);background-position:center;background-size:450px;position:relative}.picture:before{content:"";width:14rem;height:21rem;border:1px solid var(--fg-2);border-radius:1rem;position:absolute;top:1rem;right:1rem;z-index:-1}.title-text-container{flex-grow:1;margin:1rem;max-width:40rem}.title{font-family:Kode Mono,monospace;font-weight:500;font-size:3rem}.subtitle{font-size:.875rem;margin-top:1rem;color:var(--fg-2)}.intro{margin-top:1rem}.footer{height:1.5rem;margin-block:1rem;font-family:Kode Mono,monospace;color:var(--green);display:flex;align-items:center;gap:2rem}.title-footer{justify-content:space-between}.footer-icon-group{display:flex;align-items:center;gap:.5rem;color:var(--green)}.footer:visited{color:var(--green)}.footer-icon{height:1.5rem;width:1.5rem}.contacts-mini{height:1.5rem;margin-right:2rem;display:flex;align-items:center;gap:1rem}.icon-link{height:1.5rem;width:1.5rem;color:var(--green)}.content-container{max-width:48rem;padding-top:4rem;margin-inline:auto}.section-header{font-family:Kode Mono,monospace;font-size:2rem;margin-bottom:.5rem}.section-text{color:var(--fg-2);margin-bottom:1rem}.skills-group-container{margin-block:2rem;display:flex;flex-direction:row;gap:1rem}.card{border:1px solid var(--fg-2);border-radius:1rem;box-shadow:0 .5rem 1rem #000 inset;background-color:var(--bg-2);padding:1rem}.skills-group{flex-basis:15%;flex-grow:1}.group-title{font-size:1.125rem;line-height:2rem;text-align:center;font-weight:500}.skills-group-contents{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-around}.lang-image{width:4rem;height:4rem;margin:1rem;background-size:4rem;background-repeat:no-repeat;background-position:center}.ts{background-image:url(ts-logo-round-256.png)}.python{background-image:url(python.png)}.node{background-image:url(node.svg)}.cpp{background-image:url(cpp.png);background-size:3.5rem}.csharp{background-image:url(Csharp_Logo.png);background-size:6.5rem;background-position:center}.java{background-image:url(java.png);border-radius:50%}.react{background-image:url(react.png)}.astro{background-color:#44d;border-radius:50%;position:relative;background-image:url(astro.svg)}.angular{background-image:url(angular.png)}.html{background-image:url(html5.svg)}.css{background-image:url(css.png)}.js{background-image:url(javascript.png);border-radius:1rem}.aws{background-image:url(aws.png)}.gcp{background-image:url(gcp.png)}.sql{background-image:url(sql.png)}.git{background-image:url(git.svg)}.docker{background-image:url(docker.png)}.redis{background-image:url(redis.png)}.subsection{margin-block:1rem}.subsection-header{margin-bottom:.5rem;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between}.subsection-header-date{color:var(--fg-2);text-align:right}.job-title{margin-bottom:.5rem}.job-body{display:flex;flex-direction:row;gap:2rem}.job-logo{width:4rem;height:4rem;background-size:4rem}.job-description{flex-basis:1rem;flex-grow:1;display:flex;flex-direction:column;gap:.5rem}.tools-list{font-family:Kode Mono,monospace;color:var(--green)}ul li{margin-bottom:.25rem}.deepxl{background-image:url(deepxl-logo.svg);background-size:cover}.goliath{background-image:url(goliath-logo.png);background-size:4.6rem;border-radius:4rem;background-position:center}.classlink{background-image:url(classlink-logo.png)}.hero{display:flex;flex-direction:row;gap:1rem}.hero-image{width:18rem;height:12rem;border:1px solid var(--fg-2);border-radius:1rem}.statcrusher-screenshot{background-image:url(statcrusher-screenshot.png);background-size:18rem}.hero-caption{flex-grow:1;flex-basis:1rem;font-size:.875rem}.hero-caption p{margin-bottom:.5rem}.social-container{height:16rem;width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-around}.social-bottom{color:var(--fg-1);display:flex;flex-direction:column;align-items:center;gap:1rem;position:relative}.social-bottom-icon{width:5rem;height:5rem}.social-bottom-text{font-size:1.5rem;font-family:Kode Mono,monospace}.social-bottom:hover{text-shadow:0 0 10px var(--fg-1)}.social-bottom:before{content:"";display:none;position:absolute;height:85%;width:150%;top:.5rem;right:-25%;background:radial-gradient(#fff3,#fff0 60%)}.social-bottom:hover:before{display:block}.bottom-padding{height:15rem}
