html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
  color: white;
  background: black;
  font-family: 'Didact Gothic', sans-serif;
  font-size: 22px;
  line-height: 38px; }

ul, li {
  margin: 0;
  padding: 0; }

div {
  box-sizing: border-box; }

.headline {
  overflow: hidden; }

a {
  text-decoration: none;
  color: inherit; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Muli', sans-serif;
  font-size: 44px;
  margin: 0;
  display: inline-block;
  position: relative; }
  h1:after, h1:before, h2:after, h2:before, h3:after, h3:before, h4:after, h4:before, h5:after, h5:before, h6:after, h6:before {
    content: '';
    background: url("../images/dot_white.png");
    height: 3px;
    position: absolute;
    width: 600px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1; }
  h1:after, h2:after, h3:after, h4:after, h5:after, h6:after {
    left: 100%;
    margin-left: 15px; }
  h1:before, h2:before, h3:before, h4:before, h5:before, h6:before {
    right: 100%;
    margin-right: 15px; }

#header {
  position: relative;
  overflow: hidden;
  border: 3px solid #fff;
  transition: all 0.1s;
  height: 100%; }
  #header .strukturbild_image {
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat; }
  #header.header--no_border {
    border-width: 0; }
  #header video {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 0;
    pointer-events: none; }
  #header__logo {
    background: url("/theme/images/logo.jpg") no-repeat;
    height: 217px;
    width: 217px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%); }
  #header__stripe {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100px;
    text-align: right;
    z-index: 999999; }
    #header__stripe:after {
      content: '';
      background: url("../images/arrow_down.png") no-repeat;
      position: absolute;
      left: 50%;
      bottom: 8px;
      transform: translateX(-50%);
      width: 27px;
      height: 18px;
      transition: all 0.5s;
      opacity: 1; }
    #header__stripe.no_arrow:after {
      opacity: 0; }
    #header__stripe.header__stripe--opened {
      padding-top: 30px;
      position: fixed;
      bottom: auto;
      top: 0; }
    #header__stripe ul {
      list-style-type: none; }
      #header__stripe ul li {
        display: inline-block;
        margin-right: 40px;
        transition: margin 0.5s; }
        #header__stripe ul li img {
          transition-property: width, height;
          transition-duration: 0.5s; }
        #header__stripe ul li i {
          font-size: 26px;
          color: #fff; }
  #header__menu_opener {
    background-image: url("/theme/images/menu__opener.png");
    width: 67px;
    height: 66px;
    position: absolute;
    left: 40px;
    z-index: 15;
    transition: left 1s;
    transition-delay: 1.5s; }

#menu {
  width: 320px;
  position: fixed;
  left: -320px;
  top: 0;
  bottom: 0;
  border: 1px solid #fff;
  border-left: none;
  background: rgba(0, 0, 0, 0.5);
  z-index: 999999;
  opacity: 0;
  transition: left 1s, opacity 1s;
  transition-delay: 0.5s; }
  #menu_close {
    background-image: url("/theme/images/menu__closer.png");
    background-size: cover;
    width: 33px;
    height: 33px;
    position: absolute;
    top: 30px;
    right: -50px;
    z-index: 15;
    opacity: 0;
    transition-duration: 1s;
    transition-delay: 0s;
    transition-property: opacity, right; }
  #menu__wrapper {
    width: 100%;
    height: 100%;
    padding: 60px 35px; }
  #menu ul {
    list-style-type: none;
    height: 100%;
    width: 100%; }
    #menu ul li {
      width: 100%;
      position: relative;
      margin: 0 auto;
      font-size: 26px;
      border-right: none !important;
      border-left: none !important;
      opacity: 0;
      left: -200px;
      visibility: hidden;
      transition-duration: 0.5s;
      transition-property: visibility, opacity, left;
      text-transform: uppercase; }
      #menu ul li.visible {
        opacity: 1 !important;
        visibility: visible !important;
        left: 0 !important; }
      #menu ul li:after {
        content: '';
        display: block;
        padding-top: 100%;
        border: 1px solid #fff;
        transition: all 0.5s; }
      #menu ul li:hover a {
        box-shadow: inset 0 0 14px 0 #fff; }
      #menu ul li a {
        position: absolute;
        bottom: 0;
        right: 0;
        top: 0;
        left: 0; }
        #menu ul li a span {
          position: absolute;
          bottom: 10px;
          right: 10px;
          transition: all 0.5s; }

