:root { --tul-color: #5948AD; --fs-color: #888B95; --ft-color: #924C14; --fp-color: #0076D5; --ef-color: #65A812; --fua-color: #006443; --fm-color: #EA7603; --fzs-color: #00B0BE; --cxi-color: #C20019; --accent-color: var(--tul-color); --background-color: color-mix(in srgb, var(--accent-color) 5%, white); --shadow-color: color-mix(in srgb, var(--accent-color), gray); --button-color: var(--background-color); --button-hover-color: white; --button-border-color: color-mix(in srgb, var(--accent-color), white); --button-accent-color: var(--accent-color); --button-accent-hover-color: color-mix(in srgb, var(--accent-color), white 25%); } [data-faculty= "fs"] { --accent-color: var( --fs-color); } [data-faculty= "ft"] { --accent-color: var( --ft-color); } [data-faculty= "fp"] { --accent-color: var( --fp-color); } [data-faculty= "ef"] { --accent-color: var( --ef-color); } [data-faculty="fua"] { --accent-color: var(--fua-color); } [data-faculty= "fm"] { --accent-color: var( --fm-color); } [data-faculty="fzs"] { --accent-color: var(--fzs-color); } [data-faculty="cxi"] { --accent-color: var(--cxi-color); } html, body { width: 100%; height: 100%; margin: 0; font-family: "Noto Sans", sans-serif; font-size: 20px; } body { display: flex; align-items: center; justify-content: center; background-color: var(--background-color); transition: background-color 0.25s; } .main-container { padding: 24px; width: 600px; height: 500px; box-shadow: 0 0 20px var(--shadow-color); background-color: white; border-radius: 16px; transition: box-shadow 0.25s; } .main-content { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: space-between; text-align: center; opacity: 1; transition: opacity 0.25s; } .main-content > * { flex-grow: 0; } h1 { margin: 0; font-weight: bold; text-align: center; font-size: 32px; } .paragraphs { display: flex; flex-direction: column; gap: 16px; } .paragraphs > p { margin: 0; } a, a:visited, a:active { color: black; } .horizontal-list { width: 100%; display: flex; flex-direction: row; justify-content: center; gap: 8px; } .horizontal-list > .filler { flex-grow: 1; } button, .button { box-sizing: border-box; flex-grow: 0; padding: 8px 16px; text-decoration: none; font-family: inherit; font-size: 100%; border: 1px var(--button-border-color) solid; color: black; background-color: var(--button-color); border-radius: 8px; cursor: pointer; transition: color 0.25s, background-color 0.25s, border 0.25s; } button:hover, .button:hover { background-color: white; } button.wide, .button.wide { width: 100%; } button.narrow, .button.narrow { padding: 4px 16px; font-size: 16px; width: 100%; text-align: left; } button.expand, .button.expand { flex-grow: 2; flex-basis: 0; } button.accent, .button.accent { color: white; border: 1px var(--button-accent-color) solid; background-color: var(--button-accent-color); } button.accent:hover, .button.accent:hover { background-color: var(--button-accent-hover-color); border: 1px var(--button-accent-hover-color) solid; } button:disabled, .button:disabled { border: 1px gray solid; background-color: lightgray; color: black; cursor: not-allowed; } button:disabled:hover, .button:disabled:hover { border: 1px gray solid; background-color: lightgray; color: black; } .vertical-spacer { height: 16px } .vertical-list { flex-grow: 1; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; } .hint { color: gray; font-style: italic; font-size: 16px; } .slide-animation { position: relative; opacity: 1; left: 0; transition: left 0.25s, opacity 0.25s; } .slide-from-left { animation: 0.25s forwards from-left; } .slide-from-right { animation: 0.25s forwards from-right; } .slide-to-left { animation: 0.25s forwards to-left; } .slide-to-right { animation: 0.25s forwards to-right; } @keyframes from-left { from { opacity: 0; left: -16px; } to { opacity: 1; left: 0; } } @keyframes from-right { from { opacity: 0; left: 16px; } to { opacity: 1; left: 0; } } @keyframes to-left { from { opacity: 1; left: 0; } to { opacity: 0; left: -16px; } } @keyframes to-right { from { opacity: 1; left: 0; } to { opacity: 0; left: 16px; } } input[type="checkbox"] { width: 16px; margin: 0; } label { flex-grow: 1; text-align: left; user-select: none; } input[type="text"] { flex-grow: 0; padding: 8px 16px; font-family: inherit; font-size: 100%; border: 1px var(--button-border-color) solid; color: black; background-color: var(--button-color); border-radius: 8px; box-sizing: border-box; width: 100%; } input[type="text"]::placeholder { color: gray; } input[type="text"]:disabled::placeholder { color: lightgray; } input[type="text"]:disabled { background-color: white; color: lightgray; } select { flex-grow: 0; padding: 8px 16px; font-family: inherit; font-size: 100%; border: 1px var(--button-border-color) solid; color: black; background-color: var(--button-color); border-radius: 8px; box-sizing: border-box; width: 100%; } .zmp-logo { position: absolute; bottom: 20px; height: 1em; }