@charset "utf-8";
@import url("https://fast.fonts.net/lt/1.css?apiType=css&c=862109ab-6356-40ff-a79b-7864f9a955a1&fontids=5280800,5280917,5280935,5281848");

/***********************************************************
CSS Document
© 30.05.2023 BrennerMedien GmbH
www.brenner-medien.de
************************************************************

  background-color: #DB3135;

/*
======================================================================
Variablen
======================================================================
*/
:root {
  --error: #FF0000;
  --error-bg: #FFB6B6;
  --warning: #FF7719;
  --success: #51FF00;
  --success-bg: #C1FFA5;
}

:root {
  --gray100: #f8f9fc;
  --gray200: #f1f3f9;
  --gray300: #dee3ed;
  --gray400: #c2c9d6;
  --gray500: #8f96a3;
  --gray600: #5e636e;
  --gray700: #2f3237;
  --gray800: #1d1e20;
  --gray900: #111213;
  --lt-shadowDefault: 0 2px 6px -1px rgba(0, 0, 0, 0.16), 0 1px 4px -1px rgba(0, 0, 0, 0.04);
  --lt-shadowActive: 0 0 8px -2px rgba(0, 0, 0, 0.1), 0 6px 20px -3px rgba(0, 0, 0, 0.2);
  --lt-color-white: #fff !important;
  --lt-color-black: #111213 !important;
  --lt-color-transparent: rgba(255, 255, 255, 0) !important;
  --lt-color-background-light: var(--gray100) !important;
  --lt-color-background-default: var(--gray200) !important;
  --lt-color-background-dark: var(--gray300) !important;
  --lt-color-border-light: var(--gray200) !important;
  --lt-color-border-default: var(--gray300) !important;
  --lt-color-border-dark: var(--gray400) !important;
  --lt-color-text-very-light: var(--gray500) !important;
  --lt-color-text-light: var(--gray600) !important;
  --lt-color-text-default: var(--gray700) !important;
  --lt-color-text-dark: var(--gray800) !important;
  --lt-color-overlay-default: #fff !important;
  --lt-color-overlay-dark: #fff !important;
  --lt-color-overlay-transparent: rgba(0, 0, 0, 0.1) !important;
  --lt-shadow-website-overlay: 0 0 7px 0 rgba(0, 0, 0, 0.3) !important;
}

