/*------------------------------------------------------------------------------ -- // 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(255, 252, 240); --bg-200: rgb(242, 240, 229); --text-100: rgb(16, 15, 15); --text-200: rgb(111, 110, 105); --ui-100: rgb(183, 181, 172); --ui-200: rgb(111, 110, 105); --highlight-accent: rgb(32, 94, 170); --highlight-earned: rgb(41, 119, 11); --highlight-unearned: rgb(200, 52, 41); } :root.dark { --bg-100:rgb(16, 15, 15); --bg-200: rgb(28, 27, 26); --text-100: rgb(206, 205, 195); --text-200: rgb(135, 133, 128); --ui-100: rgb(40, 39, 38); --ui-200: rgb(52, 51, 49); --highlight-accent: rgb(63, 150, 231); --highlight-earned: rgb(75, 182, 65); --highlight-unearned: rgb(221, 82, 70); } :root.slate { --bg-100:rgb(20, 26, 38); --bg-200: rgb(25, 31, 44); --text-100: rgb(242, 242, 242); --text-200: rgb(138, 138, 138); --ui-100: rgb(35, 48, 75); --ui-200: rgb(26, 36, 58); --highlight-accent: rgb(27, 183, 255); --highlight-earned: rgb(0, 255, 170); --highlight-unearned: rgb(243, 76, 64); } :root.forest { --bg-100:rgb(20, 26, 38); --bg-200: rgb(25, 31, 44); --text-100: rgb(242, 242, 242); --text-200: rgb(138, 138, 138); --ui-100: rgb(35, 48, 75); --ui-200: rgb(26, 36, 58); --highlight-accent: rgb(27, 183, 255); --highlight-earned: rgb(54, 211, 35); --highlight-unearned: rgb(217, 96, 26); } :root.summer { --bg-100:rgb(255, 245, 228); --bg-200: rgb(252, 235, 205); --text-100: rgb(197, 111, 72); --text-200: rgb(151, 114, 87); --ui-100: rgb(255, 227, 225); --ui-200: rgb(255, 209, 209); --highlight-accent: rgb(27, 183, 255); --highlight-earned: rgb(149, 225, 211); --highlight-unearned: rgb(243, 129, 129); } 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-bottom: 4rem; padding-top: 12px; border-top: 1px solid var(--ui-100); font-size: .875em; 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-100); border-radius: .25em; background-color: var(--bg-200); color: var(--text-200); cursor: pointer; }