/*------------------------------------------------------------------------------ -- // RESETS ------------------------------------------------------------------------------*/ html { box-sizing: border-box; } *, *:before, *:after { box-sizing: border-box; } html, body, div, span, header, nav, main, article, section, aside, footer, h1, h2, h3, h4, h5, h6, p, strong, em, b, i, u, a, ul, ol, li, blockquote, pre, code, img, audio, video, table, caption, thead, tbody, tfoot, tr, th, td, form, input { margin: 0; padding: 0; background: transparent; font-size: 100%; font-weight: normal; vertical-align: baseline; } header, nav, main, article, section, aside, footer, blockquote, pre, img, audio, video, form { display: block; } /* ----------------------------------------------------------------------------- -- // BASE ----------------------------------------------------------------------------- */ :root { --width: 900px; --font-family: Verdana, Arial, sans-serif; --font-scale: 1em; } :root.light { --bg-100:rgb(250, 250, 250); --bg-200: rgb(220, 220, 220); --text-100: rgb(20, 20, 20); --text-200: rgb(100, 100, 100); --ui-100: rgb(180, 180, 180); --ui-200: rgb(80, 80, 80); --highlight-accent: rgb(30, 80, 200); --highlight-earned: rgb(40, 120, 20); --highlight-unearned: rgb(180, 20, 40); } :root.dark { --bg-100:rgb(15, 15, 15); --bg-200: rgb(20, 20, 20); --text-100: rgb(210, 210, 210); --text-200: rgb(100, 100, 100); --ui-100: rgb(32, 32, 32); --ui-200: rgb(96, 96, 96); --highlight-accent: rgb(50, 120, 230); --highlight-earned: rgb(75, 185, 70); --highlight-unearned: rgb(225, 70, 70); } :root.summer { --bg-100:rgb(241, 222, 188); --bg-200: rgb(240, 225, 204); --text-100: #FD673A; --text-200: rgb(216, 143, 47); --ui-100: rgb(255, 186, 68); --ui-200: rgb(241, 112, 166); --highlight-accent: rgb(13, 150, 186); --highlight-earned: rgb(0, 158, 84); --highlight-unearned: rgb(248, 84, 75); } :root.slate { --bg-100:rgb(20, 26, 38); --bg-200: rgb(25, 31, 44); --text-100: rgb(240, 240, 240); --text-200: rgb(115, 115, 133); --ui-100: rgb(35, 48, 75); --ui-200: rgb(23, 102, 138); --highlight-accent: rgb(216, 183, 39); --highlight-earned: rgb(6, 211, 143); --highlight-unearned: rgb(243, 66, 53); } :root.tokyo { --bg-100: #16161f; --bg-200: #1a1b26; --text-100: #c0caf5; --text-200: #737da0; --ui-100: #353d50; --ui-200: #b98331; --highlight-accent: #2ac3de; --highlight-earned: #95cc5a; --highlight-unearned: #f8627d; } :root.solarized { --bg-100:rgb(0, 43, 54); --bg-200: rgb(5, 48, 59); --text-100: rgb(147, 161, 161); --text-200: rgb(131, 148, 150); --ui-100: rgb(20, 83, 99); --ui-200: rgb(42, 161, 152); --highlight-accent: rgb(38, 139, 210); --highlight-earned: rgb(133, 153, 0); --highlight-unearned: rgb(220, 50, 47); } :root.forest { --bg-100:#081c15; --bg-200: #0b241b; --text-100: #cad2c5; --text-200: #2c5e3b; --ui-100: #113a29; --ui-200: #4a7a65; --highlight-accent: #e9d947; --highlight-earned: #4daf15; --highlight-unearned: rgb(207, 95, 20); } body { margin: 0 auto; padding: 0 16px; max-width: var(--width); background-color: var(--bg-100); font-family: var(--font-family); font-size: var(--font-scale); font-weight: normal; line-height: 1.5; color: var(--text-100); } /* ----------------------------------------------------------------------------- -- // BASIC ELEMENTS ----------------------------------------------------------------------------- */ .normal { color: var(--text-100); } .blue { color: var(--highlight-accent); } .green { color: var(--highlight-earned); } .red { color: var(--highlight-unearned); } h1 { font-size: 2em; font-weight: bold; line-height: 1; } h2 { margin-bottom: 1em; font-size: 1.5em; font-weight: bold; line-height: 1; } p { margin-bottom: 1em; text-align: left; } p:last-child { margin-bottom: 0; } a, a:visited { color: var(--text-100); text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; text-decoration-style: solid; text-decoration-color: var(--highlight-accent); } a:hover { color: var(--highlight-accent); text-decoration: underline; text-decoration-style: solid; text-decoration-color: var(--highlight-accent); } ul { margin-left: 1em; padding-left: 1em; } li { list-style-type: square; } blockquote { margin: 1em 0; padding: 12px 16px; border: 1px solid var(--ui-100); background-color: var(--bg-200); font-size: .875em; } /* ----------------------------------------------------------------------------- -- // FORM ----------------------------------------------------------------------------- */ input, label { cursor: pointer; } input { padding-left: 4px; border: 1px solid var(--ui-100); background-color: var(--bg-200); color: var(--highlight-accent); } input:focus { outline: none; border-color: var(--ui-200); } /* Remove up and down arrows */ input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } input[type="number"] { -moz-appearance: textfield; } .calcMethod { margin: 1em 0; } .calcMethod span { margin-right: 1em; } input[type="radio"] { height: 1em; width: 1em; margin: 0 4px 0 8px; } button { margin-top: 4rem; padding: .75em 4em; border: 1px solid var(--ui-100); background-color: var(--bg-200); color: var(--text-100); } button:hover{ border: 1px solid var(--ui-200); cursor: pointer; } /* ----------------------------------------------------------------------------- -- // TABLE ----------------------------------------------------------------------------- */ table { margin: 1em 0; width: 100%; border-collapse: collapse; border: 0; } th { padding: 2px 0 2px 8px; font-weight: bold; text-align: left; vertical-align: middle; } td { padding: 2px 0 2px 8px; vertical-align: middle; } .with-border { padding: 2px 4px; border: 1px solid var(--ui-100); } /* ----------------------------------------------------------------------------- -- // LAYOUT ----------------------------------------------------------------------------- */ header { margin-top: 4rem; } main { margin: 4rem 0; } .flex-container { display: flex; margin: 0; padding: 0; flex-direction: row; gap: 4rem 2rem; flex-wrap: wrap; align-items: flex-start; justify-content: center; } .flex-1 { order: 1; flex-grow: 1; } .flex-2{ order: 2; flex-grow: 1 } .flex-3 { order: 3; flex-grow: 2; } .flex-4 { order: 4; flex-grow: 2; text-align: center; } footer { margin-top: 4rem; margin-bottom: 4rem; padding-top: 2rem; border-top: 1px solid var(--ui-100); font-size: .75em; color: var(--text-200); } select { padding: 0 1em 0 0; margin: 0; border: none; background-color: transparent; font-family: inherit; font-size: inherit; line-height: inherit; cursor: inherit; } #theme-select { float: right; margin-right: 1em; padding: 4px 8px; border: 1px solid var(--ui-200); border-radius: .25em; background-color: var(--bg-200); color: var(--text-200); cursor: pointer; }