123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340 |
- /* Reset */
- html, body, div, span, applet, object, iframe,
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
- a, abbr, acronym, address, big, cite, code,
- del, dfn, em, img, ins, kbd, q, s, samp,
- small, strike, strong, sub, sup, tt, var,
- b, u, i, center,
- dl, dt, dd, ol, ul, li,
- fieldset, form, label, legend,
- table, caption, tbody, tfoot, thead, tr, th, td,
- article, aside, canvas, details, embed,
- figure, figcaption, footer, header, hgroup,
- menu, nav, output, ruby, section, summary,
- time, mark, audio, video {
- margin: 0;
- padding: 0;
- border: 0;
- font-size: 100%;
- font: inherit;
- vertical-align: baseline;
- }
- * {
- box-sizing: border-box;
- }
- /* Variables */
- :root {
- --desktop-font-size: 1.2rem/1.5;
- --mobile-font-size: 1rem/1.4;
- --text-color: #2d2d2d;
- --muted-color: #858585;
- --link-color: blue;
- --link-color-alt: darkblue;
- --primary-color: lightsteelblue;
- --secondary-color: aliceblue;
- --tertiary-color: whitesmoke;
- --page-baground: #eeeeee;
- --content-background: #ffffff;
- --display-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto, Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji", "Segoe UI Symbol";
- --primary-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto, Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji", "Segoe UI Symbol";
- --secondary-font: "Georgia", serif;
- --monospace-font: monospace;
- --roundness: 0.5rem;
- }
- /* Typography */
- body {
- color: var(--text-color);
- margin: 0 auto;
- max-width: 75ch;
- padding: 0 0.5rem;
- background-color: var(--page-baground);
- }
- body, input, button {
- font: var(--desktop-font-size) var(--primary-font);
- }
- h1,h2,h3,h4,h5,h6,p,blockquote,dl,img,figure {
- margin: 2rem 0;
- }
- h1,h2,h3,h4,h5,h6 { font-weight: bold; line-height: 1.2; font-family: var(--display-font); }
- h1 { font-size: 200%; }
- h2 { font-size: 150%; }
- h3 { font-size: 120%; }
- h4,h5,h6 { font-size: 100%; }
- h5, h6 { text-transform: uppercase; }
- header h1 { border-bottom: 1px solid;}
- p { margin: 2rem 0; }
- a,a:visited { color: var(--link-color); }
- a:hover,a:focus { color: var(--link-color-alt); }
- strong, time, b { font-weight: bold; }
- em, dfn, i { font-style: italic; }
- sub { font-size: 60%; vertical-align: bottom; }
- small { font-size: 80%; }
- blockquote, q {
- background: var(--secondary-color);
- border-left: 10px solid var(--primary-color);
- display: block;
- font-family: var(--secondary-font);
- padding: 1rem;
- border-radius: var(--roundness);
- }
- blockquote p:first-child { margin-top: 0; }
- blockquote p:last-child { margin-bottom: 0; }
- cite {
- font-family: var(--secondary-font);
- font-style: italic;
- font-weight: bold;
- margin-top: 1rem;
- }
- kbd,code,samp,pre,var { font-family: var(--monospace-font); }
- code, pre {
- background: var(--tertiary-color);
- overflow: auto;
- padding: 0.5rem 1rem;
- }
- code pre , pre code { padding: 0; }
- h1+h2,
- h3+h4{
- margin-top: -1.2em;
- margin-bottom: 1.2em;
- color: var(--muted-color)
- }
- /* Elements */
- hr {
- background: var(--text-color);
- border: 0;
- height: 1px;
- margin: 4rem 0;
- }
- img {
- display: block;
- height: auto;
- max-width: 100%;
- }
- figure {
- border: 1px solid var(--primary-color);
- display: inline-block;
- padding: 1rem;
- width: 100%;
- }
- figure img { margin: 0 auto; }
- figure figcaption { font-size: 80%; margin-top: 0.5rem; text-align: center; }
- ul, ol { margin: 2rem 0; padding: 0 0 0 4rem; }
- dl dd { padding-left: 2rem; }
- table {
- border: 1px solid var(--primary-color);
- border-collapse: collapse;
- table-layout: fixed;
- text-align: left;
- width: 100%;
- }
- table caption { margin: 2rem 0; }
- table tr { border-bottom: 1px solid var(--primary-color); }
- table tbody tr:nth-child(even) { background: var(--tertiary-color); }
- table th { background: var(--secondary-color); font-weight: bold; }
- table th, table td { padding: 1rem; }
- table th:not(last-of-type), table td:not(last-of-type) { border-right: 1px solid var(--primary-color); }
- input,
- button {
- appearance: none;
- border: 1px solid var(--muted-color);
- display: block;
- margin: 0.5rem 0;
- padding: 0.8rem;
- border-radius: var(--roundness);
- background-color: var(--page-background);
- color: var(--text-color);
- }
- input:focus,
- input:active {
- background-color: var(--secondary-color); border-color: var(--primary-color);
- }
- input[type=button],
- input[type=submit],
- input[type=reset],
- button {
- padding: 0.2rem 0.8rem;
- background-color: var(--tertiary-color);
- display: inline-block;
- }
- input[type=button]:hover,
- input[type=submit]:hover,
- input[type=reset]:hover,
- button:hover {
- background-color: var(--secondary-color);
- }
- input[type=button]:active,
- input[type=submit]:active,
- input[type=reset]:active,
- button:active {
- background-color: var(--secondary-color);
- border-color: var(--primary-color);
- color: var(--muted-color);
- }
- input[type=button]:focus,
- input[type=submit]:focus,
- input[type=reset]:focus,
- button:focus {
- border-color: var(--primary-color);
- }
- header[role=banner] {
- background: var(--content-background);
- background-position: center;
- background-size: cover;
- margin-top: -32px;
- padding-top: 32px;
- padding-bottom: 32px;
- margin-bottom: 32px;
- width: 100vw;
- margin-left: calc(-50vw + min(75ch, 100vw)/2 - 0.5rem);
- padding-left: calc(50vw - min(75ch, 100vw)/2 + 1.5rem);
- padding-right: calc(50vw - min(75ch, 100vw)/2 + 1.5rem);
- box-shadow: 0px 0px 10px rgba(75, 75, 75, 0.6);
- }
- article,
- section {
- background-color: var(--content-background);
- border-radius: var(--roundness);
-
- margin: 0 0 1em;
- width: 100%;
-
- page-break-inside: avoid;
- break-inside: avoid-column;
- box-sizing: border-box;
- padding: 8px 18px 18px 18px;
- border: 1px solid var(--tertiary-color);
- overflow: hidden;
- }
- section > img:first-child {
- margin: -8px -18px 8px -18px;
- max-width: calc(100% + 36px);
- }
- /* Classes */
- .muted {
- color: var(--muted-color);
- }
- .border-primary {
- border-color: var(--primary-color);
- }
- .border-secondary {
- border-color: var(--secondary-color);
- }
- .border-tertiary {
- border-color: var(--tertiary-color);
- }
- .background-primary {
- background-color: var(--primary-color);
- }
- .background-secondary {
- background-color: var(--secondary-color);
- }
- .background-tertiary {
- background-color: var(--tertiary-color);
- }
- section ul.compressed {
- margin-top: auto;
- }
- ul.compressed {
- list-style: none;
- padding-left: 0px;
- margin: 0px;
- }
- ul.compressed li {
- display: inline-block;
- margin-right: 18px;
- margin-bottom: 8px;
- }
- .larger {
- width: 130%;
- margin-left: -15%;
- }
- section.subtle {
- background-color: transparent;
- border-color: transparent;
- }
- .tight {
- margin-bottom: 0px;
- margin-top: 0px;
- }
- span.icon {
- text-decoration: none !important;
- display: inline-block;
- margin-right: 1ch;
- }
- /* Mobile Styling */
- @media screen and (max-width: 75ch) {
- body, input {
- font: var(--mobile-font-size) var(--primary-font);
- }
- table { table-layout: auto; }
- }
- @media screen and (max-width: 130ch) {
- .larger {
- margin-left: 0px;
- width: auto;
- }
- }
- /* Dark mode support */
- @media (prefers-color-scheme: dark) {
- :root {
- --text-color: #fff;
- --muted-color: #c5c5c5;
- --link-color: orange;
- --link-color-alt: yellow;
- --primary-color: orange;
- --secondary-color: black;
- --tertiary-color: #2d2d2d;
- --page-baground: #2b2b2b;
- --content-background: #191919;
- }
- header[role=banner] {
- box-shadow: inset 0px -3px 5px rgba(75, 75, 75, 1);
- }
- }
|