@charset "UTF-8";
/*
  Theater und Orchester Heidelberg
  Copyright (C) 2022 by Systemantics, Bureau for Informatics

  Systemantics GmbH
  Hausbroicher Str. 218
  47877 Willich
  GERMANY

  Web:    www.systemantics.net
  Email:  hello@systemantics.net

  Permission granted to use the files associated with this
  website only on your webserver.

  Changes to these files are PROHIBITED due to license restrictions.
*/
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Clearfix hack by http://nicolasgallagher.com/micro-clearfix-hack/ */
@font-face {
  font-family: "Scto";
  src: url("../webfonts/SctoWebVF.woff2") format("woff2"), url("../webfonts/SctoWebVF.woff") format("woff");
  font-style: normal;
  font-weight: normal;
  font-feature-settings: "calt" 0;
}
@font-face {
  font-family: "TOH";
  src: url("../webfonts/TOHIconVF_2.woff2") format("woff2"), url("../webfonts/TOHIconVF_2.woff") format("woff");
  font-style: normal;
  font-weight: normal;
  font-feature-settings: "calt" 0;
}
/* Styles */
img {
  display: block;
}

a {
  text-decoration: none;
  color: #222222;
}

html {
  font-family: "Scto", Helvetica, Arial, sans-serif;
  font-size: clamp(10px, 1vw, 20px);
  line-height: 1;
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-y: scroll;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  color: #222222;
  font-feature-settings: "calt" 0;
}
html.noscroll {
  overflow: hidden;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  position: relative;
}

strong {
  background-color: #ffff00;
}

:focus {
  outline: none;
}

.accessibility-active :focus {
  outline: solid;
}

:root {
  --space-left: 20px;
  --space-right: 20px;
  --scrollbar: 15px;
}

@media only screen and (max-width: 767px) {
  :root {
    --space-left: 10px;
    --space-right: 10px;
  }
}
sup {
  font-size: 60%;
  line-height: 0.9;
  vertical-align: super;
}

.lazyimage {
  height: 100%;
  width: 100%;
  object-fit: cover;
  opacity: 0;
}

.lazyloaded {
  opacity: 1;
}

.expand-button-hide .button--icon-more {
  display: none;
}

.button--expand-less {
  opacity: 0;
  visibility: hidden;
  display: none;
}

.button--icon-less .button--expand-less {
  display: inline;
  visibility: visible;
  opacity: 1;
}
.button--icon-less .button--expand-more {
  display: none;
  visibility: hidden;
  opacity: 0;
}

.button--change-text .button--expand-less,
.button--change-text .button--expand-more {
  transition: opacity 200ms ease, visibility 200ms ease;
}

.clickable-block {
  cursor: pointer;
  user-select: none;
}

.main {
  background-color: #fff;
  max-width: 1920px;
  min-height: 100vh;
  margin-left: auto;
  margin-right: auto;
}

.main__inner {
  padding-left: var(--space-left);
  padding-right: var(--space-right);
  padding-top: 2.1rem;
}

.tag__button {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  display: inline-block;
  position: relative;
  padding: 0.25rem 0.5rem 0.15rem;
  border: 0.1rem solid;
  border-radius: 0.25rem;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .tag__button {
    font-size: 13px;
  }
}
.program-slider__tab-tags .tag__button {
  margin-right: 0.5rem;
}

.tag__button--highlight {
  border-color: #ffff00;
  background-color: #ffff00;
}

.text-button {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  background-color: #fff;
  border: 0.1rem solid #e2e2e2;
  border-radius: 0.5rem;
  display: inline-block;
  padding: 0.55rem 0.85rem 0.45rem;
  transition: background 200ms ease;
}
@media only screen and (max-width: 767px) {
  .text-button {
    font-size: 13px;
  }
}
.no-touch .text-button:not(.text-button--cancelled):hover {
  background-color: #e2e2e2;
}

.text-button--large {
  padding: 1.1rem 0.85rem 1rem;
}

.text-button--infomodule {
  background-color: transparent;
  position: absolute;
  transition: color 200ms ease, border-color 200ms ease;
  bottom: 2rem;
  right: 2rem;
}

.text-button--cancelled {
  border-color: #222222;
  background-color: #222222;
  color: #f0f0f0;
  position: absolute;
  transform: translate(-49.3548387097%, -50%);
  left: 39.8709677419%;
  top: 50%;
  z-index: 1;
}

.text-button--absolute-right {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
}

.buttons {
  display: flex;
  flex-wrap: wrap;
}
.buttons .button + .button {
  margin-left: 0.5rem;
}

.button {
  cursor: pointer;
  user-select: none;
  border: 0.1rem solid #e2e2e2;
  border-radius: 0.5rem;
  transition: background 200ms ease, font-variation-settings 200ms ease;
  font-variation-settings: "wght" 100;
  height: 3.5rem;
  width: 5rem;
}
.no-touch .button:hover {
  background-color: #e2e2e2;
}

.button--icon {
  font: normal 2.7rem/1.2 "TOH";
  font-variation-settings: "wght" 100;
  transition: font-variation-settings 200ms ease, background 200ms ease;
  font-variation-settings: "wght" 100;
  text-align: center;
}
.button--icon.button--small {
  font-size: 2rem;
  line-height: 1.2;
}

.button--featuredcalendar {
  position: absolute;
  left: 0;
  bottom: var(--space-left);
  bottom: -4rem;
  margin-bottom: var(--space-left);
}

.button-to-down {
  border: 0.1rem solid #e2e2e2;
  background: #fff;
  color: #222222;
  font-size: 3rem;
}
.no-touch .button-to-down:hover {
  background-color: #e2e2e2;
}
.sidebar-button + .button-to-down {
  margin-top: 1.5rem;
}

.button--text {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  display: inline-block;
  padding: 1.1rem 1.5rem 1rem;
  width: auto;
}
@media only screen and (max-width: 767px) {
  .button--text {
    font-size: 13px;
  }
}
.button--text:after {
  content: none;
}

.button--active {
  background-color: #e2e2e2;
}

.button--small {
  height: 2.5rem;
  width: 3.75rem;
}

.button--inactive {
  cursor: default;
}
.button--inactive span {
  opacity: 0.16;
}
.no-touch .button--inactive:hover {
  background-color: #fff;
}

* + .button--space-top {
  margin-top: 1.1rem;
}

.button--space-calendar {
  margin-top: 2rem;
}

.button--icon-less {
  font-variation-settings: "wght" 900;
}

.button--backtop {
  position: absolute;
  bottom: 20px;
  left: 0;
}

.button--tickets-few,
.button--tickets-fewtickets {
  position: relative;
}
.button--tickets-few:after,
.button--tickets-fewtickets:after {
  content: "";
  background-color: #ffff00;
  position: absolute;
  transition: opacity 200ms ease;
  bottom: 0;
  left: 0;
  opacity: 1;
  height: 50%;
  width: 100%;
}
.button--tickets-few span,
.button--tickets-fewtickets span {
  position: relative;
  z-index: 2;
}
.no-touch .button--tickets-few:hover,
.no-touch .button--tickets-fewtickets:hover {
  background-color: #e2e2e2;
}
.no-touch .button--tickets-few:hover:after,
.no-touch .button--tickets-fewtickets:hover:after {
  opacity: 0;
}

.button--tickets-many,
.button--tickets-tickets {
  transition: background 200ms ease, border-color 200ms ease;
  background: #ffff00;
  border-color: #ffff00;
}
.no-touch .button--tickets-many:hover,
.no-touch .button--tickets-tickets:hover {
  background-color: #e2e2e2;
  border-color: #e2e2e2;
}

.button--icon-free {
  cursor: default;
}
.no-touch .button--icon-free:hover {
  background-color: transparent;
}

.image {
  display: block;
  position: relative;
  overflow: hidden;
}
.no-touch .image:hover .image__caption {
  transform: rotateX(0deg);
}

.image--absolute {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.image__caption {
  font: normal 0.9rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/80);
  background: rgba(40, 40, 40, 0.7);
  color: #fff;
  position: absolute;
  height: 1.5rem;
  transition: transform 200ms ease;
  transform: rotateX(90deg);
  transform-origin: 0 0;
  height: 1.5rem;
  white-space: nowrap;
  z-index: 10;
}

.image__caption-inside {
  display: inline-block;
  position: relative;
  padding-top: 0.35rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem !important;
}
.marquee--run .image__caption-inside {
  padding-right: 3rem !important;
}

.marquee {
  white-space: nowrap;
}

