@font-face{font-family:Acorn;src:url(../fonts/acorn.woff)format("woff")}@font-face{font-family:GT Sans;src:url(../fonts/gt.woff)format("woff")}:root{--main-bg-color:#1e2a26;--main-bg-color-transparent:#1e2a26c6;--secondary-bg-color:#273731;--primary-text-color:#d2e9e1;--secondary-text-color:#97cfbb;--tertiary-text-color:#619a86;--input-border-color:#548574;--line-color:#548574;--font-mono:"SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace}*{box-sizing:border-box;margin:0}a{color:var(--primary-text-color);text-decoration:none}body{background-color:var(--main-bg-color);color:var(--primary-text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:GT Sans,sans-serif;font-size:18px;line-height:26px}button{color:#fff;background-color:var(--main-bg-color);border:1px solid var(--secondary-text-color);border-radius:4px;padding:10px;font-family:GT Sans,sans-serif;font-size:16px;transition:transform .2s}button:hover{box-shadow:3px 3px 0px 0px var(--secondary-text-color), 10px 10px 10px -10px var(--secondary-text-color);transform:translate(-2px,-2px)}button:disabled{cursor:not-allowed;box-shadow:none;transform:none}.small-text{font-size:14px}.page-container{flex-direction:column;align-items:center;padding:0 18px;display:flex}@media (width>=768px){.page-container{margin:auto;padding:0 80px}}.sections-container{flex-direction:column;justify-content:center;gap:200px;max-width:900px;margin-top:80px;display:flex}.section-header-container{align-items:center;margin:10px 0 40px;display:inline-flex;position:relative}.section-header-container:before{content:"";width:18px;height:18px;color:var(--secondary-text-color);background:url(../images/star.svg) 50%/contain no-repeat;margin-right:10px;position:relative;bottom:0}.section-header-container:after{content:"";background-color:var(--line-color);width:calc(60vw - 100%);max-width:400px;height:1px;margin-left:20px;position:absolute;top:50%;left:100%;transform:translateY(-50%)}h3{margin:0;font-size:32px;font-weight:700}nav{background-color:var(--main-bg-color-transparent);-webkit-backdrop-filter:blur(12px)saturate(180%);z-index:50;position:fixed;top:0;right:0}.nav-desktop-container{display:none}@media (width>=768px){.nav-desktop-container{width:100%;height:60px;padding:15px;display:flex}}.nav-desktop{margin:auto 0 auto auto}.nav-mobile{flex-direction:column;align-items:center;padding:50px;font-size:24px;display:flex;left:0}@media (width>=768px){.nav-mobile{display:none}}.hamburger{z-index:50;padding:1px;position:fixed;top:16px;right:16px}@media (width>=768px){.hamburger{display:none}}.nav-link{padding:32px 0}@media (width>=768px){.nav-link{padding:8px 32px}}.nav-link:hover{color:var(--secondary-text-color)}.hero-container{max-width:900px}@media (width>=768px){.hero-container{width:100%}}.hero{flex-direction:column;min-height:100vh;display:flex;top:0}@media (width>=768px){.hero{height:calc(100vh - 60px)}}.hero-headers{margin-top:auto;margin-bottom:auto}h1,h3{color:var(--secondary-text-color);font-family:Acorn,sans-serif;font-weight:400}h1{margin:0;font-size:48px;line-height:1}@media (width>=768px){h1{font-size:60px;line-height:1}}@media (width>=1280px){h1{font-size:80px;line-height:1}}h2{color:var(--primary-text-color);margin:0;font-size:30px;font-weight:400;line-height:36px}@media (width>=768px){h2{font-size:42px;line-height:48px}}@media (width>=1280px){h2{font-size:60px;line-height:1}}.location{align-items:center;gap:8px;margin-top:100px;font-size:18px;display:flex}@media (width>=768px){.location{font-size:20px;line-height:28px}}@media (width>=1280px){.location{font-size:28px;line-height:28px}}.sidebar-left{z-index:10;color:#fff;width:40px;position:fixed;bottom:0;left:40px;right:auto}@media (width<=1080px){.sidebar-left{left:20px;right:auto}}@media (width<=768px){.sidebar-left{display:none}}.sidebar-left-icons{flex-direction:column;align-items:center;margin:0;padding:0;list-style:none;display:flex}.sidebar-left-icons:after{content:"";background-color:var(--line-color);width:1px;height:90px;margin:0 auto;display:block}.sidebar-left-icons a{padding:10px}.sidebar-left-icons a svg{color:var(--secondary-text-color)}.sidebar-left-icons a:last-of-type{margin-bottom:20px}.sidebar-left-icons a:hover,.sidebar-left-icons a:focus{transform:translateY(-3px)}:is(.sidebar-left-icons a:hover,.sidebar-left-icons a:focus) svg{color:var(--primary-text-color)}.sidebar-right{z-index:10;width:40px;font-size:14px;position:fixed;bottom:0;left:auto;right:40px}@media (width<=1080px){.sidebar-right{left:auto;right:20px}}@media (width<=768px){.sidebar-right{display:none}}.sidebar-right-text{flex-direction:column;align-items:center;display:flex;position:relative}.sidebar-right-text:after{content:"";background-color:var(--line-color);width:1px;height:90px;margin:0 auto;display:block}.sidebar-right-text a{color:var(--secondary-text-color);font-family:var(--font-mono);font-size:var(--fz-xxs);line-height:var(--fz-lg);letter-spacing:.1em;writing-mode:vertical-rl;margin:20px auto;padding:10px}.sidebar-right-text a:hover,.sidebar-right-text a:focus{color:var(--primary-text-color);transform:translateY(-3px)}.project-card-container{flex-wrap:wrap;justify-content:space-evenly;gap:36px;max-width:1152px;margin-left:auto;margin-right:auto;display:flex}.project-card{background-color:var(--secondary-bg-color);flex-direction:column;gap:16px;max-width:448px;padding:18px;transition:all .2s ease-in-out;display:flex;position:relative;box-shadow:0 2px 6px #0003}.project-card:hover{transform:translateY(-3px);box-shadow:0 6px 14px #00000040}@media (width>=768px){.project-card{padding:22px}}.project-name{color:#fff;text-align:center;font-size:22px}.project-image-container{position:relative}.project-image{object-fit:cover;border-radius:5px;width:100%;height:200px;transition-property:opacity;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.project-blurb{margin-top:-5px}.tech-chip-container{flex-wrap:wrap;gap:8px;display:flex}.tech-chip{background-color:var(--main-bg-color);color:var(--secondary-text-color);font-family:var(--font-mono);border-radius:20px;padding:4px 12px;font-size:14px}.project-link-container{flex-direction:row;align-items:center;gap:16px;line-height:22.5px;display:flex}.project-link-container svg:hover{color:var(--secondary-text-color)}.github-icon{width:22.5px;height:22.5px;display:block}.skill-card-container{flex-direction:column;justify-content:space-evenly;display:flex}.skill-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px;display:grid}@media (width>=1024px){.skill-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1280px){.skill-card-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.skill-card{text-align:center;border-radius:6px;width:100%;height:100%;padding:4px;transition-property:all;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1);position:relative}@media (width>=640px){.skill-card{padding:10px}}.skill-card:hover{color:var(--secondary-text-color)}.skill-icon{width:24px;height:24px;margin-left:auto;margin-right:auto}@media (width>=640px){.skill-icon{width:32px;height:32px}}.skill-text{text-align:center;color:#fff;display:block}.skill-show-button{align-items:center;gap:4px;width:fit-content;margin:18px auto;display:flex}.skill-show-button-content{align-items:center;gap:4px;display:flex}.review-card-container{flex-wrap:wrap;justify-content:space-evenly;gap:36px;max-width:1152px;display:flex}.review-card{background-color:var(--secondary-bg-color);flex-direction:column;gap:24px;max-width:550px;padding:22px;display:flex;box-shadow:0 2px 6px #0003}.review-card:hover{transform:translateY(-3px);box-shadow:0 6px 14px #00000040}.review{flex-direction:column;gap:18px;display:flex}.review p{margin:0}.review-attribution{color:#fff}.linkedin-button-container{text-align:center}.contact-form-container{flex-direction:column;align-items:center;gap:28px;display:flex}.contact-blurb{max-width:448px;margin:0}.contact-form{flex-direction:column;align-items:center;width:100%;max-width:448px;display:flex}.contact-inputs-container{flex-direction:column;gap:20px;width:100%;display:flex}.contact-input-container{position:relative}.contact-input-label{z-index:10;color:var(--tertiary-text-color);pointer-events:none;transform-origin:0 0;transition:all .3s;position:absolute;top:6px;left:8px}.contact-input:focus+.contact-input-label,.contact-input:not(:placeholder-shown)+.contact-input-label,:-webkit-any(.contact-input:-webkit-autofill+.contact-input-label,.contact-input:focus+.contact-input-label){color:var(--secondary-text-color);transform:translateY(-26px)translate(-4px)scale(.7)}.contact-input:focus+.contact-input-label,.contact-input:not(:placeholder-shown)+.contact-input-label,:is(.contact-input:autofill+.contact-input-label,.contact-input:focus+.contact-input-label){color:var(--secondary-text-color);transform:translateY(-26px)translate(-4px)scale(.7)}.contact-input:-webkit-autofill{-webkit-text-fill-color:var(--main-bg-color)!important;background-color:#0000!important}.contact-input{border:1px solid var(--input-border-color);color:var(--secondary-text-color);background:0 0;outline:none;width:100%;padding:10px;font-family:GT Sans,sans-serif;font-size:18px;transition:border-color .3s}.contact-input:focus{border-color:var(--secondary-text-color)}.form-error{color:#fa7676;font-size:14px;display:block}.send-button{padding:10px 40px}.scroll-to-top-button{padding:6px 10px;position:fixed;bottom:20px;right:16px}@media (width>=768px){.scroll-to-top-button{display:none}}footer{text-align:center;width:100%}@media (width>=768px){.footer-contact-icon-container{display:none}}.footer-contact-icon-container svg{color:var(--secondary-text-color);margin:8px}.footer-contact-icon-container svg:hover,.footer-contact-icon-container svg:focus{color:var(--primary-text-color);transform:translateY(-3px)}