/*


/***************
Allgemein
***************/
body {
  padding: 0;
  margin: 0;
  background-color: #FFF;
  font-family: 'Berlin' !important;
  text-align: center;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

html,
body {
  scroll-behavior: smooth;
}

body.no-scroll {
  overflow: hidden;
}

.fullsize {
  width: 100%;
  max-width: 100%;
  height: auto;
}

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

/***************
Container
***************/
.stripe_rainbow {
  width: 100vw;
  height: 1rem;
  background-image: linear-gradient(to right, #E50000, #FF8D00, #FFEE00, #008121, #004CFF, #760188);
  position: fixed;
  z-index: 9999;
}

.navigation1_mobil {
  width: 100vw;
  height: 3rem;
  background-color: #000;
  position: fixed;
  z-index: 9999;
  top: 1rem;
  grid-template-columns: auto 1fr;
  align-content: center;
  justify-content: flex-end;
  align-items: center;
  display: none;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .navigation1_mobil {
    display: grid;
  }
}

.navigation1_mobil img {
  max-height: 50%;
  text-align: center;
}

.navigation1_mobil i.burger {
  display: block;
  height: 3rem;
  width: 4rem;
}

.navigation1_mobil i.burger:before {
  font-family: 'FontAwesome';
  content: "\f0c9";
  font-weight: 400;
  font-size: 2em;
  color: #FFF;
  line-height: 3rem;
  position: absolute;
  left: 1rem;
}

.navigation1_mobil.mobil i.burger:before {
  content: "\58";
  font-size: 1.8em;
}

.wrapper_global {
  width: 100vw;
  max-width: 75rem;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: center;
}

@media only screen and (max-width: 1200px) {
  .wrapper_global {
    width: 100vw;
    padding: 0 1rem;
  }
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .wrapper_global {
    width: 100vw;
    padding: 3rem 1rem 0 1rem;
  }
}

.wrapper_global .navigation1 {
  width: 100%;
  max-width: 75rem;
  text-align: right;
}

.wrapper_global .navigation1 ul {
  margin: 4.5rem 1rem 2rem 0;
}

.wrapper_global .navigation1 ul li {
  display: inline;
}

.wrapper_global .navigation1 ul li a {
  margin: 0 0 0 3rem;
  color: #000;
  font-weight: 700;
  font-size: 1.3rem;
}

.wrapper_global .navigation1 ul li.active a,
.wrapper_global .navigation1 ul li:hover a {
  color: #FFF;
  background-color: #000;
  padding: 0.5rem 1rem;
  margin: 0 -1rem 0 2rem;
  border-radius: 20px;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .wrapper_global .navigation1 {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 4rem;
    left: 0;
    z-index: 9999;
    background-color: rgba(255, 255, 255, 0.9);
    text-align: left;
    backdrop-filter: blur(5px);
    display: none;
    padding-top: 1.5rem;
  }

  .wrapper_global .navigation1.mobil {
    display: block;
  }

  .wrapper_global .navigation1 ul {
    margin: 0;
  }

  .wrapper_global .navigation1 ul li {
    display: block;
    line-height: 3rem;
  }
}

.wrapper_global .eyecatcher {
  width: 100%;
  max-width: 75rem;
  height: auto;
  max-height: 40rem;
  border-top: 0.4rem solid #000;
  border-bottom: 0.4rem solid #000;
  position: relative;
}

.wrapper_global .eyecatcher .logo {
  height: auto;
  width: 15.5rem;
  position: absolute;
  left: 2.5rem;
  top: -5.5rem;
  display: grid;
  grid-template-areas: "a"
    "b";
}

.wrapper_global .eyecatcher .logo .bild {
  grid-area: a;
  background-color: aqua;
  height: 100%;
  width: 100%;
  border: 0.5rem solid #FFF;
}

.wrapper_global .eyecatcher .logo .sprache {
  grid-area: b;
  text-align: left;
  border-left: 0.5rem solid #FFF;
  border-right: 0.5rem solid #FFF;
  border-bottom: 0.5rem solid #FFF;
}

.wrapper_global .eyecatcher .logo .sprache ul {
  background-color: aqua;
  width: 100%;
  height: auto;
  display: block;
}

.wrapper_global .eyecatcher .logo .sprache ul li {
  width: 50%;
  float: left;
  text-align: center;
}

.wrapper_global .eyecatcher .logo .sprache ul li:first-child {
  border-right: 0.25rem solid #FFF;
}

.wrapper_global .eyecatcher .logo .sprache ul li:last-child {
  border-left: 0.25rem solid #FFF;
}

.wrapper_global .eyecatcher .logo .sprache a {
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.02rem;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  background-color: #FFF;
  color: #222;
  transition: all 0.4s;
  border: 0.05rem dashed #222;
  padding: 0.5rem;
}

.wrapper_global .eyecatcher .logo .sprache a:hover {
  background-color: #222;
  color: #FFF;
  transition: all 0.4s;
  letter-spacing: 0.1rem;
  font-weight: 500;
  border: 0.05rem dashed #222;
}

.wrapper_global .eyecatcher .logo .sprache a:before {
  height: 1rem;
  width: 1rem;
  float: left;
  background-size: contain;
  content: "";
  background-repeat: no-repeat;
  background-position: left;
}

.wrapper_global .eyecatcher .logo .sprache a.de:before {
  background-image: url(../images/icon_sprache_de.svg);
}

.wrapper_global .eyecatcher .logo .sprache a.de:after {
  content: "Deutsch";
}

.wrapper_global .eyecatcher .logo .sprache a.en:before {
  background-image: url(../images/icon_sprache_en.svg);
}

.wrapper_global .eyecatcher .logo .sprache a.en:after {
  content: "Englisch";
}

@media only screen and (max-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) {
  .wrapper_global .eyecatcher .logo {
    top: 1.2rem;
    left: 1.5rem;
    width: 13rem;
    height: auto;
    border: 0.5rem solid rgba(255, 255, 255, 0.6);
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min--moz-device-pixel-ratio: 2),
only screen and (-o-min-device-pixel-ratio: 2/1),
only screen and (min-device-pixel-ratio: 2) {
  .wrapper_global .eyecatcher .logo {
    top: 1.2rem;
    left: 1.5rem;
    width: 14rem;
    height: auto;
    border: 0.5rem solid rgba(255, 255, 255, 0.6);
  }

  .wrapper_global .eyecatcher .logo .bild {
    border: none;
  }

  .wrapper_global .eyecatcher .logo .sprache {
    border-left: 0.5rem solid #FFF;
    border-right: 0.5rem solid #FFF;
    border-bottom: 0.5rem solid #FFF;
    border-top: 0.5rem solid #FFF;
  }

  .wrapper_global .eyecatcher .logo .sprache a.de:after {
    content: "DE";
  }

  .wrapper_global .eyecatcher .logo .sprache a.en:after {
    content: "EN";
  }
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .wrapper_global .eyecatcher {
    margin-top: 6rem;
  }

  .wrapper_global .eyecatcher .logo {
    height: auto;
    width: 12rem;
    left: calc(50% - 6rem);
    top: -4rem;
    border: 0.5rem solid #FFF;
  }

  .wrapper_global .eyecatcher .logo .sprache {
    border-left: none;
    border-right: none;
    border-bottom: none;
    border-top: 0.5rem solid #FFF;
    background-color: aquamarine;
  }
}

.wrapper_global .eyecatcher .logo img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}

.wrapper_global .eyecatcher img.panorama {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}

.wrapper_global .breadcrumb {
  width: 100%;
  max-width: 75rem;
  height: auto;
  text-align: left;
  padding: 0.7rem 0 2rem 0;
  font-size: 0.8rem;
}

.wrapper_global .breadcrumb a {
  color: inherit;
  font-weight: 700;
}

.wrapper_global .wrapper_content {
  width: 100%;
  max-width: 75rem;
  height: auto;
  display: flex;
}

.wrapper_global .navigation2 {
  height: auto;
  text-align: left;
  padding-right: 3rem;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .wrapper_global .navigation2 {
    width: 100%;
    float: none;
    padding-right: 0;
    margin-bottom: 3rem;
  }
}

.wrapper_global .navigation2 ul {
  width: 17rem;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .wrapper_global .navigation2 ul {
    width: 100%;
  }
}

.wrapper_global .navigation2 ul li {
  position: relative;
  display: block;
  height: 3.1rem;
  width: 100%;
  border-bottom: 0.1rem #000 solid;
  line-height: 3.1rem;
}

.wrapper_global .navigation2 ul li:before {
  background: transparent url("../images/keyvisual-kieztour-nollendorfplatz.svg") scroll 0 0 no-repeat;
  content: " ";
  width: 2rem;
  height: 1.2rem;
  position: absolute;
  left: 0;
  top: 1rem;
  filter: grayscale(100%);
  opacity: 0.2;
  background-size: contain;
  transition: all 0.2s;
}

.wrapper_global .navigation2 ul li:hover:before,
.wrapper_global .navigation2 ul li.active:before {
  filter: grayscale(0%);
  transition: all 0.2s;
  opacity: 1;
}

.wrapper_global .navigation2 ul li a {
  color: #000;
  font-weight: 700;
  font-size: 1.3rem;
  width: 100%;
  height: 100%;
  display: block;
  padding-left: 2.2rem;
}

.wrapper_global .content {
  height: auto;
  text-align: left;
  width: 100%;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .wrapper_global .wrapper_content {
    display: block;
  }

  .wrapper_global .content {
    float: none;
    display: block;
  }
}

.wrapper_global .content p {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.4;
  margin: 1rem 0 1.5rem 0;
}

.wrapper_global .content p strong {
  font-weight: 900;
}

.wrapper_global .content p a {
  color: var(--error);
  text-decoration: none;
}

.wrapper_global .content p a:hover {
  border-bottom: 0.15rem solid #000;
}

.wrapper_global .content ul li {
  font-size: 1.2rem;
  font-weight: 500;
  margin-left: 2rem;
  line-height: 1.4;
  margin-bottom: 0.5rem;
  display: block;
}

.wrapper_global .content ul li:before {
  content: "";
  height: 0.8em;
  width: 2rem;
  background-image: url("../images/keyvisual-kieztour-nollendorfplatz.svg");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  display: inline-block;
  margin-left: -2rem;
}

.wrapper_global .content #myShop ul li:before {
  content: "";
  background-image: none !important;
}

.wrapper_global .content h1 {
  font-size: 2.8rem;
  font-weight: 900;
  margin: 1rem 0 1.5rem 0;
}

.wrapper_global .content h2 {
  font-size: 2rem;
  font-weight: 700;
  margin: 2.5rem 0 1rem 0;
  scroll-margin-top: 2.5rem;
}

.wrapper_global .content h2 a {
color: inherit;
}

dl.article-info, nav.pagenavigation {
  display: none;
}

.page-header h2 {
  margin-top: 4.5rem !important;
}

dl.article-info + h2, .com-content-article__body > h2 {
  margin-top: 0 !important;
  font-weight: 300 !important;
}

.wrapper_global .content h1+h2 {
  margin-top: 2rem;
}

.wrapper_global .content h2+.faq {
  margin-top: 1.5rem;
}

.wrapper_global .content h3 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 2.5rem 0 1rem 0;
  scroll-margin-top: 2.5rem;
}

