/* Base */
@import url("sass/externals/fontawesome/brands.min.css");
@font-face {
  font-family: "PP Telegraf Regular";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("fonts/PPTelegraf-Regular.eot");
  src: url("fonts/PPTelegraf-Regular.eot?#iefix") format("embedded-opentype"), url("fonts/PPTelegraf-Regular.woff2") format("woff2"), url("fonts/PPTelegraf-Regular.woff") format("woff");
}
@font-face {
  font-family: "PP Rader";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("fonts/PPRader-Regular.woff2") format("woff2"), url("fonts/PPRader-Regular.woff") format("woff");
}
@font-face {
  font-family: "PP Rader Semibold";
  font-style: normal;
  font-weight: 600;
  font-display: block;
  src: url("fonts/PPRader-Semibold.woff2") format("woff2"), url("fonts/PPRader-Semibold.woff") format("woff");
}
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

html,
body {
  font-family: "PP Telegraf Regular", sans-serif;
  font-size: 18px;
  background-color: #000;
  margin: 0;
  padding: 0;
  color: #fff;
}

body {
  max-width: 1440px;
  margin: 0 auto;
}
body.menu-toggled {
  overflow: hidden;
  height: 100vh;
  position: fixed;
  width: 100vw;
}

@supports (-webkit-touch-callout: none) {
  body.menu-toggled {
    height: -webkit-fill-available;
  }
}
a {
  color: #fff;
}

h1, h2, h3, .button {
  font-family: "PP Rader Semibold";
  font-weight: 600;
  font-style: normal;
}

.hidden {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden;
}

@media screen and (min-width: 375px) {
  html,
  body {
    font-size: 22px;
  }
}
@media screen and (min-width: 1240px) {
  body {
    padding: 0 60px;
  }
}
/* Externals */
/* Layouts */
header h1 {
  display: none;
}

header > .top-bar {
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0.5rem;
  z-index: 1000;
  box-sizing: border-box;
  font-size: 72.7272%;
}
header > .top-bar ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header > .top-bar li.ancestor a {
  font-weight: bold;
}
header > .top-bar a, header > .top-bar strong {
  color: #000;
  text-decoration: none;
}

@media screen and (min-width: 480px) {
  header > .top-bar {
    font-size: 100%;
  }
}
#site-navigation {
  display: none;
  position: fixed;
  height: 100vh;
  width: 100vw;
  z-index: 8000;
  background-color: #fff;
  color: #000;
  top: 0;
  left: 0;
}

@supports (-webkit-touch-callout: none) {
  #site-navigation {
    height: -webkit-fill-available;
  }
}
.admin-bar #site-navigation {
  top: 32px;
  height: calc(100vh - 32px);
}

#site-navigation.toggled-on {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#site-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#site-navigation ul a {
  text-decoration: none;
}

#site-navigation .top-bar {
  padding: 0.5rem 8.5%;
  box-sizing: border-box;
  background-color: #000;
}

#site-navigation .top-bar .menu-sprachenmenue-container {
  max-width: 1440px;
  margin: 0 auto;
}

#site-navigation .top-bar ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#site-navigation .top-bar li a {
  color: #fff;
}

#site-navigation .top-bar li a.home img {
  width: 20px;
}

#site-navigation .menu-wrapper {
  padding: 2rem 8.5% 0;
  display: flex;
  height: 100%;
  overflow: scroll;
}

#site-navigation .menu-wrapper.desktop {
  display: none;
}

#site-navigation .menu-wrapper.desktop a.home {
  display: block;
  background-image: url(images/logo.svg);
  width: 25%;
  aspect-ratio: 1/1;
  filter: invert(1);
  background-size: contain;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background-repeat: no-repeat;
}

#site-navigation .menu-wrapper > div {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

#site-navigation .menu-wrapper a {
  color: #000;
}

#site-navigation .menu-wrapper a[href*=benutzer] {
  display: flex;
  align-items: baseline;
  line-height: 1;
}

#site-navigation .menu-wrapper a[href*=benutzer] img {
  margin-right: 6px;
}

#site-navigation .menu-wrapper > div {
  -moz-columns: 2;
       columns: 2;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-self: center;
  width: 100%;
}

#site-navigation .menu-wrapper > div > ul {
  line-height: 1;
}

#site-navigation .menu-wrapper > div > ul > li {
  padding-bottom: 1rem;
  page-break-inside: avoid;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  padding-top: 2px;
}

#site-navigation .menu-wrapper > div > ul ul li {
  margin: 0.5rem 0;
}

#site-navigation .menu-wrapper > div > ul > li > a,
#site-navigation .menu-wrapper > div > ul > li > span.link {
  font-family: "PP Rader Semibold", sans-serif;
  font-weight: 600;
  font-size: 150%;
}

#site-navigation .menu-wrapper.desktop > div {
  -moz-column-gap: 50%;
       column-gap: 50%;
}

#site-navigation .menu-wrapper.desktop .wpml-ls-legacy-list-vertical {
  display: block;
}

#site-navigation .menu-wrapper.desktop .wpml-ls-legacy-list-vertical a {
  padding: 0;
  line-height: 1;
}

#site-navigation .social-media-menu {
  width: 50%;
  margin-left: 50%;
  bottom: 0;
  padding: 1.5rem 0.5rem;
  box-sizing: border-box;
  height: 99px;
}

#site-navigation .social-media-menu ul {
  display: flex;
  justify-content: space-around;
  align-items: center;
  height: 100%;
}

#site-navigation .social-media-menu ul a {
  color: #000;
  font-size: 150%;
}

.menu-toggle {
  position: fixed;
  bottom: -2px;
  left: 0;
  background-color: #fff;
  color: #000;
  border: 0 none;
  font-size: 150%;
  padding: 1rem;
  z-index: 9000;
  width: 50%;
  cursor: pointer;
  font-family: "PP Rader Semibold", sans-serif;
  font-weight: 600;
  line-height: 1;
  border: 0 none;
}

.menu-toggle.active {
  background-color: #000;
  color: #fff;
}

/*ul[id*="menu-sprachenmenue"] li:not(:first-child) a span.wpml-ls-display {*/
ul[id*=menu-sprachenmenue] li a span.wpml-ls-display {
  display: none;
}

/*ul[id*="menu-sprachenmenue"] li:not(:first-child) a span {*/
ul[id*=menu-sprachenmenue] li a span {
  word-break: break-all;
  width: 30px;
  display: inline-block;
  text-transform: uppercase;
  overflow: hidden;
  height: 14px;
  line-height: 1;
}

