@charset "UTF-8";
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: center;
            transform-origin: center; }
  50% {
    -webkit-transform: scale(1.25);
            transform: scale(1.25);
    -webkit-transform-origin: center;
            transform-origin: center; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: center;
            transform-origin: center; } }
@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: center;
            transform-origin: center; }
  50% {
    -webkit-transform: scale(1.25);
            transform: scale(1.25);
    -webkit-transform-origin: center;
            transform-origin: center; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: center;
            transform-origin: center; } }

@font-face {
  font-family: 'Girott';
  src: url("../fonts/girott_regular.woff"); }

@font-face {
  font-family: 'MMono';
  src: url("../fonts/merkury_mono.woff"); }

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
  color: rgba(0, 0, 0, 0.8); }

html {
  font-size: 0.8vw;
  --small: 1.6rem;
  --main: 2.7rem;
  --large:  18.15rem;
  --hilite: rgba(255,99,71,1);
  --mono: 'MMono', monospace; }
  @media (min-width: 1600px) {
    html {
      font-size: 0.6vw; } }
  @media (max-width: 767px) {
    html {
      font-size: 10px;
      --large:  12.5rem; } }
  @media (max-width: 520px) {
    html {
      font-size: 10px;
      --large:  7rem;
      --main: 2.1rem;
      --small: 1.4rem; } }
  @media (max-width: 375px) {
    html {
      font-size: 10px;
      --large:  6rem;
      --main: 1.8rem;
      --small: 1.3rem; } }
  @media (max-width: 320px) {
    html {
      font-size: 10px;
      --large:  6.8rem;
      --main: 1.6rem;
      --small: 1.2rem; } }

body {
  font-family: 'Girott', sans-serif;
  -webkit-font-variant-ligatures: none;
          font-variant-ligatures: none;
  font-size: 1.6rem;
  color: rgba(0, 0, 0, 0.8);
  letter-spacing: -1px; }

img {
  opacity: 0;
  transition: opacity 0.5s ease-in; }

img.loaded {
  opacity: 1; }

h1, h2, li, .menu {
  font-weight: normal;
  line-height: 0.9; }

h1 sup {
  font-size: 8rem; }

em {
  font-style: normal; }
  em:before {
    content: '‘'; }
  em:after {
    content: '’'; }

a:hover {
  color: var(--hilite); }

a.null {
  pointer-events: none; }

li {
  border-top: 2px solid;
  padding-top: 1rem; }
  li:not(:first-of-type) {
    border-top: 2px solid;
    margin-top: 0.25em;
    padding-top: 1rem; }
  li a {
    display: inline; }
    li a:hover {
      color: var(--hilite); }
  li sup {
    font-size: 8.4rem; }

blockquote {
  margin: 1em 6em 1em 12em; }

.roof-outer {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 201;
  mix-blend-mode: multiply;
  pointer-events: none; }

.roof {
  height: 600px;
  width: 600px;
  border-radius: 50%;
  background: var(--hilite);
  -webkit-filter: blur(80px);
          filter: blur(80px);
  position: absolute;
  top: 15%;
  right: 15%;
  -webkit-animation: pulse 5s linear infinite;
          animation: pulse 5s linear infinite; }
  @media (max-width: 420px) {
    .roof {
      height: 280px;
      width: 280px;
      -webkit-filter: blur(60px);
              filter: blur(60px); } }

.festival {
  padding: 0;
  position: relative;
  z-index: 1; }
  .festival ul {
    list-style: none; }
    .festival ul .mono {
      font-family: 'Girott', sans-serif;
      font-size: var(--large);
      line-height: 0.85;
      letter-spacing: -4px;
      -webkit-font-smoothing: antialiased; }
      @media (max-width: 520px) {
        .festival ul .mono {
          letter-spacing: -0.15rem; } }
  .festival img {
    width: 100%;
    display: block;
    mix-blend-mode: multiply; }
  .festival h1 {
    font-size: var(--large);
    -webkit-font-smoothing: antialiased;
    letter-spacing: -8px; }
  .festival li a:hover {
    color: rgba(0, 0, 0, 0.8); }