.wrapper_global .footer {
  width: 100%;
  height: auto;
}

.wrapper_global .footer .content img {
  width: 100%;
}

.copyright {
  width: 100vw;
  background-color: #000;
  padding: 0.5rem 0 0.5rem 0;
}

.copyright p {
  text-align: center;
  font-size: 0.7rem;
  font-weight: 500;
  color: #FFF;
  margin: 0;
  padding: 0;
}

.copyright p span:before {
  font-family: 'FontAwesome';
  content: "\f06d";
  font-weight: 300;
  margin: 0 0.1rem;
}

.copyright p a {
  color: inherit;
  text-decoration: none;
  opacity: 0.8;
  transition: all 0.2s;
}

.copyright p a:hover {
  opacity: 1;
  transition: all 0.2s;
}

/***************
Tools Content
***************/
/* Loader */
.loader {
  display: flex;
  justify-content: center;
  align-items: center;
  backdrop-filter: blur(5px);
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index: 99;
}

.loader .inhalt {
  background: rgba(255, 255, 255, 0.8);
  padding: 4%;
  border-radius: 25px;
  border: 0.3rem solid #FFF;
}

.loader .inhalt img {
  animation: heartbeat 1.3s;
  animation-iteration-count: infinite;
  display: inline-block;
  max-width: 10rem;
}

