html {
  scroll-behavior: smooth;
}

html body main#natura div.section div.wrapper.zweispaltig div p a {
  color: #00acc8;
}

html body main div.section div.wrapper.zweispaltig div p a {
  color: rgb(96, 169, 48);
}

html, button, input, select, textarea {
  font-family: "Baloo Bhaijaan 2";
}

.consent_manager-wrapper p {
  float: unset;
}

.cookiebite {
  position: fixed;
  bottom: 10px;
  right: 10px;
  cursor: pointer;
  z-index: 1000;
}
.cookiebite a img {
  width: 40px;
  filter: opacity(0.7);
}
.cookiebite a img:hover {
  filter: opacity(1);
}

body#natura a, body.front-schedules a {
  color: rgb(0, 172, 200);
}
body#natura a.button, body.front-schedules a.button {
  background-color: rgb(0, 172, 200);
  color: rgb(255, 255, 255);
}
body#natura h1, body#natura h2, body#natura h3, body#natura h4, body#natura h5, body#natura h6, body.front-schedules h1, body.front-schedules h2, body.front-schedules h3, body.front-schedules h4, body.front-schedules h5, body.front-schedules h6 {
  color: rgb(166, 205, 56);
}
body#natura .section.green-bg, body.front-schedules .section.green-bg {
  background-color: rgb(166, 205, 56);
}
body#natura .section.green-bg h1, body#natura .section.green-bg h2, body#natura .section.green-bg h3, body#natura .section.green-bg h4, body#natura .section.green-bg h5, body#natura .section.green-bg h6, body.front-schedules .section.green-bg h1, body.front-schedules .section.green-bg h2, body.front-schedules .section.green-bg h3, body.front-schedules .section.green-bg h4, body.front-schedules .section.green-bg h5, body.front-schedules .section.green-bg h6 {
  color: rgb(255, 255, 255);
}
body#natura .transparent, body.front-schedules .transparent {
  background-color: rgba(166, 205, 56, 0.5);
}
body#natura .transparent h3, body#natura .transparent h2, body.front-schedules .transparent h3, body.front-schedules .transparent h2 {
  color: rgb(255, 255, 255);
}
body#natura .kontakt .mail a, body#natura .kontakt .tel a, body.front-schedules .kontakt .mail a, body.front-schedules .kontakt .tel a {
  background-color: rgb(0, 172, 200);
}
body#natura .kontakt .mail a i, body#natura .kontakt .tel a i, body.front-schedules .kontakt .mail a i, body.front-schedules .kontakt .tel a i {
  color: white;
}
body#natura .kontakt.social .facebook a, body.front-schedules .kontakt.social .facebook a {
  background-color: rgb(0, 172, 200);
}
body#natura .kontakt.social .facebook a i, body.front-schedules .kontakt.social .facebook a i {
  color: white;
}
body#natura .oeffnungszeiten.ending, body.front-schedules .oeffnungszeiten.ending {
  color: rgb(0, 172, 200);
}
body#natura footer, body.front-schedules footer {
  background-color: rgb(166, 205, 56);
  color: rgb(255, 255, 255);
}
body#natura footer a, body.front-schedules footer a {
  color: rgb(255, 255, 255);
}
body#natura button.anmeldung, body.front-schedules button.anmeldung {
  background-color: rgb(166, 205, 56);
}