.program-items {
  margin-top: 1em;
  font-family: var(--mono);
  font-size: var(--main);
  line-height: 1.05;
  display: block; }
  .program-items:first-of-type {
    padding-top: 3em !important; }
  .program-items h1 {
    font-family: 'Girott', sans-serif;
    font-size: var(--large);
    line-height: 1;
    letter-spacing: -4px;
    margin: 0 0 20px;
    display: flex;
    justify-content: space-between; }
    @media (max-width: 520px) {
      .program-items h1 {
        letter-spacing: -0.15rem; } }
  .program-items .one {
    display: block;
    -webkit-font-smoothing: antialiased;
    line-height: 1.2;
    position: relative; }
    .program-items .one .more {
      position: absolute;
      right: 0;
      top: 6px; }
      @media (max-width: 420px) {
        .program-items .one .more {
          top: 0; } }
      .program-items .one .more:hover {
        cursor: pointer;
        color: var(--hilite); }
    .program-items .one a:hover {
      cursor: pointer;
      color: var(--hilite); }
  .program-items p, .program-items li {
    border-top: 2px solid;
    padding: 0.25em 0 0.5em;
    line-height: 1.2;
    position: relative;
    -webkit-font-smoothing: antialiased; }
    @media (max-width: 420px) {
      .program-items p span.outer, .program-items li span.outer {
        display: inline-block;
        max-width: 80%; } }
    .program-items p a:hover, .program-items li a:hover {
      border-bottom: 1px solid; }
    .program-items p .more, .program-items li .more {
      position: absolute;
      right: 0;
      top: 3px; }
      .program-items p .more:hover, .program-items li .more:hover {
        cursor: pointer;
        color: var(--hilite); }
    .program-items p:not(:first-of-type), .program-items li:not(:first-of-type) {
      border-top: 2px solid;
      padding-top: 0.25em; }
  .program-items .playlist p {
    padding: 0.25em 0; }
  .program-items .content {
    padding: 0 0 4em;
    display: none; }
    .program-items .content figure {
      margin: 0.25em 0 1em; }
      .program-items .content figure figcaption {
        font-size: 1.6rem;
        padding: 0.5em 0;
        -webkit-font-smoothing: antialiased;
        letter-spacing: 0; }
    .program-items .content p {
      border: none; }
      .program-items .content p:not(:first-of-type) {
        border: none; }
  .program-items li .content figure {
    margin-top: 0.5em; }
  .program-items .bubble {
    font-size: var(--small);
    -webkit-font-smoothing: antialiased;
    padding: 0.3rem 1rem;
    display: inline-block;
    margin-top: 1.5rem;
    border: 1px solid;
    border-radius: 25px;
    letter-spacing: 0.025rem;
    line-height: 1; }
    @media (max-width: 420px) {
      .program-items .bubble {
        padding: 0.35rem 0.75rem; } }
    .program-items .bubble + .bubble {
      margin-left: 0.5em; }
      @media (max-width: 420px) {
        .program-items .bubble + .bubble + .bubble {
          margin: 0.5em 0 0 0; } }
  .program-items .playlist .bubble {
    vertical-align: top;
    margin-top: 0.25rem; }
  .program-items ul .bubble {
    margin-top: 0;
    margin-bottom: 1em; }

.no-line:hover {
  border-bottom: none !important;
  color: var(--hilite); }

.pane-closer {
  position: fixed;
  top: 0;
  left: 0;
  width: 45vw;
  height: 100vh;
  background: rgba(255, 97, 3, 0.05);
  display: none;
  z-index: 200; }
  .pane-closer:hover {
    cursor: pointer; }

.content-pane {
  width: 60vw;
  height: 100vh;
  overflow-y: auto;
  background: white;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 200;
  padding: 0.7em 1.5em;
  box-shadow: 1px 1px 19px 11px rgba(62, 66, 66, 0.35);
  transition: -webkit-transform 0.55s ease-in-out;
  transition: transform 0.55s ease-in-out;
  transition: transform 0.55s ease-in-out, -webkit-transform 0.55s ease-in-out; }
  @media (max-width: 768px) {
    .content-pane {
      width: 100%; } }
  @media (max-width: 420px) {
    .content-pane {
      padding: 1rem 1rem; } }
  .content-pane:not(.open) {
    -webkit-transform: translateX(110%);
            transform: translateX(110%); }
  .content-pane_close {
    position: absolute;
    top: 0.75em;
    right: 1.5em;
    font-family: var(--mono);
    -webkit-font-smoothing: antialiased;
    font-size: var(--small);
    letter-spacing: 0; }
    .content-pane_close:hover {
      cursor: pointer; }
  .content-pane h1 {
    font-size: var(--large);
    -webkit-font-variant-ligatures: none;
            font-variant-ligatures: none;
    line-height: 0.85;
    letter-spacing: -4px;
    margin: 0.05em 0 0.25em; }
    @media (max-width: 520px) {
      .content-pane h1 {
        letter-spacing: -0.15rem;
        margin-top: 0.25em; } }
  .content-pane p {
    font-family: var(--mono);
    -webkit-font-smoothing: antialiased;
    font-size: var(--small);
    line-height: 1.3;
    letter-spacing: 0; }
    .content-pane p + p {
      margin-top: 1.1em; }
  .content-pane_inner figure {
    margin-bottom: 1em; }
    .content-pane_inner figure img {
      max-width: 100%;
      display: block; }
    .content-pane_inner figure figcaption {
      font-size: var(--small);
      font-family: var(--mono);
      -webkit-font-smoothing: antialiased;
      letter-spacing: 0;
      padding: 0.5em 0; }
  .content-pane_inner .events {
    border-top: 2px solid;
    margin: 4em 0 2em; }
    .content-pane_inner .events-inner {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap; }
      .content-pane_inner .events-inner article {
        font-family: var(--mono);
        font-size: var(--small);
        -webkit-font-smoothing: antialiased;
        letter-spacing: 0;
        width: 50%;
        margin-top: 1.1em; }

