@font-face { font-family: 'Inter'; src: url('/assets/InterVariable.ttf'); } :root { --color-text: #cdd6f4; --color-subtext-1: #bac2de; --color-subtext-0: #a6adc8; --color-overlay-2: #9399b2; --color-overlay-1: #7f849c; --color-overlay-0: #6c7086; --color-surface-2: #585b70; --color-surface-1: #45475a; --color-surface-0: #313244; --color-base: #1e1e2e; --color-mantle: #181825; --color-crust: #11111b; --color-lavender: #b4befe; --color-mauve: #cba6f7; --color-yellow: #f9e2af; font-family: Inter, sans-serif; } html { color: var(--color-text); background: var(--color-surface-2); &:before { position: absolute; inset: 0; z-index: -1; content: ''; /* https://codepen.io/tomhermans/pen/wBvwomx */ background: radial-gradient(circle at 50% 30%, var(--color-yellow), 18%, var(--color-mauve), var(--color-lavender), 20%, var(--color-base), var(--color-crust)); background-size: cover; filter: url(#dither); transform: scale(1.3); } } #container { margin: 6rem auto; padding: 0 1rem; max-width: 500px; position: relative; z-index: 1; header { color: var(--color-subtext-0); text-align: center; display: flex; flex-direction: column; gap: 1rem; } footer { margin-top: 5rem; text-align: center; a { color: var(--color-text); } } .headline { background: radial-gradient(circle at center, var(--color-surface-0), 90%, transparent); padding: 0.6rem 1.5rem 1.2rem; display: inline-flex; flex-direction: column; gap: 0.2rem; h1 { font-size: 3rem; font-weight: 200; } h2 { font-size: 1.4rem; color: var(--color-text); font-weight: 300; } small { color: var(--color-lavender); text-transform: uppercase; font-size: 2.3rem; font-weight: 500; } } } #pfp { margin: 0 auto; position: relative; width: 250px; height: 250px; img { border-radius: 10%; width: 250px; } img.animated { position: absolute; left: 0; opacity: 0; cursor: not-allowed; &:hover, &:active { opacity: 1; } } } main { margin-top: 2rem; display: flex; flex-direction: column; gap: 2rem; .icons-only { justify-content: center; display: flex; flex-direction: row; gap: 2rem; a { transition: transform 100ms ease-out; &:hover, &:focus, &:active { transform: scale(1.2); } img { height: 3rem; } } } .links { display: flex; flex-direction: column; gap: 1rem; a { border-radius: 0 0.5rem 0.5rem 0; background: var(--color-text); display: block; text-decoration: none; position: relative; height: 5rem; line-height: 5rem; transition: background 100ms ease-out; &:before { content: ''; background: var(--color-surface-0); position: absolute; top: 0.3rem; right: -0.3rem; bottom: -0.3rem; left: 0.3rem; z-index: -1; border-radius: 0 0.5rem 0.5rem 0; border: 2px solid var(--color-surface-1); } &:hover, &:focus { background: var(--color-yellow); } &:active { background: var(--color-subtext-1); } img { position: absolute; height: 5rem; background: var(--color-surface-0); } span { color: var(--color-base); font-weight: 300; font-size: 1.5rem; text-align: center; display: block; width: 100%; } } } }