@charset "UTF-8";
/* Theme by fleiter media Gmbh: www.fleiter-media.de */
/* Colors */
header {
  background: #ffffff;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgb(213, 228, 237)));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgb(213, 228, 237) 100%);
}

html, body, p {
  font-family: "Bricolage Grotesque", sans-serif;
}

button {
  font-family: "Bricolage Grotesque", sans-serif;
  color: #000;
  font-weight: 700;
}

h3 {
  font-size: 1.4rem;
  margin-bottom: 1rem;
  margin-top: 1.4rem;
}

.region-topnav ul {
  border-radius: 2rem;
  background-color: oklch(39.6% 0.141 25.723);
  padding: 0.175rem;
}

.region-topnav li a {
  color: #fff;
  font-size: 1rem;
}

.region-section1bigheadline p {
  font-weight: 700;
}

p.text-white {
  color: #fff;
}

#cardContainer {
  z-index: 9999;
}

p {
  font-weight: 400;
}

.max-w-8xl {
  max-width: 95rem;
}

.text-formatted img {
  border-radius: 1rem;
  -webkit-box-shadow: 0px 5px 15px #d1d1d1;
          box-shadow: 0px 5px 15px #d1d1d1;
}

.region-topnav .menu {
  margin: 0;
  margin-top: 2rem;
}

.region-topnav .menu li {
  border-bottom: 1px solid white;
}

.region-topnav .menu li a {
  display: block;
  padding: 0.325rem 0;
  font-weight: 400;
}

.text-formatted .field__label {
  font-weight: 600;
  color: oklch(39.6% 0.141 25.723);
  font-size: 1.6rem;
  margin-top: 2rem;
}

.js-form-item label,
.js-form-item input,
.js-form-item textarea {
  display: block;
}

.js-form-item input,
.js-form-item textarea,
.js-form-item .form-select {
  border: 1px solid oklch(39.6% 0.141 25.723);
}

.js-form-item input,
.js-form-item .form-select {
  padding: 0.25rem;
  font-size: 1.3rem;
}

.js-form-wrapper .js-form-submit {
  background-color: oklch(39.6% 0.141 25.723);
  color: white;
  border-radius: 0.225rem;
  padding: 0.225rem 0.325rem;
}

.progress-step.is-active .progress-marker::before {
  background-color: rgb(0, 116, 129);
}

footer ul.menu {
  margin-left: 0;
}

.field--name-field-anzahl-sitzplaetze .field__label,
.field--name-field-anzahl-sitzplaetze .field__item {
  display: inline;
}

.js-form-type-checkbox {
  background: white;
  border-radius: 1rem;
  padding: 1rem;
  border: 1px solid oklch(39.6% 0.141 25.723);
  margin: 1rem 0rem;
}

.js-form-type-checkbox > input,
.js-form-type-checkbox > label {
  display: inline-block;
}

.eu-cookie-compliance-message h1, .eu-cookie-compliance-message h2, .eu-cookie-compliance-message h3, .eu-cookie-compliance-message p, .eu-cookie-compliance-message button, .eu-cookie-compliance-category label {
  color: black;
}

.views-field-field-eingangsbild img {
  border-radius: 1rem;
  -webkit-box-shadow: 1px 1px 5px #ccc;
          box-shadow: 1px 1px 5px #ccc;
}

.views-field-title .field-content a {
  padding: 1rem 0rem;
  text-align: left;
  display: block;
  color: oklch(39.6% 0.141 25.723);
}

footer h2 {
  margin-top: 2rem;
}

.cookiesjsr-banner.active {
  width: 80%;
  margin: 0 auto;
  position: fixed;
  bottom: 0;
  background: white;
  padding: 2rem;
  -webkit-box-shadow: 0px 5px 20px #ccc;
          box-shadow: 0px 5px 20px #ccc;
}

.cookiesjsr-btn {
  padding: 0.575rem 1rem;
  margin: 0rem 0.525rem;
  border-radius: 1rem;
  -webkit-box-shadow: 1px 1px 5px #ccc;
          box-shadow: 1px 1px 5px #ccc;
}

.cookiesjsr-btn.important.allowAll {
  background-color: #1daa72;
  color: white;
}

.cookies-docs,
#cookies-docs > .disclaimer {
  margin: 4rem 10rem;
  padding: 2rem;
  -webkit-box-shadow: 0 5px 5px #ccc;
          box-shadow: 0 5px 5px #ccc;
  border-radius: 1rem;
  border-color: #000;
}

.cookiesjsr-banner--text {
  font-size: 0.75rem;
}

.cookiesjsr-links {
  color: #000;
  font-size: 0.75rem;
  margin: 1rem 0;
}

.view-tutorials .views-field-title a {
  background-color: white;
  color: #000;
  padding: 0.375rem 1rem;
  text-align: left;
  display: block;
  -webkit-box-shadow: 0 0px 5px #ccc;
          box-shadow: 0 0px 5px #ccc;
  border-radius: 1rem;
}