.menu_open #header__menu_opener {
  left: -100px;
  transition: left 0.5s;
  transition-delay: 0.1s; }
  .menu_open #header__menu_opener.fixed {
    position: fixed;
    top: 30px; }
.menu_open #menu {
  left: 0;
  opacity: 1;
  transition-delay: 0.5s; }
  .menu_open #menu_close {
    right: 60px;
    opacity: 1;
    transition-delay: 0.5s; }

#footer .contentContainer, #content .contentContainer {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center; }

#content {
  transition: padding 0.5s; }
  #content_1, #content_2, #content_3, #content_4, #content_5 {
    background-size: cover;
    padding: 40px 0; }
  #content .content {
    overflow: hidden;
    background-image: none !important; }
    #content .content.content--no-overflow {
      overflow: visible; }

#footer {
  background: #303030;
  text-align: center;
  padding: 50px 0;
  line-height: 22px;
  font-size: 18px; }
  #footer a {
    font-size: 16px; }
  #footer ul li {
    display: inline-block;
    margin: 0 5px; }

.gallery_overview {
  margin: 0 -9px; }
  .gallery_overview--black-border .image:after {
    border: 3px solid #000 !important; }
  .gallery_overview--black-border .item:hover:after {
    content: '';
    padding-top: 100%;
    display: block;
    position: relative;
    background: none !important;
    transition: unset !important; }
  .gallery_overview--black-border .item:hover .description {
    opacity: 0;
    visibility: hidden; }
  .gallery_overview .item {
    display: inline-block;
    width: calc(100% / 5);
    border: 5px solid transparent;
    position: relative;
    float: left;
    box-sizing: border-box; }
    .gallery_overview .item .image {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-size: cover;
      background-position: center center;
      -webkit-box-shadow: 0 0 20px -5px #000000;
      box-shadow: 0 0 20px -5px #000000; }
      .gallery_overview .item .image:after {
        content: '';
        position: absolute;
        left: 10px;
        right: 10px;
        bottom: 10px;
        top: 10px;
        border: 3px solid #fff; }
    .gallery_overview .item .description {
      position: absolute;
      width: 100%;
      padding: 0 10px;
      top: 50%;
      transform: translateY(-50%);
      z-index: 10;
      text-align: center;
      color: white;
      opacity: 0;
      visibility: hidden;
      transition-duration: 0.5s;
      transition-property: opacity, visibility; }
    .gallery_overview .item:after {
      content: '';
      padding-top: 100%;
      display: block;
      position: relative; }
    .gallery_overview .item:hover:after {
      content: '';
      padding-top: 100%;
      display: block;
      position: relative;
      background: rgba(0, 0, 0, 0.5);
      transition: background 0.5s; }
    .gallery_overview .item:hover .description {
      opacity: 1;
      visibility: unset; }
  .gallery_overview--vip .mCSB_scrollTools {
    display: none !important; }
  .gallery_overview--vip .item:after {
    content: '';
    padding-top: 100%;
    display: block;
    position: relative;
    background: rgba(0, 0, 0, 0.5);
    transition: background 0.5s; }
  .gallery_overview--vip .item:hover:after {
    background: transparent; }
  .gallery_overview--vip .item .image:after {
    content: '';
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    top: 10px;
    border: 3px solid #fff;
    transition: all 0.5s; }
  .gallery_overview--vip .item .description {
    opacity: 1;
    visibility: visible;
    top: auto;
    bottom: -5px;
    right: 10px;
    left: auto;
    text-align: right;
    text-transform: uppercase;
    text-shadow: 0 0 7px black;
    font-size: 28px;
    padding-right: 5px; }
    .gallery_overview--vip .item .description p {
      margin-right: 5px; }

.news_overview {
  width: calc(100% + 50px);
  margin-left: -25px; }
  .news_overview .slick-track {
    padding-top: 25px; }
  .news_overview.slick-slider {
    width: calc(100% + 20px) !important;
    margin-left: -10px !important; }
    .news_overview.slick-slider .item {
      border: 5px solid transparent !important; }
      .news_overview.slick-slider .item.first {
        width: inherit; }
        .news_overview.slick-slider .item.first .date {
          height: 70px !important;
          width: 70px !important;
          padding: 5px !important; }
          .news_overview.slick-slider .item.first .date .day {
            font-size: 32px !important; }
          .news_overview.slick-slider .item.first .date .day_month {
            font-size: 14px !important;
            bottom: 15px !important; }
  .news_overview .item,
  .news_overview .slick-slide .item {
    display: inline-block;
    width: calc(100% / 4);
    border: 25px solid transparent;
    position: relative;
    float: left;
    box-sizing: border-box; }
    .news_overview .item.first,
    .news_overview .slick-slide .item.first {
      width: 50%; }
      .news_overview .item.first .date,
      .news_overview .slick-slide .item.first .date {
        height: 125px;
        width: 125px;
        padding: 20px; }
        .news_overview .item.first .date .day,
        .news_overview .slick-slide .item.first .date .day {
          font-size: 54px; }
        .news_overview .item.first .date .day_month,
        .news_overview .slick-slide .item.first .date .day_month {
          font-size: 22px;
          bottom: -5px; }
    .news_overview .item .date,
    .news_overview .slick-slide .item .date {
      position: absolute;
      height: 70px;
      width: 70px;
      background-image: url("../images/ticket.png");
      background-size: cover;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      top: 0;
      padding: 5px;
      z-index: 15; }
      .news_overview .item .date .day,
      .news_overview .slick-slide .item .date .day {
        display: block;
        font-weight: bold;
        text-transform: uppercase;
        font-size: 32px; }
      .news_overview .item .date .day_month,
      .news_overview .slick-slide .item .date .day_month {
        font-size: 14px;
        position: relative;
        bottom: 15px; }
    .news_overview .item .image,
    .news_overview .slick-slide .item .image {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-size: cover;
      background-position: center center; }
    .news_overview .item .description,
    .news_overview .slick-slide .item .description {
      position: absolute;
      width: calc(100% - 10px);
      padding: 10px;
      top: 20px;
      left: 20px;
      bottom: 20px;
      z-index: 10;
      text-align: left;
      font-size: 18px;
      color: white;
      opacity: 0;
      visibility: hidden;
      transition-duration: 0.5s;
      transition-property: opacity, visibility;
      height: calc(100% - 40px);
      overflow: auto;
      line-height: 20px; }
    .news_overview .item .date,
    .news_overview .slick-slide .item .date {
      position: absolute;
      height: 70px;
      width: 70px;
      background-image: url("../images/ticket.png");
      background-size: cover;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      top: 0;
      padding: 5px;
      z-index: 15; }
      .news_overview .item .date .day,
      .news_overview .slick-slide .item .date .day {
        display: block;
        font-weight: bold;
        text-transform: uppercase;
        font-size: 32px; }
      .news_overview .item .date .day_month,
      .news_overview .slick-slide .item .date .day_month {
        font-size: 14px;
        position: relative;
        bottom: 15px; }
    .news_overview .item:after,
    .news_overview .slick-slide .item:after {
      content: '';
      padding-top: 100%;
      display: block;
      position: relative; }
    .news_overview .item:hover:after,
    .news_overview .slick-slide .item:hover:after {
      content: '';
      padding-top: 100%;
      display: block;
      position: relative;
      background: #303030;
      transition: background 0.5s; }
    .news_overview .item:hover .description,
    .news_overview .slick-slide .item:hover .description {
      opacity: 1;
      visibility: unset; }

.slick-slide {
  margin: 0 20px; }
.slick-list {
  margin: 0 -15px; }
.slick-next.slick-arrow {
  height: 28px;
  width: 28px;
  margin-top: 0;
  background: url("../images/arrow_right.png") no-repeat center center;
  background-size: contain;
  right: -30px !important; }
.slick-prev.slick-arrow {
  height: 28px;
  width: 28px;
  margin-top: 0;
  background: url("../images/arrow_left.png") no-repeat center center;
  background-size: contain;
  left: -30px !important; }
.slick-next.slick-arrow, .slick-prev.slick-arrow {
  border: none;
  font-size: 0; }
  .slick-next.slick-arrow:before, .slick-prev.slick-arrow:before {
    content: ''; }

.pswp--open {
  z-index: 99999999; }

.pswp--has_mouse .pswp__button--arrow--left, .pswp--has_mouse .pswp__button--arrow--right, .pswp__caption, .pswp__top-bar {
  margin-top: 0; }

.pswp__button--arrow--left, .pswp__button--arrow--right {
  top: 50%;
  transform: translateY(-50%); }

form .form_row {
  display: table;
  width: 100%;
  table-layout: fixed;
  margin: 10px 0; }
  form .form_row.plaintext {
    margin-top: 20px; }
  form .form_row.datenschutz .form_label {
    display: none; }
  form .form_row .form_label {
    width: 25%;
    line-height: 20px;
    word-break: break-word;
    padding-right: 5px;
    text-align: left; }
  form .form_row .form_element {
    width: 60%;
    text-align: left; }
    form .form_row .form_element input, form .form_row .form_element textarea {
      color: #000;
      background: #fff;
      border: none;
      width: 100%;
      padding: 0 3px;
      box-sizing: border-box; }
    form .form_row .form_element .input_file_label {
      background: #e6e6e6;
      padding: 0 3px; }
    form .form_row .form_element input[type="radio"] {
      width: auto; }
    form .form_row .form_element input#submit {
      background: #e1003a;
      padding: 10px 10px;
      color: #fff;
      display: inline-block;
      width: auto; }
    form .form_row .form_element.radio .ui-radio {
      width: auto;
      display: inline-block;
      margin: 0;
      bottom: -10px; }
      form .form_row .form_element.radio .ui-radio .ui-btn.ui-radio-off:after,
      form .form_row .form_element.radio .ui-radio .ui-btn.ui-radio-on:after {
        left: 0; }
      form .form_row .form_element.radio .ui-radio label {
        border: none;
        padding-left: 25px;
        padding-top: 0;
        padding-bottom: 0; }
      form .form_row .form_element.radio .ui-radio input {
        opacity: 0; }
    form .form_row .form_element.checkbox .ui-checkbox-on:after {
      content: '\f00c' !important;
      font-family: FontAwesome !important;
      font-size: 18px;
      line-height: 18px;
      background: inherit; }
    form .form_row .form_element.checkbox .ui-checkbox .ui-btn.ui-checkbox-off:after,
    form .form_row .form_element.checkbox .ui-checkbox .ui-btn.ui-checkbox-on:after {
      left: auto;
      right: -10px; }
    form .form_row .form_element.checkbox .ui-checkbox label {
      border: none;
      display: inline-block;
      padding-left: 0;
      overflow: initial;
      font-weight: normal; }
      form .form_row .form_element.checkbox .ui-checkbox label:before {
        content: none !important; }
    form .form_row .form_element.checkbox .ui-checkbox input {
      opacity: 0; }
    form .form_row .form_element.select option {
      background: #e6e6e6; }
    form .form_row .form_element.select .ui-select {
      margin-top: 3px;
      margin-bottom: 3px; }
    form .form_row .form_element.select .ui-btn {
      background: #e6e6e6;
      border: none;
      height: 20px;
      -webkit-border-radius: unset;
      -moz-border-radius: unset;
      border-radius: unset;
      padding: 0;
      box-shadow: none; }
      form .form_row .form_element.select .ui-btn span {
        text-align: left;
        padding-left: 3px; }
      form .form_row .form_element.select .ui-btn.ui-btn-icon-right:after {
        background: #cdcdcd;
        color: #afafaf;
        width: 14px;
        border-radius: unset;
        right: 1px;
        content: '\f107';
        font-family: FontAwesome;
        line-height: 22px;
        font-size: 14px; }
  form .form_row .form_label,
  form .form_row .form_element {
    display: table-cell; }
  form .form_row.plugin_date input {
    width: 200px; }
  form .form_row.submit {
    margin-top: 50px; }
form .ui-btn-icon-left:after, form .ui-btn-icon-right:after, form .ui-btn-icon-top:after, form .ui-btn-icon-bottom:after, form .ui-btn-icon-notext:after {
  border-radius: 0 !important; }
form .ui-btn-icon-left:after, form .ui-btn-icon-right:after, form .ui-btn-icon-top:after, form .ui-btn-icon-bottom:after, form .ui-btn-icon-notext:after {
  background: #fff !important;
  opacity: 1 !important; }
form .ui-radio-on:before,
form label.checkbox:before {
  content: '\f00c';
  font-family: FontAwesome;
  color: #000 !important;
  position: absolute;
  top: 50%;
  left: 2px;
  z-index: 1;
  font-size: 18px;
  line-height: 18px;
  transform: translateY(-50%);
  font-weight: 300; }
form .ui-btn.ui-checkbox-on:after {
  color: black !important; }

#cms_content_106 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
  text-align: center;
  z-index: 200;
  width: auto;
  left: 50%;
  background: #303030;
  padding: 50px 100px;
  border: 3px solid #fff; }
  #cms_content_106 img {
    width: 130px !important;
    margin-bottom: 50px; }
  #cms_content_106 #login_username,
  #cms_content_106 #login_password {
    position: absolute;
    text-align: left; }
  #cms_content_106 #login_username {
    top: 190px; }
  #cms_content_106 #login_password {
    top: 280px; }
  #cms_content_106 form .row {
    margin: 5px 0; }
    #cms_content_106 form .row:nth-child(1) {
      margin-bottom: 50px;
      margin-top: 25px; }
    #cms_content_106 form .row input {
      color: #000;
      border: none;
      padding: 3px; }
      #cms_content_106 form .row input::placeholder {
        font-size: 18px; }
      #cms_content_106 form .row input[type="submit"] {
        background: rgba(214, 16, 22, 0.6) !important;
        padding: 5px 40px !important;
        color: #fff !important;
        border: none !important;
        margin-top: 50px; }

