body { margin: 0; font-family: system-ui; } h1, h2, h3 { margin: 0; } .container { width: 900px; margin: 0 auto; } main, nav, section, nav a, nav label { box-sizing: border-box; } header { padding: 1em; } section { padding: 0.5em; } main { display: flex; min-height: 400px; } 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 { text-align: center; font-size: 1.3em; line-height: 1.3em; background-color: #000; color: #fff; cursor: pointer; } nav label > span { font-size: 1.4em; } nav input, nav label { display: none; } nav a.active { background-color: #07a2a0; color: #fff; } nav a:hover:not(.active) { background-color: #555; color: white; } input[type=button] { background-color: #07a2a0; width: 200px; height: 40px; display: block; border:0; color:#fff; } input[type=button]:active { background-color: #079290; } .err { color: #fff; background-color: #f00; position: relative; padding: 16px; margin-bottom: 10px; line-height: 1.3em; } .err span { font-size: 1.5em; font-weight: bold; } .err .close { font-size: 1.3em; position: absolute; top:16px; right:16px; cursor: pointer; } #loader { position: absolute; left: 0; right: 0; top: 0; bottom: 0; display: grid; text-align: center; align-content: center; background: rgba(0,0,0,0.05); } #loader.hidden { display: none; } @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; } } .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) } }