:root { --red: #cb0b0b; --blue: #2081c3; --transparent-black: #0008; --xl: 4em; --large: 2em; --medium: 1em; } html, body { background: linear-gradient(300deg, var(--red), var(--blue)); background-size: 100vw 100vh; margin: 0; min-height: 100vh; height: 100vh; font-family: sans-serif; } dialog { background-color: white; border: 0; border-radius: var(--large); opacity: 0; transition: opacity 0.125s ease-out; } dialog::backdrop { backdrop-filter: blur(5px); background-color: var(--transparent-black); transition: background-color 0.125s ease-out; @starting-style { /* This might not work on Firefox because Firefox being behind moment */ background-color: #0000; } } dialog[open] { opacity: 1; @starting-style { /* This might not work on Firefox because Firefox being behind moment */ opacity: 0; } } header { display: flex; justify-content: space-between; } abbr[title] { text-decoration-color: var(--blue); } .align-start { text-align: start; } .inline-block { display: inline-block; } .align-content-center { justify-content: center; align-items: center; } .flex-vcenter { display: flex; flex-direction: column; justify-content: center; width: 100%; height: 100%; } .flex-hcenter { display: flex; flex-direction: row; justify-content: center; width: 100%; height: 100%; } .flex-row { display: flex; flex-direction: row; } .flex-row-reverse { display: flex; flex-direction: row-reverse; } .flex-column { display: flex; flex-direction: column; } .flex-column-reverse { display: flex; flex-direction: column-reverse; } .flex-vevenly { display: flex; flex-direction: column; justify-content: space-evenly; height: 100%; } .wfit-content { width: fit-content; } .half-width { min-width: 50%; } .half-height { min-height: 50%; } .full-height { min-height: 100%; } .medium-height { height: var(--medium); } .separator-bottom { border-bottom: solid 1px var(--transparent-black); } .margin-auto-top { margin-top: auto; } .margin-large-bottom { margin-bottom: var(--large); } .square { aspect-ratio: 1; } .iconContainer { width: 64px; height: 64px; padding: 1px; border: solid 1px var(--transparent-black); } .icon { position: relative; max-width: 64px; max-height: 64px; margin: auto; top: 50%; left: 50%; translate: -50% -50%; } .logo { height: 4em; } .inlineIcon { vertical-align: text-top; } .buttonPanel>* { margin-top: min(var(--xl), 6vh); }