body { margin: 0; font-family: sans-serif; } *, *::before, *::after { box-sizing: border-box; line-height: 1.5em; } 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; padding-right: 2rem; } h3 { font-size: inherit; font-weight: bold; padding-left: 5rem; padding-right: 5rem; } input[type=number]{ max-width: 8ch; } input, select, button { line-height: 1em; } .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; position: sticky; top: 0; float: right; } .status-display.hidden { display: none; } .status-display.error { background: #ecd; } .status-display.success { 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; } } form aside { font-style: italic; font-size: 0.8em; } a.btn { color: white; text-decoration: none; background-color: #555; border-radius: .3em; overflow: hidden; height: 2em; display: inline-block; } a.btn:hover { opacity: 0.9; } .btn > * { display: inline-block; vertical-align: middle; } .btn-header { flex: 0 0; width: 2em; height: 2em; padding-left: 0.1em; background-image: linear-gradient(0deg, rgba(255,255,255,0), rgba(255,255,255,0.2) ); text-align: center; } .btn-header img { margin-top: 0.4em; height: 1.1em; } .btn-content { margin: 0 .5em 0 .1em; }