* { padding: 0; margin: 0; font-family: "Nunito", "Times New Roman", Times, serif; } :root { /* Eventually allow any hex color through JS, along with random generator */ --theme-color: #f69b46; /* Other nice colors #46aaf6 // blue #f69b46 // orange #46f64f // green #f64646 // red */ } @media (prefers-color-scheme: dark) { body { background-color: #222; color: #f8f8f8; } .footer { background-color: #000; } } .title { margin: 2rem 2rem 1rem 2rem; text-align: center; } h2 { position: relative; margin: 1rem .75rem .75rem 2.5rem; font-size: 1.5rem; transition: .2s; } h2::before { content: ""; position: absolute; top: .5rem; left: -.6rem; height: 1rem; width: .25rem; border-radius: 5rem; background-color: var(--theme-color); transition: .2s; } h2:hover { margin: 1rem .75rem .75rem 3rem; } h2:hover::before { left: -1.1rem; } h3 { margin: .75rem 0 0 2rem; } p { margin: .5rem 2rem; } button { padding: .2rem .5rem; font-size: 1.1rem; color: #fff; background-color: var(--theme-color); border: solid .2rem var(--theme-color); border-radius: .5rem; box-shadow: 0 .1rem .2rem #ddd; transition: .15s; } button:hover { color: var(--theme-color); background-color: transparent; } button:active { transform: scale(.98); } a { color: var(--theme-color); } .funsies { padding: .5rem 2rem; } .funsies p { margin: 0 .2rem .8rem .2rem; } .footer { padding: 1rem; display: grid; grid-template-columns: auto auto; background-color: #222; color: #fff; border-bottom: solid .4rem var(--theme-color); } .faded-footer { color: #bbb; } .progress-parent { display: block; width: 100%; background-color: #ccc; position: fixed; top: 0; left: 0; z-index: 10; } .progress { height: .5rem; width: 0%; background-color: var(--theme-color); animation: progress 1s linear; } @keyframes progress { to { width: 100%; } } .progress { animation-play-state: paused; animation-delay: calc(var(--scroll) * -1s); animation-iteration-count: 1; animation-fill-mode: both; }