.marquee--run {
  width: 100%;
}
.marquee--run .marquee__slider {
  animation-duration: 10s;
  animation-direction: normal;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-play-state: paused;
  display: flex;
  position: absolute;
  width: 100000px;
}
.marquee--run .marquee__slide:nth-child(2) {
  display: block;
}
.no-touch .marquee--run:hover .marquee__slider {
  animation-play-state: running;
}
.marquee--run:after {
  content: "";
  background: linear-gradient(270deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 50px;
}
.marquee--run.image__caption:after {
  background: linear-gradient(270deg, #282828 0%, rgba(40, 40, 40, 0) 100%);
}
.infobar .marquee--run:after {
  background: linear-gradient(270deg, yellow 0%, rgba(255, 255, 0, 0) 100%);
}

.marquee--forcerun .marquee__slider {
  animation-play-state: running;
}

.marquee--reverse .marquee__slider {
  animation-direction: alternate;
}

.marquee--reset .marquee__slider {
  animation-name: unset !important;
}

.marquee__slide {
  padding-right: 3rem;
}
.marquee__slide:nth-child(2) {
  display: none;
}
.marquee__slide span + span {
  padding-left: 3rem;
}

.header {
  height: 5.5rem;
}

.header__scroll {
  position: fixed;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: var(--space-left);
  padding-right: var(--space-right);
  top: 0;
  z-index: 501;
}

.header__scroll-logo {
  display: flex;
}

.header__scroll-icon {
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("../elements/icon_home.svg");
  background-size: 5.75rem;
  position: absolute;
  top: 1rem;
  left: var(--space-left);
  height: 3.45rem;
  width: 5.75rem;
}

.header__scroll-letter {
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("../elements/icon_home_letter.svg");
  background-size: 100%;
  margin-top: 0.8rem;
  margin-left: 6.6rem;
  height: 2.4rem;
  width: 38.15rem;
}
.header__scroll-letter.hidden {
  display: none;
}

.header__fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 500;
  display: flex;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: var(--space-left);
  padding-right: var(--space-right);
}

.header__fixed--left {
  background-color: #fff;
}

.header-buttons {
  position: fixed;
  right: var(--space-right);
  top: 1rem;
  margin-left: auto;
  display: flex;
  z-index: 502;
}

.header-button {
  cursor: pointer;
  user-select: none;
  font: normal 3rem/1.1 "TOH";
  font-variation-settings: "wght" 100;
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  border: 0.1rem solid #e2e2e2;
  border-radius: 0.5rem;
  display: block;
  transition: background-color 200ms ease, border 200ms ease, font-variation-settings 200ms ease;
  text-align: center;
  height: 3.5rem;
  width: 5rem;
}
.no-touch .header-button:hover {
  background-color: #ffff00;
  border-color: #ffff00;
}
* + .header-button {
  margin-left: 0.5rem;
}

.header-button--active {
  background-color: #ffff00;
  border-color: #ffff00;
  font-variation-settings: "wght" 900;
}

.header-button--home {
  background-color: #ffff00;
  border-color: #ffff00;
  opacity: 0;
}

.header-button__wrap {
  cursor: pointer;
  user-select: none;
  position: relative;
}
* + .header-button__wrap {
  margin-left: 0.5rem;
}
.no-touch .header-button__wrap:hover .header-button__selected {
  display: block;
}

.header-button__wrap--open .header-button__selected {
  display: block;
}

.header-button__selected {
  display: none;
  padding-top: 0.5rem;
  position: absolute;
  top: 100%;
  left: 0;
}
.header-button__selected .header-button + .header-button {
  margin-left: 0;
  margin-top: 0.5rem;
}
.header-button__selected li + li {
  margin-top: 0.5rem;
}

.footer {
  font: normal 1rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  background: #fff;
  box-sizing: content-box;
  color: #999;
  position: relative;
  padding-top: 7.5rem;
  height: 14rem;
  z-index: 101;
}
.footer a {
  color: #999;
}

.footer__inner {
  background: #282828;
  display: flex;
  flex-direction: column;
  padding-left: var(--space-left);
  padding-right: var(--space-right);
  height: 100%;
}

.footer-top {
  position: relative;
  margin-top: 20px;
}

.footer-top__icon {
  font: normal 2.1rem/1.15 "TOH";
  font-variation-settings: "wght" 100;
  cursor: pointer;
  user-select: none;
  transition: font-variation-settings 200ms ease;
  font-variation-settings: "wght" 100;
  position: absolute;
  top: 0;
}

.no-touch .footer-top__icon:hover,
.footer-top__icon--active {
  font-variation-settings: "wght" 900;
}

.footer-top__icon--more {
  left: 0;
}

.footer-top__icon--socialmedia {
  right: 0;
}

.footer-top__links {
  display: none;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: 7.3497854077%;
  margin-top: 0.8rem;
  width: 83.1545064378%;
}
.footer-top__links li + li {
  margin-left: 4rem;
}

.footer-top__links--active {
  display: flex;
}

.footer-bottom {
  margin-top: auto;
  margin-bottom: 20px;
}

.footer-bottom__logo {
  display: block;
  width: 29rem;
}

.carousel__slides {
  overflow: hidden;
  opacity: 0;
}
.carousel__slides:focus {
  outline: none;
}

.carousel__slides--ready {
  opacity: 1;
}

.carousel__slide {
  cursor: pointer;
  user-select: none;
  margin-left: -1px;
}

.carousel__image .lazyimage {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

* + .module-about {
  margin-top: 10rem;
}

.module-about--home .module-about__left {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  grid-column: span 8;
}
@media only screen and (max-width: 767px) {
  .module-about--home .module-about__left {
    font-size: 30px;
    line-height: 0.9;
  }
}
.module-about--home .module-about__right {
  grid-column: 3/span 10;
}
.module-about--home .module-about__left + .module-about__right {
  margin-top: 2rem;
}

.module-about__images {
  display: flex;
}

.module-about__image-inner {
  position: relative;
}

.module-about__image--portrait {
  position: relative;
  width: 33.333334%;
}
.module-about__image--portrait:after {
  content: "";
  display: block;
  padding-bottom: 127.86%;
}
.module-about__image--portrait .module-about__image-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.module-about__image--landscape {
  width: 66.66667%;
}

.module-about__content {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  display: grid;
  grid-template-columns: repeat(12, 7.3497854077%);
  grid-column-gap: 1.0729613734%;
}
@media only screen and (max-width: 767px) {
  .module-about__content {
    font-size: 30px;
    line-height: 0.9;
  }
}
* + .module-about__content {
  margin-top: 1rem;
}

.module-about__left {
  grid-column: span 3;
}

.module-about__right {
  grid-column: span 9;
}

.article {
  padding-bottom: 40px;
}

.article__title {
  font: normal 1em/0.8333 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/15);
  margin-bottom: 20vh;
  position: relative;
  margin-left: -0.025em;
  padding-right: 20%;
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
}

.article__title--hide {
  opacity: 0;
}

.article__title--nomarginbottom {
  margin-bottom: 0;
}

.article__title--nowrap span {
  white-space: nowrap;
}

.font-size-holder {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  white-space: nowrap;
}

.article__subtitle {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  margin-top: 1rem;
  margin-bottom: 2rem;
  width: 66.3090128755%;
}
@media only screen and (max-width: 767px) {
  .article__subtitle {
    font-size: 30px;
    line-height: 0.9;
  }
}
.article__title--nomarginbottom + .article__subtitle {
  margin-bottom: 20vh;
}

.text-format {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
}
@media only screen and (max-width: 767px) {
  .text-format {
    font-size: 30px;
    line-height: 0.9;
  }
}
.text-format a:not(.text-button) {
  color: #222222;
  text-decoration: underline;
  text-underline-offset: 0.1rem;
  text-decoration-thickness: 0.1rem;
  text-decoration-color: #e2e2e2;
  transition: color 200ms ease;
}
.no-touch .text-format a:not(.text-button):hover {
  color: #e2e2e2;
}
.text-format h2 {
  font: normal 4.5rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  margin-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .text-format h2 {
    font-size: 30px;
    line-height: 0.9;
  }
}
.text-format h3 {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .text-format h3 {
    font-size: 30px;
    line-height: 0.9;
  }
}
.text-format * + ul,
.text-format * + ol,
.text-format ul + *,
.text-format ol + * {
  margin-top: 1rem;
}
.text-format ol {
  counter-reset: section;
  margin-left: 11.2706389088%;
}
.text-format ol li {
  padding-left: 3rem;
  position: relative;
}
.text-format ol li:before {
  counter-increment: section;
  content: counters(section, ".") ".";
  display: inline-block;
  position: absolute;
  left: 0;
}
.text-format ul {
  margin-left: 11.2706389088%;
}
.text-format ul li {
  padding-left: 3rem;
  position: relative;
}
.text-format ul li:before {
  content: "▷";
  display: inline-block;
  position: absolute;
  left: 0;
}
.text-format.accordion__content-text ol,
.text-format.accordion__content-text ul {
  margin-left: 12.7022653722%;
}

.text-indent {
  margin-left: 10.1290322581%;
}

.p-with-margin-top {
  margin-top: 1em;
}

* + .inline, .inline:not(.infobar--header) + *,
* + .infobar,
.infobar:not(.infobar--header) + * {
  margin-top: 1.35rem;
}

.inline__image {
  position: relative;
  overflow: hidden;
}
.inline__image .lazyimage {
  position: absolute;
  top: 0;
  left: 0;
}
.no-touch .inline__image:hover .image__caption {
  transform: rotateX(0deg);
}

.inline__image--max-height {
  padding-bottom: 0 !important;
  height: 75vh;
}
.inline__image--max-height .lazyimage {
  object-fit: contain;
  object-position: left;
}

.inline--video + *,
.inline--audio + * {
  margin-top: 1rem;
}

.infobar {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  background-color: #ffff00;
  border-radius: 0.5rem;
  text-align: center;
  position: relative;
  padding-left: 4rem;
  padding-right: 4rem;
  margin-bottom: 0.9rem;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .infobar {
    font-size: 13px;
  }
}
.infobar:before {
  content: "I";
  font: normal 2.5rem/1.125 "TOH";
  font-variation-settings: "wght" 100;
  line-height: 1.2;
  position: absolute;
  left: 1rem;
  top: 0;
  text-indent: -0.3rem;
  height: 100%;
  width: 2rem;
}
@media only screen and (max-width: 767px) {
  .infobar:before {
    font-size: 3rem;
    line-height: 1.2;
  }
}

.infobar--with-marquee {
  padding-right: 0;
}

.infobar__content {
  padding-top: 1rem;
  padding-bottom: 0.85rem;
  overflow: hidden;
  position: relative;
}

.infobar--inline {
  text-align: left;
}

.infobar--offset-4 {
  padding-left: 11.2706389088%;
}

.infobar--offset-5 {
  padding-left: 12.7022653722%;
}

.infobar--large {
  padding-left: 2rem;
  padding-right: 2rem;
  text-align: left;
}
.infobar--large + * {
  margin-top: 4rem;
}
* + .infobar--large {
  margin-top: 4rem;
}
.infobar--large:before {
  content: none;
}
.infobar--large .infobar__content {
  display: grid;
  grid-template-columns: repeat(12, 7.3497854077%);
  grid-column-gap: 1.0729613734%;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.infobar__content-date {
  font: normal 4.5rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  grid-column: span 3;
}
@media only screen and (max-width: 767px) {
  .infobar__content-date {
    font-size: 30px;
    line-height: 0.9;
  }
}

.infobar__content-body {
  grid-column: span 9;
}

.infobar__content-title {
  font: normal 4.5rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
}
@media only screen and (max-width: 767px) {
  .infobar__content-title {
    font-size: 30px;
    line-height: 0.9;
  }
}

.infobar__content-text {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
}
@media only screen and (max-width: 767px) {
  .infobar__content-text {
    font-size: 30px;
    line-height: 0.9;
  }
}

.infobar--header {
  display: none;
  margin-left: var(--space-left);
  margin-right: var(--space-right);
  margin-top: 0.5rem;
  margin-bottom: 0;
}

.infobar__close {
  cursor: pointer;
  user-select: none;
  font: normal 3rem/1.1 "TOH";
  font-variation-settings: "wght" 100;
  font-size: 2.3rem;
  position: absolute;
  right: 1.85rem;
  top: 0.25rem;
}

.download {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  flex-wrap: wrap;
  display: flex;
  position: relative;
  padding-top: 1.5rem;
  padding-bottom: 1.45rem;
}
@media only screen and (max-width: 767px) {
  .download {
    font-size: 30px;
    line-height: 0.9;
  }
}
.download + .download {
  border-top: 0.1rem dotted #282828;
}

.download__lable {
  width: 88.7293610912%;
}
.accordion__content .download__lable {
  width: 87.2977346278%;
}

.download__right {
  position: relative;
  margin-left: 1.4357501795%;
  width: 9.8348887294%;
}
.accordion__content .download__right {
  margin-left: 1.6181229773%;
  width: 11.0841423948%;
}

.download__button {
  font: normal 3rem/1.1 "TOH";
  font-variation-settings: "wght" 100;
  text-decoration: none !important;
  text-align: center;
  display: block;
  position: absolute;
  left: 0;
  top: -0.3rem;
  height: 2.7rem;
  width: 100%;
}

.article-production {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .article-production {
    font-size: 30px;
    line-height: 0.9;
  }
}

.article-production__heroimage {
  position: relative;
}
.article-production__heroimage .image {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.article-production__content {
  display: grid;
  grid-template-columns: repeat(12, 7.3497854077%);
  grid-column-gap: 1.0729613734%;
  padding-bottom: 80px;
}

.article-production__tags {
  grid-column: span 2;
}

.article-production__main {
  grid-column: 3/span 10;
}
.article-production__tags + .article-production__main {
  grid-column: span 10;
}

.article-production__informations {
  display: grid;
  grid-template-columns: repeat(10, 8.8387096774%);
  grid-column-gap: 1.2903225806%;
}

.article-production__information a:not(.text-button) {
  color: #222222;
  text-decoration: underline;
  text-underline-offset: 0.1rem;
  text-decoration-thickness: 0.1rem;
  text-decoration-color: #e2e2e2;
  transition: color 200ms ease;
}
.no-touch .article-production__information a:not(.text-button):hover {
  color: #e2e2e2;
}

.article-production__information--small {
  grid-column: span 3;
}

.article-production__information--large {
  grid-column: span 7;
}

* + .article-production__text {
  margin-top: 4rem;
}

.article-production__artists {
  margin-top: 4rem;
}
.article-production__artists.expanded .section-people-hidden {
  display: block;
}

.article-production__quotes {
  margin-top: 4rem;
  margin-left: -20.2580645161%;
  width: 120.2580645161%;
}

.article-production__quotes-group {
  display: flex;
  grid-column-gap: 1.0729613734%;
}
.article-production__quotes-group + .article-production__quotes-group {
  margin-top: 2rem;
}

.article-production__quotes-group--single .article-production__quote {
  margin-left: auto;
  flex: unset;
  width: 49.4635193133%;
}

.article-production__quote {
  flex: 1;
}
.article-production__quote.expanded .article-production__quote-text {
  -webkit-line-clamp: unset;
}

.article-production__quote-content {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
}
@media only screen and (max-width: 767px) {
  .article-production__quote-content {
    font-size: 13px;
  }
}

.expand-wrap {
  position: relative;
}

.expand-placeholder {
  position: absolute;
  top: 0;
  opacity: 0;
  visibility: hidden;
}

.article-production__quote-text {
  overflow: hidden;
  -webkit-line-clamp: 7;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}
.article-production__quote-text a:not(.text-button) {
  color: #222222;
  text-decoration: underline;
  text-underline-offset: 0.1rem;
  text-decoration-thickness: 0.1rem;
  text-decoration-color: #e2e2e2;
  transition: color 200ms ease;
}
.no-touch .article-production__quote-text a:not(.text-button):hover {
  color: #e2e2e2;
}
.article-production__quote-text p {
  display: inline;
}
.article-production__quote-text p:after {
  content: " \a";
  white-space: pre;
}

.article-production__credits {
  border-top: 0.1rem solid #282828;
  padding-top: 2rem;
}
* + .article-production__credits {
  margin-top: 4rem;
}
.article-production__credits:first-child {
  border-top: none;
}

.article-production__credit-text {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
}
@media only screen and (max-width: 767px) {
  .article-production__credit-text {
    font-size: 13px;
  }
}
.article-production__credit-text + .article-production__credit-text, .article-production__credit-logos + .article-production__credit-text {
  margin-top: 1rem;
}

.article-production__credit-logos {
  align-items: center;
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.article-production__credit-logo {
  display: inline-block;
  position: relative;
}

.article-production__credit-logo--wide {
  width: 10rem;
}

.article-production__credit-logo--medium {
  width: 8rem;
}

.article-production__credit-logo--narrow {
  width: 6rem;
}

.article-production__credit-image {
  display: block;
  position: relative;
  transition: filter 200ms ease;
}
.article-production__credit-image img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

* + .calendar {
  margin-top: 10rem;
}
.article-calendar__title + .calendar {
  margin-top: 3rem;
}

.calendar--border-bottom .calendar__days {
  border-bottom: 0.1rem solid #282828;
}

.calendar--expandable .calendar__day--hidden,
.calendar--expandable .calendar__interlude--hidden {
  display: none;
}
.calendar--expandable.expanded .calendar__day {
  display: grid;
}
.calendar--expandable.expanded .calendar__interlude {
  display: block;
}

.calendar__day-border {
  border-top: 0.1rem solid #282828;
  position: sticky;
  top: 5.5rem;
  z-index: 1;
}

.calendar__day-inner {
  display: grid;
  grid-template-columns: repeat(12, 7.3497854077%);
  grid-column-gap: 1.0729613734%;
  padding-top: 1.5rem;
  padding-bottom: 2rem;
}

.calendar__date {
  grid-column: span 2;
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
}
@media only screen and (max-width: 767px) {
  .calendar__date {
    font-size: 30px;
    line-height: 0.9;
  }
}

.calendar__date-item {
  position: sticky;
  top: 7rem;
}

.calendar__date--weekend .calendar__date-item {
  padding-left: 0.85rem;
}
.calendar__date--weekend .calendar__date-item:before {
  content: "";
  border-left: 0.1rem solid #282828;
  position: absolute;
  top: 0.2rem;
  bottom: 0.45rem;
  left: 0;
}

.calendar__date--cancelled {
  color: #e2e2e2;
}

.calendar__interlude {
  display: grid;
  grid-template-columns: repeat(12, 7.3497854077%);
  grid-column-gap: 1.0729613734%;
  border-top: 0.1rem solid #282828;
  padding-top: 10rem;
}

.calendar__interlude--veryfirst {
  border-top: none;
  padding-top: 0;
}

.calendar__interlude-text {
  grid-column: 3/span 10;
  margin-bottom: 1.3rem;
}

.calendar__items {
  grid-column: span 10;
}

.calendar-item {
  cursor: pointer;
  user-select: none;
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .calendar-item {
    font-size: 30px;
    line-height: 0.9;
  }
}
.calendar-item + .calendar-item {
  border-top: 0.1rem solid #282828;
  padding-top: 1.3rem;
  margin-top: 1.5rem;
}

.calendar-item--cancelled {
  cursor: default;
  color: #e2e2e2;
}

.calendar-item__columns {
  display: flex;
  flex-wrap: wrap;
}
.calendar-item__text + .calendar-item__columns {
  margin-top: 2.6rem;
}

.calendar-item__column + .calendar-item__column {
  margin-left: 1.2903225806%;
}
.calendar-item__column + .calendar-item__column--last {
  margin-left: auto;
}

.calendar-item__column--4 {
  width: 44.2903225806%;
}

.calendar-item__column--3 {
  width: calc(29.0967741935% - 3rem);
}

.calendar-item__column--last {
  width: 16rem;
}

.calendar-item__column--width-2 {
  width: 18.2rem;
}

.calendar-item__text {
  margin-bottom: 1.3rem;
}

.calendar-item__title {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  margin-bottom: 0.8rem;
}
@media only screen and (max-width: 767px) {
  .calendar-item__title {
    font-size: 30px;
    line-height: 0.9;
  }
}

.calendar-item__extra {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  position: relative;
  padding-left: 0.6rem;
}
@media only screen and (max-width: 767px) {
  .calendar-item__extra {
    font-size: 13px;
  }
}
.calendar-item__extra a:not(.text-button) {
  color: #222222;
  text-decoration: underline;
  text-underline-offset: 0.1rem;
  text-decoration-thickness: 0.1rem;
  text-decoration-color: #e2e2e2;
  transition: color 200ms ease;
}
.no-touch .calendar-item__extra a:not(.text-button):hover {
  color: #e2e2e2;
}
* + .calendar-item__extra {
  margin-top: 1rem;
}
.calendar-item__extra:after {
  content: "";
  border-left: 0.1rem dotted;
  position: absolute;
  top: 0.15rem;
  left: 0;
  bottom: 0.25rem;
}

.calendar-item--expanded .calendar-item__expandable {
  opacity: 1;
  visibility: visible;
}
.calendar-item--expanded .calendar-item__expandable .calendar-item__columns {
  transform: translateY(0%);
}
.calendar-item--expanded .button--icon-info {
  background-color: #e2e2e2;
  font-variation-settings: "wght" 900;
}

.calendar-item__expandable {
  transition: opacity 300ms ease, visibility 300ms ease, height 300ms ease;
  height: 0;
  opacity: 0;
  visibility: hidden;
}
.calendar-item__expandable .calendar-item__columns {
  transition: transform 300ms ease;
  padding-top: 1.75rem;
  transform: translateY(-30%);
}

.calendar-filter-button {
  cursor: pointer;
  user-select: none;
  font: normal 3rem/1.1 "TOH";
  font-variation-settings: "wght" 100;
  line-height: 1.2;
  background-color: rgba(40, 40, 40, 0.9);
  border-radius: 0.5rem;
  border-radius: 0.5rem;
  color: #f0f0f0;
  transition: background 200ms ease, font-variation-settings 200ms ease;
  font-variation-settings: "wght" 100;
  text-align: center;
  position: fixed;
  left: var(--space-left);
  bottom: var(--space-left);
  display: block;
  height: 3.5rem;
  width: 5rem;
  z-index: 100;
}

.calendar-filter-button--active {
  font-variation-settings: "wght" 900;
}

.calendar-filter {
  position: fixed;
  display: none;
  color: #f0f0f0;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 1;
}

.calendar-filter__block {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.calendar-filter--open {
  z-index: 600;
}
.calendar-filter--open + .calendar-filter-button {
  background-color: transparent;
  z-index: 601;
}

.calendar-filter__inner {
  border-radius: 0.5rem;
  background-color: rgba(40, 40, 40, 0.9);
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  overflow: hidden;
  top: 5.5rem;
  left: var(--space-left);
  bottom: var(--space-left);
  padding-right: 1.0729613734%;
  width: 50%;
}

.calendar-filter__datepicker {
  padding-top: 1.75rem;
  padding-left: 1.75rem;
  padding-right: 1.75rem;
  width: 57%;
}

.calendar-filter__column {
  margin-left: 3%;
  overflow: hidden;
  height: 100%;
  width: 40%;
}

.calendar-filter__scroll {
  overflow-y: auto;
  padding-bottom: 2rem;
  height: 100%;
  padding-right: var(--scrollbar);
  width: calc(100% + var(--scrollbar));
}

.calendar-filter__column-title {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  margin-top: 1.75rem;
}
@media only screen and (max-width: 767px) {
  .calendar-filter__column-title {
    font-size: 30px;
    line-height: 0.9;
  }
}

.calendar-filter__category {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  margin-top: 2.6rem;
}
@media only screen and (max-width: 767px) {
  .calendar-filter__category {
    font-size: 13px;
  }
}

.calendar-filter__category--close .calendar-filter__category-title:before {
  transform: rotate(-90deg);
}
.calendar-filter__category--close .calendar-filter__category-items {
  display: none;
}
.calendar-filter__category--close + .calendar-filter__category {
  margin-top: 0;
}

.calendar-filter__category-title {
  cursor: pointer;
  user-select: none;
  display: inline-block;
  position: relative;
  color: #999;
  margin-bottom: 0.8rem;
  padding-left: 1.25rem;
}
.calendar-filter__category-title:before {
  content: "▽";
  position: absolute;
  top: 0;
  left: 0;
}

.calendar-filter__category-items {
  margin-top: 0.2rem;
}
.calendar-filter__category-items li + li {
  margin-top: 0.2rem;
}

.calendar-filter__category-item {
  cursor: pointer;
  user-select: none;
  display: inline-block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 100%;
}
.calendar-filter__category-item:before {
  content: "";
  border: 0.1rem solid #f0f0f0;
  border-radius: 50%;
  display: inline-block;
  margin-right: 0.35rem;
  height: 1rem;
  width: 1rem;
}

.calendar-filter__category-item--selected:before {
  background-color: #f0f0f0;
}

.qs-datepicker-container {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  border: 0;
  box-shadow: none;
  background-color: transparent;
  color: #f0f0f0;
  position: relative;
  top: 0 !important;
  left: 0 !important;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .qs-datepicker-container {
    font-size: 13px;
  }
}

.qs-controls {
  background-color: transparent;
}

.qs-month-year {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  border-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .qs-month-year {
    font-size: 30px;
    line-height: 0.9;
  }
}
.qs-month-year:hover {
  border-bottom: 0;
}

.qs-month {
  padding-right: 0;
}

.qs-arrow {
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 1rem !important;
  height: 1.85rem;
  width: 14.2857142857%;
}
.qs-arrow:after {
  content: none;
}
.no-touch .qs-arrow:hover {
  background: transparent;
}

.qs-left {
  background-image: url("../elements/icon_calendar_arrow_left.svg") !important;
}

.qs-right {
  background-image: url("../elements/icon_calendar_arrow_right.svg") !important;
}

.qs-day {
  color: #f0f0f0;
}

.qs-squares {
  padding-top: 2rem;
  padding-left: 0;
  padding-right: 0;
}

.qs-square {
  height: 2.08334em;
}

.qs-current {
  text-decoration: none;
  background: transparent;
  border: 0.1rem solid;
}
.qs-current.qs-empty {
  border: 0;
}

.qs-active {
  background: transparent;
}

.qs-square:not(.qs-empty):not(.qs-disabled):not(.qs-day):not(.qs-active):hover {
  background: transparent;
}

.qs-num {
  cursor: default;
  opacity: 0.3;
}
.qs-num.qs-event {
  cursor: pointer;
  opacity: 1;
}
.qs-num.qs-event:after {
  content: none;
}

.qs-overlay .qs-overlay-year {
  display: none;
}

.overlayer {
  display: none;
  position: fixed;
  border-radius: 0.5rem;
  color: #f0f0f0;
  background-color: rgba(40, 40, 40, 0.9);
  top: 6.2rem;
  left: 40px;
  right: 40px;
  bottom: 40px;
  z-index: 300;
}
.overlayer a {
  color: #f0f0f0;
}

.overlayer__close {
  cursor: pointer;
  user-select: none;
  font: normal 3rem/1.1 "TOH";
  font-variation-settings: "wght" 100;
  line-height: 0.8;
  text-indent: -0.45rem;
  position: absolute;
  top: 1.1rem;
  right: 1.1rem;
  height: 2.45rem;
  width: 2.45rem;
  z-index: 100;
}

.overlayer--show-more .overlayer-bottommenu--more {
  display: flex;
}

.overlayer--show-socialmedia .overlayer-bottommenu--socialmedia {
  display: flex;
}

.overlayer__inner {
  position: relative;
  overflow: hidden;
  height: 100%;
}

.overlayer-menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow-x: hidden;
  overflow-y: scroll;
  height: 100%;
  position: absolute;
  margin-left: var(--scrollbar);
  padding-top: 3.75rem;
  padding-bottom: 3rem;
  width: 100%;
}

.overlayer-menu__main {
  width: 30rem;
}
.overlayer-menu__main + .overlayer-menu__main {
  margin-top: 0.5rem;
}

.overlayer-menu__main--expanded .overlayer-menu__icon:after {
  font-variation-settings: "wght" 900;
}

.overlayer-menu__break {
  width: 100%;
  height: 0;
}

.overlayer-menu__title {
  font: normal 4.2rem/0.952 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  cursor: pointer;
  user-select: none;
  display: flex;
  transition: opacity 200ms ease;
}
@media only screen and (max-width: 767px) {
  .overlayer-menu__title {
    font-size: 45px;
  }
}
.no-touch .overlayer-menu__title:hover {
  opacity: 0.5;
}

.overlayer-menu__icon {
  display: inline-block;
  border: 0.1rem solid #f0f0f0;
  border-radius: 0.5rem;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  margin-right: 1.5rem;
  margin-top: 0.35rem;
  transition: background 200ms ease;
  height: 3rem;
  width: 3.95rem;
}
.overlayer-menu__icon:after {
  content: "+";
  font: normal 2.5rem/1.125 "TOH";
  font-variation-settings: "wght" 100;
  transition: font-variation-settings 200ms ease;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .overlayer-menu__icon:after {
    font-size: 3rem;
    line-height: 1.2;
  }
}

.overlayer-menu__icon--people {
  border: 0;
}
.overlayer-menu__icon--people:after {
  content: "P";
  font-size: 4.2rem;
  font-variation-settings: "wght" 900;
  line-height: 0.7;
  left: -0.4rem;
}

.overlayer-menu__icon--calendar {
  border: 0;
}
.overlayer-menu__icon--calendar:after {
  content: "K";
  font-size: 4.2rem;
  font-variation-settings: "wght" 900;
  line-height: 0.7;
  left: -0.4rem;
}

.overlayer-menu__expand {
  display: none;
  transform: translateX(-10rem);
  width: 45rem;
}

.overlayer-menu__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 1.4rem;
}
.overlayer-menu__items + .overlayer-menu__items {
  margin-top: 0;
}
.overlayer-menu__items:last-child {
  margin-bottom: 0.5rem;
}

.overlayer-menu__item {
  display: block;
  border: 0.1rem solid;
  border-radius: 0.25rem;
  padding: 0.5rem 0.5rem 0.45rem;
  transition: opacity 200ms ease;
  opacity: 1;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  margin-bottom: 1rem;
}
.overlayer-menu__item.overlayer-menu__item--highlight {
  color: #ffff00;
}
.no-touch .overlayer-menu__item:hover {
  opacity: 0.5;
}

.overlayer-bottom-icon {
  cursor: pointer;
  user-select: none;
}

.overlayer-bottom-icon--more {
  font: normal 2.5rem/1.125 "TOH";
  font-variation-settings: "wght" 100;
  line-height: 0.8;
  text-indent: -0.4rem;
  font-variation-settings: "wght" 100;
  transition: font-variation-settings 200ms ease, color 200ms ease;
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  height: 2rem;
  width: 2rem;
}
@media only screen and (max-width: 767px) {
  .overlayer-bottom-icon--more {
    font-size: 3rem;
    line-height: 1.2;
  }
}
.overlayer-bottom-icon--more.overlayer-bottom-icon--active, .no-touch .overlayer-bottom-icon--more:hover {
  color: #ffff00;
  font-variation-settings: "wght" 900;
}

.overlayer-bottom-icon--socialmedia {
  font: normal 2.5rem/1.125 "TOH";
  font-variation-settings: "wght" 100;
  line-height: 0.8;
  text-indent: -0.4rem;
  font-variation-settings: "wght" 100;
  transition: font-variation-settings 200ms ease, color 200ms ease;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  height: 2rem;
  width: 2rem;
}
@media only screen and (max-width: 767px) {
  .overlayer-bottom-icon--socialmedia {
    font-size: 3rem;
    line-height: 1.2;
  }
}
.overlayer-bottom-icon--socialmedia.overlayer-bottom-icon--active, .no-touch .overlayer-bottom-icon--socialmedia:hover {
  color: #ffff00;
  font-variation-settings: "wght" 900;
}

.overlayer-bottommenu {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  display: none;
  position: absolute;
  bottom: 1rem;
  left: 4rem;
  right: 4rem;
  flex-wrap: wrap;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .overlayer-bottommenu {
    font-size: 13px;
  }
}

.overlayer-bottommenu__item {
  margin-right: 2rem;
}

.overlayer--search .overlayer__inner {
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.overlayer--search-results .overlayer__inner {
  display: block;
  overflow: auto;
}

.overlayer-search {
  margin-left: 10%;
  margin-right: 10%;
  position: relative;
  width: 80%;
}
.overlayer-search:after {
  content: "";
  border-bottom: 0.175rem solid #f0f0f0;
  position: absolute;
  bottom: 0.3rem;
  left: 0;
  width: 100%;
}

.overlayer-search__input {
  font: normal 4.5rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 0;
  background-color: transparent;
  color: #f0f0f0;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .overlayer-search__input {
    font-size: 30px;
    line-height: 0.9;
  }
}
.overlayer-search__input:focus {
  outline: none;
}
.overlayer-search__input::selection {
  background: #ffff00;
}

.overlayer-search__input::-webkit-input-placeholder {
  color: #f0f0f0;
  opacity: 1;
}

.overlayer-search__input::-moz-placeholder {
  color: #f0f0f0;
  opacity: 1;
}

.overlayer-search__input::-ms-input-placeholder {
  color: #f0f0f0;
  opacity: 1;
}

.overlayer-search__input::placeholder {
  color: #f0f0f0;
  opacity: 1;
}

.overlayer-search__button {
  cursor: pointer;
  user-select: none;
  font: normal 3rem/1.1 "TOH";
  font-variation-settings: "wght" 100;
  line-height: 0.9;
  margin: 0;
  padding: 0;
  background-color: transparent;
  border: 0.175rem solid #f0f0f0;
  border-radius: 0.5rem;
  color: #f0f0f0;
  position: absolute;
  top: 0.8rem;
  right: 0;
  height: 3rem;
  width: 4rem;
}

.article-search .overlayer-search .overlayer-search__input {
  color: #222222;
}
.article-search .overlayer-search .overlayer-search__button {
  border-color: #222222;
  color: #222222;
}
.article-search .overlayer-search:after {
  border-bottom-color: #222222;
}

.article-search .overlayer-search__input::-webkit-input-placeholder {
  color: #222222;
  opacity: 1;
}

.article-search .overlayer-search__input::-moz-placeholder {
  color: #222222;
  opacity: 1;
}

.article-search .overlayer-search__input::-ms-input-placeholder {
  color: #222222;
  opacity: 1;
}

.article-search .overlayer-search__input::placeholder {
  color: #222222;
  opacity: 1;
}

.article-search__title {
  font: normal 4.2rem/0.952 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
}
@media only screen and (max-width: 767px) {
  .article-search__title {
    font-size: 45px;
  }
}

.search-columns {
  display: grid;
  grid-template-columns: repeat(12, 7.3497854077%);
  grid-column-gap: 1.0729613734%;
  margin-top: 10rem;
  margin-bottom: 2rem;
}

.search-column {
  grid-column: span 4;
}
.search-column + .search-column {
  position: relative;
}
.search-column + .search-column:before {
  content: "";
  border-left: 0.1rem dotted #000000;
  left: -1.6447368421%;
  top: 0;
  height: 100%;
  position: absolute;
}

.search-columns-title {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
}
@media only screen and (max-width: 767px) {
  .search-columns-title {
    font-size: 30px;
    line-height: 0.9;
  }
}

.search-results {
  font: normal 1.5rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  margin-top: 1.2rem;
}

.search-result + .search-result {
  margin-top: 0.75rem;
}

.overlayer--map {
  overflow: hidden;
}

.overlayer-map {
  display: none;
}

.overlayer-map--visible {
  display: block;
}

.overlayer-map__route {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  text-decoration-thickness: 0.15rem;
  position: absolute;
  left: 1rem;
  bottom: 1.25rem;
}
@media only screen and (max-width: 767px) {
  .overlayer-map__route {
    font-size: 13px;
  }
}

.overlayer-map-venue {
  position: absolute;
  top: 1.1rem;
  left: 1.1rem;
}

.overlayer-map-venue__title {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
}
@media only screen and (max-width: 767px) {
  .overlayer-map-venue__title {
    font-size: 30px;
    line-height: 0.9;
  }
}

.overlayer-map-venue__address {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  margin-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .overlayer-map-venue__address {
    font-size: 30px;
    line-height: 0.9;
  }
}

.overlayer-map-venue__readmore {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  .overlayer-map-venue__readmore {
    font-size: 30px;
    line-height: 0.9;
  }
}
.overlayer-map-venue__readmore a {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  text-decoration-thickness: 0.15rem;
}

.venuemap {
  overflow: hidden;
  position: relative;
  height: 100%;
  width: 100%;
}

.venuemarker {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  cursor: pointer;
  user-select: none;
  color: #f0f0f0;
  opacity: 0.5 !important;
}
@media only screen and (max-width: 767px) {
  .venuemarker {
    font-size: 30px;
    line-height: 0.9;
  }
}

.venuemarker--selected {
  opacity: 1 !important;
}

.mapboxgl-ctrl-logo {
  display: none !important;
}

.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl {
  margin-right: 1rem !important;
  margin-bottom: 1rem !important;
}
.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-group {
  box-shadow: none;
  background-color: transparent;
  display: flex;
}
.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl button:not(:disabled):hover {
  background-color: #fff;
}
.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-zoom-in,
.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-zoom-out {
  background-color: #e2e2e2;
  border-radius: 0.5rem !important;
  transition: background 200ms ease;
  height: 2.5rem;
  width: 3.75rem;
}
.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
  font: normal 2.2rem/1.15 "TOH";
  font-variation-settings: "wght" 100;
  background-image: none !important;
}
.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon:after {
  content: "+";
}
.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-zoom-out {
  margin-left: 0.5rem;
}
.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
  font: normal 2.2rem/1.15 "TOH";
  font-variation-settings: "wght" 100;
  background-image: none !important;
}
.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon:after {
  content: "-";
}

.map__placeholder-message {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  display: none;
  border-radius: 0.5rem;
  background-color: rgba(40, 40, 40, 0.95);
  color: #f0f0f0;
  padding: 1.5rem;
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  width: 54rem;
  max-width: calc(100% - 2rem);
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .map__placeholder-message {
    font-size: 30px;
    line-height: 0.9;
  }
}
.map__placeholder-message a {
  color: #f0f0f0 !important;
  text-decoration: underline;
  text-underline-offset: 0.1rem;
  text-decoration-thickness: 0.1rem;
}
.overlayer--map-placeholder .map__placeholder-message {
  display: block;
}

.overview {
  display: grid;
  grid-template-columns: repeat(12, 7.3497854077%);
  grid-column-gap: 1.0729613734%;
}

.overview__left {
  grid-column: span 3;
}

.overview__slider {
  position: sticky;
  top: 5.5rem;
  padding-right: 2rem;
}

.overview__slider-title {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
}
@media only screen and (max-width: 767px) {
  .overview__slider-title {
    font-size: 30px;
    line-height: 0.9;
  }
}

.overview__slider-filter {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  margin-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .overview__slider-filter {
    font-size: 13px;
  }
}

.overview__slider-filter-wrap {
  border-bottom: 0.1rem dotted;
}
.overview__slider-filter-wrap .marquee {
  overflow: hidden;
  position: relative;
  width: 100%;
}
.overview__slider-filter-wrap .marquee .marquee__slide:nth-child(1) {
  padding-right: 3rem;
}

.overview__slider-filter-item {
  cursor: pointer;
  user-select: none;
  display: flex;
  padding-top: 0.4rem;
  padding-bottom: 0.3rem;
  height: 2rem;
}
.overview__slider-filter-item:before {
  content: "";
  border: 0.075rem solid #282828;
  border-radius: 50%;
  display: inline-block;
  margin-right: 0.25rem;
  flex: 0 0 auto;
  margin-top: 0.15rem;
  height: 0.85rem;
  width: 0.85rem;
}
.no-touch .overview__slider-filter-item:hover:before {
  background-color: #222222;
}

.overview__slider-filter-item--active:before {
  background-color: #222222;
}

.overview__right {
  grid-column: span 9;
}

.sidebar-button {
  cursor: pointer;
  user-select: none;
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  border: 0.1rem solid #e2e2e2;
  border-radius: 0.5rem;
  display: inline-block;
  transition: background 200ms ease;
  padding: 0.9rem 0.6rem 0.9rem 1rem;
  position: relative;
  width: 15.85rem;
}
@media only screen and (max-width: 767px) {
  .sidebar-button {
    font-size: 13px;
  }
}
* + .sidebar-button {
  margin-top: 1.5rem;
}
.sidebar-button + .sidebar-button {
  margin-top: 0.6rem;
}
.no-touch .sidebar-button:hover {
  background-color: #e2e2e2;
}

.sidebar-button-inner {
  display: flex;
}

.sidebar-button-icon {
  font: normal 3rem/1.1 "TOH";
  font-variation-settings: "wght" 100;
  line-height: 0.8;
  display: block;
  flex: 0 0 auto;
  margin-right: 0.3rem;
  height: 2.5rem;
  width: 3.8rem;
}

.sidebar-button-label {
  margin-top: 0.1rem;
  hyphens: auto;
}

.section-entries {
  display: block;
  padding-bottom: 2rem;
}
.section-entries + .section-entries {
  padding-top: 3rem;
}

.section-entry__title {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  color: #e2e2e2;
  padding-bottom: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .section-entry__title {
    font-size: 30px;
    line-height: 0.9;
  }
}

.preview-program-entry {
  display: grid;
  grid-template-columns: repeat(9, 9.8348887294%);
  grid-column-gap: 1.4357501795%;
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  border-bottom: 0.1rem solid #282828;
  padding-bottom: 1rem;
}
@media only screen and (max-width: 767px) {
  .preview-program-entry {
    font-size: 13px;
  }
}
.preview-program-entry + .preview-program-entry {
  margin-top: 1rem;
}

.preview-program-entry__content {
  grid-column: span 5;
  padding-right: 2rem;
}

.preview-program-entry__title {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .preview-program-entry__title {
    font-size: 30px;
    line-height: 0.9;
  }
}

.preview-program-entry__info + .preview-program-entry__info {
  margin-top: 1rem;
}
.preview-program-entry__tags + .preview-program-entry__info {
  margin-top: 0.5rem;
}

.preview-program-entry__button {
  margin-top: 2.1rem;
}

.preview-program-entry__image {
  grid-column: span 4;
}
.preview-program-entry__image .image {
  margin-left: auto;
}

.program-ensemble {
  display: grid;
  grid-template-columns: repeat(12, 7.3497854077%);
  grid-column-gap: 1.0729613734%;
}
* + .program-ensemble {
  margin-top: 5rem;
}

.program-ensemble__card {
  grid-column: span 2;
}

.program-ensemble__card-image {
  display: block;
  position: relative;
  overflow: hidden;
  transition: opacity 200ms ease;
  opacity: 1;
}
.program-ensemble__card-image:after {
  content: "";
  padding-bottom: 131.14%;
  display: block;
}
.program-ensemble__card-image .lazyimage {
  position: absolute;
  top: 0;
  left: 0;
}
.no-touch .program-ensemble__card-image:hover {
  opacity: 0.5;
}

.program-ensemble__card-content {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  .program-ensemble__card-content {
    font-size: 13px;
  }
}

.program-ensemble__card-name {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  margin-bottom: 0.25rem;
}
@media only screen and (max-width: 767px) {
  .program-ensemble__card-name {
    font-size: 30px;
    line-height: 0.9;
  }
}

.program-ensemble__card-placeholder {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  cursor: pointer;
  user-select: none;
  border-radius: 0.5rem;
  border: 0.1rem solid #e2e2e2;
  transition: background 200ms ease;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .program-ensemble__card-placeholder {
    font-size: 13px;
  }
}
.program-ensemble__card-placeholder:after {
  content: "";
  padding-bottom: 131.14%;
  display: block;
}
.no-touch .program-ensemble__card-placeholder:hover {
  background-color: #e2e2e2;
}

.program-ensemble__card-placeholder-inner {
  padding: 0.75rem;
  position: absolute;
  height: 100%;
}

.program-ensemble__card-placeholder-arrow {
  font: normal 3rem/1.1 "TOH";
  font-variation-settings: "wght" 100;
  font-size: 2.2rem;
  line-height: 0.7;
  text-indent: -0.3rem;
  position: absolute;
  bottom: 1.2rem;
  right: 1.5rem;
  height: 1.5rem;
  width: 1.7rem;
}

.program-interactive {
  display: grid;
  grid-template-columns: repeat(12, 7.3497854077%);
  grid-column-gap: 1.0729613734%;
}
* + .program-interactive {
  margin-top: 7.5rem;
}

.program-interactive__content {
  grid-column: 4/span 8;
}

.program-interactive__images {
  display: flex;
  position: relative;
}

.program-interactive__image--portrait:after {
  content: "";
  padding-bottom: 127.86%;
  display: block;
}

.program-interactive__image {
  position: relative;
}

.program-interactive__image--portrait {
  width: 50%;
}

.program-interactive__image--landscape {
  width: 100%;
}

.program-interactive__columns {
  display: grid;
  grid-template-columns: repeat(8, 11.0841423948%);
  grid-column-gap: 1.6181229773%;
}
* + .program-interactive__columns {
  margin-top: 2.25rem;
}

.program-interactive__column {
  grid-column: span 4;
}
.program-interactive__column.expanded .program-interactive__column-text {
  -webkit-line-clamp: unset;
}

.program-interactive__column-content {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  overflow: hidden;
  hyphens: auto;
}
@media only screen and (max-width: 767px) {
  .program-interactive__column-content {
    font-size: 13px;
  }
}
.program-interactive__column-content p + p {
  margin-top: 1.2rem;
}

.program-interactive__column-text:not(.program-interactive__column-text--with-button) {
  overflow: hidden;
  -webkit-line-clamp: 11;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}
.program-interactive__column-text:not(.program-interactive__column-text--with-button) p {
  display: inline;
}
.program-interactive__column-text:not(.program-interactive__column-text--with-button) p:after {
  content: " \a";
  white-space: pre;
}

.program-slider {
  position: relative;
}
.program-slider + * {
  margin-top: 9.5rem;
}

.program-slider__bars {
  display: flex;
  margin-bottom: 0.5rem;
}

.program-slider__bar {
  cursor: pointer;
  user-select: none;
  background-color: #e2e2e2;
  border-radius: 0.25rem;
  position: relative;
  overflow: hidden;
  height: 0.5rem;
  width: 100%;
}
.program-slider__bar + .program-slider__bar {
  margin-left: 0.5rem;
}

.program-slider__bar-bg {
  background-color: #282828;
  position: absolute;
  left: 0;
  height: 100%;
  width: 0;
}

.program-slider__bar-bg--timed {
  transition: width 5000ms linear;
}

.program-slider__content {
  position: relative;
  overflow: hidden;
}

.program-slider__images {
  position: relative;
  overflow: hidden;
}
.program-slider__images:after {
  content: "";
  padding-bottom: 46.5%;
  display: block;
}

.program-slider__image {
  opacity: 0;
  visibility: hidden;
}

.program-slider__image--active {
  opacity: 1;
  visibility: visible;
}

.article-production__media {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
}
@media only screen and (max-width: 767px) {
  .article-production__media {
    font-size: 13px;
  }
}
.article-production__media a:not(.text-button) {
  color: #222222;
  text-decoration: underline;
  text-underline-offset: 0.1rem;
  text-decoration-thickness: 0.1rem;
  text-decoration-color: #e2e2e2;
  transition: color 200ms ease;
}
.no-touch .article-production__media a:not(.text-button):hover {
  color: #e2e2e2;
}
* + .article-production__media, .article-production__media:first-child {
  margin-top: 4rem;
}

.article-production__media-title {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  margin-bottom: 1rem;
}
@media only screen and (max-width: 767px) {
  .article-production__media-title {
    font-size: 13px;
  }
}

.madiaplayer--video {
  position: relative;
}
.madiaplayer--video .cb-player {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.madiaplayer--video .cb-player.cb-player--media-ready .cb-player-controls {
  opacity: 0;
  visibility: hidden;
}
.madiaplayer--video .cb-player.cb-player--control-force-visibile .cb-player-controls {
  visibility: visible;
}
.madiaplayer--video .cb-player.cb-player--media-playing .cb-player-controls {
  visibility: visible;
}
.madiaplayer--video .cb-player.cb-player--media-playing:not(.cb-player--control-hide) .cb-player-controls {
  opacity: 1;
}
.madiaplayer--video .cb-player.cb-player--control-hide .cb-player-controls {
  opacity: 0;
}
.madiaplayer--video .cb-player-controls {
  margin: 0.5rem;
  width: calc(100% - 1rem);
}

.cb-player-overlayer-button {
  background-image: url("../elements/icon_media_overlay_play.svg");
  background-size: contain;
  background-repeat: no-repeat;
  border: 0;
  transition: opacity 200ms ease;
  opacity: 1;
  height: 5.9rem;
  width: 5.9rem;
}
.cb-player-overlayer-button:after {
  content: none;
}

.cb-player-spinner-wrap {
  width: 5.9rem;
  height: 5.9rem;
}

.cb-player-spinner {
  border-top-color: #EFEFEF;
}

.cb-player-media {
  cursor: pointer;
}

.cb-player-controls {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  background-color: #fff;
  border: 0.1rem solid #EFEFEF;
  border-radius: 0.5rem;
  transition: opacity 200ms ease, visibility 200ms ease;
  color: #282828;
  height: 4.9rem;
  padding-right: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .cb-player-controls {
    font-size: 13px;
  }
}

.cb-player-play {
  border: 0.1rem solid #EFEFEF;
  border-radius: 50%;
  margin-left: 0.7rem;
  margin-right: 0.9rem;
  height: 3.25rem;
  width: 3.25rem;
}

.cb-player-button-play {
  border: 0;
  background-image: url("../elements/icon_media_play.svg");
  background-repeat: no-repeat;
  background-size: 1.6rem;
  background-position: 65% 50%;
  width: 100%;
  height: 100%;
}

.cb-player-button-pause {
  border-left: 0.2rem solid #000;
  border-right: 0.2rem solid #000;
}

.cb-player-button-load:after {
  border-top-color: #2B2E34;
}

.cb-player-progress {
  border-radius: 0.5rem;
  background-color: transparent;
  border: 0.1rem solid #EFEFEF;
  height: 0.5rem;
}
.cb-player-progress + .cb-player-time {
  margin-left: 0;
}

.cb-player-progress-play {
  position: relative;
  background-color: transparent;
}
.cb-player-progress-play:after {
  content: "";
  border: 0.1rem solid #2B2E34;
  border-radius: 0.5rem;
  background-color: #fff;
  transform: translateX(0.25rem);
  position: absolute;
  top: -0.8rem;
  right: 0;
  height: 1.9rem;
  width: 0.5rem;
}

.cb-player-progress-hide {
  top: -0.8rem;
  height: calc(100% + 1.6rem);
}

.cb-player-progress-load {
  opacity: 0;
}

.cb-player-time-duration {
  margin-left: 0.85rem;
}

.overview__buttons {
  display: flex;
  flex-wrap: wrap;
  position: fixed;
  left: var(--space-left);
  bottom: var(--space-left);
  z-index: 2;
}

.overview__button {
  cursor: pointer;
  user-select: none;
  font: normal 3rem/1.1 "TOH";
  font-variation-settings: "wght" 100;
  line-height: 1.2;
  background-color: rgba(34, 34, 34, 0.9);
  color: #f0f0f0;
  transition: font-variation-settings 200ms ease;
  text-align: center;
  font-variation-settings: "wght" 900;
  border-radius: 0.5rem;
  height: 3.5rem;
  width: 5rem;
}
.overview__button + .overview__button {
  margin-left: 0.5rem;
}

.overview__button--active {
  font-variation-settings: "wght" 100;
}

.overview__right--people {
  padding-bottom: 50vh;
}

.overview__right--people--list .section-people-content__grid {
  display: none;
}

.overview__right--people--grid .section-people-content__list {
  display: none;
}

.section-people {
  display: block;
  padding-top: 0.5rem;
  padding-bottom: 4rem;
}
.section-people + .section-people {
  border-top: 0.1rem solid #000000;
  padding-top: 4rem;
}
.section-people:last-child {
  padding-bottom: 0;
}

.section-people__title {
  font: normal 4.5rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  margin-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .section-people__title {
    font-size: 30px;
    line-height: 0.9;
  }
}

.section-people-content__subtitle {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  margin-bottom: 1rem;
}
@media only screen and (max-width: 767px) {
  .section-people-content__subtitle {
    font-size: 30px;
    line-height: 0.9;
  }
}
* + .section-people-content__subtitle {
  margin-top: 4rem;
}
.article-production__main .section-people-content__subtitle {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .article-production__main .section-people-content__subtitle {
    font-size: 30px;
    line-height: 0.9;
  }
}

.section-people-content__space {
  height: 2rem;
}

.article-production__main * + .section-people-content__subtitle {
  margin-top: 0;
}

.section-people-hidden {
  display: none;
}

.preview-pople-list {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .preview-pople-list {
    font-size: 30px;
    line-height: 0.9;
  }
}

.preview-pople-space {
  height: 2rem;
}

.section-people-content__text a:not(.text-button) {
  color: #222222;
  text-decoration: underline;
  text-underline-offset: 0.1rem;
  text-decoration-thickness: 0.1rem;
  text-decoration-color: #e2e2e2;
  transition: color 200ms ease;
}
.no-touch .section-people-content__text a:not(.text-button):hover {
  color: #e2e2e2;
}
.preview-pople-list__role {
  overflow: hidden;
  position: relative;
  white-space: nowrap;
  width: 43.6468054559%;
}
.article-production__content .preview-pople-list__role {
  width: 44.2903225806%;
}

.preview-pople-list__names {
  margin-left: 1.4357501795%;
  width: 54.9174443647%;
}
.article-production__content .preview-pople-list__names {
  width: 44.2903225806%;
}

.preview-person-list__name {
  display: block;
}
.preview-person-list__name a:not(.text-button) {
  color: #222222;
  text-decoration: underline;
  text-underline-offset: 0.1rem;
  text-decoration-thickness: 0.1rem;
  text-decoration-color: #e2e2e2;
  transition: color 200ms ease;
}
.no-touch .preview-person-list__name a:not(.text-button):hover {
  color: #e2e2e2;
}

.preview-person-playtimes {
  position: relative;
  margin-left: 0.35rem;
}
.no-touch .preview-person-playtimes:hover .preview-person-playtime__tooltip, .preview-person-playtimes:focus .preview-person-playtime__tooltip {
  display: block;
}

.preview-person-playtime__icon {
  font: normal 3rem/1.1 "TOH";
  font-variation-settings: "wght" 100;
  font-size: 1.4rem;
  display: inline-block;
}

.preview-person-playtime__tooltip {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  display: none;
  background-color: #fff;
  border-radius: 0.25rem;
  border: 0.1rem solid #e2e2e2;
  position: absolute;
  padding: 1rem 1rem 0.8rem;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
}
@media only screen and (max-width: 767px) {
  .preview-person-playtime__tooltip {
    font-size: 13px;
  }
}

.preview-people-grid {
  display: grid;
  grid-template-columns: repeat(9, 9.8348887294%);
  grid-column-gap: 1.4357501795%;
}

.preview-people-grid__item {
  grid-column: span 3;
  margin-top: 2rem;
}
.preview-people-grid__item:nth-child(-n+3) {
  margin-top: 0;
}

.preview-people-grid__item--wrap + .preview-people-grid__item--wrap {
  margin-top: 2rem;
}

.preview-people-grid__item-image {
  display: block;
  position: relative;
  overflow: hidden;
}
.preview-people-grid__item-image:after {
  content: "";
  padding-bottom: 124.33%;
  display: block;
}
.preview-people-grid__item-image .lazyimage {
  position: absolute;
  top: 0;
  left: 0;
}

a.preview-people-grid__item-image {
  transition: opacity 200ms ease;
  opacity: 1;
}
.no-touch a.preview-people-grid__item-image:hover {
  opacity: 0.5;
}

.preview-people-grid__item-name {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
}
@media only screen and (max-width: 767px) {
  .preview-people-grid__item-name {
    font-size: 30px;
    line-height: 0.9;
  }
}
.preview-people-grid__item-name a:not(.text-button) {
  color: #222222;
  text-decoration: underline;
  text-underline-offset: 0.1rem;
  text-decoration-thickness: 0.1rem;
  text-decoration-color: #e2e2e2;
  transition: color 200ms ease;
}
.no-touch .preview-people-grid__item-name a:not(.text-button):hover {
  color: #e2e2e2;
}
* + .preview-people-grid__item-name {
  margin-top: 1rem;
}

.preview-people-grid__item-role {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  margin-top: 0.25rem;
}
@media only screen and (max-width: 767px) {
  .preview-people-grid__item-role {
    font-size: 13px;
  }
}

.article-person__title {
  font: normal 10rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  text-align: center;
  margin-bottom: 2.2rem;
  padding-right: 0;
  margin-left: 0;
}
@media only screen and (max-width: 767px) {
  .article-person__title {
    font-size: 79px;
    line-height: 0.873;
  }
}

.article-person__image {
  position: relative;
  margin-left: 33.6909871245%;
  width: 32.6180257511%;
}
.article-person__image:after {
  content: "";
  padding-bottom: 116.6667%;
  display: block;
}
.article-person__image .lazyimage {
  position: absolute;
  top: 0;
  left: 0;
}

.article-person__content {
  margin-left: 16.8454935622%;
  width: 66.3090128755%;
}
* + .article-person__content {
  margin-top: 2.5rem;
}

.article-person__text {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
}
@media only screen and (max-width: 767px) {
  .article-person__text {
    font-size: 30px;
    line-height: 0.9;
  }
}

.article-person__text-content {
  overflow: hidden;
}
.expanded .article-person__text-content .article-person__text-text {
  -webkit-line-clamp: unset;
}

.article-person__text-text {
  overflow: hidden;
  -webkit-line-clamp: 15;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}
.article-person__text-text p {
  display: inline;
}
.article-person__text-text p:after {
  content: " \a";
  white-space: pre;
}

* + .article-person__playtime {
  margin-top: 5.5rem;
}

.article-person__playtime-title {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .article-person__playtime-title {
    font-size: 30px;
    line-height: 0.9;
  }
}

.article-person__playtime-entry {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .article-person__playtime-entry {
    font-size: 30px;
    line-height: 0.9;
  }
}

.article-person__playtime-entry-role {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 36.4886731392%;
}

.article-person__playtime-entry-title {
  margin-left: 1.6181229773%;
  width: 61.8932038835%;
}
.article-person__playtime-entry-title a:not(.text-button) {
  color: #222222;
  text-decoration: underline;
  text-underline-offset: 0.1rem;
  text-decoration-thickness: 0.1rem;
  text-decoration-color: #e2e2e2;
  transition: color 200ms ease;
}
.no-touch .article-person__playtime-entry-title a:not(.text-button):hover {
  color: #e2e2e2;
}

.venues {
  margin-top: 5.25rem;
}

.preview-venue {
  display: grid;
  grid-template-columns: repeat(12, 7.3497854077%);
  grid-column-gap: 1.0729613734%;
  border-top: 0.1rem solid #282828;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.preview-venue__number {
  grid-column: span 2;
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
}
@media only screen and (max-width: 767px) {
  .preview-venue__number {
    font-size: 30px;
    line-height: 0.9;
  }
}

.preview-venue__content {
  grid-column: span 4;
}

.preview-venue__title {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
}
@media only screen and (max-width: 767px) {
  .preview-venue__title {
    font-size: 30px;
    line-height: 0.9;
  }
}

.preview-venue__extra {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  position: relative;
  padding-left: 0.6rem;
}
@media only screen and (max-width: 767px) {
  .preview-venue__extra {
    font-size: 13px;
  }
}
* + .preview-venue__extra {
  margin-top: 1rem;
}
.preview-venue__extra:after {
  content: "";
  border-left: 0.1rem dotted;
  position: absolute;
  top: 0.15rem;
  left: 0;
  bottom: 0.25rem;
}

.preview-venue__address {
  grid-column: span 3;
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
}
@media only screen and (max-width: 767px) {
  .preview-venue__address {
    font-size: 30px;
    line-height: 0.9;
  }
}

.preview-venue__buttons {
  margin-left: auto;
  grid-column: span 3;
}

.article-venue__title {
  margin-bottom: 8.5rem;
}

.article-venue__info {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  display: grid;
  grid-template-columns: repeat(12, 7.3497854077%);
  grid-column-gap: 1.0729613734%;
}
@media only screen and (max-width: 767px) {
  .article-venue__info {
    font-size: 30px;
    line-height: 0.9;
  }
}

.article-venue__info-button {
  grid-column: span 2;
  text-align: right;
}

.article-venue__info-address {
  grid-column: span 3;
}

.article-venue__info-text {
  grid-column: span 7;
}

.article-venue__info + .accordions {
  margin-top: 4rem;
}
.accordions + .accordions {
  border-top: 0.1rem solid #282828;
}

.accordion + .accordion {
  border-top: 0.1rem solid #282828;
}

* + .accordions--space {
  margin-top: 7.5rem;
}

.accordions--spacefestival:first-child {
  margin-top: 7.5rem;
}

.accordions--default-width {
  margin-left: 25.2682403433%;
  width: 74.7317596567%;
}

.accordion--full-width .accordion__top-button {
  width: 7.3497854077%;
}
.accordion--full-width .accordion__top-title {
  margin-left: 1.0729613734%;
  width: 91.5772532189%;
}
.accordion--full-width .accordion__content {
  margin-left: 50.5364806867%;
  width: 49.4635193133%;
}

.accordion--open .accordion__expandable {
  display: block;
}

.accordion__top {
  cursor: pointer;
  user-select: none;
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  display: flex;
  padding-top: 2rem;
  padding-bottom: 2rem;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .accordion__top {
    font-size: 30px;
    line-height: 0.9;
  }
}
.no-touch .accordion__top:hover .button {
  background-color: #e2e2e2;
}

.accordion__top-button {
  width: 9.8348887294%;
}

.accordion__top-title {
  margin-left: 1.4357501795%;
  width: 88.7293610912%;
}

.accordion__expandable {
  display: none;
}

.accordion__content {
  margin-left: 11.2706389088%;
  margin-top: -2rem;
  padding-top: 1.5rem;
  padding-bottom: 2rem;
}

.accordion__content-text {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
}
@media only screen and (max-width: 767px) {
  .accordion__content-text {
    font-size: 30px;
    line-height: 0.9;
  }
}
.accordion__content-text p + p {
  margin-top: 1em;
}

.panorama {
  position: relative;
}
.panorama:after {
  content: "";
  display: block;
  padding-bottom: 56.25%;
}
.panorama .panolens-canvas {
  position: absolute;
  top: 0;
  left: 0;
  height: 100% !important;
  width: 100% !important;
}

.overview__right--service .textblock + .textblock {
  border-top: 0.1rem solid #282828;
  padding-top: 2rem;
}
.overview__right--service .textblock > *:last-child:not(.accordions):not(.infobar) {
  padding-bottom: 2rem;
}

.price + .price {
  margin-top: 2rem;
  border-top: 0.1rem dotted #282828;
  padding-top: 2rem;
}

.price__content {
  display: grid;
  grid-template-columns: repeat(9, 9.8348887294%);
  grid-column-gap: 1.4357501795%;
}
.accordion__content .price__content {
  display: grid;
  grid-template-columns: repeat(8, 11.0841423948%);
  grid-column-gap: 1.6181229773%;
}

.price__title {
  grid-column: span 4;
}
.accordion__content .price__title {
  grid-column: span 3;
}

.price__prices {
  grid-column: span 5;
  display: flex;
  flex-wrap: wrap;
}

.price__entry {
  text-align: center;
  width: 17.908496732%;
}
.price__entry + .price__entry {
  margin-left: 2.614379085%;
}

.price__entry-number {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  display: inline-block;
  border: 0.05rem solid #000000;
  border-radius: 50%;
  height: 1.8rem;
  width: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .price__entry-number {
    font-size: 13px;
  }
}
.price__entry-number span {
  display: block;
  text-align: center;
  margin-top: 0.25rem;
}

* + .price__entry-price {
  margin-top: 1rem;
}

.price__info {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  grid-column: span 8;
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  .price__info {
    font-size: 13px;
  }
}

.sponsors {
  display: flex;
  flex-wrap: wrap;
}
* + .sponsors {
  margin-top: 2rem;
}

.sponsor {
  position: relative;
  padding-left: 0.3rem;
  padding-right: 0.3rem;
  width: 25%;
}
.sponsor:after {
  content: "";
  padding-bottom: 100%;
  display: block;
}
.sponsor:nth-child(-n+4) .sponsor__border-top {
  display: none;
}
.sponsor:nth-child(4n+1) .sponsor__border-left {
  display: none;
}

.sponsor__border-top {
  border-top: 0.1rem dotted #282828;
  margin-left: -0.15rem;
  width: calc(100% - 0.3rem);
}

.sponsor__border-left {
  border-left: 0.1rem dotted #282828;
  position: absolute;
  top: 0.15rem;
  left: 0;
  bottom: 0.15rem;
  width: 0.1rem;
  z-index: 1;
}

.sponsor__logo {
  display: block;
  position: absolute;
  height: 100%;
  width: calc(100% - 0.6rem);
}
.sponsor__logo img {
  object-fit: contain;
  max-width: 90%;
  margin: 0 auto;
  height: 100%;
  width: 100%;
}

.infomodule {
  display: flex;
  flex-wrap: wrap;
}
.infomodule + * {
  margin-top: 9.5rem;
}

.infomodule-item {
  cursor: pointer;
  user-select: none;
  position: relative;
  width: 33.33333334%;
}
.infomodule-item:after {
  content: "";
  padding-bottom: 70.175%;
  display: block;
}
.no-touch .infomodule-item:hover .infomodule-item__border-background, .infomodule-item:focus .infomodule-item__border-background {
  opacity: 1;
}
.no-touch .infomodule-item:hover .text-button--infomodule, .infomodule-item:focus .text-button--infomodule {
  border-color: #000;
}

.infomodule-item:nth-child(-n+3) .infomodule-item__border-top {
  display: none;
}
.infomodule-item:nth-child(3n+1) .infomodule-item__border-left {
  display: none;
}
.infomodule-item:nth-child(3n) .infomodule-item__border-top {
  width: calc(100% - 0.5rem);
}
.infomodule-item:nth-child(3n+1) .infomodule-item__border-top {
  margin-left: 0;
  width: calc(100% - 0.5rem);
}

.infomodule-item__border-top {
  border-top: 0.1rem dotted #282828;
  margin-left: 0.5rem;
  top: -0.05rem;
  position: relative;
  width: calc(100% - 1rem);
  z-index: 4;
}

.infomodule-item__border-left {
  border-left: 0.1rem dotted #282828;
  position: absolute;
  top: 0.3rem;
  left: -0.05rem;
  bottom: 0.3rem;
  width: 0.1rem;
  z-index: 4;
}

.infomodule-item__border-background {
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 200ms ease;
  opacity: 0;
  height: 100%;
  width: 100%;
}

.infomodule-item__radius-rb {
  border-bottom-right-radius: 0.5rem;
}

.infomodule-item__radius-lb {
  border-bottom-left-radius: 0.5rem;
}

.infomodule-item__radius-lt {
  border-top-left-radius: 0.5rem;
}

.infomodule-item__radius-rt {
  border-top-right-radius: 0.5rem;
}

.infomodule-item__content {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  position: absolute;
  transition: color 200ms ease;
  top: 0;
  left: 0;
  hyphens: auto;
  padding: 2rem;
  height: 100%;
  width: 100%;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .infomodule-item__content {
    font-size: 30px;
    line-height: 0.9;
  }
}

.tiles {
  margin-top: 10rem;
}

.tiles__title {
  font: normal 12rem/0.91667 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  margin-bottom: 4rem;
}
@media only screen and (max-width: 767px) {
  .tiles__title {
    font-size: 60px;
  }
}
* + .tiles__title {
  margin-top: 4rem;
}

.tile {
  position: relative;
  border-top: 0.1rem dotted #282828;
  border-bottom: 0.1rem dotted #282828;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.tile + .tile, .tile + .tiles__group .tile, .tile + .tiles__2up .tile, .tiles__group + .tiles__group .tile, .tiles__group + .tiles__2up .tile, .tiles__group + .tile, .tiles__2up + .tiles__2up .tile, .tiles__2up + .tiles__group .tile, .tiles__2up + .tile {
  border-top: 0;
}

.tile__title {
  font: normal 4.5rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  line-height: 0.9;
  margin-bottom: 1.5rem;
  hyphens: auto;
}
@media only screen and (max-width: 767px) {
  .tile__title {
    font-size: 30px;
    line-height: 0.9;
  }
}

.tile__image {
  display: block;
  position: relative;
}
.tile__image .lazyimage {
  position: absolute;
  top: 0;
  left: 0;
}

.tile--columns {
  display: flex;
  flex-wrap: wrap;
}

.tile__column {
  width: 50%;
}
.tile__column + .tile__column {
  padding-left: 1rem;
}
.tile__column .text-button--tile {
  margin-top: auto;
  margin-left: auto;
}

.tile__column--content {
  display: flex;
  flex-direction: column;
}

.tile__content {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
}
@media only screen and (max-width: 767px) {
  .tile__content {
    font-size: 30px;
    line-height: 0.9;
  }
}
.tile__content h1 {
  font: normal 4.5rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  margin-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .tile__content h1 {
    font-size: 30px;
    line-height: 0.9;
  }
}

.tile__button {
  margin-top: 2rem;
  padding-right: 2rem;
  text-align: right;
}

.tiles__2up {
  display: flex;
  flex-wrap: wrap;
}
.tiles__2up .tile {
  width: 49.4635193133%;
  padding-bottom: 2rem;
}
.tiles__2up .tile + .tile {
  border-top: 0.1rem dotted #282828;
  margin-left: 1.0729613734%;
  position: relative;
}
.tiles__2up .tile + .tile:before {
  content: "";
  border-left: 0.1rem dotted #282828;
  position: absolute;
  left: -1.0845986985%;
  top: 0.5rem;
  height: calc(100% - 1rem);
}
.tiles__2up .tile:nth-child(1) {
  padding-right: 0.5rem;
}
.tiles__2up .tile:nth-child(2) {
  padding-left: 0.5rem;
}
.tiles__2up * + .tile__content {
  margin-top: 4rem;
}
.tile + .tiles__2up .tile,
.tile + .tiles__2up .tile + .tile {
  border-top: 0;
}

.tiles__group {
  display: flex;
  flex-wrap: wrap;
}
.tiles__group .tile {
  border-top: 0.1rem dotted #282828;
  width: 49.4635193133%;
}
.tiles__group .tile:nth-child(2n) {
  margin-left: 1.0729613734%;
  position: relative;
}
.tiles__group .tile:nth-child(n+3) {
  border-top: 0;
}
.tiles__group .tile:nth-child(odd) .tile__image-slide {
  right: -1.0845986985%;
  transform: translateX(100%);
  padding: 0.5rem 0.75rem 0.5rem 0;
}
.tiles__group .tile:nth-child(even) .tile__image-slide {
  left: -1.0845986985%;
  transform: translateX(-100%);
  padding: 0.5rem 0 0.5rem 0.75rem;
}
.tiles__group + * {
  border-top: 0;
}
.tiles__2up + .tiles__group .tile:nth-child(-n+2) {
  border-top: 0;
}

.tile--group {
  position: relative;
  padding-top: 0;
  padding-bottom: 0;
}
.tile--group:after {
  content: "";
  padding-bottom: 54.439%;
  display: block;
}
.tile--group .tile__inner {
  position: absolute;
  top: 0;
  left: 0;
  padding: 2.25rem 1.2rem;
  height: 100%;
  width: 100%;
}

.tile__image-slide {
  background: #fff;
  position: absolute;
  pointer-events: none;
  height: 100%;
  width: 0;
  transition: width 300ms ease, opacity 300ms ease;
  opacity: 0;
  z-index: 10;
}

.tile__border-left {
  border-left: 0.1rem dotted #282828;
  position: absolute;
  left: -1.0845986985%;
  top: 0.5rem;
  transition: margin 300ms ease;
  height: calc(100% - 1rem);
  z-index: 12;
}

.overlayer--newsletter {
  left: var(--space-left);
  right: var(--space-right);
}
.overlayer--newsletter .overlayer__close {
  opacity: 0.5;
}

.overlayer-newsletter {
  overflow-x: hidden;
  overflow-y: scroll;
  margin-left: var(--scrollbar);
  padding-top: 5.3rem;
  height: 100%;
  width: 100%;
}

.overlayer-newsletter__inner {
  margin-left: calc(25.2682403433% - var(--scrollbar));
  width: 49.4635193133%;
}

.overlayer-newsletter__title {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
}
@media only screen and (max-width: 767px) {
  .overlayer-newsletter__title {
    font-size: 30px;
    line-height: 0.9;
  }
}

.form {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
}
@media only screen and (max-width: 767px) {
  .form {
    font-size: 13px;
  }
}

.form-newsletter {
  margin-top: 4rem;
  margin-bottom: 2rem;
}

.form-theaterlovers {
  margin-bottom: 4rem;
}

.form__columns {
  display: flex;
}

.form__column {
  width: 48.9154013015%;
}
.form__column + .form__column {
  margin-left: 4.4345898004%;
}

.form-item {
  position: relative;
}
.form-item + .form-item, .form__text + .form-item, .form-item + .form__text, .form-checkbox + .form-item, .form-radio + .form-item {
  margin-top: 2rem;
}
.form__info + .form-item {
  margin-top: 2.2rem;
}

.form-item--hidden {
  display: none;
}

.form-item__label {
  display: inline-block;
  padding-bottom: 0.9rem;
}
.form-item--error .form-item__label {
  color: #ffff00;
}

.form-item__required {
  color: #777777;
  position: absolute;
  right: 0;
  top: 0;
}

.form-item__input {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  border: 0.1rem solid #777777;
  border-radius: 0.5rem;
  background-color: transparent;
  display: block;
  color: #f0f0f0;
  padding: 0.75rem 1rem;
  margin: 0;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .form-item__input {
    font-size: 30px;
    line-height: 0.9;
  }
}
.form-item__input:focus {
  outline: none;
  border-color: #e2e2e2;
}
.form-item--error .form-item__input {
  border-color: #ffff00;
}

.form-item__select {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  border: 0.1rem solid #777777;
  border-radius: 0.5rem;
  background-color: transparent;
  display: block;
  color: #f0f0f0;
  padding: 0.75rem 1rem;
  margin: 0;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .form-item__select {
    font-size: 30px;
    line-height: 0.9;
  }
}
.form-item__select:focus {
  outline: none;
  border-color: #e2e2e2;
}
.form-item--error .form-item__select {
  border-color: #ffff00;
}
.form-item__select option {
  font-feature-settings: "calt" 0;
}

.form__button {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  cursor: pointer;
  user-select: none;
  border: 0;
  background-color: #e2e2e2;
  color: #777777;
  border-radius: 0.5rem;
  height: 3.5rem;
  margin-top: 4rem;
  width: 14.8590021692%;
}
@media only screen and (max-width: 767px) {
  .form__button {
    font-size: 13px;
  }
}

.form__button--right {
  margin-left: 69.623059867%;
  width: 30.376940133%;
}

.form__info {
  font: normal 0.8rem/1.25 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-feature-settings: "calt" 0;
  color: #777777;
}
* + .form__info {
  margin-top: 2.2rem;
}

.form__text + .form-checkbox, .form-item + .form-checkbox,
.form__text + .form-radio,
.form-item + .form-radio {
  margin-top: 2rem;
}
.form-checkbox + .form-checkbox, .form-checkbox + .form-radio,
.form-radio + .form-checkbox,
.form-radio + .form-radio {
  margin-top: 0.5rem;
}

.form-checkbox--inline,
.form-radio {
  display: inline-block;
  margin-right: 1rem;
}

.form-checkbox__input {
  display: none;
}
.form-checkbox__input:checked + .form-checkbox__label:before {
  background-color: #f0f0f0;
  border-color: #f0f0f0;
}
.form--black-on-white .form-checkbox__input:checked + .form-checkbox__label:before {
  background-color: #000;
}

.form-checkbox__label {
  cursor: pointer;
  user-select: none;
  display: inline-block;
  position: relative;
  padding-left: 1.35rem;
}
.form-checkbox__label a:not(.text-button) {
  color: #222222;
  text-decoration: underline;
  text-underline-offset: 0.1rem;
  text-decoration-thickness: 0.1rem;
  text-decoration-color: #e2e2e2;
  transition: color 200ms ease;
}
.no-touch .form-checkbox__label a:not(.text-button):hover {
  color: #e2e2e2;
}
.form-checkbox__label a:not(.text-button) {
  color: #f0f0f0;
}
.form-checkbox__label:before {
  content: "";
  border: 0.1rem solid #777777;
  display: inline-block;
  border-radius: 50%;
  position: absolute;
  top: 0.15rem;
  left: 0;
  height: 0.85rem;
  width: 0.85rem;
}
.form-item--error .form-checkbox__label {
  color: #ffff00;
}
.form-item--error .form-checkbox__label:before {
  border: 0.1rem solid #ffff00;
}
.form--black-on-white .form-item--error .form-checkbox__label {
  color: #000;
  background-color: #ffff00;
}
.form--black-on-white .form-item--error .form-checkbox__label:before {
  border: 0.1rem solid #000;
}
.form--black-on-white .form-item--error .form-checkbox__label a {
  text-decoration-color: #000;
}

.form__title {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
}
@media only screen and (max-width: 767px) {
  .form__title {
    font-size: 30px;
    line-height: 0.9;
  }
}
.form__title + .form__text {
  margin-top: 0.2rem;
}

.form__text + .form__checkbox-text, .form-checkbox + .form__checkbox-text {
  margin-top: 2rem;
}
.form__checkbox-text + .form-checkbox {
  margin-top: 0.4rem;
}

.form-item__textarea {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  border: 0.1rem solid #777777;
  border-radius: 0.5rem;
  background-color: transparent;
  display: block;
  color: #f0f0f0;
  padding: 1.1rem 1rem;
  margin: 0;
  resize: none;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .form-item__textarea {
    font-size: 30px;
    line-height: 0.9;
  }
}
.form-item__textarea:focus {
  outline: none;
  border-color: #e2e2e2;
}
.form-ticketorder .form-item__textarea, .form-theaterlovers .form-item__textarea {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
}
@media only screen and (max-width: 767px) {
  .form-ticketorder .form-item__textarea, .form-theaterlovers .form-item__textarea {
    font-size: 13px;
  }
}

.form-item__password_forget {
  font: normal 0.9rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/80);
  cursor: pointer;
  user-select: none;
  display: inline-block;
  margin-top: 1rem;
}
.overlayer .form-item__password_forget {
  color: #777777;
}

.form__error-message {
  color: #ffff00;
  display: none;
  margin-bottom: 2rem;
  width: 100%;
}
.form__error-message a:not(.text-button) {
  color: #222222;
  text-decoration: underline;
  text-underline-offset: 0.1rem;
  text-decoration-thickness: 0.1rem;
  text-decoration-color: #e2e2e2;
  transition: color 200ms ease;
}
.no-touch .form__error-message a:not(.text-button):hover {
  color: #e2e2e2;
}
.form-with-error .form__error-message {
  display: block;
}
.form__error-message a:not(.text-button) {
  color: #ffff00;
}

.form__message {
  margin-top: 4rem;
  margin-bottom: 2rem;
  width: 100%;
}
.form__message a:not(.text-button) {
  color: #222222;
  text-decoration: underline;
  text-underline-offset: 0.1rem;
  text-decoration-thickness: 0.1rem;
  text-decoration-color: #e2e2e2;
  transition: color 200ms ease;
}
.no-touch .form__message a:not(.text-button):hover {
  color: #e2e2e2;
}
.form__message a:not(.text-button) {
  color: #f0f0f0;
}

.form--black-on-white .form-item__input,
.form--black-on-white .form-item__textarea,
.form--black-on-white .form-item__select {
  color: #222222;
}
.form--black-on-white .form-checkbox__label a:not(.text-button) {
  color: #222222;
}

.featuredcalendar {
  display: grid;
  grid-template-columns: repeat(12, 7.3497854077%);
  grid-column-gap: 1.0729613734%;
}

.featuredcalendar__sidebar {
  grid-column: span 3;
}

.featuredcalendar__sidebar-slider {
  height: calc(100vh - 5.5rem);
  height: calc(100vh - 9.5rem);
  position: sticky;
  top: 5.5rem;
}

.featuredcalendar__sidebar-slider--small .featuredcalendar__sidebar-items {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
}
@media only screen and (max-width: 767px) {
  .featuredcalendar__sidebar-slider--small .featuredcalendar__sidebar-items {
    font-size: 30px;
    line-height: 0.9;
  }
}

.featuredcalendar__sidebar-date {
  font: normal 4.5rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .featuredcalendar__sidebar-date {
    font-size: 30px;
    line-height: 0.9;
  }
}

.featuredcalendar__sidebar-items {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
}
@media only screen and (max-width: 767px) {
  .featuredcalendar__sidebar-items {
    font-size: 30px;
    line-height: 0.9;
  }
}

.featuredcalendar__sidebar-item {
  cursor: pointer;
  user-select: none;
  color: #e2e2e2;
}
.featuredcalendar__sidebar-item + .featuredcalendar__sidebar-item {
  margin-top: 1rem;
}

.featuredcalendar__sidebar-item--active {
  color: #222222;
}

.featuredcalendar__items {
  grid-column: span 9;
}

.featuredcalendar-item + .featuredcalendar-item {
  padding-top: 5rem;
}

.featuredcalendar-item__title {
  line-height: 0.8;
  letter-spacing: calc(-1em/20);
}

.featuredcalendar-item__image {
  display: block;
  position: relative;
  overflow: hidden;
}
* + .featuredcalendar-item__image {
  margin-top: 2rem;
}
.featuredcalendar-item__image:after {
  content: "";
  padding-bottom: 46.132%;
  display: block;
}
.featuredcalendar-item__image .lazyimage {
  position: absolute;
  top: 0;
  left: 0;
}

.featuredcalendar-item__details {
  display: flex;
  flex-wrap: wrap;
}
.featuredcalendar-item__image + .featuredcalendar-item__details {
  margin-top: 1.5rem;
}
.featuredcalendar-item__title + .featuredcalendar-item__details {
  margin-top: 2.5rem;
}
.featuredcalendar-item__details + .featuredcalendar-item__details {
  margin-top: 1.5rem;
}

.featuredcalendar-item-detail--first {
  width: 39.4472361809%;
}

.featuredcalendar-item-detail--middle {
  margin-left: 5.6353194544%;
  width: 26.7408470926%;
}

.featuredcalendar-item-detail--last {
  margin-left: auto;
}

.featuredcalendar-item-detail__date {
  display: none;
}

.featuredcalendar-item-detail__time {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  margin-bottom: 0.8rem;
}
@media only screen and (max-width: 767px) {
  .featuredcalendar-item-detail__time {
    font-size: 30px;
    line-height: 0.9;
  }
}

.featuredcalendar-item-detail__text {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
}
@media only screen and (max-width: 767px) {
  .featuredcalendar-item-detail__text {
    font-size: 30px;
    line-height: 0.9;
  }
}

* + .newsslider {
  margin-top: 5rem;
}

.newsslider__slides {
  position: relative;
  overflow: hidden;
}

.newsslider-slide {
  background-color: #fff;
  border-left: 0.1rem dotted #282828;
  transition: transform 300ms ease;
  transform: translateX(0);
  left: 0;
  position: relative;
  width: 78.9431330472%;
  z-index: 1;
}
.newsslider-slide:after {
  content: "";
  padding-bottom: 46.052%;
  display: block;
}
.newsslider-slide + .newsslider-slide {
  position: absolute;
  top: 0;
}
.newsslider-slide:nth-child(2) {
  margin-left: 3rem;
}
.newsslider-slide:nth-child(3) {
  margin-left: 6rem;
}
.newsslider-slide:nth-child(4) {
  margin-left: 9rem;
}
.newsslider-slide:nth-child(5) {
  margin-left: 12rem;
}
.newsslider-slide:nth-child(6) {
  margin-left: 15rem;
}
.newsslider-slide:nth-child(7) {
  margin-left: 18rem;
}
.newsslider-slide:nth-child(8) {
  margin-left: 21rem;
}
.newsslider-slide:nth-child(9) {
  margin-left: 24rem;
}
.newsslider-slide:nth-child(10) {
  margin-left: 27rem;
}
.newsslider-slide:nth-child(11) {
  margin-left: 30rem;
}
.newsslider-slide[data-position="1"] {
  transform: translateX(100%);
}
.newsslider-slide[data-position="2"] {
  transform: translateX(200%);
}
.newsslider-slide:not(.newsslider-slide--current):before {
  content: "";
  cursor: pointer;
  user-select: none;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 100;
}

.newsslider-slide__inner {
  display: flex;
  position: absolute;
  top: 1rem;
  left: 1.5rem;
  right: 0;
  bottom: 1rem;
}

.newsslider-slide__image {
  overflow: hidden;
  position: relative;
  flex: 0 0 auto;
  width: 43.448%;
}
.newsslider-slide__image .lazyimage-container {
  position: relative;
  overflow: hidden;
}
.newsslider-slide__image .lazyimage-container:after {
  content: "";
  padding-bottom: 104.76%;
  display: block;
}
.newsslider-slide__image .lazyimage-container .lazyimage {
  position: absolute;
  top: 0;
  left: 0;
}

.newsslider-slide__content {
  display: flex;
  flex-direction: column;
  margin-right: 0.5rem;
  flex: 1;
}
.newsslider-slide__image + .newsslider-slide__content {
  margin-left: 2rem;
}

.newsslider-slide__content-title {
  line-height: 0.8641;
  position: relative;
  height: 70%;
}

.newsslider-slide__content-title-item {
  letter-spacing: calc(-1em/20);
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.newsslider-slide__content-text {
  margin-top: auto;
}

.newsslider-slide__content-button {
  margin-top: auto;
  text-align: right;
}

.newsslider__pagination {
  font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  display: flex;
  margin-top: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .newsslider__pagination {
    font-size: 30px;
    line-height: 0.9;
  }
}
.newsslider__pagination li + li {
  margin-left: 1rem;
}

.newsslider__pagination-page {
  cursor: pointer;
  user-select: none;
  color: #e2e2e2;
}
.newsslider__pagination-page + .newsslider__pagination-page {
  margin-left: 0.5rem;
}

.newsslider__pagination-page--selected {
  color: #222222;
}

.article__title--kuv {
  font-feature-settings: "ss01";
  animation: KUV 4s cubic-bezier(0.7, 0, 0.3, 1) 2s infinite alternate;
}

.tiles__title {
  font-variation-settings: "wght" 100;
  animation: KUV 4s cubic-bezier(0.7, 0, 0.3, 1) 2s infinite alternate;
}

.tiles__title--1 {
  font-feature-settings: "ss02";
}

.tiles__title--2 {
  font-feature-settings: "ss03";
}

.tiles__title--3 {
  font-feature-settings: "ss04";
}

@keyframes KUV {
  from {
    font-variation-settings: "wght" 100;
  }
  to {
    font-variation-settings: "wght" 900;
  }
}
.text-kuv {
  font-feature-settings: "calt" 1;
}

.cookie {
  border-radius: 0.5rem;
  background-color: rgba(40, 40, 40, 0.95);
  color: #f0f0f0;
  display: none;
  position: fixed;
  padding: 1.5rem;
  left: var(--space-left);
  bottom: 20px;
  max-width: 47rem;
  width: calc(100% - var(--space-left) - var(--space-right));
  z-index: 9999;
}

.cookie--show {
  display: block;
}

.cookie__title {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  margin-bottom: 1rem;
}
@media only screen and (max-width: 767px) {
  .cookie__title {
    font-size: 30px;
    line-height: 0.9;
  }
}

.cookie__text {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
}
@media only screen and (max-width: 767px) {
  .cookie__text {
    font-size: 13px;
  }
}
.cookie__text.text-format a {
  color: #f0f0f0;
  opacity: 1;
  transition: opacity 200ms ease;
}
.no-touch .cookie__text.text-format a:hover {
  opacity: 0.5;
}
* + .cookie__text {
  margin-top: 1.5rem;
}

.cookie__switches {
  display: flex;
  margin-top: 1.5rem;
}

.cookie-switch {
  display: flex;
  align-items: center;
}
.cookie-switch + .cookie-switch {
  margin-left: 4rem;
}

.cookie-switch__button {
  cursor: pointer;
  user-select: none;
  background-color: #999;
  margin: 0;
  padding: 0;
  border: 0.1rem solid #999;
  border-radius: 2rem;
  position: relative;
  transition: background-color 200ms ease;
  height: 1.5rem;
  width: 3rem;
}
.cookie-switch__button:after {
  content: "";
  background-color: #f0f0f0;
  border-radius: 50%;
  display: block;
  position: absolute;
  transition: transform 200ms ease;
  transform: translateX(0);
  top: -0.1rem;
  left: -0.1rem;
  height: 1.5rem;
  width: 1.5rem;
}
.cookie-switch__button:disabled {
  cursor: default;
  opacity: 0.4;
}

.cookie-switch__button--active {
  background-color: transparent;
}
.cookie-switch__button--active:after {
  transform: translateX(100%);
}

.cookie-switch__label {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  cursor: pointer;
  user-select: none;
  margin-left: 1rem;
}
@media only screen and (max-width: 767px) {
  .cookie-switch__label {
    font-size: 13px;
  }
}
.cookie-switch__label.cookie-switch__label--disabled {
  cursor: default;
}

.cookie__bottom {
  display: flex;
  margin-top: 4rem;
}

.cookie__button {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  cursor: pointer;
  user-select: none;
  transition: opacity 200ms ease;
  border: 0.1rem solid #fff;
  border-radius: 0.5rem;
  padding: 0.6rem 0.95rem;
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  .cookie__button {
    font-size: 13px;
  }
}
.no-touch .cookie__button:hover {
  opacity: 0.5;
}

.cookie__button--icon {
  font: normal 3rem/1.1 "TOH";
  font-variation-settings: "wght" 100;
  transition: opacity 200ms ease, font-variation-settings 200ms ease;
  font-size: 1.8rem;
  line-height: 1.3;
  padding: 0 15px;
}

.cookie__button--icon-active {
  font-variation-settings: "wght" 900;
}

.cookie__button--right {
  margin-left: auto;
  margin-right: 0.5rem;
}

.overview__slider--mobile,
.calendar__date--mobile,
.article-production__tags--mobile {
  display: none;
}

.cookie__info {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  display: none;
  margin-top: 4rem;
  max-height: calc(100vh - 25rem);
  overflow: auto;
}
@media only screen and (max-width: 767px) {
  .cookie__info {
    font-size: 13px;
  }
}
.cookie__info h2 {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .cookie__info h2 {
    font-size: 13px;
  }
}
.cookie__info p + h2 {
  margin-top: 1.5rem;
}
.cookie__info.text-format a {
  color: #f0f0f0;
  opacity: 1;
  transition: opacity 200ms ease;
}
.no-touch .cookie__info.text-format a:hover {
  opacity: 0.5;
}

.madiaplayer--show-placeholder .madiaplayer__placeholder {
  display: block;
}

.madiaplayer__placeholder {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.madiaplayer__placeholder-image {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.madiaplayer__placeholder-image:before {
  content: "";
  background-color: rgba(255, 255, 255, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
}

.madiaplayer__placeholder-message {
  border-radius: 0.5rem;
  background-color: rgba(40, 40, 40, 0.95);
  color: #f0f0f0;
  padding: 1.5rem;
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  width: 54rem;
  max-width: calc(100% - 2rem);
  z-index: 2;
}
.madiaplayer__placeholder-message a {
  color: #f0f0f0 !important;
}

.skip-links {
  display: flex;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}

.skip-link {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  background-color: #000000;
  color: #fff;
  position: absolute;
  pointer-events: none;
  padding: 0.55rem 0.85rem 0.45rem;
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  opacity: 0;
}
@media only screen and (max-width: 767px) {
  .skip-link {
    font-size: 30px;
    line-height: 0.9;
  }
}
.skip-link:focus {
  opacity: 1;
}

.article__title--fixedsize {
  font: normal 4.5rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/20);
  line-height: 0.9;
}
@media only screen and (max-width: 767px) {
  .article__title--fixedsize {
    font-size: 30px;
    line-height: 0.9;
  }
}

.form-container {
  zoom: 1;
  font-feature-settings: "calt" 0;
  width: 49.4635193133%;
}
.form-container:before, .form-container:after {
  content: "";
  display: table;
}
.form-container:after {
  clear: both;
}
.overview__right--service .form-container {
  width: 66.1880832735%;
}

.iframe--inline {
  border: 1px solid #777777;
  width: 100%;
}

#bp {
  width: 2px;
}

.show-on-mobile {
  display: none;
}

.program-slider__tabs {
  display: flex;
  flex-wrap: nowrap;
  margin-top: -0.5rem;
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: 10;
  transition: margin-left 250ms;
}

.program-slider__tab {
  font: normal 1.2rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/60);
  position: relative;
  flex: 0 0 auto;
  height: 11.3rem;
  width: 25%;
}
@media only screen and (max-width: 767px) {
  .program-slider__tab {
    font-size: 13px;
  }
}
.program-slider__tab .program-slider__tab-inner {
  transition: transform 250ms;
}
.program-slider__tab + .program-slider__tab:before {
  content: "";
  border-left: 0.1rem dotted;
  position: absolute;
  top: 0.5rem;
  bottom: 0;
  left: 0;
  width: 0.15rem;
  z-index: 1;
}

.program-slider__tab--active .program-slider__tab-inner {
  cursor: default;
  transform: translateY(-9rem);
}

.program-slider__tab-inner {
  cursor: pointer;
  user-select: none;
  background-color: #fff;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  padding: 1.5rem 1.5rem 1rem;
  height: calc(100% + 9rem + 2px);
}

.program-slider__tab-title {
  font: normal 1.8rem/1 "Scto", Helvetica, Arial, sans-serif;
  letter-spacing: calc(-1em/40);
  position: relative;
  overflow: hidden;
  height: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .program-slider__tab-title {
    font-size: 30px;
    line-height: 0.9;
  }
}
.program-slider__tab-title .marquee__slide {
  padding-right: 2rem;
}

.program-slider__tab-tags {
  margin-top: 0.6rem;
  height: 2.6rem;
}

.program-slider__tab-date {
  display: flex;
  margin-top: 0.2rem;
}

.program-slider__tab-date-content {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.program-slider-tab__bottom {
  margin-top: 1.2rem;
}

.program-slider-tab__bottom-text {
  height: 3em;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.program-slider__tab-bottom-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

* + .program-slider-tab__bottom-button {
  margin-top: 1.7rem;
}

.program-slider-button {
  margin-left: auto;
}

@media only screen and (max-width: 767px) {
  .program-slider {
    padding-bottom: 0;
  }
  .program-slider + * {
    margin-top: 30px;
  }

  .program-slider__images:after {
    padding-bottom: 100%;
  }

  .program-slider__tabs {
    position: relative;
    margin-top: 0;
  }

  .program-slider__tab {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
    padding-bottom: 0;
    height: auto;
    width: 100%;
  }
  .program-slider__tab + .program-slider__tab:before {
    content: none;
  }

  .program-slider__tab-inner {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    padding: 12px 0 0;
  }

  .program-slider__tab-title {
    height: auto;
  }

  .program-slider__tab-tags {
    margin-top: 10px;
    height: auto;
  }

  .program-slider__tab-date {
    margin-top: 0;
  }
  .program-slider__tab-tags + .program-slider__tab-date {
    margin-top: 5px;
  }

  .program-slider-tab__bottom {
    margin-top: 10px;
  }

  .program-slider-tab__bottom-button .text-button {
    text-align: center;
  }

  .program-slider__tab--active .program-slider__tab-inner {
    transform: none;
  }
}
@media only screen and (max-width: 1024px) {
  .article__title {
    margin-bottom: 10vh;
  }

  .calendar__date,
.calendar-item__title {
    font: normal 2.5rem/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/20);
  }

  .featuredcalendar-item-detail--middle {
    margin-left: 0;
  }

  .calendar-filter__inner {
    width: 67.3819742489%;
  }

  .iframe--inline {
    height: 200px;
  }
}
@media only screen and (max-width: 767px) {
  #bp {
    width: 1px;
  }

  .hide-on-mobile {
    display: none;
  }

  .show-on-mobile {
    display: inherit;
  }

  .tags {
    display: flex;
    flex-wrap: wrap;
  }

  .tag__button {
    margin-right: 5px;
  }

  .mobile-fit-text {
    position: relative;
  }
  .mobile-fit-text span {
    letter-spacing: calc(-1em/20);
    position: absolute;
    top: 0;
    left: 0;
    white-space: nowrap;
  }

  .text-indent {
    margin-left: 16.9014084507%;
  }

  * + .button--space-top {
    margin-top: 20px;
  }

  .article-production__quote-content + .button--space-top {
    margin-top: 10px;
  }

  .button {
    height: 37px;
  }

  .button--icon {
    line-height: 1.3;
  }

  .button--small {
    height: 25px;
    width: 36px;
  }

  .button--text {
    padding-top: 1.2rem;
  }

  .button--backtop {
    display: none;
  }

  .header {
    height: 58px;
  }

  .header__scroll {
    background-color: #fff;
    position: absolute;
    width: 100%;
    z-index: 503;
  }

  .header__scroll-icon {
    background-size: 45px;
    width: 55px;
  }

  .header__scroll-letter {
    background-size: 295px;
    margin-left: 58px;
    width: 296px;
  }

  .header-button {
    border-width: 1px;
    line-height: 1.2;
    height: 38px;
    width: 55px;
  }

  .header-button--home {
    opacity: 1 !important;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(../elements/icon_home.svg);
    background-size: 3.2rem;
  }

  .overlayer {
    bottom: 13px;
    top: 58px;
    left: 10px;
    right: 10px;
  }

  .overlayer-menu {
    padding-top: 40px;
  }

  .overlayer-menu__main + .overlayer-menu__main {
    margin-top: 13px;
  }

  .overlayer-menu__icon {
    border-radius: 8px;
    border-width: 1.5px;
    margin-top: 1px;
    height: 37px;
    width: 50px;
  }
  .overlayer-menu__icon:after {
    line-height: 1.15;
  }

  .overlayer-menu__icon--calendar:after {
    font-size: 5.3rem;
    line-height: 0.7;
    font-variation-settings: "wght" 700;
    margin-left: 0;
    left: -4px;
  }

  .overlayer-menu__icon--people:after {
    font-size: 5.3rem;
    line-height: 0.7;
    font-variation-settings: "wght" 700;
    margin-left: 0;
    left: -4px;
  }

  .overlayer-menu__expand {
    transform: none;
    width: 100%;
  }

  .overlayer-menu__items {
    margin-top: 20px;
  }

  .overlayer-menu__item {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
    border-radius: 4px;
    letter-spacing: -0.01em;
    padding-top: 4px;
    padding-bottom: 0.35rem;
    margin-left: 2.5px;
    margin-right: 2.5px;
    margin-bottom: 5px;
    white-space: nowrap;
  }

  .overlayer-bottom-icon--more {
    bottom: 15px;
    left: 14px;
    height: 25px;
    width: 25px;
  }

  .overlayer-bottom-icon--socialmedia {
    bottom: 15px;
    right: 14px;
    height: 25px;
    width: 25px;
  }

  .overlayer-bottommenu {
    bottom: 15px;
    gap: 8px 20px;
    flex-direction: column;
    align-items: center;
  }

  .overlayer-bottommenu__item {
    margin-right: 0;
  }

  .main__inner {
    padding-top: 5px;
  }

  .article__title {
    margin-bottom: 20px;
    padding-right: 0;
  }

  .overview {
    display: block;
  }

  * + .overview__right {
    margin-top: 20px;
  }

  .overview__slider {
    border-bottom: 1px solid #222222;
    padding-bottom: 0;
    padding-right: 0;
  }

  .overview__slider--mobile {
    background: #fff;
    position: fixed;
    top: 58px;
    left: 0;
    margin-left: 10px;
    margin-right: 10px;
    width: calc(100% - 20px);
    z-index: 100;
  }
  .overview__slider--mobile .overview__slider-title {
    position: relative;
    padding-right: 40px;
  }
  .overview__slider--mobile.overview__slider--empty {
    display: none;
  }

  .overview__slider--no-border {
    border-bottom: 0;
  }

  .overview__slider--active {
    display: block;
  }

  .overview__slider-title {
    padding-bottom: 10px;
  }

  .overview__slider-title-section {
    display: none;
  }

  .overview__slider--close .overview__slider-arrow {
    transform: scale(-1);
  }
  .overview__slider--close .overview__slider-title-default {
    display: none;
  }
  .overview__slider--close .overview__slider-title-section {
    display: block;
  }

  .overview__slider-arrow {
    font: normal 3rem/1.1 "TOH";
    font-variation-settings: "wght" 100;
    cursor: pointer;
    user-select: none;
    font-size: 4rem;
    line-height: 0.7;
    transition: transform 200ms ease;
    transform: scale(1);
    position: absolute;
    top: 0;
    right: 0;
  }

  .overview__slider__content {
    padding-bottom: 15px;
  }

  .overview__slider-filter {
    margin-top: 0;
  }

  .overview__slider-filter-item {
    border-bottom-width: 2px;
    padding-bottom: 4px;
    height: auto;
  }
  .overview__slider-filter-item:before {
    content: none;
  }

  .sidebar-button {
    padding-bottom: 10px;
    display: block;
    width: 100%;
  }

  .sidebar-button-inner {
    align-items: center;
  }

  .sidebar-button-icon {
    height: 19px;
  }

  .sidebar-button-label {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }

  .section-entries + .section-entries {
    padding-top: 15px;
  }

  .preview-program-entry {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
    display: block;
    padding-bottom: 20px;
  }
  .preview-program-entry + .preview-program-entry {
    margin-top: 20px;
  }

  .preview-program-entry__content {
    padding-right: 0;
  }

  .preview-program-entry__image {
    display: none;
  }

  .preview-program-entry__title {
    margin-bottom: 10px;
  }

  .preview-program-entry__tags + .preview-program-entry__info {
    margin-top: 10px;
  }

  .preview-program-entry__button {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
  }

  .text-button {
    padding: 13px 13px 11px;
  }

  .preview-person-playtimes {
    cursor: pointer;
    user-select: none;
  }

  .preview-person-playtimes--open .preview-person-playtime__tooltip {
    display: block;
  }

  * + .module-about {
    margin-top: 100px;
  }

  * + .module-about__content {
    margin-top: 20px;
  }

  .module-about__image {
    width: 100%;
  }
  .module-about__image + .module-about__image {
    display: none;
  }

  .module-about__image--landscape .module-about__image-inner {
    padding-bottom: 100% !important;
  }

  .module-about__content {
    display: block;
  }

  .module-about__right {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
  * + .module-about__right {
    margin-top: 10px;
  }

  .program-interactive {
    display: block;
  }
  * + .program-interactive {
    margin-top: 80px;
  }

  .program-interactive__image--landscape {
    padding-bottom: 100% !important;
  }

  .program-interactive__columns {
    display: block;
  }
  * + .program-interactive__columns {
    margin-top: 10px;
  }

  .program-interactive__column + .program-interactive__column {
    margin-top: 40px;
  }

  .program-interactive__column-text {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
  .program-interactive__column-text p + p {
    margin-top: 18px;
  }

  .program-ensemble {
    display: flex;
    grid-column-gap: 0;
    flex-wrap: nowrap;
    overflow: auto;
    scroll-snap-type: x mandatory;
  }
  * + .program-ensemble {
    margin-top: 92px;
  }

  .program-ensemble__card {
    width: 88%;
    flex: 0 0 auto;
    scroll-snap-align: start;
    margin-right: 10px;
  }

  .program-ensemble__card-content {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }

  .program-ensemble__card-placeholder-inner {
    width: 100%;
  }

  .program-ensemble__card-placeholder {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }

  .calendar__day {
    padding-top: 10px;
  }

  .calendar__day-inner {
    display: block;
    padding-top: 20px;
  }

  .calendar__date {
    display: none;
  }

  .calendar__date--mobile {
    background-color: #fff;
    display: block;
    position: sticky;
    padding-bottom: 7px;
    top: 58px;
    z-index: 1;
  }

  .calendar__day-border {
    position: relative;
    top: -10px;
  }

  .calendar__date-item {
    position: relative;
    top: 0;
  }
  .calendar__date-item br {
    display: none;
  }

  .calendar__items {
    width: 83.1545064378%;
  }

  .calendar-item {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
  .calendar-item + .calendar-item {
    border-top: 0;
    padding-top: 0;
    margin-top: 50px;
  }

  .calendar-item__columns {
    display: block;
  }

  .calendar-item__column {
    width: 100%;
  }

  .calendar-item__column--last {
    margin-top: 20px;
  }

  .calendar-item__title {
    margin-bottom: 10px;
  }

  .calendar__date,
.calendar-item__title {
    font: normal 3rem/0.9 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/20);
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .calendar__date,
.calendar-item__title {
    font-size: 30px;
    line-height: 0.9;
  }
}
@media only screen and (max-width: 767px) {
  .calendar-item__tags {
    padding-bottom: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .calendar-item__extra--first {
    padding-bottom: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .calendar__interlude {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .calendar__interlude-text {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
}
@media only screen and (max-width: 767px) {
  .calendar-filter-button {
    left: unset;
    right: var(--space-right);
    height: 38px;
    width: 55px;
  }
}
@media only screen and (max-width: 767px) {
  .calendar-filter__inner {
    display: block;
    padding-right: 0;
    top: 58px;
    height: calc(100% - 58px);
    overflow: auto;
    width: calc(100% - var(--space-left) - var(--space-right));
  }
}
@media only screen and (max-width: 767px) {
  .calendar-filter__datepicker {
    padding-top: 30px;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .qs-datepicker-container {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
}
@media only screen and (max-width: 767px) {
  .qs-controls {
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .qs-arrow {
    background-size: 12px !important;
    background-position: top center !important;
    height: 25px;
    width: 25px;
  }
}
@media only screen and (max-width: 767px) {
  .qs-left {
    margin-right: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .qs-right {
    margin-left: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .qs-squares {
    padding-top: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .qs-square {
    height: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .calendar-filter__column {
    margin-left: 0;
    height: auto;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .calendar-filter__scroll {
    height: auto;
  }
}
@media only screen and (max-width: 767px) {
  .calendar-filter__column-title {
    text-align: center;
    margin-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .calendar-filter__category {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
    margin-top: 17px;
    margin-left: 35px;
    width: calc(66.1971830986% + 25px - 10px);
  }
  .calendar-filter__category + .calendar-filter__category {
    margin-top: 17px;
  }
}
@media only screen and (max-width: 767px) {
  .calendar-filter__category-title {
    padding-left: 23px;
  }
}
@media only screen and (max-width: 767px) {
  .calendar-filter__category-items li + li {
    margin-top: 6px;
  }
}
@media only screen and (max-width: 767px) {
  .calendar-filter__category-item:before {
    border-width: 1.5px;
    margin-right: 10px;
    height: 15px;
    width: 15px;
  }
}
@media only screen and (max-width: 767px) {
  .infobar--large {
    padding-left: 10px;
    padding-right: 10px;
  }
  .infobar--large .infobar__content {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .infobar__content-title {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .infobar__content-text {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
  * + .infobar__content-text {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .infobar--header {
    margin-top: 5px !important;
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .infobar__close {
    right: 6px;
  }
}
@media only screen and (max-width: 767px) {
  .overview__right--people {
    padding-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .section-people {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .section-people + .section-people {
    padding-top: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .preview-pople-list {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
    display: block;
  }
  .preview-pople-list + .preview-pople-list {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .section-people-content__text {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
}
@media only screen and (max-width: 767px) {
  .article-production__content .preview-pople-list__role,
.preview-pople-list__role {
    white-space: normal;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .article-production__content .preview-pople-list__names,
.preview-pople-list__names {
    padding-left: 20px;
    margin-left: 0;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  * + .section-people-content__subtitle {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .preview-people-grid {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .preview-people-grid__item + .preview-people-grid__item {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .preview-people-grid__item-role {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
}
@media only screen and (max-width: 767px) {
  .article-person__title {
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .article-person__image {
    margin-left: 0;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .article-person__content {
    margin-left: 0;
    padding-bottom: 100px;
    width: 100%;
  }
  * + .article-person__content {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .article-person__text-text {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
}
@media only screen and (max-width: 767px) {
  * + .article-person__playtime {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .article-person__playtime-title {
    margin-bottom: 18px;
  }
}
@media only screen and (max-width: 767px) {
  .article-person__playtime-entry {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
    display: flex;
  }
  .article-person__playtime-entry + .article-person__playtime-entry {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .article-person__playtime-entry-role {
    white-space: normal;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .article-person__playtime-entry-title {
    margin-left: 0;
    padding-left: 20px;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .textblock {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
}
@media only screen and (max-width: 767px) {
  .accordion__content-text {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
}
@media only screen and (max-width: 767px) {
  .text-format h2 {
    margin-bottom: 10px;
  }
  .text-format ul {
    margin-left: 0;
  }
  .text-format ul li {
    padding-left: 16.9014084507%;
  }
  .text-format ol {
    margin-left: 0;
  }
  .text-format ol li {
    padding-left: 16.9014084507%;
  }
}
@media only screen and (max-width: 767px) {
  * + .inline,
.inline + *,
* + .infobar,
.infobar:not(.infobar--header) + * {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  * + .infobar--large {
    margin-top: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .accordion__top-button {
    width: 15.4929577465%;
  }
}
@media only screen and (max-width: 767px) {
  .accordion__top-title {
    margin-left: 1.4084507042%;
    width: 83.0985915493%;
  }
}
@media only screen and (max-width: 767px) {
  .accordion__content {
    margin-left: 16.9014084507%;
  }
}
@media only screen and (max-width: 767px) {
  .text-format.accordion__content-text ol,
.text-format.accordion__content-text ul {
    margin-left: 0;
  }
  .text-format.accordion__content-text ol li,
.text-format.accordion__content-text ul li {
    padding-left: 20.3389830508%;
  }
}
@media only screen and (max-width: 767px) {
  .download {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .download__lable {
    width: 83.0985915493%;
  }
}
@media only screen and (max-width: 767px) {
  .download__right {
    margin-left: 1.4084507042%;
    width: 15.4929577465%;
  }
}
@media only screen and (max-width: 767px) {
  .download__button {
    top: -0.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .accordion__content .download__lable {
    width: 79.6610169492%;
  }
  .accordion__content .download__right {
    margin-left: 1.6949152542%;
    width: 18.6440677966%;
  }
}
@media only screen and (max-width: 767px) {
  .price__content {
    display: block !important;
  }
}
@media only screen and (max-width: 767px) {
  .price__title {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .price__entry-number {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
    border-width: 1.5px;
    height: 30px;
    width: 30px;
  }
  .price__entry-number span {
    margin-top: 0.55rem;
  }
}
@media only screen and (max-width: 767px) {
  .sponsor {
    width: 33.3333%;
  }
  .sponsor:nth-child(-n+4) .sponsor__border-top {
    display: block;
  }
  .sponsor:nth-child(4n+1) .sponsor__border-left {
    display: block;
  }
  .sponsor:nth-child(-n+3) .sponsor__border-top {
    display: none;
  }
  .sponsor:nth-child(3n+1) .sponsor__border-left {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .accordion__content .sponsor {
    width: 50%;
  }
  .accordion__content .sponsor:nth-child(-n+4) .sponsor__border-top {
    display: block;
  }
  .accordion__content .sponsor:nth-child(4n+1) .sponsor__border-left {
    display: block;
  }
  .accordion__content .sponsor:nth-child(-n+3) .sponsor__border-top {
    display: block;
  }
  .accordion__content .sponsor:nth-child(3n+1) .sponsor__border-left {
    display: block;
  }
  .accordion__content .sponsor:nth-child(-n+2) .sponsor__border-top {
    display: none;
  }
  .accordion__content .sponsor:nth-child(2n+1) .sponsor__border-left {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .accordions--default-width {
    margin-left: 0;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .infomodule-item {
    width: 100%;
  }
  .infomodule-item:after {
    content: none;
  }
  .infomodule-item + .infomodule-item {
    border-top: 1px dashed #222222;
    padding-top: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .infomodule-item__border-top,
.infomodule-item__border-left {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .infomodule-item__content {
    position: relative;
    padding: 0;
    padding-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .infomodule-item__content-button {
    text-align: right;
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .text-button--infomodule {
    position: relative;
    bottom: 0;
    right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .article__subtitle {
    margin-top: 0;
    width: 100%;
  }
  .article-production__heroimage + .article__subtitle {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .article-production__content {
    display: block;
    padding-bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  .article-production__text {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
}
@media only screen and (max-width: 767px) {
  .tiles {
    margin-top: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .tiles__title {
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .tiles__group {
    display: block;
  }
  .tiles__group .tile {
    border-top: 1px dotted #282828 !important;
    border-bottom: 0;
    padding-top: 20px;
    padding-bottom: 20px;
    width: 100%;
  }
  .tiles__group .tile:nth-child(2n) {
    margin-left: 0;
  }
  .tiles__group .tile__inner {
    text-align: right;
    position: relative;
    padding: 0;
  }
  .tiles__group .text-button--absolute-right {
    position: relative;
    bottom: 0;
    right: 0;
  }
  .tiles__group .tile__border-left {
    display: none;
  }
  .tiles__2up + .tiles__group .tile:nth-child(1) {
    border-top: 0 !important;
  }
}
@media only screen and (max-width: 767px) {
  .tile__title {
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  .tile--group:after {
    content: none;
  }
}
@media only screen and (max-width: 767px) {
  .text-button--absolute-right {
    right: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .tile--columns {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .tile__column {
    width: 100%;
  }
  .tile__column + .tile__column {
    margin-top: 20px;
    padding-left: 0;
  }
  .tile__column .text-button--tile {
    margin-top: 20px;
    margin-left: unset;
    margin-right: auto;
  }
}
@media only screen and (max-width: 767px) {
  .tile__content {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
  .tile__content h1 {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .tiles__2up {
    display: block;
  }
  .tiles__2up .tile {
    width: 100%;
  }
  .tiles__2up .tile:nth-child(1) {
    padding-right: 0;
  }
  .tiles__2up .tile + .tile {
    border-top: 0;
    padding-top: 20px;
    padding-left: 0;
    margin-left: 0;
  }
  .tiles__2up .tile + .tile:before {
    content: none;
  }
  .tiles__2up .tile__image + .tile__content {
    margin-top: 20px;
  }
  .tiles__2up .tile__button {
    padding-right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .tile__image-slide {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .featuredcalendar {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .featuredcalendar__sidebar-slider {
    height: auto;
    position: relative;
    top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .featuredcalendar__sidebar-date {
    white-space: nowrap;
  }
  .featuredcalendar__sidebar-date span {
    letter-spacing: calc(-1em/10);
    position: absolute;
    top: 0;
    left: -0.04em;
  }
}
@media only screen and (max-width: 767px) {
  .featuredcalendar__sidebar-items {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .button--featuredcalendar {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .featuredcalendar-item__title {
    font-size: 50px !important;
  }
}
@media only screen and (max-width: 767px) {
  .featuredcalendar-item__image:after {
    padding-bottom: 70.42%;
  }
}
@media only screen and (max-width: 767px) {
  .featuredcalendar-item__details {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .featuredcalendar-item-detail--first {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .featuredcalendar-item-detail__wrap-date {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .featuredcalendar-item-detail__date {
    font: normal 25px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/20);
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .featuredcalendar-item-detail__time {
    font: normal 25px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/20);
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  .featuredcalendar-item-detail--middle {
    margin-top: 5px;
    margin-left: 0;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .featuredcalendar-item-detail__text {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
}
@media only screen and (max-width: 767px) {
  .featuredcalendar-item-detail--last {
    margin-top: 20px;
  }
  .featuredcalendar-item-detail--last .buttons .button {
    margin-right: 5px;
    width: 95px;
  }
  .featuredcalendar-item-detail--last .buttons .button + .button {
    margin-left: 0;
  }
  .featuredcalendar-item-detail--last .button--text {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .newsslider {
    margin-top: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .newsslider-slide {
    border-left: 0;
    transform: none !important;
    width: 100%;
  }
  .newsslider-slide + .newsslider-slide {
    border-top: 1px dashed #282828;
    position: relative;
    margin-left: 0;
    margin-top: 10px;
    padding-top: 10px;
  }
  .newsslider-slide:before {
    content: none !important;
  }
  .newsslider-slide:after {
    content: none;
  }
  .newsslider-slide:last-child {
    border-bottom: 1px dashed #282828;
    padding-bottom: 10px;
  }
  .newsslider-slide:not(.newsslider-slide--no-image) .newsslider-slide__content-text {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .newsslider-slide--no-image .newsslider-slide__content {
    display: block;
  }
  .newsslider-slide--no-image .newsslider-slide__content-title {
    height: auto;
  }
  .newsslider-slide--no-image .newsslider-slide__content-title-item {
    font-size: 30px !important;
    position: relative;
  }
  .newsslider-slide--no-image .newsslider-slide__content-text {
    margin-top: 10px;
  }
  .newsslider-slide--no-image .newsslider-slide__content-button {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .newsslider-slide__content-button .button--text {
    height: auto;
  }
}
@media only screen and (max-width: 767px) {
  .newsslider-slide__inner {
    position: relative;
    bottom: 0;
    left: 0;
    top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .newsslider-slide__image {
    width: 49.2957746479%;
  }
  .newsslider-slide__image .lazyimage-container:after {
    padding-bottom: 106.93%;
  }
}
@media only screen and (max-width: 767px) {
  .newsslider-slide__content {
    width: 49.2957746479%;
  }
  .newsslider-slide__image + .newsslider-slide__content {
    margin-left: 1.4084507042%;
  }
}
@media only screen and (max-width: 767px) {
  .newsslider-slide__content-text {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
}
@media only screen and (max-width: 767px) {
  .newsslider__pagination {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .preview-venue {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .preview-venue__address {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .preview-venue__buttons {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .overlayer-map-venue__address,
.overlayer-map-venue__readmore {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
}
@media only screen and (max-width: 767px) {
  .article-venue__subtitle {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .article-venue__info {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  * + .article-venue__info-address {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  * + .article-venue__info-text,
* + .article-venue__info-button {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .article-venue__info-button {
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  .accordion--full-width .accordion__top-button {
    width: 15.4929577465%;
  }
  .accordion--full-width .accordion__top-title {
    margin-left: 1.4084507042%;
    width: 83.0985915493%;
  }
  .accordion--full-width .accordion__content {
    margin-left: 0;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .article-production__title {
    font-size: 50px !important;
  }
}
@media only screen and (max-width: 767px) {
  .article-production__subtitle {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .article-production__informations {
    display: grid;
    grid-template-columns: repeat(6, 15.4929577465%);
    grid-column-gap: 1.4084507042%;
  }
}
@media only screen and (max-width: 767px) {
  .tags.article-production__tags {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .tags.article-production__tags--mobile {
    grid-column: span 3;
    align-content: start;
    display: flex;
  }
}
@media only screen and (max-width: 767px) {
  .article-production__information {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
}
@media only screen and (max-width: 767px) {
  .article-production__information--large {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .article-production__quotes {
    margin-top: 80px;
    margin-left: 0;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .article-production__quotes-group {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .article-production__quote + .article-production__quote {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .article-production__quotes-group--single .article-production__quote {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .article-production__quote-content {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
}
@media only screen and (max-width: 767px) {
  * + .article-production__credits {
    margin-top: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .overlayer-newsletter {
    padding-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .overlayer-newsletter__inner {
    margin-left: 0;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .overlayer-newsletter__title {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .form__columns {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .form__column {
    width: 100%;
  }
  .form__column + .form__column {
    margin-top: 20px;
    margin-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .form-item__input,
.form-item__textarea,
.form-item__select {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
  }
}
@media only screen and (max-width: 767px) {
  .form__info {
    font: normal 13px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/60);
  }
}
@media only screen and (max-width: 767px) {
  .form__button {
    width: auto;
  }
}
@media only screen and (max-width: 767px) {
  .form__button--right {
    margin-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .footer {
    font: normal 13px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/60);
    height: 190px;
  }
}
@media only screen and (max-width: 767px) {
  .footer-top {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .footer-top__links--active {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .footer-top__links {
    text-align: center;
    margin-top: 4px;
  }
  .footer-top__links li + li {
    margin-left: 0;
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .footer-bottom {
    margin-bottom: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .footer-bottom__logo {
    width: 254px;
  }
}
@media only screen and (max-width: 767px) {
  .overlayer-search:after {
    border-bottom-width: 1.5px;
  }
}
@media only screen and (max-width: 767px) {
  .overlayer-search__input {
    font: normal 45px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/20);
  }
}
@media only screen and (max-width: 767px) {
  .overlayer-search__button {
    font-size: 3.3rem;
    border-width: 2.5px;
    border-radius: 8px;
    height: 39px;
    width: 51px;
  }
}
@media only screen and (max-width: 767px) {
  .article-search .overlayer-search {
    margin-top: 40px;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .search-columns {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .search-column + .search-column {
    border-top: 2px dotted #222222;
    margin-top: 40px;
    padding-top: 40px;
  }
  .search-column + .search-column:before {
    content: none;
  }
}
@media only screen and (max-width: 767px) {
  .search-columns-title {
    font: normal 30px/0.9 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/20);
  }
}
@media only screen and (max-width: 767px) {
  .search-results {
    font: normal 18px/1 "Scto", Helvetica, Arial, sans-serif;
    letter-spacing: calc(-1em/40);
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .search-result + .search-result {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .cookie__switches {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .cookie-switch + .cookie-switch {
    margin-left: 0;
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .infobar__content div > span + span {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .form-container,
.overview__right--service .form-container {
    width: 100%;
  }
}
@media only screen and (max-width: 470px) {
  .iframe--inline {
    height: 230px;
  }
}
@media only screen and (max-width: 374px) {
  .header-button {
    width: 45px;
  }
  * + .header-button {
    margin-left: 6px;
  }

  .header__scroll-letter {
    background-size: 242px;
    width: 242px;
  }

  .iframe--inline {
    height: 290px;
  }
}
#cms-edit {
  background: #ffff00;
  position: fixed;
  top: -9px;
  padding-top: 17px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
}
