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 > .container { padding: 0; } 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; } img.avatar { height: 1.5em; width: 1.5em; background-color: #ccc; border-radius:100%; transform:translateY(25%); } img.avatar.mastodon { border-radius: 20%; } .banner { border-left-width: .7rem; border-left-style: solid; padding-top: .6rem; padding-bottom: .6rem; margin-bottom: 1rem; } body > section > .banner, body > section > .container > .banner { padding-left: 4.3rem; padding-right: 4.3rem; } .banner.enabled { border-left-color: transparent; background: #cde; } .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; text-align: center; } 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; } button { font-size: inherit; } .btn { text-decoration: none; border-radius: .2rem; overflow: hidden; display: inline-block; padding: 0.4em 0.8em; border: none; cursor: pointer; } .btn-small { font-size: 0.8em; padding: 0.2em 0.5em; } .btn.primary { color: white; background-color: #37d; } .btn.secondary { background-color: rgba(255,255,255,0.5); box-shadow: inset 0 0 0 1px rgba(0,0,0,0.3); color: inherit; } .btn:hover { opacity: 0.9; } .btn img { height: 1.1em; transform: translatey(.2em); margin: 0 .3em; } .btn img:first-child, .btn picture:first-child img { margin-left: 0; } .btn-group.inline { display: inline-block; transform: translatey(20%); } .btn-group.right { float: right; margin-left: 1em; } form.btn-group { margin-top: 0; margin-bottom: 0; } .clearfix { clear: both; } section > pre.error-log { overflow: auto; padding-top: 2em; padding-bottom: 2em; opacity: 0.7; } .radiostrip { display: inline-flex; flex-direction: row; flex-wrap: wrap; } .radiostrip .choice { position: relative; } .radiostrip input[type=radio] { position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; } .radiostrip label { padding: .3em .5em; user-select: none; background-color: transparent; border: 1px solid rgba(0,0,0,0.3); } .radiostrip span.choice:first-child label { border-radius: .2rem 0 0 .2rem; } .radiostrip span.choice:last-child label { border-radius: 0 .2rem .2rem 0; } .radiostrip span.choice:not(:first-child) label { border-left-color: transparent; } .radiostrip span.choice:not(:last-child) label { border-right-color: transparent; } .radiostrip input[type=radio]:focus + label { box-shadow: 0 0 5px #38f; } .radiostrip input[type=radio]:checked + label { background: #37d; color: white; border-color: transparent; }