body { margin: 0; font-family: sans-serif; line-height: 1.5em; } *, *::before, *::after { box-sizing: border-box; } body > section, body > header, body > footer { max-width: 40rem; margin-left: auto; margin-right: auto; } header > h1 { margin: 0; padding: 0; } h1 img { margin-left: 2.5rem; } body > section { margin-bottom: 3rem; } section > * { padding-left: 5rem; padding-right: 5rem; } section > ul { padding-left: 7rem; } h2 { font-size: 1.4em; font-weight: normal; padding-left: 2rem; } h3 { font-size: inherit; font-weight: bold; padding-left: 5rem; } input[type=number]{ max-width: 8ch; } .viewer img.avatar { height: 1.5em; width: 1.5em; background-color: #ccc; border-radius:100%; transform:translateY(25%); } .banner { border-left-width: .7rem; border-left-style: solid; padding-top: .6rem; padding-bottom: .6rem; margin-bottom: 1rem; } body > section > .banner { padding-left: 4.3rem; } .banner.enabled { border-left-color: transparent; background: #bbfbff; } .banner.disabled { border-left-color: transparent; background: #eee; } .success { border-color: #4a2; background: #dec; } .error { border-color: #a24; background: #ecd; } .warning { border-color: #dc4; background: #eec; } form { margin: 1em auto; } .banner form { display: inline; } label { display: inline-block; } footer { font-size: 0.9rem; margin-top: 5rem; margin-bottom: 3rem; display: flex; flex-direction: row; justify-content: center; } footer p { margin: 0 0.7rem; } footer a { color: inherit; } .status-display { font-size: 0.8rem; display: inline-block; margin-left: 1ch; padding: 0 0.4em; vertical-align: top; } .status-display.hidden { display: none; } .status-display.error { background: #ecd; } .status-display.success { display: inline-block; background: #dec; animation: fade-background 2s forwards; } @keyframes fade-background { to { background: transparent; } } .status-display::before { content: ""; display: inline-block; border-radius: 50%; width: 0.8em; height: 0.8em; border-color: inherit; border-style: solid; border-width: 0.4em; margin-right: 0.3em; } .status-display.saving::before { border-color: #666; border-width: 2px; animation: blink infinite 0.6s steps(1) normal; } @keyframes blink { 50% { opacity: 0; } }