@font-face {
  font-family: Favorit;
  src: url(/dist/Favorit_Regular.5a01d154.otf);
}
@font-face {
  font-family: Favorit Lining;
  src: url(/dist/Favorit-Regular_Lining.5575ffa3.otf);
}
@font-face {
  font-family: Monument Grotesk;
  src: url(/dist/MonumentGrotesk-Black.e3af12b8.ttf);
}
@font-face {
  font-family: Steinschrift Pica;
  src: url(/dist/SteinschriftPaca-Ultracondensed.c4f48fbf.otf);
}
@font-face {
  font-family: Pirelli;
  src: url(/dist/PirelliALLVIPWeb.e2996359.woff);
}
@font-face {
  font-family: Computer Modern Roman;
  src: url(/dist/cmunrm.469d09ea.ttf);
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font: inherit;
  appearance: none;
  color: inherit;
  border: none;
}
html {
  font-size: 10px;
  --bg: #fff;
  --fg: #000;
  --margin: 2rem;
  --outer: 4rem;
  --splash: 12rem;
  --small: 1.4rem;
  --body: 1.8rem;
  --body-large: 3rem;
  --body-medium: 2.4rem;
  --medium: 4.8rem;
  --large: 8rem;
  --font-heading: "Times New Roman";
  --highlight: hsla(0, 0%, 39.2%, 0.8);
  --leading: 1.1;
  --line-break: calc(1em * var(--leading));
  --bar: 1.5rem;
  --mix: #421430;
  --indent: 4em;
}
@media (max-width: 720px) {
  html {
    font-size: 6px;
    --margin: 2rem;
    --outer: 2rem;
    --splash: 6rem;
    --bar: 1rem;
    --body: 2.4rem;
  }
  .projects .project {
    width: 100% !important;
    padding-right: 0 !important;
    margin-bottom: calc(var(--margin) * 2) !important;
  }
  .projects .project:not(:last-of-type):after {
    content: "";
    display: block;
    position: absolute;
    bottom: calc(0rem - var(--margin));
    left: 0;
    width: 100%;
    height: var(--bar);
    background: currentColor;
  }
  .projects .project__gallery {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .projects .project-bar {
    display: none;
  }
  .projects .project__heading {
    padding-right: 1.75ex !important;
  }
  header.top {
    display: block;
  }
  header.top h1,
  header.top nav {
    margin-bottom: var(--line-break);
  }
  header.top nav {
    display: none;
  }
  .lander {
    padding: var(--outer) !important;
  }
  .lander__footer {
    display: none !important;
    padding-top: calc(var(--outer) * 2) !important;
  }
  .lander__top {
    display: block !important;
  }
  .lander__top > :first-child {
    padding-bottom: calc(var(--outer) * 2);
    margin-bottom: var(--outer);
  }
  .lander__top > :first-child:after {
    top: auto !important;
    right: 0 !important;
    bottom: 0;
    height: var(--bar) !important;
    transform: none !important;
    width: 100% !important;
  }
  .masters-header__cols {
    display: block !important;
  }
  .masters-header__col i {
    margin: var(--outer) 0;
    display: block;
    position: relative !important;
    width: 100% !important;
    height: var(--bar) !important;
    top: 0;
    left: 0;
  }
  [data-template="cohort"][data-year="2020"][data-cohort="masters"]
    .main
    .project.fullwidth.enlarge {
    border-bottom: none !important;
  }
  [data-template="cohort"][data-year="2020"][data-cohort="masters"]
    .main
    .project {
    padding-bottom: calc(var(--margin) * 2);
  }
}
body {
  font-size: var(--body);
  font-family: Favorit;
  color: var(--fg);
  background: var(--bg);
  line-height: var(--leading);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
body.prevent-scroll,
body.show-splash {
  overflow: hidden;
}
body.prevent-scroll main,
body.show-splash main {
  filter: blur(5px);
}
a {
  text-decoration: none;
}
.lining a,
a.active,
a.lining {
  font-family: Favorit Lining;
}
.highlight {
  color: var(--highlight);
}
.comma-list > :not(:last-child):after {
  content: ",";
  display: inline;
}
.top {
  padding: var(--margin) var(--outer);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--margin);
  z-index: 10;
  position: relative;
  color: var(--highlight);
}
.top h1 {
  grid-column: span 2;
}
.top nav:first-of-type {
  grid-column: span 4;
}
.top nav:nth-of-type(2) {
  grid-column: span 3;
}
.top nav:nth-of-type(3) {
  grid-column: span 3;
  text-align: right;
}
.overlay .top,
.splash .top {
  color: var(--bg);
}
.splash {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  background: var(--highlight);
  z-index: 20;
  overflow-y: auto;
}
body:not(.show-splash) .splash {
  display: none;
}
.splash__text {
  margin: auto;
  text-align: center;
  padding: calc(var(--outer) * 2) var(--outer);
}
.combo {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding: 0 var(--outer);
  column-gap: var(--margin);
}
@media (max-width: 720px) {
  .combo {
    display: block;
  }
}
.combo__cohort__text {
  width: 100%;
  text-align: center;
  margin-bottom: calc(var(--outer) * 2);
}
.combo__cohort__inner,
.splash {
  color: var(--bg);
  display: flex;
  flex-direction: center;
  font-size: var(--splash);
  font-family: var(--font-heading);
  letter-spacing: var(--tracking-heading);
  font-variation-settings: var(--font-variation-settings-heading);
  width: 100%;
}
.combo__cohort__inner hr,
.combo__cohort__inner p,
.splash hr,
.splash p {
  margin-bottom: 0.5em !important;
}
hr {
  width: 100%;
  height: var(--bar);
  background: currentColor;
  display: block;
  margin-bottom: 0.75em !important;
}
.projects {
  padding-left: var(--outer);
  padding-right: var(--margin);
  padding-top: var(--margin);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  visibility: hidden;
}
.projects h1 {
  font-family: var(--font-heading);
  font-variation-settings: var(--font-variation-settings-heading);
  font-size: var(--large);
}
.projects h1,
.projects h2 {
  letter-spacing: var(--tracking-heading);
}
.projects h2 {
  font-family: var(--font-heading);
  font-variation-settings: var(--font-variation-settings-heading);
  font-size: var(--medium);
}
.projects .project,
.projects .project-bar {
  margin-bottom: calc(var(--margin) * 4);
}
.projects .project-break {
  width: 100%;
}
.projects .project-bar {
  position: relative;
  flex: 1;
  margin-right: var(--margin);
}
body[data-year="2021"][data-cohort="masters"] .projects .project-bar {
  color: var(--highlight);
}
.projects .project-bar:after {
  content: "";
  display: block;
  width: var(--bar);
  position: absolute;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: currentColor;
}
.projects .project {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  padding-right: var(--margin);
  padding-top: calc(var(--margin) * 1.5);
}
.projects .project-bar {
  margin-top: calc(var(--margin) * 1.5);
}
.projects .project.fullwidth,
body[data-template="project"][data-cohort="masters"]
  .projects
  .project.enlarge {
  width: 100% !important;
}
.projects .project.enlarge .project__heading,
.projects .project.expanded .project__heading,
.projects .project.intro .project__heading {
  font-size: var(--large);
}
.projects .project.expanded,
.projects .project.intro {
  width: 100% !important;
}
.projects .project.expanded .project__heading,
.projects .project.intro .project__heading {
  display: block;
}
.projects .project.expanded .project__title,
.projects .project.intro .project__title {
  overflow: initial;
  white-space: normal;
  text-overflow: clip;
}
.projects .project.expanded figure.portrait img,
.projects .project.intro figure.portrait img {
  width: 60rem;
}
.projects .project.expanded figure.landscape img,
.projects .project.expanded figure.square img,
.projects .project.intro figure.landscape img,
.projects .project.intro figure.square img {
  width: 80rem;
}
.projects .project.expanded .project__heading {
  display: block;
  padding-right: 3.3ex;
}
.projects .project.expanded .project__close {
  display: block;
}
.projects .project.expanded .project__contributors {
  margin-right: 0.13em !important;
}
.projects .project.expanded .project__children {
  display: flex;
}
.projects .project.expanded .project__hero,
.projects .project:not(.expanded) .project__contributors-detail {
  display: none;
}
.projects .project:not(.expanded) .project__contributors {
  white-space: nowrap;
}
.projects .project:not(.expanded):not(.intro) .project__content {
  display: none;
}
.projects .project figure {
  margin: calc(var(--margin) * 2);
  display: table;
}
.projects .project figure figcaption {
  display: table-caption;
  caption-side: bottom;
}
.projects .project figure video {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.projects .project figure.portrait img {
  width: 30rem;
}
.projects .project figure.landscape img,
.projects .project figure.square img {
  width: 40rem;
}
.projects .project figure img {
  object-fit: contain;
  max-width: 100%;
  height: auto;
}
.projects .project .project__heading {
  display: flex;
  justify-content: space-between;
  width: 100%;
  position: relative;
}
body[data-cohort="bachelor"] .projects .project .project__heading {
  line-height: 1.2;
}
.projects .project .project__heading .project__contributors {
  margin-right: 0.3em;
}
.projects .project__contributors-detail {
  font-size: var(--large);
  font-family: var(--font-heading);
  letter-spacing: var(--tracking-heading);
  font-variation-settings: var(--font-variation-settings-heading);
  width: 100%;
}
.projects .project.sticky .project__heading {
  font-size: var(--large);
}
.projects .project__title {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.projects .project__close {
  position: absolute;
  top: 0;
  right: 0;
  display: none;
}
.projects .project__meta {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: var(--margin);
}
.projects .project__meta .comma-list {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  display: none;
}
.projects .project__meta .comma-list a:hover {
  color: var(--highlight);
}
.projects .project__content {
  font-size: var(--body-large);
  margin-top: var(--line-break);
  width: 100%;
}
.projects .project__content ol,
.projects .project__content p,
.projects .project__content ul {
  margin-bottom: var(--line-break);
}
.projects .project__content ol,
.projects .project__content ul {
  margin-left: 1.8em;
}
.projects .project__content.open .ellipsis,
.projects .project__content:not(.open) .project__content__text {
  display: none;
}
.projects
  .project__content.has-gallery
  .projects
  .project__content__text
  p:not(:first-child) {
  text-indent: var(--indent);
}
.projects
  .project__content.has-gallery
  .projects
  .project__content__text
  p:not(:last-of-type) {
  margin-bottom: 0;
}
.projects .project__gallery {
  margin-bottom: var(--line-break);
  padding: var(--outer);
}
.projects .project__gallery figure {
  margin: auto;
}
.projects .project__gallery figure img {
  display: block;
}
.projects .project__gallery figure figcaption {
  position: relative;
  z-index: 5;
}
.projects .project__gallery__slide__details {
  padding-top: var(--margin);
  font-size: var(--body);
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: var(--margin);
}
.projects .project__children {
  display: none;
  margin-top: calc(var(--margin) * 4);
  margin-right: calc(0rem - var(--margin));
  width: calc(100% + var(--margin));
  flex-wrap: wrap;
  justify-content: center;
}
.projects .project__children .project__child {
  width: 50%;
  padding-right: var(--margin);
  margin-bottom: calc(var(--margin) * 4);
}
.projects .project__children .project__child h2 {
  text-align: center;
  width: 100%;
  padding: 0 5vw;
  color: var(--highlight);
  margin-bottom: calc(var(--margin) * 2);
}
.projects .project__children .project__child figure {
  max-width: 80%;
  margin: auto;
}
.projects .project__children .project__child figure img {
  filter: grayscale(1);
}
.projects .project:not(.expanded) .project__sub {
  display: none !important;
}
.projects .project__sub {
  width: 100%;
  margin-top: 6rem;
}
.projects .project__sub .project__close {
  display: none !important;
}
.projects .project__sub .sub-project {
  margin-bottom: 8rem;
}
.grid {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--margin);
  padding: 0 var(--outer);
  pointer-events: none;
  display: none;
}
.grid .col {
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
}
.overlay {
  background: var(--highlight);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 50;
  overflow-y: scroll;
}
.overlay,
.overlay .highlight,
.overlay a:hover {
  color: var(--bg) !important;
}
.overlay__contacts {
  display: flex;
}
.overlay__contacts > div {
  margin-right: 3em;
}
.overlay__header {
  padding: calc(var(--margin) * 1.5) var(--outer) 0;
  margin-bottom: var(--outer);
}
.overlay__info {
  font-size: var(--large);
  font-family: var(--font-heading);
  letter-spacing: var(--tracking-heading);
  font-variation-settings: var(--font-variation-settings-heading);
  display: flex;
}
.overlay__info h1 {
  flex: 1;
  margin-right: 1em;
}
.main__footer,
.main__header {
  padding: 0 var(--outer);
}
.main__footer h2,
.main__header,
.main__header h2 {
  font-size: var(--medium);
  font-family: var(--font-heading);
  letter-spacing: var(--tracking-heading);
  font-variation-settings: var(--font-variation-settings-heading);
  margin: 1em 0;
}
.main__header {
  text-align: center;
}
.main__header p {
  margin-bottom: var(--line-break);
}
.main__header p:nth-of-type(2) {
  text-align: left;
}
.main__header hr {
  margin-bottom: var(--line-break) !important;
}
.lander {
  padding: 0 var(--outer);
  flex: 1;
  display: flex;
  flex-direction: column;
}
.lander__top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 100%;
  column-gap: var(--margin);
  font-size: var(--large);
  flex: 1;
  border-bottom: var(--bar) solid;
  padding-bottom: var(--margin);
}
.lander__top > * {
  text-align: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--margin);
}
.lander__top > :first-child {
  font-family: var(--bachelor-font-heading);
  letter-spacing: var(--bachelor-tracking-heading);
}
.lander__top > :first-child:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: calc(0rem - var(--margin) / 2 + var(--bar) / 2);
  transform: translateX(100%);
  height: 100%;
  width: var(--bar);
  background: currentColor;
}
.lander__top > :nth-child(2) {
  font-family: var(--masters-font-heading);
  letter-spacing: var(--masters-tracking-heading);
}
.lander hr {
  margin: 1.5em 0 2em !important;
}
.lander__footer {
  display: none !important;
  font-size: var(--medium);
  padding: var(--outer) 0;
  flex: 0.5;
}
body[data-year="2020"][data-cohort="masters"][data-template="cohort"] {
  --bg: var(--masters-highlight);
  --fg: #fff;
  --highlight: #fff;
}
body[data-year="2020"][data-cohort="masters"][data-template="cohort"] .top {
  color: #fff;
}
body[data-year="2020"][data-cohort="masters"][data-template="cohort"] .splash {
  --highlight: var(--masters-highlight);
  --bg: #fff;
  --fg: #fff;
}
body[data-year="2020"][data-cohort="masters"][data-template="cohort"] .overlay {
  background: var(--bg) !important;
  color: var(--fg) !important;
}
body[data-year="2020"][data-cohort="masters"][data-template="cohort"]
  .overlay
  .highlight,
