body { margin: 0; font-family: system-ui; } h1, h2, h3 { margin: 0.3em 0 0.3em 0; } .container { width: 900px; margin: 0 auto; } main, nav, section, nav a, nav label { box-sizing: border-box; } header { padding: 1em; } section { padding: 0 0.5em 0 0.5em ; } main { display: flex; } section { flex: 1; } section > div { height: 100%; } nav { display: inline-block; background-color: #f1f1f1; width: 250px; } nav a, nav label { width: 100%; display: block; color: #000; padding: 16px; text-decoration: none; user-select: none; } nav label { font-size: 1.2em; background-color: #000; color: #fff; cursor: pointer; } nav input, nav label { display: none; } nav a.active { background-color: #07a2a0; color: #fff; } nav a:hover:not(.active) { background-color: #555; color: white; } @media (max-width: 900px) { .container, nav { width: 100%; } main { flex-direction: column; } nav label { display: block; } nav, nav a, nav label { width:100%; } nav > input:not(:checked) ~ a:not(.active) { display: none; } } .grid { display: grid; } .center { text-align: center; } .middle { align-content: center; } .loadspin { display: inline-block; pointer-events: none; width: 2.5em; height: 2.5em; border: 0.4em solid transparent; border-color: #eee; border-top-color: #07a2a0; border-radius: 50%; animation: loadingspin 1s linear infinite; } @keyframes loadingspin { 100% { transform: rotate(360deg) } }