summaryrefslogtreecommitdiff
path: root/website/public/css/base.css
diff options
context:
space:
mode:
Diffstat (limited to 'website/public/css/base.css')
-rw-r--r--website/public/css/base.css143
1 files changed, 124 insertions, 19 deletions
diff --git a/website/public/css/base.css b/website/public/css/base.css
index fd5bbf2..d723bb4 100644
--- a/website/public/css/base.css
+++ b/website/public/css/base.css
@@ -69,14 +69,15 @@ body {
line-height: 1.5;
/* Geometric Humanist stack from https://modernfontstacks.com */
- font-family: Avenir, Montserrat, Corbel, 'URW Gothic', source-sans-pro, sans-serif;
+ font-family: Avenir, Montserrat, Corbel, "URW Gothic", source-sans-pro,
+ sans-serif;
}
small {
font-size: var(--font-size-sm);
}
-:is(p, h1, h2, h3, h4, h5, h6, hr, img, figure, ul, ol) {
+:is(p, h1, h2, h3, h4, h5, h6, hr, img, figure, ul, ol, blockquote) {
margin-block-start: var(--spacing-block-sm);
}
@@ -99,15 +100,15 @@ img {
height: auto;
}
-@media (min-width: 48rem) {
+@media (min-width: 60rem) {
body {
display: grid;
grid-template-columns:
- [media-start]
+ [grid-start media-start]
var(--grid-margin-inline)
- [content-start]
+ [media-end content-start]
minmax(var(--grid-max-content-width), auto)
- [content-end];
+ [content-end grid-end];
column-gap: var(--spacing-block-sm);
max-width: var(--grid-total-width);
@@ -115,22 +116,26 @@ img {
--grid-margin-inline: 6rem;
--grid-total-width: 48rem;
--grid-max-content-width: calc(
- var(--grid-total-width)
- - var(--body-margin-inline-start)
- - var(--grid-margin-inline)
- - var(--spacing-block-sm)
- - var(--grid-margin-inline)
+ var(--grid-total-width) - var(--body-margin-inline-start) -
+ var(--grid-margin-inline) - var(--spacing-block-sm) -
+ var(--grid-margin-inline)
);
}
:is(main, article, nav) {
display: grid;
- grid-column: media-start / content-end;
+ grid-column: grid;
grid-template-columns: subgrid;
- }
- :is(section, header, aside) {
- grid-column: content-start / content-end;
+ > :is(section, header, aside) {
+ display: grid;
+ grid-template-columns: subgrid;
+ grid-column: grid;
+
+ > :not(.not-grid-content) {
+ grid-column: content;
+ }
+ }
}
:is(h1, h2, h3, h4, h5, h6) {
@@ -138,6 +143,22 @@ img {
}
}
+@media (min-width: 80rem) {
+ body {
+ grid-template-columns:
+ [grid-start media-start]
+ var(--grid-margin-inline)
+ [media-end content-start]
+ minmax(auto, var(--grid-max-content-width))
+ [content-end margin-start]
+ minmax(auto, var(--grid-max-content-width))
+ [margin-end grid-end];
+
+ --grid-total-width: 80rem;
+ --grid-max-content-width: 36rem;
+ }
+}
+
/** Headings */
h1 {
@@ -152,7 +173,10 @@ h2 {
margin-block-start: var(--spacing-block-xl);
}
-h3, h4, h5, h6 {
+h3,
+h4,
+h5,
+h6 {
font-size: var(--font-size-md);
font-weight: 600;
margin-block-start: var(--spacing-block-lg);
@@ -233,8 +257,8 @@ strong {
/** Blog feed */
.h-feed ul {
- list-style: none;
- margin-inline: 0;
+ list-style: none;
+ margin-inline: 0;
}
/** Block quotes */
@@ -244,7 +268,7 @@ blockquote {
font-style: italic;
}
- blockquote footer {
+blockquote footer {
font-style: initial;
}
@@ -286,3 +310,84 @@ pre code {
border-radius: none;
padding: none;
}
+
+/* verse */
+.verse {
+ span {
+ display: block;
+ }
+}
+.verse--hanging-indents {
+ span + span:not(.not-hanging) {
+ margin-inline-start: var(--spacing-inline-md);
+ }
+}
+
+/* block-comment */
+block-comment {
+ display: grid;
+ grid-template-columns: subgrid;
+ grid-column: grid;
+
+ > * {
+ grid-column: content;
+ }
+
+ > blockquote:last-of-type {
+ padding-block: var(--spacing-block-sm);
+ padding-inline: var(--spacing-inline-md);
+ overflow-y: scroll;
+ border: 2px solid var(--colour-primary-fg);
+ --colour-scroll-shadow: color-mix(
+ in srgb,
+ var(--colour-primary-fg),
+ transparent 20%
+ );
+
+ background:
+ linear-gradient(var(--colour-primary-bg) 30%, transparent) center top,
+ linear-gradient(transparent, var(--colour-primary-bg) 70%) center bottom,
+ radial-gradient(
+ farthest-side at 50% 0,
+ var(--colour-scroll-shadow),
+ transparent
+ )
+ center top,
+ radial-gradient(
+ farthest-side at 50% 100%,
+ var(--colour-scroll-shadow),
+ transparent
+ )
+ center bottom;
+ background-repeat: no-repeat;
+ background-size:
+ 100% 2rem,
+ 100% 2rem,
+ 100% 1rem,
+ 100% 1rem;
+ background-attachment: local, local, scroll, scroll;
+
+ > :first-child {
+ margin-block-start: 0;
+ }
+ }
+}
+
+@media (min-width: 80rem) {
+ block-comment {
+ align-items: center;
+
+ > blockquote:last-of-type {
+ grid-column: margin;
+ max-height: 67vh;
+ }
+ }
+}
+
+/* utilities */
+:is(
+ .para-spacing-tight:is(p, h1, h2, h3, h4, h5, h6, hr, img, figure, ul, ol),
+ .para-spacing-tight :is(p, h1, h2, h3, h4, h5, h6, hr, img, figure, ul, ol)
+) {
+ margin-block-start: var(--spacing-block-xs);
+}