@media only screen and (max-width: 1100px) {
  .contentContainer {
    padding: 0 50px; }

  #footer {
    padding: 50px; } }
@media only screen and (max-width: 850px) {
  .lazy.gallery .item {
    width: calc(100% / 3); } }
@media only screen and (max-width: 600px) {
  .lazy.gallery .item {
    width: calc(100% / 2); }

  #header__stripe {
    padding-top: 15px !important; }
    #header__stripe.header__stripe--opened:before {
      content: '';
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      height: 60px;
      background: -moz-linear-gradient(top, black 0%, rgba(255, 255, 255, 0) 100%);
      /* FF3.6-15 */
      background: -webkit-linear-gradient(top, black 0%, rgba(255, 255, 255, 0) 100%);
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to bottom, black 0%, rgba(255, 255, 255, 0) 100%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#00ffffff', GradientType=0);
      /* IE6-9 */
      z-index: -1; }
    #header__stripe img {
      width: 40px !important; }

  #header__menu_opener {
    width: 40px !important;
    height: 40px !important;
    background-size: cover; }

  h1, h2, h3, h4, h5, h6 {
    font-size: 34px; }

  body {
    font-size: 20px;
    line-height: 32px; }

  .slick-slide {
    margin: 0 10px; }

  .slick-next.slick-arrow {
    right: -40px !important; }

  .slick-prev.slick-arrow {
    left: -40px !important; }

  #menu {
    width: 100%;
    left: -100%; }
    #menu_close {
      width: 33px;
      height: 33px;
      background-size: cover;
      bottom: 20px;
      top: auto; }
    #menu_wrapper {
      padding: 60px 35px; }

  form .form_row .form_label,
  form .form_row .form_element {
    display: block;
    width: 100%; }
  form .form_row input {
    width: 100% !important; } }
