*, *:before, *:after { box-sizing: border-box; } html { overflow-x: hidden; scroll-behavior: smooth; } body { margin: 0; font-family: "Nunito", sans-serif; } body.dark-mode .bg { opacity: 0 !important; } body.dark-mode .main h1 { color: #ddd; } body.dark-mode .main em { color: #ddd; } body.dark-mode .main a { color: #ddd; } body.dark-mode .main a:before, body.dark-mode .main a:after { background: rgba(221, 221, 221, 0.2); } .main { min-height: 100vh; position: relative; z-index: 10; display: flex; justify-content: center; align-items: flex-start; flex-direction: column; overflow-y: hidden; } .main > * { position: relative; } .main > canvas#bg { position: absolute; top: 0; left: 0; } .main .text-container { text-align: left; max-width: 50rem; margin: auto auto auto 13vw; } .main h1 { font-size: 4rem; font-weight: 600; margin: 0 0 2rem; color: #000; } .main h3 { margin: 1rem 0 0; font-size: 1.7rem; line-height: 1.4; font-weight: normal; color: #777; } .main em { color: #000; font: inherit; } .main h3 a { color: #000; text-decoration: none; border-bottom: 0.2rem solid transparent; white-space: nowrap; position: relative; } .main h3 a.among { color: inherit; border-bottom: 0; cursor: text; } .main h3 a.among:before, .main h3 a.among:after { content: none; } .main h3 a:before, .main h3 a:after { content: ""; bottom: 0.4rem; left: 0; width: 100%; height: 0.1rem; background: rgba(51, 51, 51, 0.2); position: absolute; opacity: 0.2; transition: all 0.2s ease; } .main h3 a:before { transform: scaleX(0); transform-origin: center left; } .main h3 a:after { opacity: 0.5; } .main h3 a:hover:before { transform: scaleX(1); opacity: 1; } .main .contact-methods { display: flex; margin-left: -1.5rem; margin-top: 1rem; } .main .contact-methods a.contact-method { color: inherit; text-decoration: none; position: relative; overflow: visible; width: 4rem; height: 4rem; } .main .contact-methods a.contact-method p { margin: 0; position: absolute; top: 90%; left: 1.5rem; width: max-content; opacity: 0; transition: all 0.2s ease; color: #333; font-size: 0.85rem; } .main .contact-methods a.contact-method:hover p { opacity: 1; } .main .contact-methods i { width: 4rem; height: 4rem; line-height: 4rem; text-align: center; position: relative; } .main .contact-methods i:before { position: relative; z-index: 10; } .main .contact-methods i:after { position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 60%; height: 60%; border-radius: 50%; opacity: 0; transform: scale(0.7); content: ""; transition: all 0.2s ease; background: #333; } .main .contact-methods i.email { position: relative; width: 4rem; height: 4rem; display: block; } .main .contact-methods i.email:before { content: "@"; font-style: normal; font-weight: bold; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; position: absolute; text-align: center; } @media (max-width: 69rem), (orientation: portrait) { .main > .text-container { margin: auto; padding: 2rem; } } @media (max-width: 25rem) { .main > .text-container h1 { font-size: 3rem; } .main > .text-container h3 { font-size: 1.5rem; } } .clapper { position: fixed; bottom: 0; left: 0; width: 100%; height: 10rem; line-height: 10rem; text-align: center; z-index: 100000; font-size: 5rem; pointer-events: none; transition: none; opacity: 0; } .clapper.clapping { animation: clap 1s ease-in-out; } @keyframes clap { 0% { opacity: 1; } 49% { opacity: 0; } 51% { opacity: 1; } 100% { opacity: 0; } } /*# sourceMappingURL=style.css.map */