/* Defaults */ :root { --font-family: "Fraunces", serif; --font-family-headline: "Fraunces", serif; --font-family-ui: "Manrope", sans-serif; --font-variation-default: "opsz" 18, "wght" 310, "SOFT" 40, "WONK" 0; --font-variation-ui: "wght" 500; --font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace; --meta-font-family: "Manrope", sans-serif; --meta-font-size: var(--step--1); --meta-font-style: normal; --meta-font-variation-settings: "wght" 350; --wide-letter-spacing: 15%; } /* Design Tokens */ :root { /* Colors */ --color-gray-20: #e0e0e0; --color-gray-90: #333333; --card-color: rgba(250, 250, 250, 1); --contrast-color: rgb(2, 120, 96); --contrast-color-translucent: rgba(2, 94, 74, 0.5); --background-color: rgb(235, 245, 240); --rss-orange: rgb(255, 152, 0); --contrast-color-tint: rgb(225, 240, 236); --nav-footer-color: white; --text-color: var(--color-gray-90); --text-color-link: var(--text-color); --text-color-tag: var(--contrast-color); /* Font Size Scaling Tokens - https://utopia.fyi/type/calculator?c=320,20,1.2,888,24,1.25,8,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */ --step--2: clamp(0.8681rem, 0.8163rem + 0.259vw, 0.96rem); --step--1: clamp(1.0417rem, 0.9525rem + 0.446vw, 1.2rem); --step-0: clamp(1.25rem, 1.1092rem + 0.7042vw, 1.5rem); --step-1: clamp(1.5rem, 1.2887rem + 1.0563vw, 1.875rem); --step-2: clamp(1.8rem, 1.4937rem + 1.5317vw, 2.3438rem); --step-3: clamp(2.16rem, 1.7264rem + 2.1681vw, 2.9297rem); --step-4: clamp(2.592rem, 1.9891rem + 3.0144vw, 3.6621rem); --step-5: clamp(3.1104rem, 2.2838rem + 4.1331vw, 4.5776rem); --step-6: clamp(3.7325rem, 2.6116rem + 5.6044vw, 5.722rem); --step-7: clamp(4.479rem, 2.9727rem + 7.5312vw, 7.1526rem); --step-8: clamp(5.3748rem, 3.3658rem + 10.0449vw, 8.9407rem); /* Space Scaling Tokens - https://utopia.fyi/space/calculator?c=320,20,1.2,888,24,1.25,8,2,&s=0.75|0.5|0.25,1.5|2|3|4|5|6|7|8|9|10|11|12,s-l&g=s,s,l,12 */ --space-3xs: clamp(0.3125rem, 0.2773rem + 0.1761vw, 0.375rem); --space-2xs: clamp(0.625rem, 0.5546rem + 0.3521vw, 0.75rem); --space-xs: clamp(0.9375rem, 0.8319rem + 0.5282vw, 1.125rem); --space-s: clamp(1.25rem, 1.1092rem + 0.7042vw, 1.5rem); --space-m: clamp(1.875rem, 1.6637rem + 1.0563vw, 2.25rem); --space-l: clamp(2.5rem, 2.2183rem + 1.4085vw, 3rem); --space-xl: clamp(3.75rem, 3.3275rem + 2.1127vw, 4.5rem); --space-2xl: clamp(5rem, 4.4366rem + 2.8169vw, 6rem); --space-3xl: clamp(6.25rem, 5.5458rem + 3.5211vw, 7.5rem); --space-4xl: clamp(7.5rem, 6.6549rem + 4.2254vw, 9rem); --space-5xl: clamp(8.75rem, 7.7641rem + 4.9296vw, 10.5rem); --space-6xl: clamp(10rem, 8.8732rem + 5.6338vw, 12rem); --space-7xl: clamp(11.25rem, 9.9824rem + 6.338vw, 13.5rem); --space-8xl: clamp(12.5rem, 11.0915rem + 7.0423vw, 15rem); --space-9xl: clamp(13.75rem, 12.2007rem + 7.7465vw, 16.5rem); --space-10xl: clamp(15rem, 13.3099rem + 8.4507vw, 18rem); /* One-up pairs */ --space-3xs-2xs: clamp(0.3125rem, 0.066rem + 1.2324vw, 0.75rem); --space-2xs-xs: clamp(0.625rem, 0.3433rem + 1.4085vw, 1.125rem); --space-xs-s: clamp(0.9375rem, 0.6206rem + 1.5845vw, 1.5rem); --space-s-m: clamp(1.25rem, 0.6866rem + 2.8169vw, 2.25rem); --space-m-l: clamp(1.875rem, 1.2412rem + 3.169vw, 3rem); --space-l-xl: clamp(2.5rem, 1.3732rem + 5.6338vw, 4.5rem); --space-xl-2xl: clamp(3.75rem, 2.4824rem + 6.338vw, 6rem); --space-2xl-3xl: clamp(5rem, 3.5915rem + 7.0423vw, 7.5rem); --space-3xl-4xl: clamp(6.25rem, 4.7007rem + 7.7465vw, 9rem); --space-4xl-5xl: clamp(7.5rem, 5.8099rem + 8.4507vw, 10.5rem); --space-5xl-6xl: clamp(8.75rem, 6.919rem + 9.1549vw, 12rem); --space-6xl-7xl: clamp(10rem, 8.0282rem + 9.8592vw, 13.5rem); --space-7xl-8xl: clamp(11.25rem, 9.1373rem + 10.5634vw, 15rem); --space-8xl-9xl: clamp(12.5rem, 10.2465rem + 11.2676vw, 16.5rem); --space-9xl-10xl: clamp(13.75rem, 11.3556rem + 11.9718vw, 18rem); /* Custom pairs */ --space-s-l: clamp(1.25rem, 0.2641rem + 4.9296vw, 3rem); /* Fluid Grid Tokens - https://utopia.fyi/grid/calculator?c=320,20,1.2,888,24,1.25,8,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,s,l,12 */ --grid-max-width: 55.5rem; --grid-gutter: var(--space-s-s, clamp(1.25rem, 1.1092rem + 0.7042vw, 1.5rem)); --grid-columns: 12; /* Utilities */ --span-grid: 1 / span 12; --color-metadata: var(--contrast-color); --font-family-metadata: var(--font-family-ui); --line-height-metadata: calc(var(--step--2) * 0.25 + var(--step--2)); --font-size-metadata: var(--step--2); --letter-spacing-metadata: var(--wide-letter-spacing); --text-transform-metadata: uppercase; --font-variation-settings-metadata: "wght" 500; /* Corners */ --border-radius: 0.3rem; --large-rounded-radius: 1rem; /* Transitions */ --transition-normal: all 0.3s allow-discrete; /* Links */ --link-decoration-thickness: 0.15rem; /* Borders */ --border-details: 1px solid var(--color-gray-20); --border-header-footer: 1px solid var(--contrast-color); --border-hr: 0.5px solid var(--color-gray-20); --border-nav: 1px solid var(--background-color); --border-nav-currentpage: var(--space-xs-s) solid var(--background-color); --border-nav-hover: var(--space-xs-s) solid var(--background-color); /* Shadow */ --box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2); } @media (prefers-color-scheme: dark) { :root { --color-gray-20: #253848; --color-gray-90: #dad8d8; --card-color: rgb(0,50,40); --contrast-color: rgb(4, 196, 158); --contrast-color-tint: rgb(21, 58, 56); --contrast-color-translucent: rgba(4, 196, 158, 0.5); --nav-footer-color: rgb(0,50,40); /* --text-color is assigned to --color-gray-_ above */ --text-color-link: var(--text-color); --background-color: rgb(24, 27, 32); } .socialLinks a li img { filter: auto; } } /* Global stylesheet */ * { box-sizing: border-box; } html, body { background-color: var(--background-color); color: var(--text-color); font-family: var(--font-family); font-variation-settings: var(--font-variation-default); font-variant-ligatures: normal; margin: 0; padding: 0; } html { font-size: 13px; height: 100%; } abbr { cursor: help; text-decoration-thickness: var(--link-decoration-thickness); text-decoration-color: var(--contrast-color); } article.post { & > p:first-of-type { margin-top: var(--space-xl); } } input:not(.answer, .siteSettingsToggle input), textarea { background-color: var(--background-color); border: var(--border-details); border-color: var(--contrast-color); border-radius: var(--border-radius); color: var(--text-color); font-family: var(--font-family); font-size: var(--step-0); font-variation-settings: var(--font-variation-default); margin-block: 0 1lh; min-height: var(--space-l); width: 100%; &:focus { box-shadow: 0 0 0 2px var(--contrast-color); outline: none; } &::placeholder { font-style: italic; } } label { display: block; margin-bottom: var(--space-3xs); } blockquote { background-color: var(--contrast-color-tint); border-radius: var(--large-rounded-radius); border-top-left-radius: 0; color: var(--contrast-color); font-style: italic; font-variation-settings: "opsz" 18, "wght" 360, "SOFT" 40, "WONK" 0; margin-left: 0; margin-right: 0; padding: var(--space-m) var(--space-l) var(--space-3xs) var(--space-l); position: relative; z-index: -1; & p { padding-left: var(--space-xl); } } blockquote:before { color: var(--contrast-color); content: "“"; font-size: 10rem; font-variation-settings: "opsz" 72, "wght" 360, "SOFT" 0, "WONK" 0; margin-left: calc(var(--space-s) * -1); margin-top: calc(var(--space-s) * -1); position: absolute; } .blogroll { h2:first-of-type { padding-top: 0; } } body { container-type: inline-size; display: flex; flex-direction: column; font-size: var(--step-0); height: 100cqh; padding-inline: var(--grid-gutter); /*! width: 100vw; */ } button { align-items: center; display: flex; flex-flow: row nowrap; height: var(--space-m-l); width: fit-content; } .buttonContainer { display: flex; flex-flow: row wrap; column-gap: var(--space-xs); margin-bottom: var(--space-m); button { margin-top: var(--space-s); & svg { fill: var(--background-color); height: var(--space-2xs); margin-right: var(--space-2xs); width: var(--space-2xs); } } &.galleryButtons { margin-top: calc(var(--space-l) * -1); width: 100%; } } button, .nav-item { font-family: var(--font-family-ui); } .indexFeature:not(:last-child) { padding-bottom: var(--space-l); } mark { background-color: var(--contrast-color); } .now { display: grid; grid-column: var(--span-grid); } ol { padding-left: 0; } section { container-type: inline-size; grid-column: var(--span-grid); } ::selection { background: var(--contrast-color); color: var(--background-color); } .page-block { grid-column: var(--span-grid); margin: 0; } a { text-decoration-color: var(--contrast-color); text-decoration-thickness: var(--link-decoration-thickness); transition: var(--transition-normal); } /* https://www.a11yproject.com/posts/how-to-hide-content/ */ .visually-hidden { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; } footer { border-top: var(--border-header-footer); background-color: var(--nav-footer-color); color: var(--contrast-color); font-family: var(--font-family-ui); font-size: var(--step--1); font-variation-settings: "wght" 500; margin-left: calc(var(--grid-gutter) * -1); margin-right: calc(var(--grid-gutter) * -1); min-height: calc(var(--space-3xl) * 3); padding: var(--space-xl) var(--grid-gutter) 0 var(--grid-gutter); width: calc(100% + var(--grid-gutter) * 2); & .footerContainer { display: grid; gap: var(--grid-gutter); grid-template-columns: repeat(var(--grid-columns), 1fr); margin: auto; max-width: var(--grid-max-width); & .webringsContainer { display: flex; flex-flow: row wrap; gap: var(--space-2xs) var(--space-xs); grid-column: 1 / 4; } & .linksContainer { display: flex; flex-flow: row wrap; gap: var(--space-2xs) var(--space-xs); grid-column: 4 / 12; } } & a[href]:not(.icon-button) { color: var(--contrast-color); text-decoration: none; &:visited { color: var(--contrast-color); } &:hover { color: var(--contrast-color); } } & p { font-size: var(--step--1); grid-column: var(--span-grid); line-height: calc(var(--step--1) * 0.25 + var(--step--1)); margin-bottom: 0; } & .webring { display: inline; } } h1, h2, h3 { color: var(--text-color); margin: 0; } h1 { color: var(--contrast-color); font-family: var(--font-family-headline); font-size: var(--step-5); font-style: italic; font-variation-settings: "opsz" 100, "wght" 400, "SOFT" 20, "WONK" 1; line-height: calc(var(--step-5) * 0.25 + var(--step-5)); padding-bottom: var(--space-l); text-wrap: balance; } h2 { color: var(--contrast-color); font-family: var(--font-family-ui); font-size: var(--step-0); font-variation-settings: "wght" 450; letter-spacing: var(--wide-letter-spacing); line-height: calc(var(--step-0) * 0.25 + var(--step-0)); margin-block: 0 0.5lh; text-transform: uppercase; text-wrap: pretty; } h3 { font-family: var(--font-family-ui); font-size: var(--step--1); font-variation-settings: "wght" 700; letter-spacing: var(--wide-letter-spacing); line-height: calc(var(--step--1) * 0.5 + var(--step--1)); text-transform: uppercase; text-wrap: pretty; &::before { color: var(--contrast-color); content: "🢒"; margin-left: calc(1em * -1); } } h4 { font-family: var(--font-family-ui); font-size: var(--step--2); font-variation-settings: "wght" 600; letter-spacing: var(--wide-letter-spacing); line-height: calc(var(--step--2) * 0.5 + var(--step--2)); text-transform: uppercase; text-wrap: pretty; } ul:not(.taglist) { list-style-type: "◦"; margin-left: -1.7em; & ::marker { color: var(--contrast-color); } & li { line-height: calc(var(--step-1) * 0.5 + var(--step-1)); padding-left: 0.5em; } } main { display: grid; flex: 1; gap: var(--grid-gutter); grid-template-columns: repeat(var(--grid-columns), 1fr); margin: auto; max-width: var(--grid-max-width); margin-top: var(--space-5xl); padding-bottom: var(--space-3xl); width: 100%; } main > p > img, main > p > a > img { width: 100%; padding-top: var(--space-l); } pre { grid-column: var(--span-grid); } p:not(.quizQuestion, .isso-input-wrapper) { margin-block: 0 1lh; } p, li { font-size: var(--step-0); line-height: calc(var(--step-0) * 0.5 + var(--step-0)); text-wrap: pretty; } figure { margin: 0 calc(((100cqw - (var(--grid-gutter) * 11)) / 12) * -1); /* Expand beyond text grid */ margin-block: 1lh 1lh; } figure > a > img { cursor: zoom-in; } figure > a > img, figure > div > iframe { border-radius: 1em; border-top-left-radius: 0; padding: 0; width: 100%; } html.barebones, body.barebones { background-color: var(--background-color); text-align: center; } figcaption:not(.mplayerInfo) { font-size: var(--step--1); font-style: italic; padding-top: var(--space-3xs); text-align: center; strong { font-variation-settings: "wght" 600; } } button { background-color: var(--contrast-color); border: none; border-radius: var(--border-radius); color: var(--background-color); font-size: var(--step--2); font-variation-settings: var(--font-variation-ui); letter-spacing: var(--wide-letter-spacing); margin: var(--space-xs) 0 0 0; padding: 0 var(--space-xs); text-transform: uppercase; transition: var(--transition-normal); white-space: nowrap; } button > img { max-width: 1em; margin-right: 0.5em; margin-bottom: -0.1rem; } a { &:has(button) { text-decoration: none; } &:has(button.full-width) { display: inline-grid; grid-column: var(--span-grid); } } button:hover { background-color: var(--color-gray-90); cursor: pointer; } a[href]:not(.icon-button) { color: var(--text-color-link); } a[href]:visited { color: var(--text-color-link); } a[href]:hover:not(.icon-button), a[href]:active:not(.icon-button) { color: var(--contrast-color); } .links-nextprev { padding: 0 0 var(--space-m) 0; margin-top: var(--space-m); } /* Tables */ table { border: 2px solid var(--contrast-color); border-collapse: separate; border-left: 0; border-radius: var(--space-xs); border-spacing: 0px; margin-block: 0 1lh; width: 100%; } td { border-top: 2px solid var(--contrast-color); } th, td { font-style: italic; padding: var(--space-2xs); text-align: left; vertical-align: top; border-left: 2px solid var(--contrast-color); } thead { border-collapse: separate; border-color: inherit; color: var(--contrast-color); display: table-header-group; font-family: var(--font-family-ui); font-size: var(--step--1); font-variation-settings: "wght" 800; letter-spacing: var(--wide-letter-spacing); text-transform: uppercase; vertical-align: middle; & tr th { background-color: var(--contrast-color-tint); } & th { font-style: normal; } } tr { display: table-row; vertical-align: inherit; border-color: inherit; } thead tr th:first-child { border-radius: var(--space-xs) 0 0 0; } tbody:last-child tr:last-child td:first-child { border-radius: 0 0 0 var(--space-xs); } thead tr th:last-child { border-radius: 0 var(--space-xs) 0 0; } /* Footnotes */ .footnotes-list { font-style: italic; margin-block: 1lh; > li, > li > p { font-size: var(--step--1); line-height: calc(var(--step--1) * 0.25 + var(--step--1)); } } .footnote-item::marker { font-style: normal; } .footnote-ref { > a { font-size: var(--step--2); text-decoration: none; } :before { content: " "; } } hr { border: var(--border-hr); width: 100%; } /* Header */ header { container-type: inline-size; } /* Post Metadata */ article > .post-image, .hero > a > .post-image { border-radius: 1em; border-top-left-radius: 0; cursor: zoom-in; height: 100%; margin: 0 calc(((100cqw - (var(--grid-gutter) * 11)) / 12) * -1); /* Expand beyond text grid */ margin-block: 1lh 1lh; max-width: calc(((100cqw) / 12) * 14); width: calc(((100cqw) / 12) * 14); } .post-synopsis { font-size: var(--step-1); } .post-time-author, .post-taglist { color: var(--color-metadata); display: block; font-family: var(--font-family-metadata); font-size: var(--font-size-metadata); font-variation-settings: var(--font-variation-settings-metadata); letter-spacing: var(--letter-spacing-metadata); line-height: var(--line-height-metadata); text-transform: var(--text-transform-metadata); & a[href], a[href]:hover, a[href]:visited { color: var(--contrast-color); text-decoration: none; } } /* Info Box */ .info { border: var(--border-details); border-radius: var(--border-radius); margin-block: 0 1lh; padding: var(--space-s); font-style: italic; p { margin-bottom: 0; } } /* Author / Profile Pic */ .author { align-items: flex-start; display: flex; background-color: var(--contrast-color-tint); border-radius: var(--large-rounded-radius); border-top-left-radius: 0; margin-block: 0 1lh; margin-left: 0; margin-right: 0; padding: var(--space-m) var(--space-l) var(--space-s) var(--space-l); & a { text-decoration: none; & .authorName { color: var(--contrast-color); display: block; font-family: var(--font-family-ui); font-size: var(--step--1); font-variation-settings: "wght" 600; letter-spacing: var(--wide-letter-spacing); text-transform: uppercase; } } & .profilePic { border-radius: var(--large-rounded-radius); border-top-left-radius: 0; height: var(--space-3xl); margin-right: var(--space-s); width: var(--space-3xl); } & p { font-family: var(--font-family-ui); font-size: var(--step--2); font-variation-settings: "wght" 400; line-height: calc(var(--step--2) * 0.25 + var(--step--2)); } } /* Nav */ nav { background-color: var(--nav-footer-color); border-bottom: var(--border-header-footer); left: 0; margin-left: calc(var(--grid-gutter) * -1); margin-right: calc(var(--grid-gutter) * -1); padding-inline: calc(var(--grid-gutter) * 2); position: fixed; top: 0; width: calc(100% + var(--grid-gutter) * 2); z-index: 10; & .nav-elements-grid-container { container-type: inline-size; display: grid; gap: var(--grid-gutter); grid-template-columns: repeat(var(--grid-columns), 1fr); margin: auto; max-width: var(--grid-max-width); & .nav-elements-container { grid-column: 1 / span 12; color: var(--contrast-color); display: flex; align-items: center; justify-content: space-between; & .blog-name { align-self: center; color: var(--contrast-color); font-family: var(--font-family); font-size: var(--step-1); font-variation-settings: "opsz" 80, "wght" 450, "SOFT" 0, "WONK" 1; text-align: center; text-decoration: none; } & .home-link { & .logo { aspect-ratio: 1 / 1; fill: var(--contrast-color); width: var(--space-m-l); height: var(--space-m-l); margin: var(--space-2xs) 0; } } & ul { display: flex; gap: var(--space-xs-s); flex-flow: row wrap; justify-content: flex-end; list-style: none; margin: 0; padding: 0; & .nav-item { align-items: baseline; font-size: var(--step--2); font-variation-settings: var(--font-variation-ui); text-transform: uppercase; letter-spacing: var(--wide-letter-spacing); & a[href], a[href]:visited, a[href]:hover { color: var(--contrast-color); text-decoration: none; } & .nav-icon { fill: var(--contrast-color); height: var(--space-2xs); margin-right: 0.25rem; width: var(--space-2xs); } } } } } } sup { line-height: 0; } /* Post list */ .postlist { & .postlist-item-container { display: flex; flex-flow: column nowrap; gap: var(--space-s); margin-top: var(--space-xl); & .postlist-item { align-items: flex-start; display: flex; flex-flow: row nowrap; justify-content: flex-start; width: 100%; & .post-copy { display: flex; flex-flow: column wrap; flex: 1; padding-right: var(--space-xl); & > p { margin: var(--space-xs) 0; } & p { } & .post-metadata { & .post-metadata-copy { & p, p a { color: var(--color-metadata); font-family: var(--font-family-metadata); font-size: var(--font-size-metadata); letter-spacing: var(--letter-spacing-metadata); text-decoration: none; text-transform: var(--text-transform-metadata); } } } } & .postlist-link { font-size: var(--step-5); padding-right: 0.5em; text-decoration: none; & h3 { color: var(--contrast-color); font-family: var(--font-family-ui); font-size: var(--step--1); font-variation-settings: "wght" 700; letter-spacing: var(--wide-letter-spacing); line-height: calc(var(--step--1) * 0.5 + var(--step--1)); text-transform: uppercase; &:before { content: ""; margin-left: 0; } } & .post-image-container { border-radius: 0.25em; border-top-left-radius: 0; box-shadow: var(--box-shadow); height: var(--space-5xl); max-height: var(--space-5xl); overflow: hidden; width: var(--space-5xl); & .post-image { width: var(--space-5xl); height: var(--space-5xl); object-fit: cover; object-position: 50% 50%; } } } } } } .postlist-header { margin-top: var(--space-2xl); } /* XML Feed Preview */ h1.feed-preview { grid-column: var(--span-grid); } .postlist-date { color: var(--color-metadata); font-family: var(--font-family-metadata); font-size: var(--font-size-metadata); letter-spacing: var(--letter-spacing-metadata); text-decoration: none; text-transform: var(--text-transform-metadata); } h3.postlist-link { color: var(--contrast-color); font-family: var(--font-family-ui); font-size: var(--step--1); font-variation-settings: "wght" 700; letter-spacing: var(--wide-letter-spacing); line-height: calc(var(--step--1) * 0.5 + var(--step--1)); text-transform: uppercase; } /* Site Settings */ #siteSettings { border: 1.5px solid var(--color-gray-20); border-radius: var(--border-radius); background-color: var(--card-color); transition: var(--transition-normal); &::backdrop { backdrop-filter: blur(3px); background-color: var(--contrast-color-translucent); transition: var(--transition-normal); } &[open] { opacity: 1; transition: var(--transition-normal); @starting-style { opacity: 0; } &::backdrop { opacity: 1; @starting-style { opacity: 0; } } } } /* TODO: figure out why exit animation doesn't work */ #siteSettingsContainer { & button:not(#settingsDone) { margin-top: 0; } } .siteSettingsToggle { color: var(--text-color); font-size: var(--step--2); font-variation-settings: var(--font-variation-ui); text-transform: uppercase; letter-spacing: var(--wide-letter-spacing); font-family: var(--font-family-ui); & label { display: inline; } & input { accent-color: var(--contrast-color); background-color: var(--background-color); border: var(--border-details); border-color: var(--contrast-color); border-radius: var(--border-radius); color: var(--text-color); &:focus { box-shadow: 0 0 0 2px var(--contrast-color); outline: none; } } } /* Direct Links / Markdown Headers */ a.header-anchor { font-style: normal; text-decoration: none; } a[href].header-anchor, a[href].header-anchor:visited { color: transparent; } a[href].header-anchor:focus, a[href].header-anchor:hover { text-decoration: underline; } a[href].header-anchor:focus, :hover > a[href].header-anchor { color: #aaa; } h2 + .header-anchor { font-size: var(--step-2); } /* Components */ .card { align-items: flex-start; background-color: var(--card-color); border-radius: var(--border-radius); box-shadow: var(--box-shadow); display: flex; flex-flow: row nowrap; justify-content: flex-start; margin: 0 0 var(--space-s) 0; padding: var(--single-gap) 1.1rem var(--single-gap) 1.1rem; width: 100%; } ul.taglist { & li { & a[href], a[href]:hover, a[href]:visited { color: var(--contrast-color); } } } /* Utilities */ .grid-container { max-width: var(--grid-max-width); padding-inline: var(--grid-gutter); margin-inline: auto; } .grid { display: grid; gap: var(--grid-gutter); grid-template-columns: repeat(var(--grid-columns), 1fr); } .hidden { display: none !important; } /* Dark mode overrides */ @media (prefers-color-scheme: dark) { .isso-preview { background: repeating-linear-gradient( -45deg, rgb(50, 50, 70), rgb(50, 50, 70) 10px, var(--background-color) 10px, var(--background-color) 20px ) !important; } .logo { fill: var(--text-color); } } /* Small Screen Overrides */ @media (max-width: 900px) { figure, .hero > a > .post-image { margin-left: auto; margin-right: auto; max-width: var(--grid-max-width); width: 100%; } } @media (max-width: 540px) { .author { display: flex; flex-flow: column nowrap; justify-content: center; text-align: center; & a { display: flex; justify-content: center; width: 100%; & img.profilePic { aspect-ratio: 1/1; margin-bottom: var(--space-s); margin-right: 0; } } } .continue-discussion a { display: flex; justify-content: center; width: 100%; } nav { & > .nav-elements-grid-container { & > .nav-elements-container { & > .blog-name { font-size: var(--step-0); } & > .home-link { } & > ul.nav { flex-flow: column nowrap; gap: 0; & li { line-height: calc(var(--step-0) * 0.25 + var(--step-0)); } } } } } .postlist { & .postlist-item-container { margin-top: var(--space-s); & .postlist-item { flex-flow: column wrap; & .post-copy { & .post-metadata { padding-bottom: 0; } } & .postlist-link { padding: 0; & h3 { padding-top: 0; } & p { margin-top: var(--space-xs); } & .post-image-container { margin-left: 0; min-height: var(--space-10xl); width: 100%; & .post-image { width: 100cqw; height: var(--space-10xl); } } } } } } .postlist-header { margin-top: var(--space-l); } } @container (width < 540px) { .footerContainer { & p { margin-bottom: 0 !important; } } .webringsContainer { grid-column: 1 / span 12 !important; grid-row: 2 / 2; } .linksContainer { grid-column: 1 / span 12 !important; grid-row: 3 / 3; } } @container (width < 400px) { blockquote { padding: var(--space-s) var(--space-s); & p { margin-block: 0 !important; margin-bottom: 0; padding-left: 0; padding-top: var(--space-xl); } } }