body {
  max-width: 40em;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-s-2xl);
  padding-right: var(--space-s-2xl);
  font-family: "Trebuchet MS", Tahoma, sans-serif;
  font-size: var(--step-0);
  line-height: 1.8em;
  padding-bottom: var(--space-s-l);
  align-self: center;
}

.wrapper {
  display: flex;
  flex-direction: row;
}

h1 {
  font-size: var(--step-3);
}

h2 {
  font-size: var(--step-2);
}

h3 {
  font-size: var(--step-1);
}

h1,
h2,
h3 {
  font-family: sohne, sans-serif;
  font-weight: normal;
  color: #000000;
  line-height: var(--space-l);
  margin-bottom: var(--space-xs)
}

h3.separator {
  text-decoration: underline;
}

h4 {
  margin: 0px;
}

p {
  margin-top: var(--space-3xs);
}

img,
iframe {
  max-width: 90%;
  display: block;
  margin: auto;
}

img.medium {
  max-width: 30em;
}

a {
  color: #ff7700;
  font-weight: bold;
}

a:link,
a:visited {
  color: #189ad3;
  text-decoration: none;
  border-bottom: none;
  font-weight: normal;
}

.projectDate {
  float: right;
}

.projectPic {
  max-width: 60%;
  padding: var(--space-s-m);
}

nav#sidebar {
  padding-right: 30px;
  margin-bottom: 10px;
  position: -webkit-sticky;
  position: sticky;
  top: 10px;
  align-self: flex-start;
}

nav a {
  display: block;
  font-size: var(--step-1);
}

section.project {
  margin-bottom: 1.5em;
  padding: 20px;
  box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%);
}

/* section.datedRow p {
  padding: 5px;
  width: 40em;
} */

section.datedRow {
  min-width: 30em;
  margin-bottom: var(--space-3xs);
  display: flex;
  justify-content: space-between;
}

section.datedRow .link {
  flex: 1 1 auto;
  line-height: 1.4em; /* Tighter line spacing for wrapped titles */
}

section.datedRow .link a {
  line-height: inherit; /* Inherit the tighter spacing */
}

div.date {
  flex-shrink: 0;
  padding: 0px 5px;
}

.strikethrough {
  text-decoration: line-through;
}

span.verse {
  font-style: italic;
}

span.heading {
  font-weight: bold;
}

span.date {
  font-style: italic;
  color: rgba(0, 0, 0, 0.7);
}

ol.roman {
  list-style-type: lower-roman;
}

blockquote,
q {
  font-style: italic;
}

q::before {
  content: "'";
}

q::after {
  content: "'";
}

span.separator {
  color: rgba(0, 0, 0, 0.5);
}

div.caption {
  width: 100%;
  text-align: center;
  font-size: 80%;
  opacity: 60%;
  line-height: 1.2em;
  margin-top: 5px;
}

@media screen and (max-width: 1080px) {
  body {
    max-width: none;
  }

  .wrapper {
    display: flex;
    flex-direction: column;
  }

  nav#sidebar {
    position: static;
  }

  nav a {
    display: inline;
    padding: 0.25em;
  }
}

/* @link https://utopia.fyi/type/calculator?c=320,16,1.2,1240,20,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

:root {
  --step--2: clamp(0.6944rem, 0.6577rem + 0.1836vw, 0.8rem);
  --step--1: clamp(0.8333rem, 0.7754rem + 0.2899vw, 1rem);
  --step-0: clamp(1rem, 0.913rem + 0.4348vw, 1.25rem);
  --step-1: clamp(1.2rem, 1.0739rem + 0.6304vw, 1.5625rem);
  --step-2: clamp(1.44rem, 1.2615rem + 0.8924vw, 1.9531rem);
  --step-3: clamp(1.728rem, 1.4799rem + 1.2407vw, 2.4414rem);
  --step-4: clamp(2.0736rem, 1.7334rem + 1.7011vw, 3.0518rem);
  --step-5: clamp(2.4883rem, 2.027rem + 2.3067vw, 3.8147rem);
}

/* @link https://utopia.fyi/space/calculator?c=320,12,1.2,1240,20,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

:root {
  --space-3xs: clamp(0.1875rem, 0.144rem + 0.2174vw, 0.3125rem);
  --space-2xs: clamp(0.375rem, 0.288rem + 0.4348vw, 0.625rem);
  --space-xs: clamp(0.5625rem, 0.4321rem + 0.6522vw, 0.9375rem);
  --space-s: clamp(0.75rem, 0.5761rem + 0.8696vw, 1.25rem);
  --space-m: clamp(1.125rem, 0.8641rem + 1.3043vw, 1.875rem);
  --space-l: clamp(1.5rem, 1.1522rem + 1.7391vw, 2.5rem);
  --space-xl: clamp(2.25rem, 1.7283rem + 2.6087vw, 3.75rem);
  --space-2xl: clamp(3rem, 2.3043rem + 3.4783vw, 5rem);
  --space-3xl: clamp(4.5rem, 3.4565rem + 5.2174vw, 7.5rem);

  /* One-up pairs */
  --space-3xs-2xs: clamp(0.1875rem, 0.0353rem + 0.7609vw, 0.625rem);
  --space-2xs-xs: clamp(0.375rem, 0.1793rem + 0.9783vw, 0.9375rem);
  --space-xs-s: clamp(0.5625rem, 0.3234rem + 1.1957vw, 1.25rem);
  --space-s-m: clamp(0.75rem, 0.3587rem + 1.9565vw, 1.875rem);
  --space-m-l: clamp(1.125rem, 0.6467rem + 2.3913vw, 2.5rem);
  --space-l-xl: clamp(1.5rem, 0.7174rem + 3.913vw, 3.75rem);
  --space-xl-2xl: clamp(2.25rem, 1.2935rem + 4.7826vw, 5rem);
  --space-2xl-3xl: clamp(3rem, 1.4348rem + 7.8261vw, 7.5rem);

  /* Custom pairs */
  --space-s-l: clamp(0.75rem, 0.1413rem + 3.0435vw, 2.5rem);
  --space-s-2xl: clamp(0.75rem, -0.7283rem + 7.3913vw, 5rem);
}