@keyframes heartbeat {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.2);
  }

  100% {
    transform: scale(1);
  }
}

/* Startseite */
.introtext {
  display: grid;
  grid-template-areas: "a b"
    "c b";
  width: 100%;
  grid-template-columns: 1fr auto;
}

.introtext+.countdownbox {
  border-top-right-radius: 0 !important;
}

.introtext .inhalt {
  grid-area: a;
}

.introtext .bild {
  grid-area: b;
  padding-left: 4rem;
  padding-right: 1rem;
}

.introtext .bild img {
  object-fit: contain;
  object-position: bottom right;
  width: 100%;
  height: 100%;
  max-width: 27.5rem;
}

.introtext .unterschriften {
  grid-area: c;

}

.introtext .unterschriften img {
  max-width: 15rem;
  max-height: 8rem;
  padding: 0.5rem;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .introtext {
    display: grid;
    grid-template-areas: "b"
      "a"
      "c";
    width: 100%;
    grid-template-columns: 100%;
  }
}

/* Terminbox */
.terminbox {
  width: 100%;
  height: auto;
  display: grid;
  grid-template-areas: "a b";
  border: 1px solid #000;
  border-radius: 15px;
  grid-template-columns: 10rem 1fr;
  overflow: hidden;
  margin-bottom: 1rem;
  position: relative;
}

.terminbox:after {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  padding: 0.7rem;
  border-bottom-left-radius: 15px;
  color: #FFF;
  font-weight: 500;
  font-size: 1.2rem;
  width: 8rem;
  text-align: center;
}

.terminbox.ausverkauft:after {
  content: attr(data-status);
  background-color: var(--error);
}

.terminbox.ausverkauft .cto,
.terminbox.ausverkauft .cto:hover {
  cursor: not-allowed;
  background-color: #CCC;
  border-color: #CCC;
  color: #FFF;
  opacity: 0.5;
}

.terminbox.ausverkauft .cto.availableTourBtn {
  cursor: pointer;
  background-color: #97C453;
  border-color: #97C453;
  color: #FFF;
  opacity: 1;
}

.terminbox.restkarten:after {
  content: attr(data-status);
  background-color: var(--warning);
}

.terminbox .datum {
  height: auto;
  padding: 2rem;
  background-color: #000;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  position: relative;
}

.terminbox .datum:after {
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  right: -0.2rem;
  border-right: 0.4rem dotted #FFF;
}

.terminbox .datum p {
  margin: 0;
  padding: 0;
  line-height: 1;
  text-align: center;
  color: #FFF;
}

.terminbox .datum p.tag {
  font-size: 5rem;
  font-weight: 900;
  display: block;
  width: 100%;
}

.terminbox .datum p.monat {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2rem;
}

.terminbox .inhalt {
  width: 100%;
  height: 100%;
  padding: 1.5rem;
}

.terminbox .inhalt h3 {
  font-weight: 700;
  font-size: 2rem;
  margin-bottom: -0.5rem;
}

.terminbox .inhalt p {
  font-size: 1rem;
}

.terminbox .inhalt p.hervorhebung {
  font-size: 1.5rem;
}

.terminbox .inhalt select {
  font-size: 1.5rem;
  font-family: Berlin;
  font-weight: 500;
  padding: 0.5rem;
  width: 10rem;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .terminbox {
    grid-template-areas: "a "
      "b";
    grid-template-columns: 100%;

  }

  .terminbox .datum {
    display: block;
    padding: 1rem;
  }

  .terminbox .datum:after {
    content: "";
    width: 100%;
    height: calc(100% + 0.2rem);
    position: absolute;
    bottom: 0;
    left: 0;
    border-right: none;
    border-bottom: 0.4rem dotted #FFF;
  }
}

/* Locationbox */
.locationbox {
  width: 100%;
  height: auto;
  display: grid;
  grid-template-areas: "a b";
  border: 1px solid #000;
  border-radius: 15px;
  grid-template-columns: 20rem 1fr;
  overflow: hidden;
  margin-bottom: 1rem;
  position: relative;
}

.locationbox .logo {
  height: auto;
  padding: 2rem;
  background-color: #000;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
}

.locationbox .logo img {
  max-width: 90%;
  border: 1rem solid #FFF;
  border-radius: 15px;
  background-color: #FFF;
}

.locationbox .inhalt {
  width: 100%;
  height: 100%;
  padding: 1.5rem;
}

