@import"https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@500;600;700&family=Merriweather:ital,wght@0,300;0,400;0,700;1,300;1,400&display=swap";.header{display:flex;flex-direction:column;align-items:center;text-align:center}.header h1{margin-bottom:1.75rem;animation:.6s titleEntrance ease-in}.header p{max-width:50rem}.header .linkIcons{margin-top:2.5rem}.header .linkIcons a{display:inline-block;padding:0 1rem;height:fit-content;transform:translateY(0);transition:transform .2s ease-in,color .2s ease;color:var(--color-icon)}.header .linkIcons a:hover{transform:translateY(-.25rem);transition:transform .2s ease-out,color .2s ease;color:var(--color-accent)}.header .linkIcons a svg{width:auto;height:2.5rem}.projectTile{width:100%;height:20rem;max-width:40rem;margin:auto;cursor:pointer;display:flex;flex-direction:column;border-radius:8px;overflow:hidden;transform:translateY(0);transition:transform .2s ease-in,box-shadow .2s;box-shadow:0 .25rem .5rem 2px var(--color-tile-shadow)}.projectTile:hover{transform:translateY(-.5rem);transition:transform .2s ease-out,box-shadow .2s}.projectTile .projectImage{width:100%;height:100%;background-size:cover}.projectTile .projectLabel{padding:1rem;background-color:var(--color-background-light)}.passwordContainer{max-width:32rem;margin:6.25rem auto 0;text-align:center;border-radius:12px;line-height:normal;box-shadow:0 .25rem .5rem 2px var(--color-tile-shadow);border:1px solid var(--color-icon);background-color:var(--color-background-light);padding:2.5rem}@media screen and (min-width:576px){.passwordContainer{padding:1.75rem 3.75rem}}.passwordContainer .passwordIcon{width:auto;height:1.75rem;margin-bottom:1.25rem;color:var(--color-icon)}.passwordContainer .formContainer{width:fit-content;margin:2.5rem auto 0}.passwordContainer .passwordForm{display:flex;justify-content:center;align-items:center;margin-bottom:.75rem}.passwordContainer .passwordForm .passwordInput{font-family:Merriweather,serif;font-weight:var(--font-weight-body);font-size:1rem;width:12rem;padding:.25rem;border-top:none;border-right:none;border-left:none;outline:none;margin-right:.75rem;transition:border-color .2s ease;color:var(--color-text);border-bottom:2px solid var(--color-button);background-color:var(--color-background-light)}.passwordContainer .passwordForm .passwordInput:focus{border-color:var(--color-button-hover)}.passwordContainer .passwordForm .passwordButton{font-family:Josefin Sans,sans-serif;font-weight:var(--font-weight-heading);font-size:.875rem;text-transform:uppercase;padding:.5rem 1rem;border-radius:1.75rem;transition:background-color .2s ease;height:1.75rem;border:none;outline:none;text-decoration:none;background-color:var(--color-button);color:var(--color-text-light)}.passwordContainer .passwordForm .passwordButton:hover{background-color:var(--color-button-hover)}.passwordContainer .passwordError{display:flex;align-items:center;justify-content:center;font-style:italic}.passwordContainer .passwordError .passwordWarning{height:1rem;width:auto;margin-right:.5rem}.modalContainer{width:100%;height:100%;overflow:auto;position:absolute;top:0;left:0;z-index:1;padding:6.25rem 1.5rem}.modalContainer.enter{transform:translateY(50vh);opacity:0}.modalContainer.enter-active{transform:none;transition:.4s ease-in;opacity:1}.modalContainer.exit{transform:none;opacity:1}.modalContainer.exit-active{transform:translateY(50vh);transition:.4s ease-out;opacity:0}.modalContainer .projectContent{max-width:60rem;margin:0 auto;display:flex;flex-direction:column;align-items:center}.modalContainer .projectContent .closeButton{position:fixed;top:1.5rem;right:1.5rem;border:none;outline:none;padding:.5rem;z-index:1;border-radius:100%;background-color:transparent}.modalContainer .projectContent .closeButton:hover svg{color:var(--color-icon-button-hover)}.modalContainer .projectContent .closeButton svg{width:auto;height:1.75rem;transition:color .2s ease;color:var(--color-icon-button)}.modalContainer .projectContent .projectHeader{text-align:center;margin-bottom:3.75rem}.modalContainer .projectContent .projectHeader h1{animation:.6s titleEntrance ease-in}.modalContainer .projectContent .projectHeader h3{animation:.6s subtitleEntrance ease-in}.modalContainer .projectContent .sectionTitle{margin-bottom:1.25rem;text-transform:uppercase;color:var(--color-accent)}.modalContainer .projectContent .sectionTitle,.modalContainer .projectContent h4{align-self:flex-start}.modalContainer .projectContent .overview{width:100%}.modalContainer .projectContent .overview p{margin-bottom:1.25rem}.modalContainer .projectContent .overview p b{text-transform:capitalize}.modalContainer .projectContent .contentDivider{margin:2.5rem 0;width:100%;border-color:var(--color-text)}.modalContainer .projectContent p{width:100%}.modalContainer .projectContent img,.modalContainer .projectContent video{width:100%;border-radius:12px;margin:.5rem 0 3.75rem;box-shadow:0 .25rem .5rem 2px var(--color-tile-shadow)}.modalContainer .projectContent img:has(+.caption),.modalContainer .projectContent video:has(+.caption){margin-bottom:1rem}.modalContainer .projectContent .multiImg{display:flex;gap:1.5rem;justify-content:space-evenly;align-items:center;width:100%}.modalContainer .projectContent .multiImg img{width:fit-content;max-width:100%;max-height:540px}@media screen and (max-width:768px){.modalContainer .projectContent .multiImg{flex-direction:column;align-items:center}}.modalContainer .projectContent video{outline:none;opacity:0;transition:opacity .4s ease}.modalContainer .projectContent .caption{font-family:Merriweather,serif;font-weight:var(--font-weight-body);font-size:1rem;margin-bottom:3.75rem;font-style:italic;text-align:center}.imageContainer{display:flex;flex-direction:column;align-items:center}.videoContainer{display:flex;flex-direction:column;align-items:center}@keyframes titleEntrance{0%{transform:translateY(1.25rem)}to{transform:translate(0)}}@keyframes subtitleEntrance{0%{opacity:0;transform:translateY(.75rem)}33%{opacity:0}to{opacity:1;transform:translate(0)}}:root{--color-accent: #006f79;--color-highlight: #4fa9b0;--color-background: #efefef;--color-background-light: #f7f7f7;--color-text: #333333;--color-text-light: #ffffff;--color-icon: #808080;--color-icon-button: #acacac;--color-icon-button-hover: #808080;--color-button: #006f79;--color-button-hover: #4fa9b0;--color-tile-shadow: rgba(0, 0, 0, .1);--font-weight-heading: 700;--font-weight-heading-small: 700;--font-weight-body: 400}[data-theme=dark]{--color-accent: #378e98;--color-highlight: #00707a;--color-background: #191919;--color-background-light: #272727;--color-text: #cfcfcf;--color-text-light: #cfcfcf;--color-icon: #707070;--color-icon-button: #525252;--color-icon-button-hover: #707070;--color-button: #006f79;--color-button-hover: #378e98;--color-tile-shadow: rgba(0, 0, 0, .4);--font-weight-heading: 700;--font-weight-heading-small: 600;--font-weight-body: 300}*{box-sizing:border-box}html{font-size:12px;overflow:hidden;height:100vh}@media screen and (min-width:576px){html{font-size:14px}}@media screen and (min-width:992px){html{font-size:16px}}body{margin:0}h1,h2,h3,h4,p{padding:0;margin:0}h1{font-family:Josefin Sans,sans-serif;font-weight:var(--font-weight-heading);font-size:4rem;text-transform:uppercase;letter-spacing:3px}@media screen and (max-width:576px){h1{font-size:3rem}}h1{color:var(--color-accent);margin:0 0 .5rem}h2{font-family:Josefin Sans,sans-serif;font-weight:var(--font-weight-heading);font-size:1.75rem;font-weight:var(--font-weight-heading-small)}h3{font-family:Josefin Sans,sans-serif;font-weight:var(--font-weight-heading);font-weight:500;font-size:1.5rem}h4{font-family:Merriweather,serif;font-weight:700;font-size:1.25rem;margin:.5rem 0 .75rem}p{font-family:Merriweather,serif;font-weight:var(--font-weight-body);font-size:1.25rem;line-height:1.75rem;margin-bottom:1.25rem}p.body2{font-family:Merriweather,serif;font-weight:var(--font-weight-body);font-size:1rem;margin-bottom:0}p.body3{font-family:Merriweather,serif;font-weight:var(--font-weight-body);font-size:.75rem;margin-bottom:0}b{font-weight:700}a,a:hover{color:var(--color-accent)}button{cursor:pointer}.app{overflow:hidden;height:100vh}.appContainer,.modalContainer{transition:background-color .4s ease,color .2s ease;background-color:var(--color-background);color:var(--color-text)}.appContainer ::selection,.modalContainer ::selection{color:var(--color-text-light);background:var(--color-highlight)}.appContainer{overflow:auto;height:100%;display:flex;flex-direction:column;align-items:center;gap:3.75rem;padding:3.75rem 2.5rem}@media(min-width:768px){.appContainer{gap:6.25rem;padding:6.25rem 3.75rem}}.appContainer .themeToggle{position:fixed;top:1.5rem;right:1.5rem;border:none;outline:none;padding:.5rem;z-index:1;border-radius:100%;background-color:transparent}.appContainer .themeToggle:hover svg{color:var(--color-icon-button-hover)}.appContainer .themeToggle svg{width:auto;height:1.75rem;transition:color .2s ease;color:var(--color-icon-button)}.appContainer .projectsGrid{width:100%;max-width:90rem;display:grid;gap:1.75rem;grid-template-columns:repeat(1,1fr)}@media(min-width:768px){.appContainer .projectsGrid{grid-template-columns:repeat(2,1fr)}}@media(min-width:992px){.appContainer .projectsGrid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.appContainer .projectsGrid{grid-template-columns:repeat(3,1fr)}}.appContainer .footer{width:100%;height:4rem;text-align:center;padding:0 2.5rem;font-style:italic}
