:root{--client-height:0;--page-navigation-height:0;--page-logo-height:28vh;--pages-height:calc(var(--client-height) - var(--page-navigation-height));--pagenav-slide-height:0;--footer-height:0;--pages-width:100%;--text-padding:4vh}*{box-sizing:border-box;margin:0;padding:0}html{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:1rem;height:var(--client-height);min-height:var(--client-height);min-width:100vw;overflow:hidden;width:100vw}body{background-color:#2f2e41;color:#fff;height:inherit;min-height:inherit;overflow:inherit;overscroll-behavior:none;position:relative;width:inherit}body.showFooter #links-and-info{transform:translateY(var(--pagenav-slide-height))}body.showFooter #links-and-info #link-navigation{background-color:#e6e6e6b3;visibility:visible}body.showFooter #footer-toggler .icon{transform:rotate(180deg)}body.showFooter #menu-toggler{visibility:hidden}body.homepage{background-color:#2e8b57}body.aboutme{background-color:peru}body.projects{background-color:orchid}.background{display:none;height:100%;min-height:100%;min-width:100%;mix-blend-mode:luminosity;object-fit:cover;object-position:center;position:absolute;width:100%;z-index:-1}#wrapper{display:flex;flex-direction:column-reverse}h1{font-family:Caveat,cursive;font-size:2rem;padding:2rem 2.5rem;padding-bottom:var(--text-padding);padding-left:var(--text-padding)}h1,h2,h3{text-shadow:5px 5px 4px rgba(0,0,0,.5)}h2,h3{font-weight:700;padding:2em 2.5em;padding-bottom:var(--text-padding);padding-left:var(--text-padding)}h2,h3,p{font-family:Josefin Sans,sans-serif}p{font-size:1rem;line-height:1.5em;padding:var(--text-padding)}a,button{cursor:pointer;text-decoration:none}a:active,a:hover{text-decoration:underline}ul{list-style-type:none}:focus{outline:2px solid #fff}::-webkit-scrollbar{background-color:inherit;max-width:10px}::-webkit-scrollbar-thumb{background-color:#00000066}#links-and-info::-webkit-scrollbar{display:none}#links-and-info{background-color:#111;display:table;font-size:6vw;height:var(--page-navigation-height);position:relative;transition:transform .3s ease-out;width:100%;z-index:1}#link-navigation{background-color:transparent;font-size:.8em;height:var(--pages-height);margin-top:calc(var(--pages-height)*-1);min-height:var(--pages-height);position:relative;visibility:hidden;width:100%}#link-navigation ul{background-color:#111;border-radius:.5em;bottom:1em;height:auto;position:absolute;right:1em;transform:translateX(calc(100% + 2em));width:calc(100% - 2em)}#link-navigation a{border:0 solid transparent;border-radius:.2em;border-width:0 .4em;color:#fff;display:block;font-family:Caveat,cursive;font-weight:600;letter-spacing:2px;margin:.4em;padding:1em 1.5em}#link-navigation a .icon{margin-right:.5em}#link-navigation a[href="#homepage"].active,#link-navigation a[href="#homepage"]:hover{background-color:#2e8b574d;border-color:#2e8b57}#link-navigation a[href="#aboutme"].active,#link-navigation a[href="#aboutme"]:hover{background-color:#cd853f4d;border-color:peru}#link-navigation a[href="#projects"].active,#link-navigation a[href="#projects"]:hover{background-color:#da70d64d;border-color:orchid}#link-navigation.active{animation-duration:.3s;animation-fill-mode:forwards;animation-name:fade-in;animation-timing-function:ease-out}#link-navigation.active ul{animation-delay:.2s;animation-duration:.3s;animation-fill-mode:forwards;animation-name:slide-in;animation-timing-function:ease-out}#page-navigation{align-items:center;display:flex;font-size:.8em;height:auto;justify-content:space-between;width:100%}#page-navigation>*{border-radius:.5em;color:#fff;padding:.8em 1.3em}#page-navigation button{background:none;border:none;flex-grow:0;font-size:inherit;margin:1em}#resume{font-family:Nunito,sans-serif;font-size:inherit;font-weight:600;text-transform:uppercase}#menu-toggler .icon:last-child,#menu-toggler.open .icon:first-child{display:none}#menu-toggler.open .icon:last-child{display:initial}#footer-toggler .icon{transition:transform .5s ease-out}#page-logo{display:flex;flex-direction:column;height:auto;place-items:center;width:100%}.logo-image{height:7em;margin-top:2em;object-fit:contain;width:7em}#page-logo .logo-name{font-family:Arizonia,cursive;font-size:1.5em;font-weight:700}#info{align-content:center;display:flex;flex-direction:column;height:auto;justify-content:space-between;width:100%}#info #tech-stack{display:flex;flex-wrap:wrap;justify-content:center;margin:2em}#info #tech-stack .icon{--icon-size:1em;height:var(--icon-size);margin:.5em;width:var(--icon-size)}#info #tech-stack .icon[alt="Bash icon"],#info #tech-stack .icon[alt="Github icon"]{filter:brightness(10)}#info #social-links{align-items:center;display:flex;font-size:1.7em;height:auto;justify-content:space-evenly;width:100%}#info #social-links a{color:#fff;margin:.5em 0}#pages{background-color:#000;font-size:6vw;height:var(--pages-height);min-height:var(--pages-height);overflow:hidden;width:var(--pages-width)}#pages .notifier{background-color:#ffffffdd;color:#555;font-family:Economica,sans-serif;font-size:.7em;font-weight:700;left:0;letter-spacing:.15em;padding:.3em;position:absolute;right:0;text-align:center;text-transform:uppercase;top:0;transform:translateY(-100%);z-index:1}#pages .notifier.show{transform:translateY(0);transition:transform .3s ease-out}#pages-wrapper{align-items:stretch;animation-duration:.5s;animation-fill-mode:forwards;animation-timing-function:ease-out;display:flex;height:100%;justify-content:stretch;min-height:100%;min-width:100%;width:100%}#pages-wrapper.horizontal{flex-direction:row;height:100%;max-width:200%;min-height:100%;width:200%}#pages-wrapper.vertical{flex-direction:column;height:200%;max-width:100%;min-height:200%;width:100%}#pages-wrapper.push-left{animation-name:push-left}#pages-wrapper.push-right{animation-name:push-right}#pages-wrapper.push-up{animation-name:push-up}#pages-wrapper.push-down{animation-name:push-down}#pages-wrapper>.page{overflow:hidden scroll}#pages-wrapper>.page:not(.active){display:none}#pages-wrapper.horizontal>.page{height:100%;width:50%}#pages-wrapper.vertical>.page{height:50%;width:100%}#pages .text-animate{font-size:1em}#pages #featured-section{height:auto;overflow-x:hidden;width:100%}#pages .projects-wrapper{display:flex;height:max-content;min-height:max-content;place-content:flex-start;width:300%}#pages .projects-wrapper.slide-left{animation-duration:.6s;animation-name:slide-left;animation-timing-function:ease-out}#pages .project-banner{align-content:stretch;background-color:#00000066;background:linear-gradient(180deg,transparent,#00000066);border-radius:.5em;display:flex;flex-direction:column;height:auto;justify-content:flex-start;margin:1em .7em;overflow:hidden;width:calc(var(--pages-width) - 1.4em)}#pages li.project-banner{width:calc(100% - 1.4em)}#pages .project-banner .image-header{align-items:center;display:flex;height:auto;justify-content:center;margin-bottom:-2em;width:100%}#pages .image-header .mobile{aspect-ratio:1/2.09;object-fit:contain;width:calc(25% - .7em)}#pages .image-header .desktop{aspect-ratio:1/1;object-fit:contain;width:calc(75% - .7em)}#pages .project-title{align-items:flex-end;display:flex;justify-content:flex-start;margin:1em;text-align:left;width:calc(100% - 2em)}#pages .project-title h2{padding:0;text-shadow:none}#pages .project-title .project-icon{aspect-ratio:1/1;margin-right:1em;object-fit:contain;width:2em}#pages .project-description{color:#eee;flex-grow:1;font-size:.8em;font-style:oblique;text-align:center}#pages summary{border-radius:.3em;cursor:pointer;font-family:Josefin Sans,"sans-serif";font-size:.7em;font-weight:700;margin:0 auto;padding:1em;text-align:center;width:max-content}#pages details p,#pages details ul{font-size:.9em}#pages details h3{padding-bottom:0}#pages details ul{font-family:Josefin Sans,sans-serif;line-height:1.5em;list-style-position:inside;list-style-type:circle;margin:1.5em var(--text-padding)}#pages .skill-showcase{display:flex;flex-wrap:wrap;margin:1em clamp(1em,10%,3em);place-content:center}#pages .skill-showcase .icon{height:auto;margin:.7em 0 0 .7em;width:calc(2vh + 3vw)}#pages .skill-showcase .icon.brighten{filter:brightness(1.5)}#pages .project-link{border-radius:.3em;color:#111;font-family:Encode Sans Expanded,sans-serif;font-size:.6em;font-weight:700;padding:1em;text-align:center}#pages .website-link{background-color:#fff;margin:1em 1em 0}#pages .github-link{background-color:#ccda71;margin:1em}#pages .view-project{background-color:tomato;border:none;border-radius:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;justify-self:flex-end;outline-offset:-2px;width:100%}.page #homepage_illustration{aspect-ratio:1.06/1}.page #aboutme_illustration{aspect-ratio:1.77/1}.page #projects_illustration{aspect-ratio:1.33/1}.page .page-image{margin:1em 1em 0;object-fit:contain;width:calc(100% - 2em)}.page h1:first-of-type{bottom:0;color:#ffffffde;font-size:3em;position:sticky;text-shadow:10px 10px 5px rgba(0,0,0,.5)}#homepage{background-color:#2e8b57}#homepage .page-title{bottom:0;padding:2rem;position:sticky;text-align:center}#homepage .tag-line{color:#ffffffde;font-family:Economica,sans-serif;font-size:1em;margin-inline:auto;text-align:center;width:stretch;width:-webkit-fill-available;width:calc(100% - 2em)}#homepage .tag-line>span{display:inline-block;font-weight:700}#homepage .tag-line>span span{display:inline-block}#homepage .tag-line .accessible{margin-bottom:-.35em;overflow-y:hidden}#aboutme{background-color:peru}#aboutme p{transform:none}#aboutme ol{font-family:Josefin Sans,sans-serif;font-style:oblique;font-weight:700;line-height:1.5em;list-style-position:inside;list-style-type:none;padding:var(--text-padding)}#aboutme ol li:before{--size:1.5em;background-color:#111;border-radius:1em;color:#fff;content:counter(list-item);display:inline-block;font-size:.7em;font-style:normal;height:var(--size);margin-right:.5em;padding-bottom:.3em;text-align:center;vertical-align:text-bottom;width:var(--size)}#projects{background-color:orchid}@keyframes fade-in{to{background-color:#e6e6e6b3;visibility:visible}}@keyframes slide-in{to{transform:translateX(0)}}@keyframes push-left{to{transform:translateX(-50%)}}@keyframes push-right{0%{transform:translateX(-50%)}}@keyframes push-up{to{transform:translateY(-50%)}}@keyframes push-down{0%{transform:translateY(-50%)}}@keyframes slide-left{to{transform:translateX(-33.33%)}}@media only screen and (orientation:landscape){:focus,:focus-visible{outline:none}#resume:hover,a.project-link:hover,a:focus-visible,button:focus-visible,button:hover,summary:focus-visible,summary:hover{outline:2px solid #fff}#page-navigation>*{border-radius:.1em;outline-offset:.8em}#info #social-links a:focus-visible{outline:none}#info #social-links a:focus-visible i,#info #social-links a:hover i{border-radius:.01em;outline:2px solid #fff;outline-offset:.3em}body{align-items:center;display:flex;height:100vh;justify-content:center;min-height:100vh;overflow:initial;overscroll-behavior:auto;width:100vw}body.showFooter #links-and-info{transform:translateY(calc(var(--footer-height)*-1))}body.showFooter #links-and-info #link-navigation{background-color:initial}.background{display:block}#wrapper{--shadow-base:calc(1vh + 3vw);--shadow-spread:calc(var(--shadow-base)/5);--shadow-blur:calc(var(--shadow-base)/20);aspect-ratio:5/3;border-radius:7vh 3vh 3vh 0;box-shadow:0 0 var(--shadow-spread) var(--shadow-blur) rgba(0,0,0,.5);display:flex;flex-direction:row;height:80%;min-height:80%;overflow:hidden}#pages{--pages-width:65%;font-size:4.5vh;height:100%;min-height:100%;position:relative}#pages-wrapper{height:inherit;min-height:inherit}.page{opacity:.8}.page:focus-within{opacity:1}#links-and-info{align-items:center;display:flex;flex-direction:column;font-size:3.5vh;height:100%;justify-content:space-between;max-height:max-content;width:35%}#link-navigation{--max-height:calc(100vh - 25% - var(--page-logo-height) - var(--page-navigation-height));height:var(--max-height);margin-top:0;min-height:var(--max-height);order:1;visibility:visible;z-index:0}#link-navigation.active{animation-fill-mode:none}#link-navigation ul{display:contents}#page-navigation{align-items:flex-start;order:2}#page-navigation #footer-toggler{margin:.45em 2.3em 1.8em 0;padding:0}#menu-toggler{display:none}#resume{margin:.25em 0 2em 2.3em;padding:0}#page-logo{order:0}#page-logo .logo-image{height:5em;width:5em}#page-logo .logo-name{padding-bottom:.25em}#info{background-color:inherit;order:3}.menu,.menu.active{border-radius:0;margin:0;max-width:inherit;transform:none;transition:none}}