.locationbox .inhalt h3 {
  font-weight: 700;
  font-size: 2rem;
  margin-bottom: -0.5rem;
}

.locationbox .inhalt p {
  font-size: 1rem;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .locationbox {
    grid-template-areas: "a "
      "b";
    grid-template-columns: 100%;
  }

  .locationbox .datum {
    display: block;
    padding: 1rem;
  }
}

/* Feedback */
.container_404 {
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: -3rem 2rem 0 2rem;
}

.container_404 .feedback {
  flex-wrap: wrap;
  min-height: 0;
  padding: 5rem 5rem 2rem 5rem;
  width: auto;
}

/* Feedback */
.feedback {
  width: 100%;
  max-width: 75rem;
  height: auto;
  margin: 7rem 0 2rem 0;
  background-color: #FFF;
  position: relative;
  border-radius: 25px;
  padding: 4rem 3rem 1rem 2.5rem;
  border: 0.2rem solid #000;
  min-height: 20rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.feedback .logo {
  height: 10rem;
  width: 15rem;
  position: absolute;
  left: calc(50% - 7.5rem);
  top: -6rem;
}

.feedback .logo img.panorama {
  object-fit: contain;
  object-position: center;
  width: 100%;
  height: 100%;
}

.feedback p {
  color: #000;
  margin: 0;
  padding: 0;
  text-align: center;
}

.feedback p.zitat {
  font-size: 1.7rem !important;
  font-weight: 700;
  line-height: 1.2;
}

.feedback p.autor {
  font-size: 1.1rem !important;
  font-weight: 500;
  margin-top: -0.5rem;
  padding-top: 0;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .feedback {
    border-radius: 15px;
    margin-bottom: 1rem;
  }

  .feedback .logo {
    height: 10rem;
    width: 15rem;
    position: absolute;
    left: calc(50% - 7.5rem);
    top: -6rem;
  }
}



/* Blog */
.blog_header {
  width: 100%;
  max-width: 75rem;
  height: 30rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 2rem;


  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

}




@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {

  .blog_header {
    max-width: 100%;
    height: auto;
  }



}



/* Karte */
.karte {
  width: 100%;
  max-width: 75rem;
  height: auto;
  margin: 10rem 0 2rem 0;
  background-color: #FFF;
  position: relative;
  border-radius: 25px;
  padding: 0;
  border: 0.2rem solid #000;
  min-height: 20rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.karte #map {
  border-radius: 25px;
}

.karte .logo {
  height: 10rem;
  width: 15rem;
  position: absolute;
  left: calc(50% - 7.5rem);
  top: -6rem;
  z-index: 999 !important;
}

.karte .logo img.panorama {
  object-fit: contain;
  object-position: center;
  width: 100%;
  height: 100%;
}

.logo_map {
  max-height: 7rem;
  max-width: 7rem;
}

/* Dankebox */
.dankebox {
  width: 100%;
  max-width: 75rem;
  height: auto;
  margin: 7rem 0 2rem 0;
  background-color: #FFF;
  position: relative;
  border-radius: 25px;
  padding: 3rem 3rem 1rem 2.5rem;
  border: 0.2rem solid #000;
}

.dankebox .logo {
  height: 10rem;
  width: 15rem;
  position: absolute;
  left: calc(50% - 7.5rem);
  top: -5.5rem;
}

.dankebox .logo img.panorama {
  object-fit: contain;
  object-position: center;
  width: 100%;
  height: 100%;
}

.dankebox p,
.dankebox h2 {
  color: #000;
  margin: 0;
  padding: 0;
  text-align: center;
}

.dankebox h2 {
  font-size: 3rem !important;
  font-weight: 700;
  line-height: 1.2;
}

.dankebox p {
  font-size: 1.5rem !important;
  font-weight: 500;
  padding: 0 3rem;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .dankebox {
    border-radius: 15px;
    margin-bottom: 1rem;
  }

  .dankebox .logo {
    height: 10rem;
    width: 15rem;
    position: absolute;
    left: calc(50% - 7.5rem);
    top: -6rem;
  }

  .dankebox p {
    padding: 0;
  }
}


/* Folsombox */
.folsombox {
  width: 100%;
  max-width: 75rem;
  height: auto;
  margin: 9rem 0 4rem 0;
  background-color: #FFF;
  position: relative;
  border-radius: 25px;
  padding: 3rem 3rem 1rem 2.5rem;
  border: 0.2rem solid #000;
}

.folsombox .logo {
  height: 10rem;
  width: 10rem;
  position: absolute;
  left: calc(50% - 5rem);
  top: -5rem;

}

.folsombox .logo .img {}


.folsombox .logo img.panorama {
  object-fit: contain;
  object-position: center;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  border: 0.5rem solid #FFF;
}

.folsombox p,
.folsombox h2 {
  color: #000;
  margin: 0;
  padding: 0;
  text-align: center;
}

.folsombox h2 {
  font-size: 3rem !important;
  font-weight: 700;
  line-height: 1.2;
}

.folsombox p {
  font-size: 1.5rem !important;
  font-weight: 500;
  padding: 0 3rem;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .folsombox {
    border-radius: 15px;
    margin-bottom: 1rem;
  }

  .folsombox .logo {
    height: 10rem;
    width: 15rem;
    position: absolute;
    left: calc(50% - 7.5rem);
    top: -6rem;
  }

  .folsombox p {
    padding: 0;
  }
}



/* Bestellbox */
.gutscheinbox+.bestellbox {
  margin-top: -0.2rem;
  padding-top: 3rem;
}

.gutscheinbox+.bestellbox .logo {
  display: none;
}

.bestellbox {
  width: 100%;
  max-width: 75rem;
  height: auto;
  margin: 7rem 0 2rem 0;
  background-color: #FFF;
  position: relative;
  border-radius: 25px;
  padding: 6rem 3rem 1rem 2.5rem;
  border: 0.2rem solid #000;
}

.bestellbox .terminbox {
  border-width: 1rem;
  background-color: #000;
  margin-bottom: 3rem;
}

.bestellbox .terminbox.ausverkauft {
  margin-bottom: 0;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .bestellbox .terminbox:after {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    padding: 0.4rem;
    border-radius: 5px;
    color: #FFF;
    font-weight: 500;
    font-size: 1rem;
    width: auto;
    text-align: center;
  }
}

.bestellbox .terminbox .inhalt {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  background-color: #FFF;
}

.bestellbox .terminbox .datum {
  padding-left: 1rem;
}

.bestellbox .logo {
  height: 10rem;
  width: 15rem;
  position: absolute;
  left: calc(50% - 7.5rem);
  top: -5.5rem;
}

.bestellbox .logo img.panorama {
  object-fit: contain;
  object-position: center;
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .bestellbox {
    border-radius: 15px;
    margin-bottom: 1rem;
    padding: 1rem 1rem 1rem;
  }

  .bestellbox .logo {
    height: 10rem;
    width: 15rem;
    position: absolute;
    left: calc(50% - 7.5rem);
    top: -6rem;
  }

  .bestellbox p {
    padding: 0;
  }

  .bestellbox .terminbox .datum {
    padding-top: 3rem;
  }

  .bestellbox .terminbox .inhalt {
    border-top-right-radius: 0;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
  }
}

/* Gutscheinbox */
.gutscheinbox {
  width: 100%;
  max-width: 75rem;
  height: auto;
  margin: 7rem 0 0 0;
  background-color: #FFF;
  position: relative;
  border-radius: 25px;
  padding: 3rem 0 0 0;
  border: 0.2rem solid #000;
  display: grid;
  grid-template-areas: "a a"
    "b c";
  grid-template-columns: 1fr auto;
}

.gutscheinbox .inhalt {
  grid-area: b;
  padding: 0 3rem;
}

.gutscheinbox .keyvisual {
  grid-area: c;
  overflow: hidden;
  border-radius: 25px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.gutscheinbox h2 {
  font-weight: 900;
  font-size: 3.7rem !important;
}

.gutscheinbox p {
  font-weight: 700;
  font-size: 2rem !important;
}

.gutscheinbox input {
  background-color: #F3F3F3;
  font-weight: 900;
  font-size: 2rem;
  display: inline;
  height: 3.3rem;
  padding: 0.7rem 0 0.7rem 0.85rem;
  border: 0px solid #000;
  border-radius: 0;
  font-family: Berlin;
  margin: 0 0.5rem;
  position: relative;
}

.gutscheinbox input[type="number"] {
  max-width: 8rem;
  text-align: center;
}

.gutscheinbox input[type="text"] {
  max-width: 20rem;
  text-align: left;
}

.gutscheinbox input::placeholder {
  font-size: 0.8rem;
  font-weight: 500;
  position: absolute;
  top: calc(50% - 0.45rem);
  width: 8rem;
  height: 3.3rem;
  display: flex;
  left: 0;
  color: #000;
  opacity: 0.4;
}

.gutscheinbox input[type="text"]::placeholder {
  left: 1rem !important;
}

.gutscheinbox .logo {
  height: 13rem;
  width: 18rem;
  position: absolute;
  left: calc(50% - 9rem);
  top: -9.5rem;
  grid-area: a;
  margin-bottom: 4rem;
}

.gutscheinbox .logo img.panorama {
  object-fit: contain;
  object-position: center;
  width: 100%;
  height: 100%;
}

.gutscheinbox img.guides {
  width: 20rem;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .gutscheinbox {
    border-radius: 15px;
    grid-template-areas: "a"
      "b" "c";
    grid-template-columns: 100%;
  }

  .gutscheinbox h2 {
    font-weight: 900;
    font-size: 3rem !important;
  }

  .gutscheinbox p {
    font-weight: 700;
    font-size: 1.5rem !important;
  }

  .gutscheinbox input[type="text"] {
    max-width: 95%;
    display: inline;
    margin: 0 0.2rem 0 0;
  }

  .gutscheinbox .logo {
    height: 8rem;
    width: 14rem;
    position: absolute;
    left: calc(50% - 7rem);
    top: -7rem;
  }

  .gutscheinbox img.guides {
    width: 80%;
  }

  .gutscheinbox .keyvisual {
    border-radius: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin: 1rem -1rem 0 0;
  }
}

/* Kontaktformular */
.kontaktformular {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-column-gap: 2rem;
  line-height: 1.5;
}

.kontaktformular .wrapper_alert {
  margin: 0 0 1.5rem 0;
  background-color: var(--error);
  border: none !important;
  padding: 0.2rem;
  grid-column: span 2;
  border-radius: 15px;
}

.kontaktformular .wrapper_alert p {
  font-size: 1.2rem;
  color: #FFF;
  line-height: 1;
  margin: 0;
  padding: 0.5rem 1rem;
}

.kontaktformular label {
  color: #000;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 2.75rem;
  margin: 0.75rem 0;
  text-align: right;
}

.kontaktformular label span {
  opacity: 0.3;
}

.kontaktformular input[type="text"],
.kontaktformular input[type="email"],
.kontaktformular select,
.kontaktformular textarea {
  background-color: rgba(255, 255, 255, 1);
  font-weight: 500;
  font-size: 1.2rem;
  display: inline;
  margin: 0.75rem 0;
  width: 100%;
  padding: 0.5rem;
  border: 1px solid #000;
  border-radius: 15px;
  font-family: Berlin;
}

.kontaktformular input[type="text"],
.kontaktformular input[type="email"],
.kontaktformular textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
}

.kontaktformular textarea {
  height: 7rem;
}

.kontaktformular p.disclaimer {
  font-weight: 500;
  font-size: 0.9rem;
  hyphens: auto;
  text-align: justify;
  text-align-last: none;
  margin: 1.5rem 0 0 0;
  opacity: 0.8;
}

.kontaktformular p.total {
  font-weight: 500;
  font-size: 1.3rem;
  margin: 2.5rem 0 0 0;
}

.kontaktformular p.ust {
  font-weight: 500;
  font-size: 0.8rem;
  margin: 0 0 0 0;
}

.kontaktformular p.total strong {
  font-weight: 900;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .kontaktformular {
    grid-template-areas: "a "
      "b";
    grid-template-columns: 100%;
  }

  .kontaktformular .wrapper_alert {
    grid-column: span 1;
  }

  .kontaktformular label {
    font-size: 1.2rem;
    line-height: 2.75rem;
    margin: 0;
    text-align: left;
  }

  .kontaktformular input[type="text"],
  .kontaktformular input[type="email"],
  .kontaktformular textarea {
    margin: 0;
  }

  .kontaktformular textarea {
    margin-bottom: 2rem;
  }

  .kontaktformular p.disclaimer {
    margin: 0 0 1rem 0;
  }
}

/* Countdown */
.countdownbox {
  display: grid;
  grid-template-columns: 1fr 15% 15% 15% 15% 1fr;
  grid-template-areas: "a b c d e f";
  width: auto;
  height: auto;
  grid-column-gap: 1rem;
  border: 1px solid #000;
  padding: 1rem;
  background-color: #000;
  border-radius: 7px;
}

.countdownbox .info1 {
  background-color: #000;
  color: #FFF;
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1.1;
  text-align: center;
  grid-area: a;
}

.countdownbox .info2 {
  background-color: #000;
  color: #FFF;
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
  grid-area: f;
}

.countdownbox .info2 .cto {
  border-color: #FFF;
}

.countdownbox .inhalt {
  background-color: #FFF;
  color: #000;
  padding: 0.75rem;
  border-radius: 7px;
}

.countdownbox .inhalt p {
  line-height: 1;
  padding: 0;
  margin: 0;
  text-align: center;
}

.countdownbox .inhalt p.beschreibung {
  font-weight: 500;
  font-size: 1rem;
}

.countdownbox .inhalt p.zeit {
  font-weight: 700;
  font-size: 3rem;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .countdownbox {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-areas: "a a a a"
      "b c d e"
      " f f f f";
    grid-row-gap: 1.5rem;
    padding: 1.5rem 1rem;
    grid-column-gap: 0.5rem;
    margin-top: 2rem;
  }

  .countdownbox .inhalt {}

  .countdownbox .inhalt p.beschreibung {
    font-size: 0.6rem;
  }

  .countdownbox .inhalt p.zeit {
    font-size: 2rem;
  }
}

/* FAQ */
.faq {
  border-bottom: 1px solid #000;
}

.faq .frage {}

.faq .frage span {
  width: 100%;
  height: 100%;
  display: block;
  padding: 0.5rem;
  position: relative;
  cursor: pointer;
  transition: all 0.2s;
}

.faq.active .frage span,
.faq:hover .frage span {
  background-color: #000;
  transition: all 0.2s;
}

.faq .frage span:after {
  content: "\f078";
  font-family: FontAwesome;
  float: right;
  height: 1.5rem;
  display: block;
  font-size: 1.5rem;
  position: absolute;
  right: 0.5rem;
  top: calc(50% - 0.75rem);
  transition: all 0.2s;
}

.faq .frage:hover span:after {
  color: #FFF;
  transition: all 0.2s;
}

.faq.active .frage span:after {
  content: "\f077";
  color: #FFF;
  transition: all 0.2s;
}

.faq .frage h3 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  padding-right: 5rem;
  transition: all 0.2s;
  margin: 0;
}

