@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Dosis:wght@200..800&display=swap");
.flex-col {
  display: flex;
  flex-direction: column;
}

.flex-row {
  display: flex;
  flex-direction: row;
}

.flex-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.flex-around {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fade-in-left {
  from {
    opacity: 0;
    transform: translateX(-100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fade-in-top {
  from {
    opacity: 0;
    transform: translateY(-50%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fade-in-right {
  from {
    opacity: 0;
    transform: translateX(100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fade-in-bottom {
  from {
    opacity: 0;
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fade-out-left {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(-100%);
  }
}
@keyframes fade-out-top {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100%);
  }
}
@keyframes fade-out-right {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(100%);
  }
}
@keyframes fade-out-bottom {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(100%);
  }
}
@keyframes loadingDots {
  0% {
    content: ".";
  }
  33% {
    content: "..";
  }
  66% {
    content: "...";
  }
  100% {
    content: "";
  }
}
h1 {
  font-size: 2.5rem;
  font-family: "Dosis";
  text-decoration: none;
  line-height: 1.4;
  color: #C62E3C;
  font-weight: 700;
}

h2 {
  font-size: 1.5rem;
  font-family: "Dosis";
  text-decoration: none;
  line-height: 1.4;
  color: #C62E3C;
  font-weight: 700;
  margin-bottom: 20px;
}

h3 {
  font-size: 1.2rem;
  font-family: "Dosis";
  text-decoration: none;
  line-height: 1.4;
  color: #C62E3C;
  font-weight: 700;
  margin-bottom: 20px;
}

.column-2 {
  -moz-column-count: 2;
       column-count: 2;
}
@media (max-width: 1000px) {
  .column-2 {
    -moz-column-count: 1;
         column-count: 1;
  }
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-size: 16px;
  font-family: "Dosis";
  text-decoration: none;
  color: rgb(56, 52, 45);
  line-height: 1.4;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: "Dosis";
  color: #C62E3C;
}

ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

a {
  cursor: pointer;
}

img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

button {
  all: unset;
  display: inline-block;
  cursor: pointer;
  background-color: #C62E3C;
  color: rgb(255, 255, 255);
  padding: 10px 20px;
  transition: all 0.2s ease-in-out;
}
button:hover {
  background-color: #9e2530;
}

h2,
h3,
h4,
h5,
p {
  animation-name: fade-in-top;
  animation-duration: 0.5s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

.loader {
  background-color: rgb(255, 255, 255);
  z-index: 100;
  width: 100vw;
  height: 100dvh;
  position: fixed;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.loader .loader-text {
  font-size: 1.5rem;
  font-family: "Dosis";
  text-decoration: none;
  line-height: 1.4;
  color: #C62E3C;
  font-weight: 700;
}
.loader .loader-text::after {
  content: ".";
  font-size: 1.5rem;
  font-family: "Dosis";
  text-decoration: none;
  line-height: 1.4;
  color: #C62E3C;
  font-weight: 700;
  animation: loadingDots 1s infinite steps(1);
}

.arrow {
  color: #C62E3C;
  padding: 10px;
  cursor: pointer;
  border-radius: 50px;
  width: 40px;
  height: 40px;
  transition: all 0.5s ease-in-out;
  display: inline-block;
}
.arrow svg {
  height: 100%;
  margin-right: 5px;
  transition: all 0.3s ease-in-out;
}
.arrow.right {
  transform: rotate(180deg);
}
.arrow.down {
  transform: rotate(270deg);
}

body {
  display: grid;
  grid-template-columns: 2fr minmax(0, 800px) 2fr;
  justify-content: center;
  position: relative;
  background-color: #F8F2E4;
}
@media (max-width: 1000px) {
  body {
    grid-template-columns: 1fr 90% 1fr;
  }
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: url("data:image/svg+xml;charset=UTF-8,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
  background-size: cover;
  mix-blend-mode: multiply;
  opacity: 0.25;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 100;
  pointer-events: none;
  background: linear-gradient(160deg, rgba(144, 109, 59, 0) 3%, rgb(244, 176, 120) 100%);
  background-size: cover;
  mix-blend-mode: darken;
  opacity: 0.5;
}

.wrapper {
  width: 100%;
  max-width: 800px;
  margin: auto;
  grid-column: 2;
  margin-bottom: 50px;
}

header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: baseline;
  margin: 50px 0 50px 0;
  margin-bottom: 90px;
  position: relative;
}
@media (max-width: 500px) {
  header {
    margin-top: 20px;
    margin-bottom: 50px;
  }
}
header .logo-container #logo {
  grid-column: 1;
  position: absolute;
  top: 0;
  left: -15vw;
  top: -130%;
  display: flex;
  width: 200px;
  height: 200px;
  mix-blend-mode: multiply;
  filter: brightness(1.05);
}
header .logo-container #logo .rays {
  animation: logo-rotation 5s infinite ease-in-out;
  transform-origin: center;
}
header .logo-container #logo .middle {
  transform-origin: center;
  transition: all 1s ease-in-out;
}
header .logo-container #logo:hover .middle {
  transform-origin: center;
  transform: rotate(180deg);
}
@keyframes logo-rotation {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(5deg) scale(0.95);
  }
  100% {
    transform: rotate(0deg) scale(1);
  }
}
@media (max-width: 1000px) {
  header .logo-container #logo {
    left: 0;
    z-index: 1;
  }
}
@media (max-width: 500px) {
  header .logo-container #logo {
    top: -25%;
    width: 60%;
  }
}
header .logo-container .web-title {
  margin-right: 10px;
}
@media (max-width: 1000px) {
  header .logo-container .web-title {
    opacity: 0;
  }
}
@media (max-width: 500px) {
  header .logo-container .web-title {
    display: none;
  }
}
header nav ul {
  display: flex;
  flex-direction: row;
  justify-content: end;
  align-items: space-between;
  /* Accessing the mixin through namespace */
  gap: 15px;
}
header nav ul li:nth-child(1) {
  transform: rotate(2deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(1):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(2) {
  transform: rotate(-2deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(2):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(3) {
  transform: rotate(2deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(3):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(4) {
  transform: rotate(-2deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(4):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(5) {
  transform: rotate(3deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(5):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(6) {
  transform: rotate(3deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(6):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(7) {
  transform: rotate(3deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(7):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(8) {
  transform: rotate(2deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(8):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(9) {
  transform: rotate(0deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(9):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(10) {
  transform: rotate(0deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(10):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(11) {
  transform: rotate(-1deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(11):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(12) {
  transform: rotate(1deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(12):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(13) {
  transform: rotate(-1deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(13):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(14) {
  transform: rotate(1deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(14):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(15) {
  transform: rotate(-2deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(15):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(16) {
  transform: rotate(1deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(16):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(17) {
  transform: rotate(-2deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(17):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(18) {
  transform: rotate(0deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(18):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(19) {
  transform: rotate(1deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(19):hover {
  transform: rotate(0deg);
}
header nav ul li:nth-child(20) {
  transform: rotate(-2deg);
  transition: all 0.2s ease-in-out;
}
header nav ul li:nth-child(20):hover {
  transform: rotate(0deg);
}
header nav ul a {
  font-size: 1.2rem;
  font-family: "Dosis";
  text-decoration: none;
  line-height: 1.4;
  color: #C62E3C;
  font-weight: 400;
  transition: all 0.2s ease-in-out;
  color: rgba(198, 46, 61, 0.5);
}
header nav ul a:hover {
  color: #C62E3C;
}
header nav ul a.active {
  color: #C62E3C;
}
@media (max-width: 500px) {
  header nav ul {
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: space-between;
  }
  header nav ul li {
    text-align: right;
  }
}

.panel {
  background-color: rgba(255, 255, 255, 0.7);
  padding: 30px;
  padding-bottom: 30px;
  border-radius: 15px;
  margin-bottom: 50px;
}
.panel.frage {
  margin-bottom: 20px;
}
.panel .faq-question-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.panel .faq-question-container .faq-question {
  cursor: pointer;
  font-size: 18px;
  font-weight: bold;
  position: relative;
  transition: color 0.3s ease-in-out;
  margin-bottom: 0;
}
.panel .faq-question-container .faq-question:hover {
  color: rgba(198, 46, 61, 0.5);
}
.panel .faq-answer ul {
  list-style-type: disc;
  padding-left: 30px;
}
.panel .faq-answer ul li {
  margin-bottom: 5px;
}
.panel .faq-answer p {
  padding-top: 10px;
}
@media (max-width: 500px) {
  .panel {
    padding: 20px;
  }
}

.accordion-container .accordion-header {
  cursor: pointer;
}
.accordion-container .accordion-header * {
  transition: all 0.3s ease-in-out;
}
.accordion-container .accordion-header:hover * {
  color: rgba(198, 46, 61, 0.5);
}
.accordion-container .accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease-in-out;
  color: #444;
  box-sizing: border-box;
}

form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 50px 0;
  gap: 20px;
}
form input,
form button {
  max-width: 90%;
  width: 200px;
  box-sizing: border-box;
  text-align: center;
}
form input {
  padding: 10px 20px;
  border-radius: 15px;
  border: 2px solid #C62E3C;
  background-color: transparent;
}
form input :active {
  border-color: rgba(198, 46, 61, 0.5);
}
form input :focus {
  border-color: rgba(198, 46, 61, 0.5);
}
form button {
  padding: 10px 20px;
  border-radius: 15px;
  border: 2px solid #C62E3C;
  background-color: #C62E3C;
  transition: all 0.2s ease-in-out;
  font-weight: 600;
}
form button:hover {
  background-color: rgba(198, 46, 61, 0.5);
  color: rgb(255, 255, 255);
}

.lightbox {
  position: fixed;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.7);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  transition: all 0.3s ease-in-out;
}
.lightbox.active {
  display: flex;
}
.lightbox img {
  max-width: 90%;
  max-height: 90%;
  -o-object-fit: contain;
     object-fit: contain;
}

.slider {
  position: relative;
  width: 100%;
  margin: auto;
}
.slider .slider-container {
  display: flex;
  transition: transform 0.5s ease-in-out;
}
.slider .slide {
  min-width: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  display: none;
  aspect-ratio: 16/9;
}
.slider .slide.active {
  opacity: 1;
  display: block;
}
.slider .slide img {
  width: 100%;
  border-radius: 8px;
  height: 100%;
}
.slider .controls {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 43%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0);
  color: #C62E3C;
  padding: 10px;
  cursor: pointer;
  border-radius: 50px;
  width: 40px;
  height: 40px;
  transition: all 0.3s ease-in-out;
}
.slider .controls.left-arrow {
  left: 0;
  transform: translateX(-200%);
}
@media (max-width: 1000px) {
  .slider .controls.left-arrow {
    transform: translateX(10%);
  }
}
.slider .controls.right-arrow {
  right: 0;
  transform: translateX(200%) rotate(180deg);
}
@media (max-width: 1000px) {
  .slider .controls.right-arrow {
    transform: translateX(-10%) rotate(180deg);
  }
}
.slider .controls svg {
  height: 100%;
  margin-right: 5px;
  transition: all 0.3s ease-in-out;
}
.slider .controls:hover {
  background: rgb(255, 255, 255);
}
.slider .controls:hover svg {
  margin-right: 10px;
}
.slider .dots-container {
  text-align: center;
}
.slider .dots-container .dot {
  width: 10px;
  height: 10px;
  margin: 10px 5px;
  background: rgba(56, 52, 45, 0.3);
  display: inline-block;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
.slider .dots-container .dot.active {
  background: rgba(56, 52, 45, 0.7);
}

#programm ul {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-top: 50px;
}
#programm ul .programm-item {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  background-color: rgb(235, 223, 204);
  border-radius: 15px;
  padding: 20px;
  transition: all 0.2s ease-in-out;
}
#programm ul .programm-item:hover {
  background-color: #F8F2E4;
}
#programm ul .programm-item img {
  width: 80px;
  height: 80px;
}
@media (max-width: 500px) {
  #programm ul .programm-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}

#panel-bild {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: stretch;
  gap: 30px;
}
#panel-bild > * {
  flex: 1;
}
#panel-bild .img-container {
  border-radius: 15px;
  overflow: hidden;
}
#panel-bild .img-container img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
@media (max-width: 1000px) {
  #panel-bild {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: stretch;
    flex-direction: column-reverse;
  }
}

.tag-container {
  margin-top: 30px;
}
.tag-container ul {
  margin-top: 30px;
}
.tag-container ul li:nth-child(1) {
  transform: rotate(1deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(1):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(2) {
  transform: rotate(1deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(2):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(3) {
  transform: rotate(1deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(3):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(4) {
  transform: rotate(3deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(4):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(5) {
  transform: rotate(0deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(5):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(6) {
  transform: rotate(-2deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(6):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(7) {
  transform: rotate(0deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(7):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(8) {
  transform: rotate(-2deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(8):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(9) {
  transform: rotate(3deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(9):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(10) {
  transform: rotate(-1deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(10):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(11) {
  transform: rotate(3deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(11):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(12) {
  transform: rotate(-1deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(12):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(13) {
  transform: rotate(2deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(13):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(14) {
  transform: rotate(-1deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(14):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(15) {
  transform: rotate(3deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(15):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(16) {
  transform: rotate(-1deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(16):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(17) {
  transform: rotate(3deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(17):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(18) {
  transform: rotate(-2deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(18):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(19) {
  transform: rotate(1deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(19):hover {
  transform: rotate(0deg);
}
.tag-container ul li:nth-child(20) {
  transform: rotate(-1deg);
  transition: all 0.2s ease-in-out;
}
.tag-container ul li:nth-child(20):hover {
  transform: rotate(0deg);
}
.tag-container ul li {
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 20px;
  padding: 10px 20px;
  background-color: rgb(235, 223, 204);
  border-radius: 50px;
  transition: all 0.2s ease-in-out;
  font-weight: 600;
}
.tag-container ul li:hover {
  background-color: #F8F2E4;
  transform: rotate(0deg);
}

.gallery {
  margin-top: 30px;
}
.gallery .accordion-container .accordion-header {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 20px;
  padding: 20px 0;
}
.gallery .accordion-container .accordion-header h3 {
  margin: 0;
}
.gallery .accordion-container .accordion-header .arrow {
  width: 20px;
  height: 20px;
  padding: 0;
}
.gallery .accordion-container .accordion-header .arrow svg {
  margin: 0;
}
.gallery .accordion-container .accordion-content img:last-child {
  margin-bottom: 50px;
}

.image-container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.image-container img {
  height: 150px;
  width: auto;
  transition: all 0.3s ease-in-out;
}
.image-container img:hover {
  filter: brightness(1.1);
}/*# sourceMappingURL=main.css.map */