body[data-year="2020"][data-cohort="masters"][data-template="cohort"]
  .overlay
  a:hover {
  color: var(--fg) !important;
}
main.default {
  padding: var(--margin) var(--outer);
}
[data-cohort="bachelor"][data-year="2020"] .close-times i {
  position: relative;
  top: 0.12em;
}
.clicker {
  position: relative;
}
.clicker__slides > :not(:first-of-type) {
  display: none;
}
.clicker__nav {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  z-index: 2;
}
.clicker__nav[data-dir="next"] {
  cursor: e-resize;
  right: 0;
}
.clicker__nav[data-dir="prev"] {
  cursor: w-resize;
}
.turbolinks-progress-bar {
  background: var(--highlight);
}
.lazy {
  transition: opacity 0.25s ease;
}
.lazy:not(.loaded) {
  opacity: 0;
}
.masters-header {
  padding: 0 var(--outer);
}
.masters-header h2 {
  font-size: var(--large);
  font-family: var(--font-heading);
}
.masters-header > div,
.masters-header > h2,
.masters-header hr {
  margin-bottom: var(--outer) !important;
}
.masters-header > div h2 {
  margin-bottom: var(--margin);
}
.masters-header__cols {
  display: grid;
  grid-template-columns: 5.5fr 1fr 5.5fr;
  column-gap: var(--margin);
}
.masters-header__cols .masters-header__col {
  position: relative;
}
.masters-header__cols .masters-header__col i {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
  transform: translateX(-50%);
  width: var(--bar);
  background: currentColor;
}
[data-template="cohort"][data-year="2020"][data-cohort="masters"]
  .main
  .projects {
  padding-top: 0;
}
[data-template="cohort"][data-year="2020"][data-cohort="masters"]
  .main
  .project.fullwidth.enlarge {
  border-bottom: var(--bar) solid;
  padding-bottom: var(--outer);
  padding-top: var(--outer);
  margin-bottom: 0;
}
[data-template="cohort"][data-year="2020"][data-cohort="masters"]
  .main
  .project.fullwidth.enlarge
  .project__heading {
  display: block;
}
[data-template="cohort"][data-year="2020"][data-cohort="masters"]
  .main
  .project.fullwidth.enlarge
  .project__contributors {
  pointer-events: none;
}
.program {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--margin);
  padding: var(--outer) var(--outer);
  font-size: var(--body-medium);
}
.program p {
  margin-bottom: var(--line-break);
}
.program__inner {
  grid-column: 3/13;
}
.program__brochure,
.program h2 {
  font-size: var(--medium);
}
.program__brochures {
  border-bottom: var(--bar) solid;
  padding-bottom: var(--margin);
}
.program__brochures-heading {
  margin-top: var(--outer);
  margin-bottom: 1rem;
}
.program__blocks {
  display: flex;
  flex-wrap: wrap;
}
.program__blocks hr {
  height: var(--bar);
  background: currentColor;
  margin-bottom: 0 !important;
}
.program__blocks hr:last-of-type {
  display: none;
}
.program__block {
  width: 50%;
  margin: var(--margin) 0;
  position: relative;
}
.program__block.span {
  width: 100%;
}
.program__block__link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.program__block:nth-of-type(odd) {
  padding-right: calc(var(--margin) * 2);
}
.program__block:nth-of-type(2n) {
  padding-left: var(--margin);
}
.program__block:nth-of-type(odd):not(.span):after {
  content: "";
  width: var(--bar);
  background: currentColor;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
}
.program__block figure {
  display: table;
  margin: auto;
  padding: var(--margin);
  max-width: 80%;
}
.program__block figure img {
  max-width: 100%;
  max-height: 30rem;
}
[data-template="cohort"][data-year="2021"].show-splash .top {
  z-index: 21;
  color: var(--bg);
}
[data-template="cohort"][data-year="2021"] .splash__text {
  width: 100%;
}
/*# sourceMappingURL=/dist/bundle.css.map */