.field--name-field-empfohlene-links .field__label {
  font-family: "Bricolage Grotesque", sans-serif;
  margin-top: 1rem;
  color: #000;
  margin-bottom: 1rem;
  font-size: 1.4rem;
}

.field--name-field-empfohlene-links a {
  color: red;
  margin-top: 0.575rem;
  display: block;
}

footer h2 {
  color: oklch(71.5% 0.143 215.221);
  font-weight: 600;
  text-transform: uppercase;
}

@-webkit-keyframes mesh-float-extreme {
  0% {
    -webkit-transform: translate(0, 0) scale(1) rotate(0deg);
            transform: translate(0, 0) scale(1) rotate(0deg);
    opacity: 0.5;
  }
  33% {
    -webkit-transform: translate(100px, -120px) scale(1.4) rotate(120deg);
            transform: translate(100px, -120px) scale(1.4) rotate(120deg);
    opacity: 0.8; /* Heller/Deutlicher */
  }
  50% {
    opacity: 0.3; /* Kurzes "Dimmen" für mehr Kontrast */
  }
  66% {
    -webkit-transform: translate(-80px, 60px) scale(0.7) rotate(240deg);
            transform: translate(-80px, 60px) scale(0.7) rotate(240deg);
    opacity: 0.9; /* Zweites Highlight */
  }
  100% {
    -webkit-transform: translate(0, 0) scale(1) rotate(360deg);
            transform: translate(0, 0) scale(1) rotate(360deg);
    opacity: 0.5;
  }
}

@keyframes mesh-float-extreme {
  0% {
    -webkit-transform: translate(0, 0) scale(1) rotate(0deg);
            transform: translate(0, 0) scale(1) rotate(0deg);
    opacity: 0.5;
  }
  33% {
    -webkit-transform: translate(100px, -120px) scale(1.4) rotate(120deg);
            transform: translate(100px, -120px) scale(1.4) rotate(120deg);
    opacity: 0.8; /* Heller/Deutlicher */
  }
  50% {
    opacity: 0.3; /* Kurzes "Dimmen" für mehr Kontrast */
  }
  66% {
    -webkit-transform: translate(-80px, 60px) scale(0.7) rotate(240deg);
            transform: translate(-80px, 60px) scale(0.7) rotate(240deg);
    opacity: 0.9; /* Zweites Highlight */
  }
  100% {
    -webkit-transform: translate(0, 0) scale(1) rotate(360deg);
            transform: translate(0, 0) scale(1) rotate(360deg);
    opacity: 0.5;
  }
}
.animate-mesh-fast {
  -webkit-animation: mesh-float-extreme 6s infinite ease-in-out;
          animation: mesh-float-extreme 6s infinite ease-in-out;
  -webkit-filter: blur(60px);
          filter: blur(60px);
  will-change: transform, opacity;
  /* Mix-blend-mode "screen" oder "plus-lighter" wirkt oft sauberer 
     wenn es "heller" werden soll, "multiply" eher für dunkle Effekte. */
  mix-blend-mode: soft-light;
}

@media (min-width: 341px) and (max-width: 967px) {
  /* Mobile Navigation Styling */
  /* Ensure menu is above everything */
  /* Smooth transitions */
}
@media (min-width: 341px) and (max-width: 967px) and (max-width: 1023px) {
  .mobile-nav-menu nav,
  .mobile-nav-menu .menu,
  .mobile-nav-menu ul {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }
  .mobile-nav-menu li {
    margin: 0 !important;
    width: 100% !important;
  }
  .mobile-nav-menu a {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    padding: 0.75rem 1rem !important;
    color: #111827 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-radius: 0.5rem !important;
    -webkit-transition: background-color 0.2s !important;
    transition: background-color 0.2s !important;
    width: 100% !important;
  }
  .mobile-nav-menu a.bg-amber-500 {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .mobile-nav-menu a:hover {
    background-color: #F9FAFB !important;
  }
  .mobile-nav-menu a.is-active,
  .mobile-nav-menu a[aria-current=page] {
    background-color: #FEF3C7 !important;
    color: #D97706 !important;
  }
  /* Remove any desktop-specific styles */
  .mobile-nav-menu .text-sm,
  .mobile-nav-menu .font-semibold,
  .mobile-nav-menu .text-gray-900 {
    font-size: 1rem !important;
  }
}
@media (min-width: 341px) and (max-width: 967px) {
  #mobile-menu {
    -webkit-box-shadow: -4px 0 6px -1px rgba(0, 0, 0, 0.1);
            box-shadow: -4px 0 6px -1px rgba(0, 0, 0, 0.1);
  }
  #mobile-menu-overlay {
    -webkit-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
  }
  #mobile-menu.translate-x-full {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  #mobile-menu {
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  }
}