
:root {
  --columns: 2;
  --bleed: 135px;
  --scale-up: 1.25;
  --flex-column: row;
  --left: left;
  --right: right;
}

:target {
  scroll-margin-top: 4rem;
}

h1 {
  font-size: 3.5rem;
}

blockquote > p {
  font-size: 200%;
}

body > header label {
  display: none;
}

body > header input:not(:checked) ~ nav {
  display: block;
}

body > header {
  position: static;
  overflow-x: visible;
  min-width: var(--bleed);
}

body > header > nav {
  position: sticky;
  top: 0;
}

body > header > nav h5 {
  font-family: var(--MCA04);
  font-size: 150%;
  font-weight: 200;
}

a[href='#content'] {
  opacity: 0;
  font-size: 0.75rem;
  text-transform: uppercase;
  margin-top: -3em;
  display: block;
  padding: 0.5em;

}

a[href='#content']:focus {
  margin-top: 0;
  opacity: 1;
}

main,
body > footer {
  margin: 0;
}

main > article,
section.lede,
ul.calendar {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1px;
  grid-auto-flow: row dense;
  padding: 0;
}

section.lede *:not(article) {
  grid-column: 1 / -1;
}

main > article > header,
main > article > header ~ section:first-of-type {
  grid-column-start: span 12;
}

main > article > header::after {
  content: "";
  clear: both;
  display: table;
}

body > footer {
  --first-col: calc(var(--bleed));
  display: grid;
  gap: var(--gap-half);
  grid-template-columns: var(--first-col) repeat(10, 1fr);
  padding: var(--gap-half);
  border-top: var(--rule);
}

body > main > article > * {
  grid-column-end: span 12;
}

body > footer > section:first-child {
  grid-column-end: span 1;
}

body > footer > section:nth-child(2) {
  grid-column-end: span 1;
}

body > footer > section:nth-child(n + 2) {
  grid-column-end: span 1;
}

body > footer > section:nth-child(4) {
  grid-column-end: span 3;
}

body > footer > section:nth-child(5),
body > footer > nav:nth-child(5) {
  grid-column-end: span 3;
}

body > footer > section:nth-child(6) {
  grid-column-end: span 2;
}

aside {
  --pull: var(--gap-inverse);
}

aside[aria-label*='announcement' i],
aside[aria-label*='poster' i] {
  max-width: 50vw;
}


  .template {
    margin: 0;
    padding: 0;
  }

/* Subsection Design */
section.lede > *:not(article),
section[style*='--topic'] > *:not(section) {
  grid-column: 1 / -1;
  margin: 0;
  text-rendering: initial;
  padding: var(--gap-half) var(--gap);
}

section.lede h2,
section[style*='--topic'] h2 {
  margin-top: 1em;
}


section[style*='--topic'] > *:not(section) {
  color: var(--background-color);
}



section[style*='--topic'] {
  grid-template-columns: repeat(12, 1fr);
  display: grid;
  grid-gap: var(--rule-width);
  background-color: var(--foreground-color);
  padding: 1px 0 0;
  margin: var(--gap) 0 var(--gap-half);
  /* --rotate: calc(-35deg * var(--y)); */
  --rotate: -35deg;
  --color: rgb(255 255 255 / 30%);
  --size: 15vmax;
  background-image: repeating-linear-gradient(var(--rotate), transparent 0, var(--color) 1px, var(--color) 1px, transparent 2px, transparent var(--size)),
                    repeating-linear-gradient(calc(var(--rotate) + 90deg), transparent 0, var(--color) 1px, var(--color) 2px, transparent 2px, transparent var(--size)),
                    repeating-linear-gradient(calc(var(--rotate) - 20deg), transparent 0, var(--color) 1px, var(--color) 1px, transparent 2px, transparent calc(var(--size) / 3)),
                    repeating-linear-gradient(calc(var(--rotate) + 70deg), transparent 0, var(--color) 1px, var(--color) 1px, transparent 2px, transparent calc(var(--size) / 3));
  background-attachment: fixed;
}

section[style*='--topic'] > section {
  grid-column-end: span calc(12 / var(--topic) * var(--multiple, 1));
  background-color: var(--background-color);
  padding: var(--gap-half);
}

section[style*='--topic']:not(:last-child):not(section[style]) {
  padding-bottom: 1px;
}


header[style] > :not(h1) {
  margin-right: 50%;
}

li.date {
  min-width: 24ch;
  font-size: 1.35em;
}

header > figure {
  float: var(--left);
  padding: var(--gap) var(--gap) var(--gap) var(--gap-half);
  margin: 0 var(--gap) var(--gap) 0;
  border-right: 1px solid var(--foreground-color);  
}

aside figure {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(256px, 1fr));
  grid-gap: var(--gap-quarter);
}





@media only screen and (min-width: 74em) {
  :root {
    --columns: 3;
    --scale-up: 1.35;
  }
}

@media only screen and (min-width: 96em) {
  :root {
    --columns: 4;
    --scale-up: 1.5;
  }

}