.faq.active .frage h3,
.faq:hover .frage h3 {
  color: #FFF;
  transition: all 0.2s;
}

.faq .antwort {
  padding: 0 5rem 0 0.5rem;
  display: none;
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {
  .faq .antwort {
    padding-right: 0.5rem;
  }
}

/***************
Tools Allgemein
***************/
/* CTO */
.cto {
  color: #FFF !important;
  background-color: #000;
  padding: 0.5rem 1rem;
  border-radius: 5px;
  border: 1px solid #000;
  transition: all 0.2s;
  display: inline-block;
  font-size: 1rem;
  font-weight: 500;
}

.cto:hover {
  color: #000 !important;
  background-color: #FFF !important;
  border: 1px solid #000 !important;
  transition: all 0.2s;
}

/* Abstände */
.margin-top-6 {
  margin-top: 6rem !important;
}

.margin-top-4 {
  margin-top: 4rem !important;
}

.margin-top-2 {
  margin-top: 2rem !important;
}

.margin-top-1 {
  margin-top: 1rem !important;
}

.margin-top--1 {
  margin-top: -1rem !important;
}

.margin-top--2 {
  margin-top: -2rem !important;
}

.margin-top--4 {
  margin-top: -4rem !important;
}

.margin-top--5 {
  margin-top: -5rem !important;
}

.margin-top--6 {
  margin-top: -6rem !important;
}

.margin-top--9 {
  margin-top: -9rem !important;
}

.margin-bottom-2 {
  margin-bottom: 2rem !important;
}

.margin-bottom-1 {
  margin-bottom: 1rem !important;
}

.no-padding {
  padding: 0 !important;
}

.clear {
  clear: both !important;
  height: 1rem;
}

/*****************/
/***************
Schriften
***************/
/*
This CSS resource incorporates links to font software which is the valuable copyrighted property of Monotype and/or its suppliers. You may not attempt to copy, install, redistribute, convert, modify or reverse engineer this font software. Please contact Monotype with any questions regarding Web Fonts: http://www.fontshop.com
*/
@font-face {
  font-family: "FontAwesome";
  font-display: swap;
  font-style: normal;
  font-weight: 100;
  src: url("../fonts/fontawesome/fa-thin-100.woff2") format("woff2"), url("fonts/fontawesome/fa-thin-100.ttf") format("truetype");
}

@font-face {
  font-family: "FontAwesome";
  font-display: swap;
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/fontawesome/fa-light-300.woff2") format("woff2"), url("fonts/fontawesome/fa-light-300.ttf") format("truetype");
}

@font-face {
  font-family: "FontAwesome";
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/fontawesome/fa-regular-400.woff2") format("woff2"), url("fonts/fontawesome/fa-regular-400.ttf") format("truetype");
}

@font-face {
  font-family: "FontAwesome";
  font-display: swap;
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/fontawesome/fa-solid-900.woff2") format("woff2"), url("fonts/fontawesome/fa-solid-900.ttf") format("truetype");
}

@font-face {
  font-family: "Berlin";
  font-display: swap;
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/berlin/795f6c9a-1a2d-4c4c-b1f9-47feb8d7f199.woff2") format("woff2"), url("../fonts/berlin/40328884-0ef6-48a9-aeec-8ea399ed9651.woff") format("woff");
}

@font-face {
  font-family: "Berlin";
  font-display: swap;
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/berlin/cadddd31-a98c-42af-8c91-4260f4a285a9.woff2") format("woff2"), url("../fonts/berlin/efff1885-519c-4fae-9e91-9cd9186b1f2d.woff") format("woff");
}

@font-face {
  font-family: "Berlin";
  font-display: swap;
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/berlin/3180f860-c9fb-4993-883b-6126d91ffe46.woff2") format("woff2"), url("../fonts/berlin/8c590e34-4b90-49f2-8ec5-d5ed275d8dd5.woff") format("woff");
}

@media only screen and (max-width: 999px) and (-webkit-min-device-pixel-ratio: 2) {}