body {
  word-wrap: break-word;
  color: rgb(130, 130, 130);
}
body .section.faq {
  padding: 50px;
  position: relative;
  height: -moz-fit-content;
  height: fit-content;
  margin-top: 100px;
  display: flex;
  flex-direction: column;
}
body .section.faq .wrapper {
  width: 1200px;
  max-width: 80vw;
  height: -moz-fit-content;
  height: fit-content;
  min-height: 400px;
  margin: auto;
  position: relative;
}
body .section.faq .wrapper.faq ul {
  padding: 0;
}
body .section.faq .wrapper.faq ul li {
  list-style-type: none;
  margin: 20px;
  margin-left: 0;
  margin-right: 0;
  background-color: rgb(96, 169, 48);
  color: white;
  border-radius: 25px;
  width: 100%;
  transition: 300ms;
  box-shadow: 0px 0px 10px lightgrey;
}
body .section.faq .wrapper.faq ul li:hover {
  transform: translateX(50px);
  transition: 300ms;
  box-shadow: -50px 0px 10px lightgrey;
}
body .section.faq .wrapper.faq ul li a {
  color: white;
  font-size: 2em;
  text-decoration: none;
  font-weight: bold;
  padding: 10px 30px;
  width: calc(100% - 60px);
  display: flex;
}
body .section.faq a.go-back {
  font-size: 3em;
  color: rgb(96, 169, 48);
  margin: 15px;
}
body .section.faq .question {
  background-color: lightgray;
  padding: 20px;
  border-radius: 25px;
  border-bottom-left-radius: 0px;
  max-width: 60%;
  width: 60%;
  position: relative;
  left: 0;
  box-shadow: 5px 5px 5px lightgrey;
  font-size: 1.5em;
  color: rgb(23, 23, 23);
  margin: auto;
  margin-bottom: 50px;
  margin-left: 0;
}
body .section.faq .question h1, body .section.faq .question h2, body .section.faq .question h3, body .section.faq .question h4, body .section.faq .question h5, body .section.faq .question h6 {
  color: white;
}
body .section.faq .answer {
  background-color: rgb(96, 169, 48);
  padding: 20px;
  border-radius: 25px;
  border-bottom-right-radius: 0px;
  max-width: 60%;
  width: 60%;
  position: relative;
  right: 0;
  bottom: 0;
  box-shadow: 5px 5px 5px lightgrey;
  font-size: 1.5em;
  color: white;
  margin: auto;
  margin-right: 0;
}
body .section.faq .answer h1, body .section.faq .answer h2, body .section.faq .answer h3, body .section.faq .answer h4, body .section.faq .answer h5, body .section.faq .answer h6 {
  color: white;
}
body .logo.sued img {
  max-height: 150px;
  position: absolute;
  top: 10px;
  left: 10px;
}
body hr {
  border: solid 1px white;
}
body table {
  border-color: transparent;
}
body table tbody {
  vertical-align: top;
}
body .text p a {
  color: rgb(96, 169, 48);
}
body .spacer {
  min-height: 100px;
  min-width: 100px;
  display: block;
  position: relative;
}
body .welle {
  width: 100%;
  height: 35px;
  margin-bottom: -35px;
  box-sizing: border-box;
  display: block;
  position: relative;
  z-index: 1;
}
body .welle.gruen_unten, body .welle.white_oben {
  margin-bottom: unset;
  margin-top: -35px;
}
body main.zweispaltig {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  max-width: 1200px;
  margin: auto;
  margin-top: 100px;
  margin-bottom: 100px;
}
body main.zweispaltig .left #rex-yform form {
  accent-color: rgb(0, 172, 200);
}
body main.zweispaltig .left #rex-yform form h2 {
  color: rgb(130, 130, 130);
}
body main.zweispaltig .left #rex-yform form .form-group {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 20px;
}
body main.zweispaltig .left #rex-yform form .form-group .form-inline {
  display: flex;
  flex-direction: row-reverse;
  width: -moz-fit-content;
  width: fit-content;
}
body main.zweispaltig .left #rex-yform form .form-group label {
  color: rgb(130, 130, 130);
}
body main.zweispaltig .left #rex-yform form .form-group input, body main.zweispaltig .left #rex-yform form .form-group textarea {
  background-color: rgb(238, 238, 238);
  color: rgb(130, 130, 130);
  border: none;
  border-bottom: 1px solid rgb(130, 130, 130);
  border-radius: 7px;
  padding: 5px;
  font-size: 1.25em;
  resize: none;
}
body main.zweispaltig .left #rex-yform form .form-check-group {
  display: grid;
  gap: 10px;
  margin-bottom: 20px;
}
body main.zweispaltig .left #rex-yform form .form-check-group label {
  color: rgb(130, 130, 130);
  grid-row: 1;
  grid-column: span 4;
}
body main.zweispaltig .left #rex-yform form .form-check-group .checkbox {
  grid-row: 2;
}
body main.zweispaltig .left #rex-yform form .form-check-group .checkbox input {
  margin: 4px;
}
body main.zweispaltig .left #rex-yform form button {
  background-color: rgb(130, 130, 130);
  color: rgb(255, 255, 255);
  padding: 10px 30px;
  border-radius: 20px;
}
body main.zweispaltig .right .section .wrapper {
  display: block;
}
body main.zweispaltig .right .section .wrapper .text {
  position: unset;
}
body main.zweispaltig .right .section .wrapper .text h2, body main.zweispaltig .right .section .wrapper .text h3 {
  color: rgb(96, 169, 48);
}
body main.zweispaltig .right .section .wrapper .text h3 {
  font-size: 1em;
}
body #rex-yform form {
  accent-color: rgb(96, 169, 48);
}
body #rex-yform form .karriere {
  max-width: 80vw;
  margin: auto;
}
body #rex-yform form .karriere h2 {
  color: rgb(96, 169, 48);
}
body #rex-yform form .karriere .form-group {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 20px;
}
body #rex-yform form .karriere .form-group label {
  color: rgb(130, 130, 130);
}
body #rex-yform form .karriere .form-group input, body #rex-yform form .karriere .form-group textarea, body #rex-yform form .karriere .form-group select {
  background-color: rgb(238, 238, 238);
  color: rgb(130, 130, 130);
  border: none;
  border-bottom: 1px solid rgb(130, 130, 130);
  border-radius: 7px;
  padding: 5px;
  font-size: 1.25em;
  resize: none;
}
body #rex-yform form .karriere .form-check-group {
  display: grid;
  gap: 10px;
  margin-bottom: 20px;
}
body #rex-yform form .karriere .form-check-group label {
  color: rgb(130, 130, 130);
  grid-row: 1;
  grid-column: span 4;
}
body #rex-yform form .karriere .form-check-group .checkbox {
  grid-row: 2;
}
body #rex-yform form .karriere .form-check-group .checkbox input {
  margin: 4px;
}
body #rex-yform form button {
  background-color: rgb(130, 130, 130);
  color: rgb(255, 255, 255);
  padding: 10px 30px;
  border-radius: 20px;
  margin: 20px;
}
body h1, body h2, body h3, body h4, body h5, body h6 {
  color: rgb(96, 169, 48);
  line-height: 120%;
}
body h1 {
  font-size: 3em;
}
body h2 {
  font-size: 2em;
}
body h3 {
  font-size: 1.5em;
}
body h4 {
  font-size: 1em;
}
body h5 {
  font-size: 1em;
}
body h6 {
  font-size: 1em;
}
body iframe {
  width: 100%;
  height: calc(100vh - 179px);
  margin: 0;
  padding: 0;
  border: none;
  display: block;
}
body .kontakt {
  position: fixed;
  right: 0;
  top: 40vh;
  z-index: 2;
}
body .kontakt.social {
  right: unset;
  left: 0;
}
body .kontakt.social .facebook a {
  border-top-left-radius: unset;
  border-bottom-left-radius: unset;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  padding: 10px;
  padding-bottom: 5px;
}
body .kontakt.social .facebook a:hover {
  transform-origin: left;
}
body .kontakt .mail a, body .kontakt .tel a, body .kontakt .facebook a {
  display: block;
  background-color: rgb(214, 226, 153);
  color: rgb(255, 255, 255);
  padding: 20px;
  margin-bottom: 20px;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  transform-origin: right center;
  transition: all 400ms ease;
}
body .kontakt .mail a i, body .kontakt .tel a i, body .kontakt .facebook a i {
  font-size: 2.6em;
}
body .kontakt .mail a:hover, body .kontakt .tel a:hover, body .kontakt .facebook a:hover {
  transform: scale(1.2);
}
body .button {
  background-color: rgb(96, 169, 48);
  padding: 14px 50px 14px 50px;
  margin-top: 10px;
  border-radius: 10px;
  color: rgb(255, 255, 255);
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
  border: solid 2px rgb(96, 169, 48);
  transition: all 200ms ease;
}
body .button:hover {
  background-color: transparent;
  color: rgb(96, 169, 48);
  background-color: rgb(214, 226, 153);
}
body header {
  max-width: 1200px;
  width: 100%;
  margin: auto;
  display: grid;
  grid-template-columns: auto 1fr 200px 150px;
  grid-auto-flow: column;
  justify-content: space-between;
  border-radius: 18px;
  box-shadow: 0 0 25px rgba(23, 23, 23, 0.2);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  padding: 20px 40px;
  position: relative;
  background-color: rgb(255, 255, 255);
  transform-origin: top center;
  transition: all 1200ms ease;
  cursor: pointer;
  max-height: 120px;
  align-items: stretch;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%);
  z-index: 10;
  box-sizing: border-box;
}
body header .mobile_menu {
  display: none;
}
body header .menu {
  display: none;
}
body header .untermenu {
  overflow: hidden;
  max-height: 0px;
  transition: all 500ms ease;
}
body header .grid-flow {
  display: flex;
  overflow: hidden;
  padding: 0 20px;
}
body header .grid-flow .navlink {
  width: 100%;
}
body header .grid-flow .line {
  background-color: rgb(130, 130, 130);
  width: 2px;
  max-height: 0px;
  transition: all 800ms ease;
  opacity: 0;
}
body header::after {
  content: "\f078";
  font-family: "Font Awesome 5 Pro";
  position: absolute;
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 4rem;
  color: rgb(96, 169, 48);
  text-shadow: 0 0 20px rgba(23, 23, 23, 0.2);
  opacity: 0;
  transition: all 800ms ease;
  transform: scale(0);
}
body header:hover {
  transform: translate(-50%) scale(1.02);
}
body header:hover::after {
  bottom: -80px;
  opacity: 100;
  transform: scale(1);
}
body header.open {
  max-height: 500px;
  transition: all 500ms ease;
}
body header.open::after {
  opacity: 0;
  transform: scale(0);
}
body header.open .line {
  max-height: 500px;
  opacity: 100;
}
body header.open .untermenu {
  max-height: 100vh;
}
body header.open .ending.oeffnungszeiten {
  opacity: 0;
}
body header.open .beninging.navlink {
  display: block;
}
body header.open .beninging.logo {
  transform: scale(0.6);
  opacity: 0;
}
body header.open .beninging.burger {
  opacity: 100;
  transform: scale(1);
  transition-delay: 200ms;
}
body header .oeffnungen {
  grid-column: 3/span 2;
  grid-row: 1;
}
body header div.navlink {
  padding: 0 15px;
}
body header div.navlink a.navlink.parent {
  font-size: 1.2rem;
  margin-bottom: 20px;
}
body header div.navlink a.navlink {
  margin-bottom: 15px;
}
body header .beninging {
  grid-column: 1;
  grid-row: 1;
}
body header .beninging.navlink {
  display: none;
  text-align: right;
}
body header .beninging.burger {
  opacity: 0;
  transform: scale(0.5);
  transition: all 200ms ease;
  transition-delay: 0ms;
  width: 80px;
  z-index: 1;
}
body header .beninging.burger img {
  width: 100%;
  transition: all 400ms ease;
}
body header .beninging.burger:hover img {
  transform: scale(1.2);
}
body header .ending {
  grid-column: 3;
  grid-row: 1;
}
body header .ending.navlink {
  grid-column: 3;
  width: 100%;
}
body header .ending.oeffnungszeiten {
  grid-column: 4;
  color: rgb(96, 169, 48);
  display: flex;
  flex-direction: column;
  text-align: center;
  width: 170px;
  flex-shrink: 0;
  opacity: 100;
  transition: all 200ms ease;
}
body header a {
  color: rgb(96, 169, 48);
  text-decoration: none;
  display: block;
  position: relative;
  transition: all 500ms ease;
  line-height: 130%;
}
body header a.logo {
  width: 240px;
  max-width: 100%;
  transform-origin: top left;
  opacity: 1;
}
body header a.logo img {
  width: 85%;
}
body header a:hover {
  text-decoration: underline;
}
body header ul {
  display: flex;
  flex-direction: row;
  list-style: none;
}
body header ul li {
  padding: 0 25px;
}
body header:hover .hovermenu {
  flex-direction: row;
}
body header:hover .hovermenu ul {
  flex-direction: column;
}
body header:hover .hovermenu .line {
  border: 1px solid rgb(130, 130, 130);
}
body header .hovermenu {
  position: absolute;
  bottom: -1px;
  width: 100%;
  background-color: rgb(255, 255, 255);
  border-radius: 7px;
  display: none;
  box-shadow: 0 0 5px rgb(130, 130, 130);
}
body #rex-yform {
  position: relative;
  margin-top: 150px;
}
body .section {
  height: -moz-fit-content;
  height: fit-content;
}
body .section.hub {
  max-width: 90vw;
  margin: auto;
  margin-bottom: 100px;
}
body .section.hub .hub-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 50px;
}
body .section.hub .hub-grid a.pageview {
  max-width: 100%;
  border-radius: 27px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: 600ms;
  text-decoration: none;
}
body .section.hub .hub-grid a.pageview:hover {
  transform: translateY(-25px);
  transition: 600ms;
}
body .section.hub .hub-grid a.pageview img {
  max-width: 100%;
}
body .section.hub .hub-grid a.pageview h2 {
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  text-decoration: none;
}
body .section.bildergalerie {
  position: relative;
}
body .section.bildergalerie .carusell-all {
  display: grid;
  grid-auto-rows: unset;
  grid-auto-flow: column;
  grid-template-columns: 32%;
  grid-auto-columns: 32%;
  gap: 20px 2%;
  overflow: hidden;
  margin: 20px 0px 50px 0px;
  scroll-behavior: smooth;
  align-items: center;
  padding: 20px 0;
  justify-items: center;
  grid-template-rows: 1fr minmax(0px, auto) minmax(0px, auto) minmax(min-content, auto);
}
body .section.bildergalerie .carusell-all.not_enough {
  justify-content: center;
}
body .section.bildergalerie .carusell-all.col-4 {
  grid-template-columns: 22%;
  grid-auto-columns: 22%;
  gap: 20px 4%;
}
body .section.bildergalerie .carusell-all .text-wrap {
  text-align: center;
  height: 100%;
}
body .section.bildergalerie .carusell-all .text-wrap ul {
  display: flex;
  flex-direction: column;
  align-items: center;
}
body .section.bildergalerie .carusell-all .text-wrap li {
  margin-bottom: 20px;
}
body .section.bildergalerie .carusell-all .carusell-detail {
  width: 100%;
  text-align: center;
  display: grid;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 15px;
  align-content: center;
  justify-items: center;
  grid-template-rows: 300px auto auto;
  cursor: pointer;
  transition: all 400ms ease;
}
body .section.bildergalerie .carusell-all .carusell-detail:hover {
  transform: scale(1.05);
}
body .section.bildergalerie .carusell-all .carusell-detail:hover a i {
  font-size: 2rem;
  opacity: 0.8;
}
body .section.bildergalerie .carusell-all p {
  text-align: center;
}
body .section.bildergalerie .carusell-all img {
  -o-object-fit: contain;
     object-fit: contain;
  user-drag: none;
  -webkit-user-drag: none;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}