main {
  position: relative;
  z-index: 1;
  mix-blend-mode: multiply;
  max-width: 1600px;
  margin: 0 auto; }
  main h1 {
    font-size: 15.5vw;
    line-height: 1.2; }
  main .mono {
    font-family: var(--mono);
    display: block;
    margin-top: 0.85em; }
  main figure {
    height: auto;
    width: 100%;
    position: relative;
    z-index: 11;
    mix-blend-mode: multiply; }
    main figure img {
      max-width: 100%;
      display: block; }

.takeover {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000; }
  .takeover:not(.visible) {
    display: none; }
  .takeover-close {
    position: absolute;
    top: 1em;
    right: 1em;
    z-index: 1001;
    font-family: 'MMono';
    color: white;
    display: none; }
  .takeover iframe {
    width: 100vw;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    border: none;
    outline: none;
    z-index: 1000; }
    .takeover iframe:hover .takeover-close {
      display: block;
      cursor: pointer; }

body:hover .takeover-close {
  display: block;
  cursor: pointer; }

.gradient {
  background-image: linear-gradient(#912cee, white);
  height: 200px;
  width: 100%; }

.marquee {
  font-family: var(--mono);
  -webkit-font-smoothing: antialiased;
  font-size: var(--small);
  letter-spacing: 0;
  overflow-x: hidden;
  overflow-y: hidden;
  white-space: nowrap;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: auto;
  background: white;
  mix-blend-mode: multiply;
  padding: 10px;
  z-index: 10; }
  .marquee p {
    font-size: var(--small); }
  @media (max-width: 320px) {
    .marquee {
      font-size: 1.2rem !important; } }

img {
  -webkit-filter: grayscale(1) contrast(1.5);
          filter: grayscale(1) contrast(1.5); }

header {
  position: relative;
  width: 100vw;
  max-width: 1600px;
  margin: 0 auto;
  top: 4rem;
  padding: 0.5rem 2rem;
  display: flex;
  flex-direction: column;
  z-index: 1;
  pointer-events: none; }
  @media (max-width: 420px) {
    header {
      padding: 0.5rem 1rem; } }
  header img {
    position: absolute;
    top: 9.5em;
    right: 20%;
    max-width: 30%;
    display: none; }
  header .row {
    font-size: var(--large);
    line-height: 0.85;
    letter-spacing: -4px;
    display: flex;
    justify-content: space-between; }
    header .row.ellipsis {
      justify-content: center; }
    @media (max-width: 520px) {
      header .row {
        letter-spacing: -0.15rem;
        -webkit-font-smoothing: antialiased; } }
    @media (max-width: 320px) {
      header .row span {
        display: none; } }

main, footer {
  padding: 0.5rem 2rem;
  position: relative; }
  @media (max-width: 420px) {
    main, footer {
      padding: 0.5rem 1rem; } }

main {
  padding-bottom: 12em; }

footer {
  max-width: 1600px;
  margin: 1em auto;
  display: flex;
  flex-direction: row; }
  @media (max-width: 420px) {
    footer {
      flex-direction: column; } }
  footer p {
    font-family: var(--mono);
    -webkit-font-smoothing: antialiased;
    font-size: var(--small);
    line-height: 1.3;
    letter-spacing: 0;
    max-width: 75%; }
    @media (max-width: 420px) {
      footer p {
        max-width: 100%; } }
  footer .about, footer nav {
    flex: 1; }
  footer nav {
    margin-left: auto;
    flex: 0.5; }
    @media (max-width: 420px) {
      footer nav {
        margin-left: 0;
        flex: 1;
        margin-top: 1em; } }
    footer nav a {
      font-family: var(--mono);
      -webkit-font-smoothing: antialiased;
      font-size: var(--small);
      line-height: 1.3;
      letter-spacing: 0;
      display: block; }
    footer nav .inline a {
      display: inline; }

/*# sourceMappingURL=style.css.map */
