@import url("fonts.css"); :root { --comp-background: 255,255,255; --comp-highlight: 244,242,255; --comp-accent: 33,33,33; --color-background: rgb(var(--comp-background)); --color-highlight: rgb(var(--comp-highlight)); --color-accent: rgb(var(--comp-accent)); --page-padding: 5vw; } /* -- Cornerstones -- */ * { margin: 0; font-family: "Roboto Mono","Arial",sans-serif; color: var(--color-accent); } *::selection { background-color: var(--color-highlight); color: var(--color-accent); } html, body, main, main > div { width: 100%; height: 100%; } /* ---- */ .logo { --size: 5em; --skew: calc(var(--size) / 1.7); width: 0; height: 0; border: var(--skew) solid transparent; border-top: var(--size) solid var(--color-accent); } .logo::after { content: ""; border: var(--skew) solid transparent; border-top: var(--size) solid rgba(var(--comp-accent),.3); } h1 { font-size: 2em; } h2 { font-weight: normal; font-size: 1.42em; } h2 span { color: var(--color-background); background-color: var(--color-accent); } /* -- Layout -- */ main { --grid-spacing: 3vh; margin: auto; max-width: 200vh; background: radial-gradient(circle, rgba(var(--comp-accent),.2) .1vh, var(--color-background) .1vh),url("../img/pattern.gif"); background-size: var(--grid-spacing) var(--grid-spacing),auto 90%; background-position: 100% 100%; background-repeat: repeat,no-repeat; background-blend-mode: multiply; image-rendering: pixelated; image-rendering: -moz-crisp-edges; } main * { image-rendering: initial; } main > div { position: absolute; width: 50%; height: 100%; } /* ---- */ #intro { left: 0; width: 100vh; box-sizing: border-box; padding: var(--page-padding); display: flex; align-items: center; z-index: 1; } #intro .inner { display: flex; height: 100%; flex-direction: column; justify-content: space-between; } #intro .logo { --size: 7vh; margin-bottom: calc(var(--page-padding) / 2); } #intro .block { width: 100%; font-size: 3vh; } #intro .block:last-child { display: flex; align-items: flex-end; } #intro .block p { font-size: .7em; margin-bottom: 1.5em; } #intro .block p span { margin-right: .9em; background-color: var(--color-background); } /* ---- */ nav a { text-decoration: none; margin-right: 2em; font-size: .9em; } nav a::after { content: "→"; padding-left: .5em; } /* ---- */ #myface { right: 0; width: 50%; display: flex; justify-content: center; } #myface picture, #myface img { position: absolute; height: 80%; bottom: 0; pointer-events: none; display: flex; justify-content: center; } #myface img { height: 100%; } /* -- Size Queries -- */ @media (max-width: 1100px) { :root { --page-padding: 50px; } h1 { font-size: 7vw; } h2 { font-size: 5vw; } /* ---- */ main { max-width: unset; background-position: 100% 0; background-size: var(--grid-spacing) var(--grid-spacing), auto 100vw; } /* ---- */ #intro { width: initial; } #intro .logo { --size: 10vw; } #intro p { text-align: left; } #intro .block p:last-of-type { text-align: initial; } #myface { display: none; } /* ---- */ nav a { text-decoration: none; margin-right: 5vw; font-size: 5vw; } } /* -- Accessibility -- */ @media (hover: hover) { nav a:hover { background: var(--color-highlight); font-weight: bold; } } @media (prefers-color-scheme: dark) { :root { --comp-background: 0,0,0; --comp-accent: 255,255,255; } }