body .section.bildergalerie .carusell-all a.bild {
  height: 350px;
  width: 100%;
  border-radius: 20px;
  box-shadow: 0 0 15px rgba(23, 23, 23, 0.4);
  overflow: hidden;
  user-drag: none;
}
body .section.bildergalerie .carusell-all a.bild img {
  height: 100%;
  width: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  user-drag: none;
}
body .section.bildergalerie .carusell-all a[onclick] {
  padding: 20px;
}
body .section.bildergalerie .carusell-all a i {
  transition: all 800ms ease;
  font-size: 2.5rem;
}
body .section.bildergalerie .carusell-all a i:hover {
  transform: scale(1.5);
  opacity: 0.8;
}
body .section.bildergalerie .carusell-all h5 {
  max-width: 200px;
  font-size: 1rem;
  text-align: center;
  word-wrap: break-word;
}
body .section.bildergalerie .carusell-all .arrow {
  position: absolute;
  right: -80px;
  top: 50%;
  transform: translateY(-50%);
}
body .section.bildergalerie .carusell-all .arrow:first-of-type {
  left: -80px;
  right: unset;
}
body .section.bildergalerie .carusell-all .arrow img {
  height: 80px;
  filter: grayscale(1);
}
body .section.bildergalerie .carusell-all .arrow a {
  cursor: pointer;
  transition: all 600ms ease;
  display: inline-block;
}
body .section.bildergalerie .carusell-all .arrow a:hover {
  transform: scale(1.3);
  opacity: 0.7;
}
body .section.bildergalerie .wrapper.bildergalerie {
  position: relative;
}
body .section.kurse {
  height: -moz-fit-content;
  height: fit-content;
  padding-top: 120px;
}
body .section.kurse.green-bg {
  height: -moz-fit-content;
  height: fit-content;
}
body .section.kurse .wrapper {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
body .section.kurse .wrapper .kurs {
  background-color: rgb(255, 255, 255);
  padding: 20px;
  border-radius: 15px;
  color: black;
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-height: 130px;
  overflow: hidden;
  position: relative;
  transition: all 800ms ease;
  gap: 40px;
}
body .section.kurse .wrapper .kurs .info_block h3 {
  margin: unset;
  color: rgb(96, 169, 48);
}
body .section.kurse .wrapper .kurs .info_block table {
  background-color: #f2f2f2;
}
body .section.kurse .wrapper .kurs .info_block table td {
  padding: 4px;
}
body .section.kurse .wrapper .kurs .form_control {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px;
  align-items: center;
}
body .section.kurse .wrapper .kurs .dropdown_hidden {
  opacity: 0;
  transition: all 200ms ease;
}
body .section.kurse .wrapper .kurs.dropdown_open {
  max-height: 100vh;
}
body .section.kurse .wrapper .kurs.dropdown_open .dropdown_hidden {
  opacity: 1;
}
body .section.kurse .wrapper .kurs .more {
  grid-column: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  padding: 20px;
  text-align: center;
  position: absolute;
  right: 0;
  top: 0;
  align-items: center;
}
body .section.kurse .wrapper .kurs .more a {
  text-decoration: none;
  font-weight: bold;
}
body .section.kurse .wrapper .kurs .more .anmeldung {
  background-color: rgb(96, 169, 48);
  padding: 7px;
  color: rgb(255, 255, 255);
}
body .section.image img {
  width: 100%;
  display: block;
}
body .section.start {
  margin-bottom: -40px;
  z-index: -1;
}
body .section.start .wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
}
body .section.start .wrapper.zwei {
  display: grid;
  grid-template-columns: 1fr 100px 1fr;
  gap: 60px;
}
body .section.start .wrapper .img.special {
  position: relative;
  grid-column: 1/span 2;
  grid-row: 1;
  top: 100px;
}
body .section.start .wrapper .img.special img {
  z-index: -1;
  max-width: 100%;
}
body .section.start .wrapper .text {
  grid-column: 3/span 1;
  grid-row: 1;
  padding: 20vh 0 80px 0;
}
body .section.start .wrapper .text a {
  font-weight: bold;
  text-decoration: none;
}
body .section.start .wrapper .text img {
  max-width: 300px;
}
body .section.green-bg {
  width: 100%;
  background-color: rgb(96, 169, 48);
  position: relative;
  color: rgb(255, 255, 255);
  overflow: hidden;
}
body .section.green-bg .button:hover {
  background-color: rgb(255, 255, 255);
  border-color: rgb(255, 255, 255);
}
@keyframes appear {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
body .section.green-bg .bg_graphic {
  position: absolute;
  height: 250vh;
  min-width: 13%;
  background-size: contain;
  transition: all 100ms ease;
}
body .section.green-bg .bg_graphic.left-1 {
  left: 1%;
  background-image: url("index.php?rex_media_type=bambus&rex_media_file=physio_natura_bambus_links_01.png");
  opacity: 0.5;
}
body .section.green-bg .bg_graphic.left-2 {
  left: 7%;
  background-image: url("index.php?rex_media_type=bambus&rex_media_file=physio_natura_bambus_links_02.png");
  opacity: 0.3;
  top: 40vh;
  min-width: 9%;
}
body .section.green-bg .bg_graphic.right-1 {
  right: -3%;
  background-image: url("index.php?rex_media_type=bambus&rex_media_file=physio_natura_bambus_rechts_01.png");
  opacity: 0.5;
  min-width: 13%;
}
body .section.green-bg .bg_graphic.right-2 {
  right: 9%;
  background-image: url("index.php?rex_media_type=bambus&rex_media_file=physio_natura_bambus_rechts_02.png");
  opacity: 0.2;
  top: 60vh;
  min-width: 10.5%;
}
body .section.green-bg .bg_graphic.right-3 {
  right: 7%;
  background-image: url("index.php?rex_media_type=bambus&rex_media_file=physio_natura_bambus_rechts_03.png");
  opacity: 0.3;
  min-width: 10.5%;
}
body .section.green-bg h1, body .section.green-bg h2, body .section.green-bg h3, body .section.green-bg h4, body .section.green-bg h5, body .section.green-bg h6 {
  color: rgb(255, 255, 255);
}
body .section.green-bg .wrapper {
  padding: 50px;
}
body .section.green-bg .wrapper .box {
  background-color: rgba(23, 23, 23, 0.2);
  border-radius: 15px;
  padding: 40px 80px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0px 50px;
  max-width: 700px;
  margin: auto;
  margin-top: 150px;
  position: relative;
}
body .section.green-bg .wrapper .box h2 {
  grid-column: span 2;
  font-size: 3rem;
}
body .section.green-bg .wrapper .box .center {
  grid-column: span 2;
}
body .section.green-bg .wrapper .box .left p {
  color: rgb(255, 255, 255);
}
body .section.green-bg .wrapper .box .right p {
  color: rgb(255, 255, 255);
}
body .section.green-bg .wrapper.leistungen-grid {
  display: grid;
  padding-top: 200px;
  grid-template-columns: repeat(4, calc(25% - 25px));
  gap: 25px;
  grid-template-rows: 1fr;
}
body .section.green-bg .wrapper.leistungen-grid.five {
  grid-template-columns: repeat(5, calc(20% - 25px));
}
body .section.green-bg .wrapper.leistungen-grid.five .leistung {
  font-size: 1em;
  height: 250px;
}
body .section.green-bg .wrapper.leistungen-grid .galerie_einzeln {
  text-align: center;
}
body .section.green-bg .wrapper.leistungen-grid .galerie_einzeln a {
  width: 100%;
  display: none;
  border-radius: 20px;
  box-shadow: 0 0 15px rgba(23, 23, 23, 0.4);
  overflow: hidden;
}
body .section.green-bg .wrapper.leistungen-grid .galerie_einzeln a:first-of-type {
  display: block;
}
body .section.green-bg .wrapper.leistungen-grid .galerie_einzeln a img {
  width: 100%;
  display: block;
  height: 350px;
  -o-object-fit: cover;
     object-fit: cover;
}
body .section.green-bg .wrapper.leistungen-grid .leistung {
  background-color: rgb(255, 255, 255);
  padding: 10px;
  height: 320px;
  color: rgb(96, 169, 48);
  border-radius: 12px;
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  display: flex;
  justify-content: center;
  flex-direction: column;
  box-shadow: 3px 3px 3px rgba(23, 23, 23, 0.3);
}
body .section.green-bg .wrapper.leistungen-grid .leistung i {
  font-size: 3em;
}
body .section.green-bg .wrapper.leistungen-grid .leistung p {
  color: rgb(96, 169, 48);
}
body .section.rooms {
  padding: 40px 0;
}
body .section.rooms .wrapper.grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px 10%;
}
body .section.rooms .wrapper.grid .uberschrift {
  grid-column: span 2;
}
body .section.rooms .wrapper.grid .box {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 25px;
  background-repeat: no-repeat;
  background-position: center;
  aspect-ratio: 1/1;
  transition: 2s;
  min-height: 420px;
}
body .section.rooms .wrapper.grid .box.img-animation {
  background-size: cover;
  background-position: 50% 10%;
}
body .section.rooms .wrapper.grid .box:hover {
  transform: scale(1.05);
  transition: 2s;
  z-index: 3;
}
body .section.rooms .wrapper.grid .box:hover .transparent {
  opacity: 0;
  transition: 1s;
}
body .section.rooms .wrapper.grid .box .transparent {
  min-width: 60%;
  max-width: -moz-min-content;
  max-width: min-content;
  aspect-ratio: 1/1;
  transition: 1s;
  padding: 10px;
  background-color: rgba(96, 169, 48, 0.5);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  border-radius: 25px;
  color: rgb(255, 255, 255);
  text-align: center;
}
body .section.rooms .wrapper.grid .box .transparent h1, body .section.rooms .wrapper.grid .box .transparent h2, body .section.rooms .wrapper.grid .box .transparent h3, body .section.rooms .wrapper.grid .box .transparent h4, body .section.rooms .wrapper.grid .box .transparent h5, body .section.rooms .wrapper.grid .box .transparent h6, body .section.rooms .wrapper.grid .box .transparent p {
  color: rgb(255, 255, 255);
}
body .section .wrapper {
  max-width: 1200px;
  margin: auto;
}
body .section .wrapper.zweispaltig {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 50px;
       column-gap: 50px;
  padding-top: 100px;
  padding-bottom: 100px;
}
body .section .wrapper.zweispaltig .mittig {
  grid-column: 1/span 2;
}
body footer {
  background-color: rgb(96, 169, 48);
  color: rgb(255, 255, 255);
  overflow: hidden;
  padding-top: 40px;
}
body footer .footerwrap {
  max-width: 1200px;
  margin: auto;
}
body footer .footerwrap .grid {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 60px;
}
body footer .footerwrap .grid .logos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 600px;
}
body footer .footerwrap .grid .logos a {
  width: 100%;
}
body footer .footerwrap .grid .logos .more {
  flex-direction: column;
}
body footer .footerwrap .grid .logos .more a {
  padding: 0;
  width: unset;
  padding-left: 30px;
  z-index: 10;
  transition: 300ms;
}
body footer .footerwrap .grid .logos .more a:hover {
  transform: scale(1.1);
  transition: 300ms;
}
body footer .footerwrap .grid div {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
body footer .footerwrap .grid div a {
  color: rgb(255, 255, 255);
  text-decoration: none;
  width: 25%;
  padding: 6px 10px;
  box-sizing: border-box;
  font-size: 1.3rem;
}
body footer .footerwrap .grid div a:hover {
  text-decoration: underline;
}
body footer .footerwrap .socialmedia {
  display: none;
}
body footer span {
  text-align: center;
  display: block;
}
body footer span a {
  color: rgb(255, 255, 255);
  font-weight: bold;
  transition: 300ms;
  text-decoration: none;
}
body footer span a:hover {
  text-decoration: underline;
}

@media only screen and (max-width: 1500px) {
  body.sued .section .wrapper.zweispaltig {
    padding-top: 175px;
  }
}
@media only screen and (max-width: 1400px) {
  body .welle {
    height: 2vw;
    margin-bottom: -2vw;
  }
  body .welle.white_oben {
    margin-top: -2vw;
  }
  body .section .wrapper {
    max-width: 1000px;
    padding: 0 20px;
  }
  body .section .wrapper.bildergalerie {
    padding: 0 40px;
    box-sizing: border-box;
  }
  body .section .wrapper.bildergalerie .arrow {
    right: 20px;
  }
  body .section .wrapper.bildergalerie .arrow:first-of-type {
    left: 20px;
  }
  body .section .wrapper.bildergalerie .carusell-all a.bild {
    height: 250px;
  }
  body .section.rooms .wrapper.grid {
    gap: 20px;
  }
  body .section.rooms .wrapper.grid .box .transparent {
    max-width: 80%;
  }
  body footer .footerwrap {
    padding: 0 20px;
  }
}
@media only screen and (max-width: 1200px) {
  body main.zweispaltig {
    grid-template-columns: 1fr;
    padding: 0 20px;
    margin: unset;
  }
  body main.zweispaltig .wrapper {
    padding: unset;
  }
  body .section .wrapper {
    padding: 0 60px;
  }
  body .section.start .wrapper.zwei {
    display: block;
  }
  body .section.start .wrapper .text {
    padding: 60px 0 80px 0;
  }
  body .section.rooms .wrapper.grid {
    grid-template-columns: 1fr;
  }
  body .section.rooms .wrapper.grid .uberschrift {
    grid-column: unset;
  }
  body .section.rooms .wrapper.grid .box {
    aspect-ratio: unset;
    padding: 40px;
  }
  body .section.rooms .wrapper.grid .box .transparent {
    aspect-ratio: unset;
    max-width: unset;
  }
  body .section.green-bg .wrapper.leistungen-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  body .section.green-bg .wrapper.leistungen-grid.five {
    grid-template-columns: repeat(2, 1fr);
  }
  body header {
    position: relative;
    align-items: center;
    grid-template-columns: auto 1fr 200px;
    gap: 20px;
    justify-items: start;
    max-height: unset;
  }
  body header:hover {
    transform: translate(-50%);
  }
  body header:after {
    content: "";
  }
  body header a.logo {
    width: 150px;
  }
  body header .grid-flow {
    display: none;
  }
  body header .oeffnungen {
    display: none;
  }
  body header .menu {
    display: inline-block;
    padding: 10px 20px 10px 20px;
  }
  body header .ending.oeffnungszeiten {
    grid-column: 3;
  }
  body header .mobile_menu {
    max-height: 0px;
    background-color: rgb(255, 255, 255);
    display: block;
    position: absolute;
    top: 120px;
    left: 40px;
    box-shadow: 0 0 10px rgba(23, 23, 23, 0.2);
    padding: 20px 10px;
    border-radius: 20px;
    box-sizing: border-box;
    opacity: 0;
  }
  body header .mobile_menu .navlink.oeffnungen {
    display: block;
  }
  body header.open {
    max-height: unset;
  }
  body header.open .menu {
    display: none;
  }
  body header.open .button {
    background-color: transparent;
    color: rgb(96, 169, 48);
  }
  body header.open .mobile_menu {
    max-height: 100vh;
    opacity: 100;
    transition: all 400ms ease;
  }
  body header.open .mobile_menu .grid-flow {
    display: block;
    padding: unset;
  }
  body header.open .mobile_menu .beninging.navlink {
    display: block;
  }
  body header.open .beninging.navlink {
    text-align: left;
  }
  body header.open div.navlink {
    padding: unset;
  }
  body header.open div.navlink a.navlink.parent {
    font-weight: bold;
    margin-top: 20px;
  }
  body header.open div.navlink a.navlink {
    margin-bottom: 4px;
  }
  body header.open .beninging.navlink {
    display: none;
  }
  body header.open .ending.oeffnungszeiten {
    opacity: 100;
  }
  body .kontakt .mail a, body .kontakt .tel a {
    padding: 15px;
  }
  body .kontakt .mail a i, body .kontakt .tel a i {
    font-size: 1.5rem;
  }
  body footer .footerwrap .grid {
    grid-template-columns: 100px 1fr;
  }
  body footer .footerwrap .grid div {
    flex-wrap: nowrap;
  }
  body footer .footerwrap .grid div a {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 900px) {
  body .section .wrapper.zweispaltig {
    grid-template-columns: 1fr;
    display: block;
  }
  body .section .wrapper.zweispaltig h1 {
    grid-column: 1;
  }
  body .section.hub .hub-grid {
    display: block;
  }
}
@media only screen and (max-width: 825px) {
  body .section.green-bg .wrapper .box {
    display: block;
  }
  body .section.green-bg .wrapper .box h2 {
    font-size: 2.5rem;
  }
  body footer .footerwrap .grid div a {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width: 750px) {
  body .section.kurse .wrapper {
    padding: 30px;
  }
  body .section.kurse .wrapper .kurs .more {
    display: block;
  }
}
@media only screen and (max-width: 600px) {
  body main div.section.faq {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
  }
  body main div.section.faq .wrapper {
    padding: 0;
    max-width: 90vw;
  }
  body main div.section.faq .wrapper.faq ul li a {
    font-size: 1.2em;
  }
  body main div.section.faq .wrapper .question {
    font-size: 1em;
    padding: 10px;
    max-width: 80%;
    width: 80%;
  }
  body main div.section.faq .wrapper .answer {
    font-size: 1em;
    padding: 10px;
    max-width: 80%;
    width: 80%;
  }
  body.sued .section .wrapper.zweispaltig {
    padding-top: 175px;
  }
  body footer .footerwrap .grid .logos {
    display: block;
    width: 300px;
  }
  body footer .footerwrap .grid div:nth-of-type(2) {
    display: inline;
    position: relative;
    top: 200px;
    left: 30px;
  }
  body .logo.beninging {
    width: 80vw;
    margin: auto;
  }
  body h1 {
    font-size: 2rem;
  }
  body h2 {
    font-size: 1.5rem;
  }
  body header {
    padding: 10px 20px;
    gap: 10px;
  }
  body header ul {
    display: none;
  }
  body header .oeffnungszeiten {
    font-size: 0.8rem;
  }
  body header .menu {
    padding: 8px 10px 8px 10px;
  }
  body header .menu i {
    display: none;
  }
  body header .mobile_menu {
    left: 20px;
    top: 100px;
  }
  body header .mobile_menu .navlink .navlink.parent:hover {
    text-decoration: unset;
  }
  body .kontakt {
    top: 30vh;
  }
  body .kontakt .mail a {
    padding: 10px;
  }
  body .kontakt .mail a i {
    font-size: 1rem;
  }
  body .kontakt .tel a {
    padding: 10px;
  }
  body .kontakt .tel a i {
    font-size: 1rem;
  }
  body .kontakt.social {
    right: 0;
    left: unset;
    top: 46.5vh;
  }
  body .kontakt.social .facebook:hover {
    transform-origin: right;
  }
  body .kontakt.social .facebook a {
    padding: 10px;
    border-top-right-radius: unset;
    border-bottom-right-radius: unset;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
  body .kontakt.social .facebook a i {
    font-size: 1rem;
  }
  body .section {
    overflow: hidden;
  }
  body .section.bildergalerie .controls {
    display: none;
  }
  body .section.bildergalerie .wrapper.bildergalerie {
    height: unset;
  }
  body .section.bildergalerie .wrapper.bildergalerie .carusell-all.col-4 {
    gap: 0px 8%;
    grid-template-columns: 44%;
    grid-auto-columns: 44%;
  }
  body .section.bildergalerie .wrapper.bildergalerie .carusell-all a.bild {
    height: 25vw;
    margin: auto;
  }
  body .section.bildergalerie .wrapper.bildergalerie .carusell-all a.bild img {
    max-height: unset;
    width: 100%;
  }
  body .section.rooms .wrapper.grid {
    margin: auto;
    display: flex;
    flex-direction: column;
  }
  body .section.rooms .wrapper.grid .box.img-animation {
    padding: 10px;
  }
  body .section.green-bg {
    background-size: cover;
    height: unset;
  }
  body .section.green-bg .wrapper {
    padding: 20px;
  }
  body .section.green-bg .wrapper.leistungen-grid {
    display: flex;
    flex-direction: column;
    gap: 25px;
  }
  body .section.green-bg .wrapper .box {
    padding: 10px;
    margin-top: 50px;
    margin-bottom: 50px;
    display: block;
  }
  body .section.green-bg .wrapper .box h2 {
    font-size: 1.5rem;
  }
  body .section.start .wrapper {
    display: block;
  }
  body .section.start .wrapper img {
    display: none;
  }
  body .section.start .wrapper .text {
    position: unset;
    margin: 15px;
  }
  body .section.kurse .wrapper .kurs {
    display: block;
  }
  body .section .wrapper {
    padding: 0 20px;
  }
  body .section .wrapper.zweispaltig {
    padding: 20px;
  }
  body footer .footerwrap .grid div {
    flex-wrap: wrap;
  }
  body footer .footerwrap .grid div a {
    width: unset;
  }
}
@media only screen and (max-width: 450px) {
  body header {
    grid-auto-flow: row;
    grid-template-columns: auto 1fr;
  }
  body header a.logo {
    grid-column: 1/span 2;
  }
  body header .beninging.burger {
    grid-column: 1/span 2;
  }
  body header .ending.oeffnungszeiten {
    grid-column: unset;
    grid-row: unset;
  }
  body .section.kurse .wrapper .kurs {
    display: flex;
    flex-direction: column;
    max-height: 200px;
    height: -moz-fit-content;
    height: fit-content;
  }
  body .section.kurse .wrapper .kurs .info .more {
    display: block;
    position: unset;
  }
  body .section.kurse .wrapper .kurs.dropdown_open {
    max-height: 250vh;
  }
}/*# sourceMappingURL=main.css.map */