:root { --text: #180e20; --background: #f8f4fb; --primary: #2b2065; --secondary: #7a9ee6; --accent: #16408d; } [data-theme="dark"] { --text: #e9dff1; --background: #08040b; --primary: #a69adf; --secondary: #193d85; --accent: #729ce9; } ::-webkit-scrollbar { width: 0px; background: transparent; } html, body { font-family: "Fira sans", Helvetica, sans-serif; background-color: var(--background); color: var(--text); height: 100vh; width: 100vw; overflow: hidden; margin: 0; padding: 0; scrollbar-width: none; } a { color: unset; text-decoration: none; } .flex-v { display: flex; flex-direction: column; } .flex-h, .r-flex-h { display: flex; } .center-v { align-items: center; } .center-h { justify-content: center; } .scroll-container { height: 100vh; overflow-y: scroll; scroll-snap-type: y mandatory; } .page { display: flex; flex-direction: column; height: 100vh; align-items: center; justify-content: center; scroll-snap-align: start; position: relative; } .page[first="true"] { justify-content: space-between; } .page[wip="true"] { display: none; } .page-bar { height: 10%; width: 100%; display: flex; align-items: center; background-color: var(--background); z-index: 2; } .page-bar[top="true"] { top: 0; position: sticky; border-bottom: 1px solid var(--text); } .page-bar[bottom="true"] { display: none; border-top: 1px solid var(--text); } .logo-big { width: 10vw; aspect-ratio: 1; margin-right: 5em; } .scroll-hint { position: relative; height: 10%; margin: 0 auto; animation-name: scroll-hint-anim; animation-duration: 3s; animation-iteration-count: infinite; animation-direction: alternate; animation-timing-function: cubic-bezier(.5, 0, .5, 1); } @keyframes scroll-hint-anim { 0% { top: 0px; } 100% { top: 40px; } } ul.h-list { display: inline-block; circle: list; } .h-list li { display: inline; margin-right: 0.5em; whitespace: no-wrap; } .h-list.pilled li { padding: 0.5em 1em; background-color: var(--primary); border-radius: 20px; color: var(--background); } .product { background-color: var(--secondary); padding: 1em 2em; border-radius: 4px; margin: 1em; } .product[placeholder="true"] { background-color: unset; border: 3px dashed var(--secondary); } .product:not([placeholder="true"]):hover { transform: scale(1.05); box-shadow: 10px 10px 10em #7a9ee688; } .product-placeholder-title { width: 60px; height: 24px; background-color: lightgray; border-radius: 4px; margin: 18.72px 0 } .product-placeholder-icon { width: 50px; height: 50px; background-color: lightgray; margin-left: auto; border-radius: 4px } .product-placeholder-description { width: 120px; height: 19px; background-color: lightgray; margin-right: auto; margin-top: 16px; margin-bottom: 16px; border-radius: 4px; } .separator { height: 100%; width: 2px; background-color: var(--text); margin: 0 2em; } .socials { width: 100%; display: grid; grid-template-columns: repeat(2, auto); } .socials-tile { width: 3em; height: 3em; padding: 1.5em; margin: 1em; background-color: currentColor; color: var(--accent); border-radius: 4px; mask-size: 100%; } .socials-tile[variant="git"] { mask-image: url("https://api.iconify.design/mdi:git.svg"); } .socials-tile[variant="mastodon"] { mask-image: url("https://api.iconify.design/mdi:mastodon.svg"); } .socials-tile[variant="email"] { mask-image: url("https://api.iconify.design/mdi:email.svg"); } .socials-tile[variant="discord"] { mask-image: url("https://api.iconify.design/mdi:discord.svg"); } .txt-list div { margin-left: 2em; } @media(max-width: 800px) { .r-flex-h { display: flex; flex-direction: column; } .page { padding: 1em; } .h-list { padding-left: unset; } .logo-big { width: 25vw; margin-right: unset; } .separator { height: 2px; width: 100%; background-color: var(--text); margin: 2em 0; } .socials-tile { width: 2em; height: 2em; } .page-bar[bottom="true"] { border-top: unset; } .product[placeholder="true"], .page-bar[bottom="true"] > * { display: none; } } #ts { color: #3178c6; } #rs { color: #dea584; } #html { color: #e34c26; } #swft { color: #f05138; } #sh { color: #89e051; } #sql { color: #e38c00; } #c { color: #555555; } #nix { color: #7e7eff; } #theme-switch { padding: 1em; } #theme-switch span { user-select: none; cursor: pointer; font-size: 1.5em; } #theme-switch input[type="checkbox"] { display: none; }