@media screen and (orientation: landscape) and (max-height: 480px) {
  #site-navigation .menu-wrapper > div {
    align-self: flex-start;
  }
}
@media screen and (min-width: 320px) {
  #site-navigation .social-media-menu {
    height: 61px;
  }
}
@media screen and (min-width: 375px) {
  .menu-toggle {
    font-size: 172.7272%;
  }
  #site-navigation .social-media-menu {
    height: 80px;
  }
  /*ul[id*="menu-sprachenmenue"] li:not(:first-child) a span {*/
  ul[id*=menu-sprachenmenue] li a span {
    height: 17px;
  }
}
@media screen and (min-width: 480px) {
  .menu-toggle {
    font-size: 200%;
  }
  #site-navigation .social-media-menu {
    padding: 1.5rem 1rem;
    height: 86px;
  }
  #site-navigation .social-media-menu ul a {
    font-size: 200%;
  }
  #site-navigation .menu-wrapper > div > ul {
    margin: 0 auto;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (min-width: 640px) {
  .menu-toggle {
    width: 33.3333%;
  }
}
@media screen and (min-width: 1024px) {
  .menu-toggle {
    width: -moz-fit-content;
    width: fit-content;
    left: auto;
    right: 0;
    padding: 1rem 2rem;
  }
  #site-navigation .menu-wrapper,
  #site-navigation .top-bar,
  #site-navigation .social-media-menu {
    display: none;
  }
  #site-navigation .menu-wrapper.desktop {
    display: flex;
  }
  #site-navigation .menu-wrapper > div > ul {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}
main {
  padding: 1rem;
  box-sizing: border-box;
}
main .headline {
  line-height: 1.25;
  text-align: center;
}
main .headline .breadcrumb {
  font-size: 72.7272%;
  position: relative;
  margin-bottom: 0.25rem;
}
main .headline h2 {
  margin-top: 0;
  font-size: 12vw;
}
main section {
  margin-top: 4rem;
}
main section .button {
  border-radius: 30px;
  background-color: #fff;
  color: #000;
  padding: 0.5rem 1rem;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: none;
  min-width: 150px;
  cursor: pointer;
  text-align: center;
  border: 2px solid transparent;
  font-size: inherit;
  box-sizing: content-box;
  margin: 0 auto;
}
main section .button.inactive {
  background-color: transparent;
  border-color: #fff;
  color: #fff;
}
main section .inner-nav {
  list-style: none;
  margin: 0 0 2rem 0;
  padding: 0;
  text-align: center;
}
main section .inner-nav li {
  display: inline-block;
  margin: 0 0.5rem 1rem 0.5rem;
}
main section .inner-nav li .button {
  margin: 0;
}
main section .inner-nav li.margin {
  margin: 0 auto;
}
main section h2 {
  font-size: 10vw;
  text-align: center;
  line-height: 1;
}
main section h2.smaller {
  font-size: 6vw;
}
main section h3 {
  font-size: 5vw;
}
main section input[type=text],
main section input[type=number],
main section input[type=email],
main section input[type=password],
main section select,
main section textarea {
  border: 2px solid #fff;
  background-color: #000;
  padding: 0.5rem;
  font-family: "PP Telegraf Regular";
  font-style: normal;
  font-weight: 400;
  color: #fff;
  font-size: 22px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
  max-width: 480px;
  width: 100%;
  box-sizing: border-box;
}
main section .more {
  font-family: "PP Rader Semibold";
  font-style: normal;
  font-weight: 600;
  font-size: 110%;
}
main section.text {
  max-width: 820px;
  margin: 0 auto;
  padding-top: 2rem;
  font-size: 90.909%;
}
main section.text h2 {
  margin-top: 0;
  -webkit-hyphens: auto;
          hyphens: auto;
}
main section.text p {
  line-height: 1.5;
  margin: 0 0 10px 0;
}
main section.text.text-image img {
  margin-bottom: 2rem;
  max-width: 100%;
  height: auto;
}
main section.text.wysiwyg {
  font-size: 90.909%;
}
main section.text.wysiwyg h2,
main section.text.wysiwyg h3 {
  text-align: center;
}
main section.text.wysiwyg .button {
  font-size: 110%;
}
main section.text ul {
  padding-left: 14px;
  line-height: 1.25;
}
main section.text h3.subheadline {
  margin-bottom: 2rem;
}
main section.text.has-subheadline {
  padding-top: 0;
}
main section.pdf-include .headline h2 {
  font-size: 10vw;
}
main section.pdf-include ._3d-flip-book {
  margin-top: 2rem;
}
main section.pdf-include iframe {
  background-color: #222;
}
main section .entry figure {
  margin: 0;
  padding: 0;
  width: 100%;
}
main section .entry figure img {
  width: 100%;
  height: auto;
  display: block;
}
main section .entry figure.zoom {
  overflow: hidden;
}
main section.introduction {
  max-width: 820px;
  margin: 0 auto;
  /*+ section.text {
      h3 {
          @include font-telegraf;
          font-weight: normal;
          line-height: 1.5
      }
  }*/
}
main section.introduction .background {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
}
main section.introduction .background img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  opacity: 0.6;
}
main section.introduction .content > .logo {
  display: none;
  position: relative;
  line-height: 0;
}
main section.introduction .content > .logo img {
  width: 100%;
  aspect-ratio: 1/1;
}
main section.introduction .content {
  position: relative;
  margin-top: 3rem;
}
main section.introduction .content p,
main section.introduction .content .headline {
  position: relative;
  z-index: 100;
}
main section.introduction .content .headline {
  z-index: 101;
}
main section.introduction .content .headline nav {
  font-size: 88.8888%;
  position: relative;
}
main section.introduction .content .headline nav a,
main section.introduction .content .headline nav span {
  display: inline-block;
}
main section.introduction .content .headline nav span.site-name,
main section.introduction .content .headline nav span.root-name {
  text-decoration: underline;
}
main section.introduction .content .headline nav span.site-name {
  display: none;
}
main section.introduction .content .headline h2 {
  margin: 0 0 0.5rem 0;
  padding-left: 0;
  line-height: 1;
  -webkit-hyphens: auto;
          hyphens: auto;
}
main section.introduction .content .headline h3 {
  font-family: "PP Telegraf Regular";
  font-style: normal;
  font-weight: 400;
  font-weight: normal;
  line-height: 1.5;
}
main section.introduction .content .title-container h3 {
  margin-top: 2rem;
}
main section.introduction .content p {
  font-size: 72.7272%;
  line-height: 1.2;
}
main section.introduction.has-background {
  margin: -1rem -1rem 0;
  height: calc(100vh - 1rem);
  width: 100%;
}
main section.introduction.has-background .content {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: calc(100% - 4rem);
  margin-top: 0;
}
main section.introduction:not(.has-background) + section {
  margin-top: 2rem;
}
main section.introduction:not(.has-background) + section.text figure.video {
  width: 100%;
  aspect-ratio: 16/9;
  margin: 0;
  padding: 0;
}
main section.introduction:not(.has-background) + section.text figure.video iframe {
  width: 100%;
  height: 100%;
}
main section.introduction:not(.has-background) + section.text figure.video + span {
  display: none !important;
}
main section .indented, main section.indented {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}
main section.introduction:not(.has-background) + section.featured-video {
  margin-top: 0;
}
main section.introduction:not(.has-background) + section.featured-video h3.subheadline {
  margin-top: 0;
}

