:root { --background: rgb(255, 255, 230); --background-intro: rgb(250, 220, 120); --text: rgb(50, 50, 50); --sun: rgb(245, 180, 100); --hill: rgb(50, 235, 150); --hillshade: rgb(40, 160, 100); } @media (prefers-color-scheme: dark) { :root { --background: rgb(0, 45, 60); --background-intro: rgb(0, 70, 100); --text: rgb(255, 255, 255); --sun: rgb(105, 210, 255); --hill: rgb(0, 95, 135); --hillshade: rgb(0, 45, 60); } } * { box-sizing: border-box; scrollbar-color: var(--sun) var(--background-intro); } body { background: var(--background); color: var(--text); font-family: 'Lucida Console', 'Courier New', monospace; line-height: 1.8; margin: 0; } header { background: var(--background-intro); color: var(--text); display: flex; flex-direction: column; height: 40vh; justify-content: center; overflow: hidden; position: relative; text-align: center; } header h1 { font-size: 3.5em; margin: 0; z-index: 10; } header p { margin: 0; z-index: 10; } header sun { background: var(--sun); border-radius: 100%; height: 10vh; left: 30vw; position: absolute; top: 3vh; width: 10vh; } header hill { background: var(--hill); border-radius: 40px; bottom: 0; height: 40vh; left: 50vw; position: absolute; transform: rotate(45deg) translate(50%, 50%); width: 40vh; } header hillshade { background: var(--hillshade); border-radius: 80px; bottom: -5vh; height: 40vh; left: 30vw; position: absolute; transform: rotate(45deg) translate(50%, 50%); width: 40vh; } main { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 20px; margin: 0 auto; max-width: 1200px; padding: 20px; } main article { background: var(--background-intro); border-radius: 10px; padding: 20px; text-align: center; display: flex; flex-wrap: wrap; } main article a { background: var(--background); border-bottom: 2px solid var(--text); border-radius: 5px; color: var(--text); padding: 10px 14px; text-decoration: none; transition: border .15s ease, margin .15s ease; margin: 0 auto; align-self: end; } main article a:hover { border-bottom: 1px solid var(--text); margin: 1px auto 0 auto; } main article a:active { border: 0; } main article h1 { font-size: 1.8em; margin: 0 auto; } main article p { margin: auto; padding: 10px 0; } @media (max-width: 1000px) { header hill { transform: rotate(45deg) translate(40%, 70%); } header hillshade { transform: rotate(45deg) translate(20%, 80%); } main { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 600px) { main { grid-template-columns: repeat(1, 1fr); } } @media (prefers-color-scheme: dark) { header sun { left: unset; right: 30vw; } }