@media only screen and (max-width: 450px) {
  .contentContainer {
    padding: 0 20px; }

  #footer {
    padding: 20px !important; }

  #header__stripe ul li {
    margin-right: 20px !important; }

  #header__menu_opener {
    left: 15px; }

  #footer ul li img {
    width: 40px !important;
    height: 40px !important; }

  .slick-slide {
    margin: 0 50px; }

  .slick-next.slick-arrow {
    right: 0 !important;
    z-index: 5; }

  .slick-prev.slick-arrow {
    left: 0 !important;
    z-index: 5; } }
@media only screen and (max-width: 420px) {
  form .form_row .form_element.checkbox .ui-checkbox .ui-btn.ui-checkbox-off:after, form .form_row .form_element.checkbox .ui-checkbox .ui-btn.ui-checkbox-on:after {
    right: 0; }

  form .form_row .form_element.checkbox .ui-checkbox label {
    padding-right: 25px; }

  #menu_close {
    bottom: 40px; }
  #menu ul li {
    font-size: 20px; }

  .lazy.gallery .item {
    width: 100%; } }
.mobile #header__stripe {
  position: fixed;
  top: 0; }
  .mobile #header__stripe:before {
    content: '';
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    height: 60px;
    background: -moz-linear-gradient(top, black 0%, rgba(255, 255, 255, 0) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, black 0%, rgba(255, 255, 255, 0) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, black 0%, rgba(255, 255, 255, 0) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#00ffffff', GradientType=0);
    /* IE6-9 */
    z-index: -1; }
  .mobile #header__stripe:after {
    content: none; }
.mobile .current_structure {
  display: none; }
.mobile .slick-next.slick-arrow {
  right: 5px !important; }
.mobile .slick-prev.slick-arrow {
  left: 5px !important; }
.mobile form input {
  margin-top: 3px;
  height: 30px !important;
  font-size: 18px !important; }
  .mobile form input#submit {
    height: 40px !important; }
.mobile .mCustomScrollBox {
  overflow: scroll !important;
  max-height: none !important; }

/*# sourceMappingURL=template_1.css.map */
