html { box-sizing: border-box; } *, *::before, *::after { border: 0 none; font-weight: inherit; font-family: inherit; font-style: inherit; font-size: 100%; margin: 0; outline: 0; padding: 0; vertical-align: baseline; } html { scroll-padding-top: 5em; } body { background-color: var(--aft); color: var(--fore); font-size: 16px; line-height: 1.8em; letter-spacing: 0.016em; font-family: var(--content-font); } a, summary { color: var(--fore-link); text-decoration: underline; } a:hover, a:focus, summary:hover, summary:focus { color: var(--fore-link-alt); background-color: var(--aft-link-alt); } :focus { outline: 2px dashed var(--fore-link-alt); border-radius: 5px; } /* General */ @media (prefers-reduced-motion: no-preference) { body, html { scroll-behavior: smooth; } .post-list .list-item, main img, main blockquote, main .note { transition: all 0.2s ease-in; scale: calc(0.75 + (var(--shown, 1) * 0.25)); } } blockquote { color: var(--fore-block); background-color: var(--aft-block); font-size: 1.3rem; font-style: italic; padding: 0.1px 1.2em; position: relative; box-shadow: var(--box-shadow); margin: var(--paragraph-margin) 0; } blockquote::after { content: '“'; color: var(--icon-block); font-size: 5em; position: absolute; font-family: var(--heading-font); transform: translate(-50%, -50%); top: 3.4rem; } blockquote > *:first-child { text-indent: 2em; } blockquote cite { font-style: initial; font-weight: bold; display: block; margin-top: 1em; text-align: right; } blockquote cite::before { content: ' ―'; padding-right: 0.5em; } em { font-style: italic; } h1, h2, h3, h4, h5, h6 { font-family: var(--heading-font); margin: 1.5em 0 0.6em 0; color: var(--fore-headings); } h1 { font-size: 3em; font-size: clamp(2em, 4vw, 3em); } main h1 { margin-top: 0.1em; } h2 { font-size: 2.6em; font-size: clamp(1.8em, 3.5vw, 2.6em); } h3 { font-size: 2.3em; font-size: clamp(1.6em, 3vw, 2.3em); } h4, h5, h6 { font-size: 2em; font-size: clamp(1.4em, 2.5vw, 2em); } hr { border: 0.5px dashed var(--fore); opacity: 0.5; width: 80%; margin: var(--paragraph-margin) auto; } img { max-width: 100%; } p { margin: var(--paragraph-margin) 0; } strong { font-weight: bold; } table { border-collapse: collapse; border: 0.5px solid var(--fore); width: 100%; } thead tr { background-color: var(--aft-table-head); color: var(--fore-table-head); } th, td { border: 0.5px solid var(--fore); padding: 0.2em 0.3em; } tbody tr { background-color: var(--aft-table-row-even); color: var(--fore-table-row-even); } tbody tr:nth-child(odd) { background-color: var(--aft-table-row-odd); color: var(--fore-table-row-odd); } /* Skip Links */ .skip-links { position: absolute; } .skip-links a { clip: rect(0 0 0 0); background-color: var(--aft); min-width: 20vw; overflow: hidden; padding: 1rem; position: absolute; z-index: 15; text-align: center; display: inline-block; height: 1px; margin: -1px; width: 1px; } .skip-links a:focus { clip: auto; height: auto; margin: 0.2em; overflow: visible; width: auto; } /* Header */ body > header { color: var(--fore-head); background-color: var(--aft-head); text-align: center; font-size: 2rem; font-size: clamp(1.2em, 4vw, 2em); padding: 1rem; position: sticky; top: 0; z-index: 10; } body > header a { color: var(--link-head); text-decoration: none; } body > header a:hover, body > header a:focus { color: var(--link-alt-head); background-color: unset; } .site-title { letter-spacing: -1px; text-transform: uppercase; margin: 0 30px; display: block; } .navigation-icon { display: none; position: fixed; top: 10px; left: 10px; stroke: var(--link-head); } .search-icon { position: fixed; top: 10px; right: 10px; stroke: var(--link-head); } /* Footer */ body > footer { text-align: center; padding: 0.5rem 0; width: 100%; color: var(--fore-head); background-color: var(--aft-head); margin: var(--block-gap) auto 0 auto; } /* Breadcrumbs */ .site-breadcrumbs ol { font-size: 0.8rem; background-color: var(--aft-breadcrumb); color: var(--fore-breadcrumb); padding: 0 1em; } .site-breadcrumbs li { display: inline-block; padding: 0.2em; } .site-breadcrumbs li::before { content: '>' } .site-breadcrumbs li:first-child::before { content: '' } .site-breadcrumbs a[aria-current] { color: var(--fore); text-decoration: none; } /* Content Group */ .content-group { display: grid; grid-template-columns: var(--navigation-width) auto; gap: var(--grid-gap); max-width: var(--grid-max-width); width: var(--grid-width); margin: var(--block-gap) auto var(--block-gap) auto; min-height: 75vh; } /* Navigation */ nav.site-nav.sticky { align-self: start; position: sticky; } nav.site-nav h2 { margin-top: 0.1em; display: none; } nav.site-nav li { list-style: none; } nav.site-nav a { text-indent: var(--marker-size); width: calc(100% - 2rem); display: inline-block; padding: 0.5rem 1rem; } nav.site-nav li.has-children summary span { text-indent: 0; width: calc(100% - 2rem - var(--marker-size)); display: inline-block; padding: 0.5rem 1rem; text-decoration: underline; } nav.site-nav li.has-children ul a { width: calc(100% - 2rem); text-indent: calc(var(--marker-size) * 2); } nav.site-nav a[aria-current] { font-weight: bold; } details summary { cursor: pointer; } details summary::-webkit-details-marker, details summary::marker { font-size: var(--marker-size); width: 1em; } /* Overlay (Mobile Navigation, Search) */ .overlay { position: fixed; top: 0; width: calc(100% - 2em); height: calc(100% - 7rem); max-height: 100vh; background-color: var(--aft); padding : 5rem 1em 2rem 1em; overflow-y: auto; } .overlay a, .overlay summary { border-bottom: 1px solid var(--fore-link); } /* Content */ main { max-width: calc(var(--grid-max-width) - var(--navigation-width) - var(--grid-gap)); width: calc(var(--grid-width) - var(--navigation-width) - var(--grid-gap)); } main ul, main ol { margin: var(--paragraph-margin) 0 var(--paragraph-margin) 1.2rem; } main ul ol, main ul ul, main ol ol, main ol ul { margin: 0 0 0 1.2rem; } li::marker { color: var(--fore-headings); } /* Jekyll Post List */ .post-list { margin: 0; } .post-list .list-item { list-style: none; color: var(--fore-block); background-color: var(--aft-block); position: relative; box-shadow: var(--box-shadow); margin-bottom: 1.5rem; } .post-list .list-item-content { padding: 1rem; } .post-list .list-item-content h2 { margin: 0.5rem 0; } .post-list .list-item img { width: 100%; aspect-ratio: 16/9; object-fit: cover; } .post-paging { margin-top: 2rem; text-align: center; } .post-paging > * { display: inline-block; padding: 0.3rem; } /* Jekyll Post */ .post-meta { display: flex; align-items: center; } .post-meta .author-image { max-width: 50px; margin-right: 1rem; } .post-meta > .author-info { display: flex; align-items: center; } .post-meta time { display: block; } /* Authors */ .author-image { border-radius: 50%; aspect-ratio: 1/1; object-fit: cover; max-width: 150px; float: right } /* .author-profile { display: flex; } */ /* Code Block */ code { background-color: var(--aft-block); font-family: var(--code-font); font-weight: bold; } pre.highlight { border-left: 5px solid var(--fore); padding: 1rem; font-family: var(--code-font); overflow: auto; margin: 1em 0; } pre.highlight code { font-weight: unset; background-color: unset; } /* Site Search */ form.site-search { padding: 1em; } form.site-search div { display: grid; grid-template-columns: repeat(3, auto); gap: 1em; } form.site-search label > * { padding: 0.2em; } form.site-search button { display: none; } .site-search-results { font-size: 1.3rem; } .site-search-results a { display: block; padding: 0.2em; } /* Custom Divisions */ .note { color: var(--fore-block); background-color: var(--aft-block); font-size: 1.3rem; padding: 0.1px 1.2em; position: relative; box-shadow: var(--box-shadow); } .simple-grid { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 1rem; } .simple-grid > * > * { width: 100%; } /* Smaller Screens */ @media (max-width: 860px) { /* Show the Hamburger Icon */ .navigation-icon { display: block; } .site-breadcrumbs ol { text-align: center; } /* Content First on Small Screens */ .content-group { grid-template-columns: auto; grid-template-rows: 1fr auto; } nav.site-nav { grid-row: 2; } .content-group > main { grid-row: 1; } main { max-width: unset; width: var(--grid-width); } nav.site-nav h2 { display: block; } /* Collapse Paging */ .post-paging > * { display: none; } .post-paging > *:first-child { display: inline-block; } .post-paging > *:last-child { display: inline-block; } /* */ form.site-search div { grid-template-columns: repeat(1, auto); } }