@media screen and (min-width: 468px) {
  main section .inner-nav li.margin {
    margin: 0 4rem;
  }
}
@media screen and (max-width: 1023px) {
  main section.introduction .headline .breadcrumb {
    position: fixed !important;
    top: 0;
    width: 100%;
    left: 0;
    padding: 0.5rem 0;
    background-color: #fff;
    color: #000;
    font-family: "PP Rader";
    font-style: normal;
    font-weight: 400;
  }
  main section.introduction .headline .breadcrumb a {
    color: #000;
    font-family: "PP Rader";
    font-style: normal;
    font-weight: 400;
  }
  main section.introduction.has-background {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }
  main section.introduction.has-background .content {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
  }
  main section.introduction.has-background .background img {
    -o-object-position: top center;
       object-position: top center;
  }
}
@media screen and (min-width: 560px) {
  main section h2 {
    font-size: 60px;
  }
  main section h2.smaller {
    font-size: 40px;
  }
  main section h3 {
    font-size: 28px;
  }
  main section.introduction .content p {
    font-size: 81.8181%;
  }
}
@media screen and (min-width: 1024px) {
  main .headline h2 {
    font-size: 120px;
  }
  main section h2 {
    text-align: left;
  }
  main section .headline {
    text-align: left;
  }
  main section .indented, main section.indented {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
  main section.text {
    padding-top: 4rem;
  }
  main section.text.has-subheadline {
    padding-top: 2rem;
  }
  main section.introduction {
    min-height: 175px;
    max-width: none;
    margin: 0 auto;
    width: calc(100% - 88px - 2rem);
  }
  main section.introduction .content {
    max-width: 1000px;
    margin: 5rem auto 0;
  }
  main section.introduction .content .title-container {
    margin-left: 33.3333%;
  }
  main section.introduction .content .title-container .headline {
    top: -12px;
  }
  main section.introduction .content .title-container .headline nav.breadcrumb {
    font-size: 72.7272%;
  }
  main section.introduction .content .title-container .headline nav.breadcrumb span.site-name {
    display: inline;
  }
  main section.introduction .content .title-container .headline nav.breadcrumb span.root-name {
    display: none;
  }
  main section.introduction .content .title-container a {
    display: none;
  }
  main section.introduction .content .title-container h3 {
    margin-top: 1em;
  }
  main section.introduction .content .title-container p {
    font-size: 90.909%;
  }
  main section.introduction .content > .logo {
    display: block;
    width: 175px;
    height: 175px;
    position: absolute;
    left: 0;
    transform: none;
    top: 0;
  }
  main section.introduction .content > .logo h2 {
    margin: 0;
  }
  main section.introduction.has-background .content {
    text-align: left;
    margin-top: 0;
  }
  main section.introduction.has-background .background img {
    -o-object-position: center;
       object-position: center;
  }
  main section.introduction:not(.has-background) + section {
    margin-top: 4rem;
  }
  main section.introduction:not(.has-background) + section.text.text-image {
    max-width: 1000px;
  }
  main section.introduction ~ section > h2 {
    text-align: center;
  }
  main section.pdf-include > .headline {
    display: flex;
    justify-content: center;
    flex-direction: row;
    margin-bottom: 2rem;
  }
  main section.pdf-include > .headline h2 {
    font-size: 60px;
    margin-bottom: 0;
  }
  main section.pdf-include > .headline .button {
    display: inline-block;
    margin: 0 0 0 2rem;
    align-self: flex-end;
  }
}
@media screen and (min-width: 1240px) {
  main section.introduction .content > .logo {
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 1440px) {
  main section {
    margin-top: 5rem;
  }
  main section.introduction.has-background .content {
    height: calc(100% - 12rem);
    transform: none;
    position: relative;
    left: 0;
    top: 6rem;
  }
  main section.introduction.has-background .content .title-container {
    position: relative;
    top: 50%;
    left: 50%;
    width: calc(50% + 4rem);
    margin-left: 0;
  }
  main section.introduction.has-background .content .headline h2 {
    margin-bottom: 0;
  }
  main section.introduction:not(.has-background) + section.text {
    margin-left: 60px;
  }
  main section.introduction:not(.has-background) + section.text img:not(._brlbs-thumbnail) {
    margin-left: -80px;
  }
  main section.introduction:not(.has-background) + section.text .BorlabsCookie ._brlbs-content-blocker ._brlbs-embed {
    margin-bottom: 0;
  }
  main section.introduction .content > .logo {
    left: 0;
    transform: translateX(-50%);
  }
}
footer {
  padding: 2rem 1rem 6rem;
  margin-top: 4rem;
  border-top: 2px solid #fff;
  box-sizing: border-box;
  position: relative;
}
footer .logo {
  text-align: center;
  margin-bottom: 2rem;
}
footer .logo img {
  aspect-ratio: 124/131;
}
footer nav {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
footer nav .menu-container:first-child > *:first-child {
  margin-top: 0;
}
footer nav p,
footer nav ul {
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}
footer nav ul:not(.dots) {
  list-style: none;
}
footer nav ul.dots {
  padding-left: 12px;
}
footer .menu-container {
  page-break-inside: avoid;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  padding-bottom: 0.83em;
}
footer .menu-container h2 {
  font-size: 100%;
  font-family: "PP Rader Semibold";
  font-weight: 600;
  margin: 0;
}
footer .jump-to-top {
  position: absolute;
  right: 1.5rem;
  bottom: 1rem;
}

@media screen and (min-width: 1024px) {
  footer {
    display: grid;
    padding-top: 4rem;
    grid-template-columns: 1fr 1fr;
  }
  footer .logo {
    text-align: left;
    margin-left: 20%;
  }
}
body main form.um_generated_form {
  margin-bottom: 2rem;
}
body main form.um_generated_form .um_field_container {
  margin-bottom: 1rem;
}
body main form.um_generated_form .um_field_container label {
  font-size: 16px;
  line-height: 1.5;
}
body main form.um_generated_form .um_field_container h4 {
  font-family: "PP Rader Semibold";
  font-style: normal;
  font-weight: 600;
  font-size: 6vw;
}
body main form.um_generated_form .um_button {
  border-radius: 30px;
  background-color: #fff;
  color: #000;
  padding: 0.5rem 1rem;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: none;
  min-width: 150px;
  cursor: pointer;
  text-align: center;
  border: 2px solid transparent;
  font-size: inherit;
  box-sizing: content-box;
  font-family: "PP Rader Semibold";
  font-style: normal;
  font-weight: 600;
  font-size: 22px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0 none;
}
body main form.um_generated_form .um_button.inactive {
  background-color: transparent;
  border-color: #fff;
  color: #fff;
}
body main form.um_generated_form .um_button[disabled] {
  opacity: 0.5;
}

@media screen and (min-width: 420px) {
  body main form.um_generated_form .um_field_container label {
    width: 175px;
    display: inline-block;
    vertical-align: middle;
    font-size: 100%;
    line-height: normal;
  }
  body main form.um_generated_form .um_field_container input[type=number], body main form.um_generated_form .um_field_container input[type=text], body main form.um_generated_form .um_field_container input[type=email], body main form.um_generated_form .um_field_container input[type=password], body main form.um_generated_form .um_field_container select, body main form.um_generated_form .um_field_container textarea {
    width: calc(100% - 180px);
    display: inline-block;
    vertical-align: middle;
  }
}
body main table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 4rem;
  line-height: 1.5;
}
body main table tr th {
  font-size: 72.7272%;
  text-align: left;
}
body main table tr td {
  border-top: 2px solid #fff;
  height: 48px;
}
body main #dbem-bookings-table tr td:nth-child(3), body main #dbem-bookings-table tr th:nth-child(3) {
  display: none;
}

@media screen and (min-width: 480px) {
  body main #dbem-bookings-table tr td:nth-child(3), body main #dbem-bookings-table tr th:nth-child(3) {
    display: table-cell;
  }
}
/* Components */
.teasers .entry .headline {
  padding: 0;
  box-sizing: border-box;
  position: relative;
}
.teasers .entry .headline h3 {
  margin: 0;
  padding: 1rem;
  border: 2px solid #fff;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 8vw;
  background-color: #000;
  max-width: 90%;
  box-sizing: border-box;
  line-height: 1.2;
  text-align: left;
}
.teasers .entry .subheadline {
  font-family: "PP Rader Semibold";
  font-style: normal;
  font-weight: 600;
  margin: 0;
  padding: 0.5rem 1rem;
  border: 2px solid #fff;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #000;
  max-width: 60%;
  font-size: 5vw;
  line-height: 1.2;
}
.teasers .entry figure {
  margin: 1rem 0 0 0;
  padding: 0;
  width: 100%;
  border: 2px solid #fff;
}
.teasers .entry figure.zoom {
  overflow: hidden;
}
.teasers .entry figure img {
  width: 100%;
  height: auto;
  display: block;
}
.teasers .entry .content {
  padding: 2rem 1rem;
}
.teasers .entry .content p {
  margin: 0;
  line-height: 1.5;
  font-size: 72.7272%;
}
.teasers .entry .content a {
  font-family: "PP Rader Semibold", sans-serif;
  font-weight: 600;
}
.teasers.productions, .teasers.formats {
  padding-left: 0;
  margin: 4rem -1rem 4rem;
  width: calc(100% + 2rem);
}
.teasers.productions .headline h2, .teasers.formats .headline h2 {
  padding-left: 2rem;
}
.teasers.productions .headline .button, .teasers.formats .headline .button {
  display: none;
}
.teasers.productions .entry, .teasers.formats .entry {
  width: 100%;
}
.teasers.productions .entry > a, .teasers.formats .entry > a {
  text-decoration: none;
  display: block;
}
.teasers.productions .entry > a .more, .teasers.formats .entry > a .more {
  text-decoration: underline;
}
.teasers.productions .entry .headline, .teasers.formats .entry .headline {
  transform: translateY(-50%);
  padding: 0 0 0 1rem;
}
.teasers.productions .entry .headline h3, .teasers.formats .entry .headline h3 {
  border: 2px solid #fff;
  font-size: 11vw;
  will-change: transform;
}
.teasers.productions .entry figure, .teasers.formats .entry figure {
  border: 0 none;
}
.teasers.productions .entry .content, .teasers.formats .entry .content {
  padding: 0 1rem 2rem 2rem;
}
.teasers.productions .entry a.next, .teasers.formats .entry a.next {
  position: absolute;
  right: 1rem;
  top: 2.25rem;
  padding-top: 66.3333%;
  height: 0;
}
.teasers.news .entry > a {
  text-decoration: none;
  display: block;
}
.teasers.news .entry > a .more {
  text-decoration: underline;
}
.teasers.news .entry > a .headline h3 {
  max-width: 92%;
  min-width: 70%;
}
.teasers.news .headline {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
}
.teasers.news .headline .subheadline {
  align-self: end;
  margin-top: -12px;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .teasers.productions .entry .headline h3, .teasers.formats .entry .headline h3 {
    font-size: 60px;
  }
  .teasers.news .entries {
    display: grid;
    grid-template-columns: calc(50% - 2rem) calc(50% - 2rem);
    grid-gap: 4rem;
  }
  .teasers.news .entry .headline h3 {
    font-size: 40px;
    max-width: 92%;
    min-width: 70%;
  }
  .teasers.news .entry .subheadline {
    font-size: 25px;
  }
  .teasers.news .entry .content p {
    font-size: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .teasers .headline > .button {
    display: block;
  }
  .teasers .entries {
    display: grid;
    grid-template-columns: calc(50% - 2rem) calc(50% - 2rem);
    grid-gap: 4rem;
  }
  .teasers .entry .headline h3 {
    font-size: 40px;
    max-width: 75%;
    min-width: 55%;
  }
  .teasers .entry .subheadline {
    font-size: 25px;
  }
  .teasers .entry .content p {
    font-size: 20px;
  }
  .teasers > .button {
    display: none;
  }
  .teasers.productions .entries, .teasers.formats .entries {
    display: block;
    width: 100%;
    grid-template-columns: none;
    grid-gap: 0;
  }
  .teasers.productions .entries .entry, .teasers.formats .entries .entry {
    position: relative;
    width: calc(50% - 20px) !important;
    display: block;
    flex: none;
  }
  .teasers.productions .entries .entry .headline h3, .teasers.formats .entries .entry .headline h3 {
    font-size: 50px;
    min-width: 0;
  }
  .teasers.productions .entries .entry:nth-child(2), .teasers.formats .entries .entry:nth-child(2) {
    margin-top: 140px;
  }
  .teasers.productions .entries .entry .content, .teasers.formats .entries .entry .content {
    width: 100%;
    box-sizing: border-box;
    margin-top: -1rem;
  }
  .teasers.productions .entries .entry .next, .teasers.formats .entries .entry .next {
    display: none;
  }
  .teasers.productions .entries .entry:last-child .content, .teasers.formats .entries .entry:last-child .content {
    position: static;
  }
}
.events {
  margin: 4rem auto 0;
  max-width: 1320px;
}
.events .filters {
  margin-bottom: 2rem;
  position: relative;
}
.events .filters ul {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  display: none;
  justify-content: center;
  gap: 1rem;
}
.events .filters li {
  display: block;
}
.events .filters li button {
  cursor: initial;
}
.events .filters li button.inactive {
  cursor: pointer;
}
.events .filters select {
  width: 100%;
  max-width: none;
}
.events .filters .chevron {
  content: url(images/chevron-down.svg);
  width: 28px;
  position: absolute;
  right: 0.75rem;
  top: 0.75rem;
  pointer-events: none;
}
.events .filters .remove {
  background-color: transparent;
  border: 0 none;
  display: block;
  position: absolute;
  right: 3rem;
  top: 0.65rem;
  width: 18px;
  height: 18px;
  padding: 0;
  cursor: pointer;
}
.events .filters .remove:before {
  content: url(images/close.svg);
}
.events .entries ul {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem 0;
  font-size: 72.7272%;
  display: grid;
  grid-template-columns: calc(50% - 0.25rem) calc(50% - 0.25rem);
  grid-gap: 0.5rem;
}
.events .entries li {
  border: 2px solid #fff;
  padding: 0.25rem;
  box-sizing: border-box;
  min-height: calc(60vw - 1.25rem);
  position: relative;
}
.events .entries li.highlight {
  background-color: #fff;
}
.events .entries li.highlight a {
  color: #000;
}
.events .entries li.highlight .arrow {
  filter: invert(100%);
}
.events .entries li > a,
.events .entries li > span.link {
  text-decoration: none;
  line-height: 1.2;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  height: 100%;
}
.events .entries li > a .dates,
.events .entries li > span.link .dates {
  margin-bottom: 1rem;
}
.events .entries li > a .dates strong,
.events .entries li > span.link .dates strong {
  display: block;
  font-weight: normal;
  font-size: 125%;
}
.events .entries li > a .title,
.events .entries li > span.link .title {
  align-self: flex-end;
  margin-top: 1rem;
  width: 100%;
  -webkit-hyphens: auto;
          hyphens: auto;
}
.events .entries li > a .title strong,
.events .entries li > span.link .title strong {
  font-family: "PP Rader Semibold";
  font-style: normal;
  font-weight: 600;
  font-size: 8vw;
  line-height: 1;
  margin: 0 0 0.5rem 0;
  display: block;
}
.events .entries li > a .title strong span,
.events .entries li > span.link .title strong span {
  display: inline;
}
.events .entries li > a .title strong:last-child,
.events .entries li > span.link .title strong:last-child {
  margin-bottom: 0;
  margin-top: 0.5rem;
}
.events .entries li > a .arrow,
.events .entries li > span.link .arrow {
  display: block;
  position: absolute;
  right: 0.5rem;
  top: 0.5rem;
}
.events .entries li > a .arrow:before,
.events .entries li > span.link .arrow:before {
  content: url(images/arrow_right.svg);
}
.events .entries li > a .additional,
.events .entries li > span.link .additional {
  text-transform: uppercase;
  display: block;
}
.events .entries li > a a span.arrow,
.events .entries li > span.link a span.arrow {
  position: static;
  content: url(images/arrow_right.svg);
  width: 20px;
  display: inline-block;
  margin-left: 4px;
  vertical-align: middle;
}
.events .entries li > a a span.arrow:before,
.events .entries li > span.link a span.arrow:before {
  display: none;
}

@media screen and (min-width: 420px) {
  .events .entries li {
    padding: 0.5rem;
  }
  .events .entries li > a .dates strong,
  .events .entries li > span.link .dates strong {
    font-size: 150%;
  }
}
@media screen and (min-width: 640px) {
  .events .filters ul {
    display: flex;
  }
  .events .filters select, .events .filters .chevron, .events .filters .remove {
    display: none;
  }
  .events .entries ul {
    grid-gap: 1rem;
  }
  .events .entries li {
    position: relative;
    min-height: 60vw;
    /*display: flex;*/
    font-size: 20px;
    padding: 1rem;
    /*&:after {
        width: 1px;
        height: 0;
        content: "";
        padding-bottom: 100%;
    }*/
  }
  .events .entries li > a .arrow,
  .events .entries li > span.link .arrow {
    right: 1rem;
    top: 1rem;
  }
  .events .entries li > a .title strong,
  .events .entries li > span.link .title strong {
    font-size: 64px;
  }
  .events .entries li > a .dates,
  .events .entries li > span.link .dates {
    margin-bottom: 2rem;
  }
  .events .entries li > a .dates strong,
  .events .entries li > span.link .dates strong {
    font-size: 40px;
  }
}
@media screen and (min-width: 768px) {
  .events .entries ul {
    grid-template-columns: calc(33.3333% - 0.6666rem) calc(33.3333% - 0.6666rem) calc(33.3333% - 0.6666rem);
  }
  .events .entries li {
    min-height: 35vw;
  }
  .events .entries li > a .arrow,
  .events .entries li > span.link .arrow {
    right: 1rem;
    top: 1rem;
  }
  .events .entries li > a .title strong,
  .events .entries li > span.link .title strong {
    font-size: 6.5vw;
  }
  .events .entries li > a .dates strong,
  .events .entries li > span.link .dates strong {
    font-size: 4vw;
  }
}
@media screen and (min-width: 1024px) {
  .events > .headline {
    display: flex;
    justify-content: center;
    flex-direction: row;
    margin-bottom: 4rem;
  }
  .events > .headline h2 {
    font-size: 60px;
    margin-bottom: 0;
  }
  .events > .headline .button {
    display: inline-block;
    margin: 0 0 0 2rem;
    align-self: flex-end;
  }
  .events .entries li {
    min-height: 40vw;
  }
  .events .entries li > a .arrow,
  .events .entries li > span.link .arrow {
    right: 1rem;
    top: 1rem;
  }
  .events .entries li > a .title strong,
  .events .entries li > span.link .title strong {
    font-size: 64px;
  }
  .events .entries li > a .dates strong,
  .events .entries li > span.link .dates strong {
    font-size: 40px;
  }
  .events > .button {
    display: none;
  }
}
@media screen and (min-width: 1240px) {
  .events .entries ul {
    grid-template-columns: calc(25% - 0.75rem) calc(25% - 0.75rem) calc(25% - 0.75rem) calc(25% - 0.75rem);
  }
  .events .entries li {
    min-height: 25vw;
  }
  .events .entries li > a .title strong,
  .events .entries li > span.link .title strong {
    font-size: 4vw;
  }
  .events .entries li > a .dates strong,
  .events .entries li > span.link .dates strong {
    font-size: 2.5vw;
  }
}
@media screen and (min-width: 1440px) {
  .events .entries li {
    min-height: 391px;
  }
  .events .entries li > a .title strong,
  .events .entries li > span.link .title strong {
    font-size: 64px;
  }
  .events .entries li > a .dates strong,
  .events .entries li > span.link .dates strong {
    font-size: 40px;
  }
}
.swipable .entries {
  display: flex;
  flex-wrap: nowrap;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}
.swipable .entries::-webkit-scrollbar {
  display: none;
}
.swipable .entries .entry {
  flex: 0 0 auto;
  width: 100%;
}

.carousel {
  margin-left: 16.666% !important;
  margin-right: -1rem;
  width: calc(83.3333% + 1rem);
  box-sizing: border-box;
  overflow: hidden;
}
.carousel .entries figure {
  margin: 0;
}
.carousel .entries figure img {
  width: 100%;
  height: auto;
}
.carousel .controls {
  margin-top: 1rem;
}
.carousel .controls ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.carousel .controls li {
  display: inline-block;
  position: relative;
}
.carousel .controls li.is-active a:after {
  content: "";
  display: block;
  height: 6px;
  width: 6px;
  border: 1px solid #fff;
  position: absolute;
  top: 9px;
  left: 9px;
  border-radius: 50%;
}
.carousel .controls a {
  display: block;
  padding: 4px;
}
.carousel .controls a:before {
  content: "";
  display: block;
  height: 16px;
  width: 16px;
  border: 1px solid #fff;
  border-radius: 50%;
}

.tiles .rl-basicmasonry-gallery {
  padding: 0 !important;
}
.tiles .rl-gallery-caption {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden;
}
.tiles.logos .entries {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.tiles.logos .entry {
  width: calc(50% - 0.5rem);
}

.nivo-lightbox-theme-default .nivo-lightbox-close {
  background: url(images/lb_close.svg) 7px 7px no-repeat;
  height: 36px;
  width: 36px;
  background-size: 36px 36px;
  padding: 7px;
}
.nivo-lightbox-theme-default .nivo-lightbox-next {
  background-image: url(images/lb_arrow-right.svg);
}
.nivo-lightbox-theme-default .nivo-lightbox-prev {
  background-image: url(images/lb_arrow-left.svg);
}
.nivo-lightbox-theme-default .nivo-lightbox-title {
  font-family: "PP Telegraf Regular";
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  background: 0 none;
}

@media screen and (min-width: 480px) {
  .tiles.logos .entry {
    width: calc(33.3333% - 0.6667rem);
  }
}
@media screen and (min-width: 768px) {
  .tiles.logos .entry {
    width: calc(25% - 0.75rem);
  }
}
@media screen and (min-width: 1240px) {
  .tiles.logos .entry {
    width: calc(20% - 0.8rem);
  }
}
.testimonial {
  max-width: 820px;
  margin: 2rem auto 0;
}
.testimonial .content {
  padding: 0 0 2rem 0;
  text-align: center;
  font-size: 150%;
  line-height: 1.2;
  font-family: "PP Rader Semibold";
  font-style: normal;
  font-weight: 600;
}

@media screen and (min-width: 1024px) {
  .testimonial {
    margin-top: 4rem;
  }
}
section.video {
  max-width: 820px;
  margin: 0 auto;
}
section.video > :first-child:not(.headline) {
  padding-top: 2rem;
}
section.video figure.video {
  height: 0;
  max-width: 820px;
  padding-bottom: 56.25%;
  position: relative;
  margin: 0;
}
section.video figure.video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

main section.rows {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
main section.rows + .rows {
  margin-top: 0;
}
main section.rows + .rows .row {
  padding-top: 2rem;
}
main section.rows .row {
  flex: 1 1 0px;
  max-width: 640px;
  text-align: center;
  line-height: 1.5;
}
main section.rows .row:first-child h2 {
  margin-top: 0;
}
main section.rows .row h2 {
  -webkit-hyphens: auto;
          hyphens: auto;
  font-size: 10vw;
}
main section.rows .row h2.smaller {
  font-size: 6vw;
}
main section.rows .row h3 {
  font-size: 109.0909%;
  margin-bottom: 0;
}
main section.rows .row h3 + p {
  margin-top: 0;
}
main section.rows .row:first-child {
  order: -1;
}
main section.rows .row p {
  font-size: 90.909%;
}

@media screen and (min-width: 560px) {
  main section.rows {
    flex-direction: row;
    gap: 1rem;
  }
  main section.rows .row h2 {
    text-align: center;
    font-size: 60px;
  }
  main section.rows .row h2.smaller {
    font-size: 40px;
  }
  main section.rows .row:first-child h2 {
    margin-top: 0.83em;
  }
  main section.rows .row h3 {
    font-size: 28px;
  }
  main section.rows:before {
    content: "";
    border: 1px solid #fff;
    align-self: stretch;
  }
}
main .accordion-wrapper + section.text + .accordion-wrapper section.accordion:first-child {
  margin-top: 0;
}
main section.accordion {
  margin-top: 4rem;
}
main section.accordion h2 {
  border: 2px solid #fff;
  font-size: 6vw;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  line-height: 1.2;
  margin: -10vw 0 0 0;
  transform: translateY(-50%);
  margin-left: -50px;
  position: absolute;
  background-color: #000;
}
main section.accordion h3 {
  font-family: "PP Telegraf Regular";
  font-style: normal;
  font-weight: 400;
  font-weight: normal;
  text-transform: uppercase;
  margin: 0 0 5px 0;
  -webkit-hyphens: auto;
          hyphens: auto;
  font-size: 90.909%;
}
main section.accordion .accordion-header {
  display: flex;
}
main section.accordion .accordion-header img,
main section.accordion .accordion-header .fake-image {
  width: calc(50% - 1rem);
  display: block;
  height: auto;
  border: 2px solid #fff;
  align-self: flex-start;
  flex-shrink: 0;
  margin-bottom: 0;
}
main section.accordion .accordion-header .fake-image {
  aspect-ratio: 16/9;
}
main section.accordion .accordion-header .title-column {
  margin: 10vw 0 0 0.5rem;
  display: flex;
  flex-direction: column;
}
main section.accordion .accordion-header .toggle {
  margin-top: auto;
  height: 24px;
  width: 24px;
  position: relative;
}
main section.accordion .accordion-header .toggle:before, main section.accordion .accordion-header .toggle:after {
  content: "";
  display: block;
  width: 2px;
  background-color: #fff;
  height: 100%;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  position: absolute;
}
main section.accordion .accordion-header .toggle:after {
  transform: translate(-50%, -50%) rotate(90deg);
}
main section.accordion .accordion-content {
  margin-top: 1rem;
  display: none;
}
main section.accordion.opened .accordion-header .toggle:before {
  transform: translate(-50%, -50%) rotate(-45deg);
}
main section.accordion.opened .accordion-header .toggle:after {
  transform: translate(-50%, -50%) rotate(45deg);
}
main section.accordion.opened .accordion-content {
  display: block;
}

@media screen and (min-width: 480px) {
  main section.accordion h2 {
    margin-left: -80px;
  }
}
@media screen and (min-width: 640px) {
  main section.accordion h2 {
    font-size: 5vw;
  }
}
@media screen and (min-width: 920px) {
  main .accordion-wrapper section.accordion:nth-child(2n+2) .accordion-header .title-column {
    order: 1;
    margin-left: 0;
    margin-right: 0.5rem;
    align-items: flex-end;
  }
  main .accordion-wrapper section.accordion:nth-child(2n+2) .accordion-header h2 {
    margin-left: 0;
    margin-right: -80px;
  }
  main .accordion-wrapper section.accordion:nth-child(2n+2) .accordion-header h3 {
    text-align: right;
    width: 80%;
  }
  main .accordion-wrapper section.accordion:nth-child(2n+2) .accordion-header .title-column {
    width: calc(50% + 1rem);
  }
  main .accordion-wrapper section.accordion:nth-child(2n+2) .accordion-header img,
  main .accordion-wrapper section.accordion:nth-child(2n+2) .accordion-header .fake-image {
    order: 2;
  }
  main section.accordion h2 {
    font-size: 50px !important;
    margin-top: -3.5rem;
  }
  main section.accordion .accordion-header .title-column {
    margin: 3.5rem 0 0 0.5rem;
  }
}
/* Pages */
body.home main {
  padding: 1rem;
}
body.home main section.indented:first-child {
  margin-top: 1rem;
}
body.home main section.indented:first-child > .headline {
  padding-left: 16.6666%;
  width: 66.6666%;
  margin-bottom: 1.5rem;
  text-align: left;
}
body.home main section.indented:first-child > .headline h2 {
  padding-left: 0;
  text-align: left;
  margin-bottom: 3rem;
  width: calc(100% + 2rem);
}
body.home main section.indented > .logo {
  position: relative;
  line-height: 0;
  width: 33.3333%;
}
body.home main section.indented > .logo img {
  width: 100%;
  opacity: 1;
}
body.home main section.indented #animated-logo img {
  display: none;
}
body.home main section h2 {
  padding-left: 1rem;
  font-size: 12vw;
}
body.home main section.text {
  padding-left: 16.6666%;
  padding-top: 2rem;
}
body.home main section.text h2 {
  text-align: left;
  padding-left: 0;
}
body.home main section .headline > .button {
  display: none;
}
body.home main section.carousel.swipable {
  margin-top: 3rem;
}
body.home main section.carousel.swipable figure {
  aspect-ratio: 780/1008;
}
body.home main section.news.teasers .entry .headline h3 {
  min-width: 70%;
}
body.home.start-animation_play {
  animation: hide-scroll 3s;
}
body.home.start-animation_play main section.indented > .logo img {
  opacity: 0;
  animation: fadeIn 0.5s forwards;
  animation-delay: 2.8s;
}
body.home.start-animation_play main section.indented #animated-logo img {
  position: absolute;
  display: inline;
  width: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  animation: animation 3s;
  z-index: 2000;
  will-change: transform;
  transform: translateX(-1000%);
}

@media screen and (min-width: 1024px) {
  body.home main {
    padding-top: 5rem;
    position: relative;
  }
  body.home main section.indented {
    position: relative;
    width: calc(100% - 88px - 2rem);
  }
  body.home main section.indented:first-child > .headline {
    padding-left: 33.3333%;
    width: calc(66.6666% - 2rem);
    top: -12px;
    position: relative;
    margin-bottom: 0.83em;
  }
  body.home main section.indented:first-child > .headline h2 {
    margin-bottom: 4.3333rem;
  }
  body.home main section.indented > .logo {
    width: 175px;
    height: 175px;
    position: absolute;
    left: 0;
    top: 0;
  }
  body.home main section.indented > .logo h2 {
    margin: 0;
  }
  body.home main section.indented:first-child {
    z-index: 2000;
  }
  body.home main section h2 {
    font-size: 120px;
    line-height: 1;
  }
  body.home main section.text {
    padding-left: 0;
    padding-top: 4rem;
    width: calc(100% - 88px - 2rem);
    max-width: 1000px;
    font-size: 28px;
  }
  body.home main section.carousel.swipable {
    width: calc(100% - 88px - 2rem);
    margin-top: -160px;
    margin-left: auto !important;
  }
  body.home main section.carousel.swipable figure {
    aspect-ratio: 1000/563;
  }
  body.home main section.news > .headline, body.home main section.events > .headline, body.home main section.productions > .headline {
    display: flex;
    justify-content: center;
    flex-direction: row;
    margin-bottom: 4rem;
  }
  body.home main section.news > .headline h2, body.home main section.events > .headline h2, body.home main section.productions > .headline h2 {
    font-size: 60px;
    margin-bottom: 0;
  }
  body.home main section.news > .headline .button, body.home main section.events > .headline .button, body.home main section.productions > .headline .button {
    display: inline-block;
    margin: 0 0 0 2rem;
    align-self: flex-end;
  }
  body.home main section.news > .button, body.home main section.events > .button, body.home main section.productions > .button {
    display: none;
  }
  body.home main section.productions {
    margin-top: 8rem;
    margin-bottom: 4rem;
  }
}
@media screen and (min-width: 1240px) {
  body.home main section.indented > .logo {
    transform: translateX(-50%);
  }
}
@keyframes animation {
  0% {
    transform: scale3d(100, 100, 100);
    opacity: 1;
  }
  80% {
    transform: scale3d(1.25, 1.25, 1.25);
    opacity: 1;
  }
  90% {
    transform: scale3d(1.75, 1.75, 1.75);
    opacity: 0.7;
  }
  100% {
    transform: scale3d(1, 1, 1);
    opacity: 0;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes hide-scroll {
  from {
    overflow: hidden;
  }
  to {
    overflow: scroll;
  }
}
body.single-event main {
  position: relative;
}
body.single-event main .logo {
  display: none;
}
body.single-event main .logo picture > img {
  width: 100%;
}
body.single-event section.event {
  max-width: 1240px;
  width: 100%;
  margin: 3rem auto 2rem;
  display: flex;
  flex-direction: column;
}
body.single-event section.event .content {
  order: 1;
  margin-bottom: 4rem;
}
body.single-event section.event .event-image {
  order: 2;
  max-width: calc(100% + 2rem);
  height: auto;
  margin: 0 -1rem;
  position: relative;
}
body.single-event section.event .event-image img {
  width: 100vw;
}
body.single-event section.event .headline {
  order: 1;
}
body.single-event section.event .headline h2 {
  line-height: 1;
  margin-bottom: 2rem;
  -webkit-hyphens: auto;
          hyphens: auto;
}
body.single-event section.event .event-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0.5rem;
  order: 2;
}
body.single-event section.event .event-details .entry h3 {
  margin-bottom: 0;
}
body.single-event section.event .event-details .entry ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
body.single-event section.event-form {
  max-width: 1400px;
  width: 100%;
}
body.single-event section.event-form .em-booking {
  line-height: 1.5;
  max-width: 1240px;
}
body.single-event section.event-form .em-tickets {
  width: 100%;
  margin-bottom: 4rem;
}
body.single-event section.event-form .em-tickets tr td {
  border-top: 2px solid #fff;
}
body.single-event section.event-form .em-booking-form-details {
  width: 100%;
  float: none;
  padding: 0;
}
body.single-event section.event-form .em-booking-form-details label + input, body.single-event section.event-form .em-booking-form-details label + select {
  width: 100%;
  box-sizing: border-box;
}
body.single-event section.event-form .em-booking-form label,
body.single-event section.event-form .em-booking-login label {
  vertical-align: middle;
  float: none;
  font-size: 22px;
}
body.single-event section.event-form .em-booking-form label + input,
body.single-event section.event-form .em-booking-login label + input {
  display: inline-block;
  vertical-align: middle;
}
body.single-event section.event-form .em-booking-form .input-checkbox label {
  width: 100%;
}
body.single-event section.event-form input[type=submit] {
  border-radius: 30px;
  background-color: #fff;
  color: #000;
  padding: 0.5rem 1rem;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: none;
  min-width: 150px;
  cursor: pointer;
  text-align: center;
  border: 2px solid transparent;
  font-size: inherit;
  box-sizing: content-box;
  font-family: "PP Rader Semibold";
  font-style: normal;
  font-weight: 600;
  font-size: 22px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0 none;
}
body.single-event section.event-form input[type=submit].inactive {
  background-color: transparent;
  border-color: #fff;
  color: #fff;
}
body.single-event section.event-form .em-booking-login {
  margin: 4rem 0 0 0;
  width: 100%;
  padding: 0;
}
body.single-event section.event-form .em-booking-login input[type=submit] {
  display: inline-block;
  margin-right: 1rem;
}
body.single-event section.event-form .em-booking-login #em_rememberme + label {
  width: auto;
}
body.single-event section.event-form .em-booking-login a[href*=lostpassword] {
  margin-top: 2rem;
  display: inline-block;
}
body.single-event section.event-form .em-bookings-ticket-table-spaces {
  padding: 0.25rem 0;
}
body.single-event section.event-form .em-tickets th {
  font-size: 72.7272%;
  text-align: left;
}
body.single-event section.event-form .em-tickets th:last-child {
  text-align: center;
}
body.single-event section.event-form .em-tickets td {
  line-height: 1;
}
body.single-event section.event-form .em-tickets td:last-child {
  text-align: center;
}
body.single-event section.event-form .em-tickets .ticket-desc {
  font-size: 72.7272%;
}

@media screen and (min-width: 480px) {
  body.single-event section.event-form .em-booking-form-details label + input, body.single-event section.event-form .em-booking-form-details label + select {
    width: calc(100% - 165px);
  }
  body.single-event section.event-form .em-booking-form label,
  body.single-event section.event-form .em-booking-login label {
    font-size: 100%;
    width: 160px;
  }
}
@media screen and (min-width: 1024px) {
  body.single-event main .logo {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 175px;
    height: 175px;
    z-index: 4000;
  }
  body.single-event main .logo img {
    width: 100%;
  }
  body.single-event section.event {
    max-width: 1000px;
    margin: 5rem auto 0 auto;
    position: relative;
    display: flex;
    flex-direction: row;
    width: calc(100% - 88px - 2rem);
    height: calc(100vh - 5rem);
  }
  body.single-event section.event .content {
    width: 66.6666%;
    margin-left: 2rem;
    margin-bottom: 0;
  }
  body.single-event section.event .event-image {
    width: calc(33.3333% - 2rem);
    order: unset;
    margin: 0;
    height: calc(768px - 6rem);
    margin-bottom: -6rem;
  }
  body.single-event section.event .event-image picture {
    display: flex;
    width: 36vw;
    height: 100vh;
    position: absolute;
    right: 0;
    top: -6rem;
    overflow: hidden;
  }
  body.single-event section.event .event-image img {
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center;
       object-position: center;
  }
  body.single-event section.event .headline {
    position: relative;
    order: 2;
    top: -12px;
    width: calc(100% + 3rem);
  }
}
@media screen and (min-width: 1240px) {
  body.single-event main .logo {
    transform: translateX(-50%);
  }
  body.single-event section.event .event-image img {
    right: 2rem;
  }
  body.single-event section.event-form {
    margin: 4rem auto 0;
  }
  body.single-event section.event-form .em-booking-form-details {
    width: calc(50% - 2rem);
    margin-right: 4rem;
    float: left;
  }
  body.single-event section.event-form .em-booking-login {
    margin: 0;
  }
  body.single-event section.event-form .em-booking-login label + input {
    width: calc(50% - 2rem - 165px);
    box-sizing: border-box;
  }
}
@media screen and (min-width: 1440px) {
  body.single-event section.event .event-image img {
    right: 4rem;
  }
}
/* Shame */
.otgs-development-site-front-end {
  display: none;
}

.wpcf7 form > p > label {
  line-height: 1.5;
}

.wpcf7-submit,
.um_login_button {
  border-radius: 30px;
  background-color: #fff;
  color: #000;
  padding: 0.5rem 1rem;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: none;
  min-width: 150px;
  cursor: pointer;
  text-align: center;
  border: 2px solid transparent;
  font-size: inherit;
  box-sizing: content-box;
  font-family: "PP Rader Semibold";
  font-style: normal;
  font-weight: 600;
  font-size: 22px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0 none;
}
.wpcf7-submit.inactive,
.um_login_button.inactive {
  background-color: transparent;
  border-color: #fff;
  color: #fff;
}
.wpcf7-submit[disabled],
.um_login_button[disabled] {
  opacity: 0.5;
}

.wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}

.um_login_form .pf_label,
.um_user_form .um_label_top {
  font-weight: normal;
}

.um_login_button {
  margin: 1rem 0;
}

.wpml-ls-legacy-list-vertical a {
  padding: 0;
  line-height: 1.5;
}/*# sourceMappingURL=style.css.map */