@import url(https://fonts.googleapis.com/css?family=Source+Serif+Pro);body {
  margin: 0px;
  min-height: 100%; }

p,
h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  padding: 0; }

ul {
  margin: 0;
  padding: 0; }

li {
  margin: 0.5em 0; }

a {
  color: inherit;
  text-decoration: none; }

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

.slick-initialized .slick-slide {
  float: none;
  display: inline-block;
  vertical-align: middle; }

.ratio-box {
  position: relative;
  height: 0;
  display: block;
  width: 100%;
  background-color: #E8E8E8;
  /* padding-bottom is calculated and rendered in to HTML */ }

.ratio-box img,
.ratio-box iframe,
.ratio-box video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  transition: opacity 0.4s;
  opacity: 0; }

.lazyload {
  opacity: 0; }

.ratio-box .lazyloaded {
  opacity: 1; }

img {
  width: 100%; }

/* Colours */
::-moz-selection {
  background: #6ce0e0;
  color: #ffffff; }

::selection {
  background: #6ce0e0;
  color: #ffffff; }

.no-transition * {
  transition: all 0s !important; }

html {
  background: #6ce0e0; }

body {
  background: #ffffff;
  min-height: 100vh;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  overflow-x: hidden; }
  body.menu-open-full {
    overflow-y: hidden; }
    @media (min-width: 1024px) {
      body.menu-open-full {
        overflow-y: auto; } }
  body.menu-open-half {
    overflow-y: hidden; }
    @media (min-width: 1024px) {
      body.menu-open-half {
        overflow-y: auto; } }

.content-wrapper--full {
  width: 100%;
  box-sizing: border-box;
  padding-left: 50px; }
  @media (min-width: 768px) {
    .content-wrapper--full {
      padding-left: 90px; } }
  @media (min-width: 1024px) {
    .content-wrapper--full {
      padding-left: 100px; } }

p {
  margin-bottom: 1rem; }
  p:last-of-type {
    margin-bottom: 0; }

.default a {
  word-break: break-all; }

a.box, input.box, .box {
  border: 1px solid #6ce0e0;
  padding: 0.4em 2em;
  text-transform: uppercase;
  margin-bottom: 1rem;
  word-break: normal;
  background: #6ce0e0;
  color: #ffffff; }
  .default a.box, .default input.box, .default .box {
    background: #6ce0e0;
    color: #ffffff; }
  .event a.box, .event input.box, .event .box {
    background: #000000;
    color: #ffffff;
    border-color: #ffffff; }
  a.box:hover, input.box:hover, .box:hover {
    background: #ffffff;
    color: #6ce0e0; }
    .default a.box:hover, .default input.box:hover, .default .box:hover {
      background: #ffffff;
      color: #6ce0e0; }
    .event a.box:hover, .event input.box:hover, .event .box:hover {
      background: #6ce0e0;
      color: black;
      border-color: #6ce0e0; }
  a.box--inverse, input.box--inverse, .box--inverse {
    border-color: #ffffff;
    color: #ffffff; }
    a.box--inverse:hover, input.box--inverse:hover, .box--inverse:hover {
      background: #ffffff;
      color: #6ce0e0; }

.popup {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 30px;
  background: rgba(108, 224, 224, 0.97);
  transform: translateX(-99999999px);
  opacity: 0;
  transition: opacity 0.4s 0s, transform 0.01s 0.6s;
  pointer-events: none;
  z-index: 2500; }
  .subscribe-open .popup--subscribe {
    display: block;
    transform: translateX(0);
    opacity: 1;
    transition: opacity 0.4s 0s;
    pointer-events: all; }
  .announcement-open .popup--announcement {
    transform: translateX(0);
    opacity: 1;
    transition: opacity 0.4s 0s;
    pointer-events: all; }

body.announcement-open, body.subscribe-open {
  overflow: hidden; }

.subs-form form, .announcement {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  align-items: center;
  max-width: 630px;
  position: fixed;
  bottom: 30px;
  top: 30px;
  left: 50%;
  width: calc(100% - 60px);
  transform: translateX(-50%); }
  .subs-form form h4, .announcement h4 {
    color: #ffffff;
    font-weight: 500; }
  .subs-form form h5, .announcement h5 {
    margin-bottom: 3rem;
    max-width: 30rem; }

.announcement h5 {
  margin-bottom: 0; }

.subs-form__buttons {
  transform: translateX(-0.13em); }

#subscribe-result p {
  font-family: "Sans", sans-serif;
  color: #ffffff;
  font-weight: 300; }
  #subscribe-result p a {
    text-decoration: underline; }
    #subscribe-result p a:hover {
      color: #000000; }

.announcement p a {
  text-decoration: underline; }
  .announcement p a:hover {
    color: #ffffff; }

input[type='email'], input[type='text'] {
  -webkit-appearance: none;
  border: 0;
  font-family: "Sans", sans-serif;
  font-size: 1.2rem;
  background: none;
  border-bottom: 1px solid #000000;
  text-align: center;
  font-weight: 300;
  padding: 0.5rem;
  display: block;
  width: 100%;
  margin-bottom: 1rem;
  box-sizing: border-box;
  border-radius: 0; }
  input[type='email']:focus, input[type='text']:focus {
    outline: none;
    border-style: dashed; }
  input[type='email']::placeholder, input[type='text']::placeholder {
    color: #000000; }

input[type='submit'] {
  -webkit-appearance: none;
  font-size: 1rem;
  font-family: "Sans", sans-serif;
  background: none;
  cursor: pointer;
  border-radius: 0; }

/* to fix the red box Firefox bug */
input:invalid {
  box-shadow: none; }

/* Type */
@font-face {
  font-family: "Sans";
  src: url("/assets/fonts/GT-America-Extended-Light.woff2") format("woff2"), url("/assets/fonts/GT-America-Extended-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal; }

@font-face {
  font-family: "Sans";
  src: url("/assets/fonts/GT-America-Extended-Medium.woff2") format("woff2"), url("/assets/fonts/GT-America-Extended-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal; }

html, body {
  font-family: "Sans", sans-serif;
  font-size: 17px;
  color: #000000; }
  @media (min-width: 1024px) {
    html, body {
      font-size: 21px; } }

p {
  font-family: "Source Serif Pro", sans-serif;
  font-size: 17px;
  line-height: 1.3; }
  @media (min-width: 1024px) {
    p {
      font-size: 21px; } }

.large-type {
  font-weight: 300;
  font-size: 1.8rem;
  line-height: 1.1; }
  @media (min-width: 768px) {
    .large-type {
      font-size: 2rem; } }
  @media (min-width: 1024px) {
    .large-type {
      font-size: 2rem; } }

.medium-type, .medium-type p {
  font-weight: 300;
  font-size: 1rem;
  font-family: "Sans", sans-serif; }
  @media (min-width: 1024px) {
    .medium-type, .medium-type p {
      font-size: 1.2rem; } }

.medium-type p {
  margin-bottom: 1em; }
  .medium-type p:last-of-type {
    margin-bottom: 0; }

h2, h3, h4 {
  font-weight: 500;
  line-height: 1.2em;
  letter-spacing: -0.01em;
  font-size: 17px;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem; }
  @media (min-width: 1024px) {
    h2, h3, h4 {
      font-size: 21px; } }
  .template-event h2, .template-event h3, .template-event h4 {
    text-transform: uppercase; }

.menu {
  position: fixed;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  background: #000000;
  font-weight: 300;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), color 1.5s;
  overflow-y: auto;
  z-index: 2000; }
  @media (min-width: 1024px) {
    .menu {
      right: 50vw;
      color: #335958; }
      .menu:hover {
        color: #ffffff; } }
  .menu-closed .menu {
    transform: translateX(calc(-100% + 50px));
    overflow: hidden; }
    @media (min-width: 768px) {
      .menu-closed .menu {
        transform: translateX(calc(-100% + 90px)); } }
    @media (min-width: 1024px) {
      .menu-closed .menu {
        transform: translateX(calc(-100% + 100px)); } }
  .template-home .menu {
    color: #ffffff; }

@media (min-width: 1024px) {
  .template-default.menu-closed .menu, .template-artists.menu-closed .menu, .template-supporters.menu-closed .menu {
    overflow: auto;
    transform: translateX(0); } }

.info {
  flex-grow: 1;
  position: relative;
  z-index: 10;
  background: #000000;
  min-height: 215px; }
  @media (min-width: 1024px) {
    .info {
      min-height: 350px; } }
  .info h1 {
    margin-top: 20px;
    margin-left: 20px;
    line-height: 0.93em;
    text-transform: uppercase;
    font-weight: 300;
    letter-spacing: -0.02em;
    color: #6ce0e0;
    transition: opacity 0.3s 0.8s; }
    @media (min-width: 768px) {
      .info h1 {
        margin-top: 20px; } }
    .info h1 a:hover {
      color: #ffffff; }
    .info h1 span {
      font-size: 1rem;
      font-weight: 500;
      letter-spacing: normal;
      line-height: 1rem; }
  .info svg {
    width: 30px;
    fill: #ffffff;
    position: absolute;
    bottom: 20px;
    right: 10px;
    animation: spin 1.5s;
    transition: fill 1.5s; }
    @media (min-width: 768px) {
      .info svg {
        width: 50px;
        right: 20px; } }
    @media (min-width: 1024px) {
      .info svg {
        bottom: 20px;
        width: 60px;
        fill: #335958; }
        .menu:hover .info svg {
          fill: #ffffff; }
        .template-home .info svg {
          fill: #ffffff; }
        .menu-closed .info svg {
          fill: #ffffff; }
        .template-default .info svg {
          fill: #335958; } }
  .info h2, .info h3, .info h4 {
    font-size: 1rem;
    text-transform: uppercase;
    font-weight: 500; }
  .info h2 {
    color: #6ce0e0;
    position: absolute;
    bottom: 16px;
    left: 20px;
    transition: opacity 0.3s 0.8s;
    margin-bottom: 0; }
    @media (min-width: 1024px) {
      .info h2 {
        bottom: 20px;
        transition: color 1.5s, opacity 0.3s 0.8s;
        color: #335958; }
        .menu:hover .info h2 {
          color: #6ce0e0; }
        .template-home .info h2 {
          color: #6ce0e0; } }
  .info h3 {
    transform: rotate(270deg);
    display: none;
    position: absolute;
    right: calc(1rem + 20px);
    top: 20px;
    transform-origin: 100% 0%; }
    @media (min-width: 1024px) {
      .info h3 {
        display: inline-block; } }
  .info h4 {
    margin-left: 20px;
    margin-top: 20px;
    transition: opacity 0.3s 0.8s; }

.nav-wrapper {
  position: relative; }

.nav {
  margin-top: auto;
  transition: opacity 0.4s, transform 0.8s 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  position: relative;
  z-index: 5; }
  .menu-open-half .nav {
    opacity: 0;
    pointer-events: none; }
    @media (min-width: 1024px) {
      .menu-open-half .nav {
        opacity: 1;
        pointer-events: all; } }
  .menu-closed .nav {
    opacity: 0;
    pointer-events: none; }
  .nav > a {
    display: flex;
    line-height: 0;
    letter-spacing: -0.02em;
    padding: 0 20px;
    height: 1.8em;
    border-top: 1px solid #ffffff; }
    .nav > a span {
      display: block;
      margin-top: -3%; }
    @media (min-width: 768px) {
      .nav > a {
        height: 1.8em; } }
    @media (min-width: 1024px) {
      .nav > a {
        transition: border-color 1.5s;
        border-top: 1px solid #335958; }
        .menu:hover .nav > a {
          border-top: 1px solid #ffffff; }
        .template-home .nav > a {
          border-top: 1px solid #ffffff; } }
    .nav > a:hover {
      background: #ffffff;
      color: #6ce0e0; }
    .nav > a.active {
      background: #6ce0e0;
      color: #ffffff; }
  .nav__item {
    box-sizing: border-box;
    display: flex;
    align-items: center; }
    .nav__item p {
      font-size: 1rem;
      padding-right: 10%;
      font-family: "Sans", sans-serif;
      font-weight: 500; }
      @media (min-width: 768px) {
        .nav__item p {
          font-size: 12px; } }
      @media (min-width: 1024px) {
        .nav__item p {
          font-size: 1rem;
          padding-right: 15%; } }
    .nav__item--footer {
      height: auto;
      padding: 20px;
      border-top: 1px solid #ffffff;
      justify-content: flex-end; }
      .nav__item--footer a:hover {
        color: #6ce0e0; }
      .nav__item--footer p {
        margin-left: 20px;
        padding-right: 0; }
      @media (min-width: 1024px) {
        .nav__item--footer {
          transition: border-color 1.5s;
          border-top: 1px solid #335958; }
          .menu:hover .nav__item--footer {
            border-top: 1px solid #ffffff; }
          .template-home .nav__item--footer {
            border-top: 1px solid #ffffff; } }
  .nav__social {
    min-width: 91px; }
    @media (min-width: 1024px) {
      .nav__social {
        min-width: 100px; } }
    .nav__social > a {
      fill: #ffffff;
      width: 17px;
      display: block;
      float: left;
      line-height: 0;
      margin-right: 20px; }
      @media (min-width: 1024px) {
        .nav__social > a {
          width: 20px;
          transition: fill 1.5s;
          fill: #335958; }
          .menu:hover .nav__social > a {
            fill: #ffffff; }
          .template-home .nav__social > a {
            fill: #ffffff; } }
      .nav__social > a:last-of-type {
        margin-right: 0; }
      .nav__social > a:hover {
        fill: #6ce0e0; }
      .nav__social > a svg:hover {
        fill: #6ce0e0; }

@media (min-width: 1024px) {
  .template-default .nav, .template-artists .nav, .template-supporters .nav {
    opacity: 1;
    pointer-events: all; } }

.hamburger {
  position: absolute;
  top: 20px;
  right: 10px;
  height: 20px;
  width: 30px;
  transition: opacity 0.5s;
  cursor: pointer; }
  @media (min-width: 768px) {
    .hamburger {
      right: 20px;
      width: 50px;
      top: 20px;
      height: 38px; } }
  @media (min-width: 1024px) {
    .hamburger {
      width: 60px;
      top: 28px; }
      .template-default .hamburger, .template-artists .hamburger, .template-supporters .hamburger {
        opacity: 0; } }
  .hamburger div {
    height: 3px;
    width: 100%;
    background: #ffffff;
    position: absolute;
    transition: width 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    right: 0px; }
    .hamburger div:nth-of-type(1) {
      top: 0px;
      transition-delay: 0.4s; }
      .menu-open-full .hamburger div:nth-of-type(1) {
        transition-delay: 0s;
        width: 0px; }
    @media (min-width: 768px) {
      .hamburger div {
        height: 4px; } }
    .hamburger div:nth-of-type(2) {
      top: 8px; }
      @media (min-width: 768px) {
        .hamburger div:nth-of-type(2) {
          top: 15px; } }
      .menu-open-full .hamburger div:nth-of-type(2) {
        transition-delay: 0.4s;
        transform: rotate(45deg); }
    .hamburger div:nth-of-type(3) {
      top: 8px; }
      @media (min-width: 768px) {
        .hamburger div:nth-of-type(3) {
          top: 15px; } }
      .menu-open-full .hamburger div:nth-of-type(3) {
        transition-delay: 0.4s;
        transform: rotate(-45deg); }
    .hamburger div:nth-of-type(4) {
      top: 16px;
      transition-delay: 0.4s; }
      @media (min-width: 768px) {
        .hamburger div:nth-of-type(4) {
          top: 30px; } }
      .menu-open-full .hamburger div:nth-of-type(4) {
        width: 0px;
        transition-delay: 0s; }

.mobile-page-name {
  font-weight: 500;
  position: absolute;
  right: 0px;
  bottom: 0px;
  color: #6ce0e0;
  text-transform: uppercase;
  font-size: 1em;
  transform-origin: 100% 0%;
  transform: rotate(90deg) translateX(30px);
  height: 54px;
  opacity: 0;
  transition: opacity 0.4s;
  transition-delay: 0;
  pointer-events: none; }
  @media (min-width: 768px) {
    .mobile-page-name {
      transform: rotate(90deg) translateX(60px);
      height: 100px; } }
  .menu-closed .mobile-page-name {
    opacity: 1;
    transition-delay: 0.4s; }
    @media (min-width: 1024px) {
      .menu-closed .mobile-page-name {
        opacity: 0; } }
  .mobile-page-name span {
    position: relative;
    display: block;
    top: 45%;
    transform: translateY(-50%); }

@keyframes spin {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(180deg); } }

.mobile-identity {
  height: 0;
  opacity: 0;
  display: none;
  position: absolute;
  bottom: 0px;
  left: 0px;
  right: 0px;
  background: #6ce0e0;
  pointer-events: none; }
  .menu-open-half .mobile-identity {
    display: block;
    opacity: 1;
    height: auto;
    top: 0;
    pointer-events: all; }
  @media (min-width: 1024px) {
    .mobile-identity {
      display: none; }
      .menu-open-half .mobile-identity {
        display: none; } }

.mobile-identity .block {
  transition: width 1s, height 1s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }

.desktop-identity {
  display: none;
  background: #6ce0e0;
  position: fixed;
  top: 0;
  left: 50vw;
  right: 0;
  bottom: 0; }
  @media (min-width: 1024px) {
    .template-home .desktop-identity {
      display: block; } }

.block {
  fill: #ffffff;
  position: absolute;
  width: calc(50%);
  height: calc(50%);
  box-sizing: border-box;
  padding: 10px; }
  @media (min-width: 1024px) {
    .block {
      min-height: 50px;
      max-height: calc(100% - 50px);
      min-width: 50px;
      max-width: calc(100% - 50px); } }
  .block--1 {
    top: 0px;
    left: 0px;
    padding-bottom: 5px;
    padding-right: 5px;
    width: 40%; }
  .block--2 {
    top: 0px;
    right: 0px;
    padding-bottom: 5px;
    padding-left: 5px;
    width: 60%; }
  .block--3 {
    bottom: 0px;
    left: 0px;
    padding-top: 5px;
    padding-right: 5px;
    width: 40%; }
  .block--4 {
    bottom: 0px;
    right: 0px;
    padding-top: 5px;
    padding-left: 5px;
    width: 60%; }
  .block svg {
    width: 100%;
    height: 100%; }

.home__video {
  position: absolute;
  top: 0px;
  left: 50px;
  right: 0px;
  bottom: 0px;
  background: #000000; }
  @media (min-width: 768px) {
    .home__video {
      left: 90px; } }
  @media (min-width: 1024px) {
    .home__video {
      left: 100px;
      display: block; } }
  .home__video .video-block {
    height: 100%;
    max-height: none; }
  .page-mobile .home__video {
    display: none; }

.home__title {
  position: absolute;
  top: 0.8rem;
  padding-left: 1rem;
  z-index: 50;
  color: #ffffff;
  left: 50px;
  text-transform: uppercase;
  font-weight: 300;
  letter-spacing: -0.12em; }
  .home__title h1 {
    font-size: 3.5rem;
    line-height: 0.90; }
  @media (min-width: 768px) {
    .home__title {
      left: 90px; } }
  @media (min-width: 1024px) {
    .home__title {
      left: 100px;
      display: block; } }
  .page-mobile .home__title {
    display: none; }
  .home__title h3 {
    margin-top: 1.2em;
    margin-left: 0.25em; }
  .home__title h4 {
    position: absolute;
    top: 1rem;
    right: 1rem; }
  .home__title .feature {
    color: #6ce0e0; }

.mobile-identity .video-block {
  height: 100%;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  max-height: none; }

.default {
  box-sizing: border-box;
  padding: 0 20px 20px;
  margin-left: 50px;
  max-width: 850px; }
  .default::after {
    clear: both;
    content: "";
    display: table; }
  @media (min-width: 768px) {
    .default {
      margin-left: 100px; } }
  @media (min-width: 1024px) {
    .default {
      padding: 0 40px 40px;
      width: 50vw;
      margin-left: 50vw; } }
  .default h1 {
    color: #6ce0e0;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: -0.01em;
    font-size: 27px;
    margin-bottom: 2rem;
    padding-top: 20px;
    max-width: 30rem; }
    @media (min-width: 1024px) {
      .default h1 {
        padding-top: 40px;
        font-size: 36px; } }
  .default h2, .default h3 {
    font-weight: 500;
    line-height: 1.2em;
    letter-spacing: -0.01em;
    font-size: 17px;
    margin-top: 1.5rem;
    margin-bottom: 1rem; }
    @media (min-width: 1024px) {
      .default h2, .default h3 {
        font-size: 21px; } }
  .default strong {
    font-family: "Sans", sans-serif;
    font-weight: 500; }
  .default a {
    font-family: "Sans", sans-serif;
    color: #6ce0e0;
    display: inline-block; }
    .default a:hover {
      color: #000000; }
    .default a.box {
      margin-top: 0.3rem; }
  .default p {
    margin-bottom: 1rem; }
  .default figure {
    margin: 0; }
  @media (min-width: 768px) {
    .default h2, .default p, .default figure {
      margin-left: 2rem; } }
  .default img {
    box-sizing: border-box;
    width: 50%;
    padding: 1rem 2rem 1rem 0;
    float: left; }
    @media (min-width: 768px) {
      .default img {
        max-width: 250px; } }

.event {
  background: #000000;
  min-height: 100vh;
  color: white; }

.event-header {
  width: 100%;
  pointer-events: none; }
  .event-header__images {
    width: 100%;
    max-height: 80vh;
    overflow: hidden;
    height: calc(56.25vw - 50px); }
    @media (min-width: 768px) {
      .event-header__images {
        height: calc(56.25vw - 90px); } }
    @media (min-width: 1024px) {
      .event-header__images {
        height: calc(56.25vw - 100px); } }
    .event-header__images div {
      height: 100%; }
    .event-header__images img {
      object-fit: cover;
      height: 100%;
      width: 100%; }

.video-block {
  width: 100%;
  max-height: 80vh;
  overflow: hidden; }
  .video-block__el {
    object-fit: cover;
    height: 100%;
    width: 100%; }

.event-content {
  padding-bottom: 4rem; }
  .event-content::after {
    clear: both;
    content: "";
    display: table; }

.event-text {
  margin-left: 15px;
  width: calc(100% - 30px);
  max-width: 24rem;
  float: left; }
  @media (min-width: 1024px) {
    .event-text {
      margin-left: 10%;
      width: 80%;
      max-width: 24rem; } }
  @media (min-width: 1300px) {
    .event-text {
      max-width: 28rem; } }
  .event-text h1 {
    font-size: 2.3rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    margin: 1.5rem 0;
    line-height: 1; }
    @media (min-width: 768px) {
      .event-text h1 {
        font-size: 2.85rem;
        margin: 3rem 0; } }
    @media (min-width: 1024px) {
      .event-text h1 {
        font-size: 2.85rem; } }

.event-text__related {
  margin-top: 2rem; }
  @media (min-width: 768px) {
    .event-text__related {
      margin-top: 4rem; } }
  .event-text__related h3 {
    margin-bottom: 1.5rem; }
    @media (min-width: 768px) {
      .event-text__related h3 {
        margin-top: 2rem; } }

.event-text__further {
  margin-top: 2.5rem; }
  @media (min-width: 768px) {
    .event-text__further {
      margin-top: 4rem; } }
  .event-text__further h3 {
    margin-bottom: 1rem; }
    @media (min-width: 768px) {
      .event-text__further h3 {
        margin-top: 2rem; } }
  .event-text__further p {
    margin-bottom: 0.4em; }
    .event-text__further p:last-of-type {
      margin-bottom: 0; }
  .event-text__further a {
    font-family: "Sans", sans-serif;
    color: #6ce0e0;
    display: inline-block; }
    .event-text__further a:hover {
      color: #ffffff; }
    .event-text__further a.box {
      margin-top: 0.3rem; }

.event-text__event {
  display: block;
  margin-bottom: 1.5rem; }
  .event-text__event:last-of-type {
    margin-bottom: 0; }
  .event-text__event:hover {
    color: #6ce0e0; }
  .event-text__event img {
    width: 100px;
    float: left;
    margin-right: 1rem; }
  .event-text__event h4 {
    margin-top: -0.2em;
    margin-bottom: 0.3rem; }
  .event-text__event div {
    overflow: hidden; }

.event-text__logos {
  margin-top: 3rem; }
  .event-text__logos img {
    display: inline-block;
    max-width: 200px;
    max-height: 100px;
    margin-bottom: 1.5rem;
    margin-right: 1.5rem; }

.event-sidebar {
  float: right;
  margin-right: 15px;
  display: none;
  padding-top: 3rem;
  max-width: 223px; }
  @media (min-width: 1024px) {
    .event-sidebar {
      display: block;
      margin-right: 10%; } }
  .event-sidebar h3 {
    color: #6ce0e0;
    margin-bottom: 3rem; }
  .event-sidebar a:not(.box):hover {
    color: #6ce0e0; }
  .event-sidebar a.box {
    margin-top: 2em;
    display: inline-block; }

@media (min-width: 1024px) {
  .mobile-details {
    display: none; } }

.mobile-details h3 {
  color: #6ce0e0;
  margin-bottom: 1rem;
  margin-top: 2rem; }

.mobile-details h4 {
  margin-top: 0.8rem;
  clear: left;
  min-width: 200px; }

.mobile-details div > div {
  margin-top: 0.5rem; }

.mobile-details .box {
  display: block;
  text-align: center;
  margin-top: -0.7rem; }
  @media (min-width: 768px) {
    .mobile-details .box {
      display: inline-block; } }

.mobile-details__basic {
  margin-bottom: 2rem; }

.ticket-link {
  clear: left; }

.text-bottom {
  margin-top: 2rem; }
  @media (min-width: 1024px) {
    .text-bottom {
      margin-top: 4rem; } }

.textarea h1 {
  color: #6ce0e0;
  font-weight: 500;
  line-height: 1em;
  letter-spacing: -0.01em;
  font-size: 27px;
  margin-bottom: 2rem;
  padding-top: 20px;
  max-width: 30rem; }
  @media (min-width: 1024px) {
    .textarea h1 {
      padding-top: 40px;
      font-size: 36px; } }

.textarea h2, .textarea h3 {
  font-weight: 500;
  line-height: 1.2em;
  letter-spacing: -0.01em;
  font-size: 17px;
  margin-top: 1.5rem;
  margin-bottom: 1rem; }
  @media (min-width: 1024px) {
    .textarea h2, .textarea h3 {
      font-size: 21px; } }

.textarea h3 {
  font-size: 0.75em;
  margin-bottom: 0.75rem; }

.textarea h4 {
  text-transform: none; }

.textarea strong {
  font-family: "Sans", sans-serif;
  font-weight: 500; }

.textarea a {
  font-family: "Sans", sans-serif;
  color: #6ce0e0;
  display: inline-block; }
  .textarea a:hover {
    color: #ffffff; }
  .textarea a.box {
    margin-top: 0.3rem; }

.textarea p {
  margin-bottom: 1rem; }

.textarea figure {
  margin: 0; }

.textarea img {
  box-sizing: border-box;
  width: 50%;
  padding: 1rem 2rem 1rem 0;
  float: left; }
  @media (min-width: 768px) {
    .textarea img {
      max-width: 250px; } }

.template-event .mobile-page-name {
  display: none; }

.content-wrapper--program {
  position: relative;
  z-index: 100;
  background-color: #ffffff;
  transition: transform 0.5s;
  min-height: 100vh; }
  .calendar-open .content-wrapper--program {
    transition: transform 0.5s 0.2s;
    transform: translateX(calc(-100% + 200px));
    cursor: pointer; }
  @media (min-width: 1024px) {
    .content-wrapper--program {
      width: calc(100% - 100px);
      box-shadow: 0px 4px 26px rgba(0, 0, 0, 0.25); } }
  .content-wrapper--program .events, .content-wrapper--program .filter {
    transition: opacity 0.5s 0.3s; }
    .calendar-open .content-wrapper--program .events, .calendar-open .content-wrapper--program .filter {
      transition: opacity 0.3s;
      opacity: 0;
      pointer-events: none; }

.filter {
  padding: 1rem;
  position: fixed;
  background: #ffffff;
  z-index: 500;
  right: 0px;
  top: 0px;
  left: 50px;
  white-space: nowrap;
  overflow-x: auto;
  -ms-overflow-style: -ms-autohiding-scrollbar; }
  .filter::-webkit-scrollbar {
    display: none; }
  .filter::-webkit-scrollbar-track {
    background-color: transparent; }
  .filter::-webkit-scrollbar {
    background-color: transparent; }
  .filter::-webkit-scrollbar-thumb {
    background-color: transparent; }
  @media (min-width: 768px) {
    .filter {
      left: 90px; } }
  @media (min-width: 1024px) {
    .filter {
      left: 100px;
      right: 100px; } }
  .filter:after {
    position: fixed;
    right: 0px;
    width: 1rem;
    top: 0px;
    height: 57px;
    pointer-events: none;
    content: "";
    background: blue;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%); }
  .filter__item {
    text-transform: uppercase;
    display: inline-block;
    margin-right: 1rem; }
    .filter__item:last-of-type {
      margin-right: 0; }
    .filter__item.active {
      border-bottom: 2px solid #000000; }
    @media (min-width: 1024px) {
      .filter__item:hover {
        border-bottom: 2px solid #000000; } }

.events {
  display: flex;
  padding-right: 1rem;
  padding-top: 4rem;
  flex-wrap: wrap; }
  @media (min-width: 1024px) {
    .events {
      padding-top: 5rem; } }
  .events__event {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding-left: 1rem;
    margin-bottom: 2rem; }
    @media (min-width: 768px) {
      .events__event {
        width: 50%; } }
    @media (min-width: 1135px) {
      .events__event {
        margin-bottom: 3rem;
        width: 33.333333%; }
        .events__event:hover .events__title {
          color: #6ce0e0; }
        .events__event:hover img {
          opacity: 0; }
        .events__event:hover p, .events__event:hover .event-date, .events__event:hover .event-entry {
          opacity: 1; } }
    @media (min-width: 1700px) {
      .events__event {
        width: 25%; } }
    .events__event--hidden {
      display: none; }
    .events__event h3 {
      margin-top: 1rem; }
  .events__image {
    height: 0;
    padding-bottom: 56.25%;
    background: #6ce0e0;
    position: relative; }
    .events__image img {
      position: absolute;
      z-index: 99; }
    .events__image p {
      opacity: 0;
      position: absolute;
      top: 1rem;
      left: 1rem;
      right: 1rem;
      z-index: 55; }
      @media (min-width: 1135px) {
        .events__image p {
          font-size: 0.8em; } }
      @media (min-width: 1300px) {
        .events__image p {
          font-size: 1em; } }
    .events__image .event-date {
      display: inline-block;
      position: absolute;
      bottom: 1rem;
      left: 1rem;
      text-transform: uppercase;
      opacity: 0; }
    .events__image .event-entry {
      display: inline-block;
      position: absolute;
      bottom: 1rem;
      right: 1rem;
      text-transform: uppercase;
      opacity: 0; }

.grid__title {
  position: fixed;
  left: 100px;
  top: 50vh;
  text-transform: uppercase;
  line-height: 1;
  transform: translateY(-50%) rotate(-90deg) translateY(-115%);
  transition: opacity 0.3s;
  opacity: 0;
  pointer-events: none;
  z-index: 200; }
  .calendar-open .grid__title {
    transition: opacity 0.3s 0.7s;
    opacity: 1; }
  .content-wrapper--program:hover .grid__title {
    color: #6ce0e0; }

.print-link {
  padding: 1rem 1rem 2rem;
  display: flex;
  justify-content: center; }
  .print-link a {
    text-align: center; }

@media (min-width: 1135px) {
  .events__title p {
    font-size: 0.8em; } }

@media (min-width: 1300px) {
  .events__title p {
    font-size: 1em; } }

.events__title {
  display: flex;
  justify-content: space-between; }
  .events__title .events__maintitle {
    width: 75%; }
    @media (min-width: 1024px) {
      .events__title .events__maintitle {
        width: 100%; } }
  .events__title h4 {
    text-transform: uppercase;
    font-size: 0.75em;
    text-align: right;
    margin-top: 1rem; }
  @media (min-width: 1024px) {
    .events__title h3 {
      width: 100%; }
    .events__title h4 {
      display: none; } }

.artists {
  box-sizing: border-box;
  padding: 0 20px 20px;
  margin-left: 50px; }
  .artists::after {
    clear: both;
    content: "";
    display: table; }
  @media (min-width: 768px) {
    .artists {
      margin-left: 100px; } }
  @media (min-width: 1024px) {
    .artists {
      padding: 0 40px 40px;
      width: 50vw;
      margin-left: 50vw; } }
  .artists h4 {
    font-weight: 500;
    margin-top: 0;
    padding-top: 0.5em; }
    .artists h4 a:hover {
      color: #6ce0e0; }
    .artists h4 span {
      text-transform: uppercase;
      font-size: 0.75em; }

.supporters {
  box-sizing: border-box;
  margin-left: 50px; }
  .supporters::after {
    clear: both;
    content: "";
    display: table; }
  @media (min-width: 768px) {
    .supporters {
      margin-left: 100px; } }
  @media (min-width: 1024px) {
    .supporters {
      width: 50vw;
      margin-left: 50vw; } }

.grid-logos {
  display: flex;
  flex-wrap: wrap; }
  .grid-logos__item {
    box-sizing: border-box;
    align-self: center;
    border-bottom: solid 1px #000000;
    height: 150px;
    flex-basis: 100%;
    text-align: center;
    padding: 2rem;
    filter: grayscale(100%);
    overflow: hidden; }
    .grid-logos__item:last-of-type {
      border-bottom: 0px;
      margin-bottom: 0px; }
    @media (min-width: 768px) {
      .grid-logos__item {
        flex-basis: 50%;
        height: 200px; }
        .grid-logos__item:nth-of-type(odd) {
          border-right: solid 1px #000000; }
        .grid-logos__item:nth-last-child(2) {
          border-bottom: 0px; } }
    @media (min-width: 1024px) {
      .grid-logos__item {
        flex-basis: 50%; } }
  .grid-logos img {
    max-height: 150px;
    max-width: 220px;
    position: relative;
    top: 50%;
    transform: translateY(-50%); }
    @media (min-width: 768px) {
      .grid-logos img {
        max-height: 150px;
        max-width: 250px; } }

body.calendar-open.template-program {
  overflow: hidden; }

.calendar {
  position: fixed;
  top: 0px;
  left: 100px;
  right: 0px;
  bottom: 0px;
  background: #ffffff;
  z-index: 50;
  padding-top: 2rem;
  cursor: pointer;
  display: none;
  overflow-y: hidden; }
  .calendar-open .calendar {
    cursor: auto;
    overflow-y: scroll; }
  @media (min-width: 768px) {
    .calendar {
      left: 180px; } }
  @media (min-width: 1024px) {
    .calendar {
      left: 200px;
      display: block; } }
  .calendar h2 {
    text-align: center;
    margin: 3rem 0 2rem;
    text-transform: uppercase; }
  .calendar__days {
    display: flex;
    position: fixed;
    left: 100px;
    right: 0px;
    top: 0px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    background: #ffffff;
    z-index: 99; }
    @media (min-width: 768px) {
      .calendar__days {
        left: 180px; } }
    @media (min-width: 1024px) {
      .calendar__days {
        left: 200px; } }
    .calendar__days span {
      display: block;
      width: 100%;
      text-align: center;
      font-size: 0.75em;
      text-transform: uppercase; }
  .calendar__week {
    display: flex;
    flex-basis: 7; }
    .calendar__week--last {
      border-bottom: 1px solid #E4E4E4; }
  .calendar__day {
    border-right: 1px solid #E4E4E4;
    border-top: 1px solid #E4E4E4;
    width: calc(100% / 7);
    min-height: 10vw;
    box-sizing: border-box;
    padding: 0.3rem 0.5rem; }
    .calendar__day:nth-of-type(7) {
      border-right: 0px; }
    .calendar__day--dummy {
      background: #F6F6F6; }
      .calendar__day--dummy-right {
        border-right: 1px solid #E4E4E4; }
      .calendar__day--dummy-top {
        border-top: 1px solid #E4E4E4; }

.day {
  position: relative;
  overflow-x: hidden; }
  .day--post {
    background: #F6F6F6; }
  .day:after {
    content: "";
    position: absolute;
    top: 0px;
    bottom: 0px;
    right: 0px;
    width: 40px;
    display: block;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 70%);
    pointer-events: none; }
  .day--post:after {
    background: linear-gradient(90deg, rgba(246, 246, 246, 0) 0%, #F6F6F6 70%); }
  .day a {
    padding: 0.15em 0;
    margin: 0em 1em;
    font-family: "Source Serif Pro", sans-serif;
    font-size: 15px;
    line-height: 1.3;
    list-style-type: none;
    display: block;
    position: relative;
    white-space: nowrap; }
    .day a:hover {
      color: #6ce0e0; }
    .day a:before {
      content: "";
      height: 7px;
      width: 7px;
      border-radius: 30px;
      display: inline-block;
      position: absolute;
      left: -1em;
      top: 0.5em;
      background: #6ce0e0; }

.highlight {
  width: 400px;
  background: #6ce0e0;
  position: fixed;
  top: 0px;
  left: 0px;
  pointer-events: none;
  display: none; }
  .highlight h4 {
    padding: 0;
    margin: 0.4rem 0.5rem 0.6rem; }

.calendar__wrap {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s; }
  .calendar-open .calendar__wrap {
    transition: opacity 0.3s 0.5s;
    opacity: 1;
    pointer-events: auto; }

.calendar__title {
  position: fixed;
  right: 0px;
  top: 50vh;
  text-transform: uppercase;
  line-height: 1;
  transform: translateY(-50%) rotate(-90deg) translateY(138%);
  transition: opacity 0.3s 0.5s;
  pointer-events: none; }
  .calendar-open .calendar__title {
    transition: opacity 0.3s;
    opacity: 0; }
  .calendar:hover .calendar__title {
    color: #6ce0e0; }
    .calendar:hover .calendar__title svg {
      fill: #6ce0e0; }

.calendar svg {
  fill: black; }
