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

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

h1 {
  font-size: 4.5rem;
}

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

body > header > label {
  display: none;
}

body > header input:not(:checked) ~ nav {
  display: block;
  background-color: var(--background-color);
  height: 100%;
}

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,
.full.grid {
  display: grid;
  grid-template-columns: repeat(var(--size, 12), 1fr);
  gap: 1px;
  grid-auto-flow: row dense;
  padding: 0;
}

section.related.grid {
  margin: var(--gap) var(--gap-half);
  border-top: var(--rule);
  padding-top: var(--gap);
}
section.related *: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(4, 1fr);
  border-top: var(--rule);
}

footer .titleblock address {
  padding: 0;
}

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

body > footer > section {
  grid-column-end: span 1;
padding: var(--gap-quarter);}


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

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


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

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

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


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


@property --color {
  syntax: '<color>';
  inherits: false;
  initial-value: rgb(200 200 200 / 0%);
}

section[style*='--topic'] {
  grid-template-columns: repeat(12, 1fr);
  box-shadow: inset 0 0 3em var(--foregroun-color);
  display: grid;
  grid-gap: var(--rule-width);
  background-color: var(--foreground-color);
  text-rendering: optimizeLegibility;
  padding: 1px 0 0;
  margin: var(--gap) 0 var(--gap-half);
  transition: --color 0.75s;
  --rotate: calc(-35deg * var(--y));
  --color: rgb(200 200 200 / 0%);
  --size: 25vmax;
  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) * -2 - 20deg), transparent 0, var(--color) 1px, var(--color) 1px, transparent 2px, transparent calc(var(--size) / 3)),
                    repeating-linear-gradient(calc(var(--rotate) * -2 + 70deg), transparent 0, var(--color) 1px, var(--color) 1px, transparent 2px, transparent calc(var(--size) / 3));                    
  background-attachment: fixed;
}




html.moving section[style*='--topic'] {
  --color: rgb(200 200 200 / 35%);
}


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

.publications section[style*='--topic'] > section,
.publications section[style*='--topic'] > article[id].excerpt {
  grid-column-end: span calc(12 / var(--topic) * var(--multiple, 1));
}

section[style*='--topic'] > :not(section):not(article):last-of-type {
  margin-bottom: var(--gap);
}

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);
  margin: 0 var(--gap) 0 var(--gap-inverse);
  border-right: 1px solid var(--foreground-color);
padding-bottom: var(--gap);}



section h2 + figure[data-id] {
  float: right;
  max-width: 40%;
  margin: 0 0 var(--gap) var(--gap);
  background-color: var(--shade);
}

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



.pool {
  width: 100%;
}

nav.context ~ .listing .pool {
  top: 3em;
}

nav ul.lane li:not(:first-of-type) {
  --height: min(calc(99vh / var(--size)), 20vh);
  --basis: min(60vmax, calc(20em + var(--height)));
  flex: 0 0 var(--basis);
  height: var(--height);
  padding: 0;
  background-size: auto calc(100% - var(--gap-half));
  background-position: calc(100% - var(--gap-quarter));
  background-repeat: no-repeat;
  background-color: var(--shade);
  background-color: var(--foreground-color);
}


.gallery .view > figure.portrait {
  flex-direction: row;
}

.gallery .view > figure.portrait figcaption {
  max-width: 30%;
  padding: var(--gap);
}


@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;
  }
}