@import url("/assets/reset.css");
@import url("/assets/fonts/google/googlefonts.css");
@import url("/assets/fonts/fontawesome/css/all.min.css");
@import url("/assets/cke5_content_styles.css");
@import url("/assets/colorbox.css");
@import url("/assets/forms.css");
@import url("/assets/tables.css");
@import url("/assets/navi.css");

:root {
   --black: #010b14;
   --white: #f1f8f8;
   --white-trans: rgba(255, 255, 255, 0.9);
   --red: #cc2900;
   --pink: #e62e7e;
   --lightblue: #e2f2f8;
   --darkblue: #385379;
   --footer: #d5c9c2;
   --line: #dddddd;
   --grau: #999999;
   --bg-footer: #fbfcfe;
   --bg-table: #edf1f6;
}

html {
   scroll-behavior: smooth;
}

body {
   min-height: 100vh;
   text-rendering: optimizeSpeed;
   font-size: 1.1rem;
   font-weight: 300;
   line-height: 1.4;
   font-family: "Roboto", sans-serif;
   overflow-y: scroll;
   margin: 0 auto;
   color: var(--black);
   display: flex; /* Footer immer unten (siehe margin-top: auto im footer) */
   flex-direction: column; /* Footer immer unten (siehe margin-top: auto im footer) */
   /* justify-content: space-between; */
   background: var(--white) url(/media/bg_main.jpg) top center no-repeat;
   background-size: cover;
   background-attachment: fixed;
}

section a {
   color: var(--red);
   text-decoration: none;
}
section a:hover {
   color: var(--darkblue);
}

h1 {
   font-size: 1.8rem;
}
h2 {
   font-size: 1.5rem;
}
h3 {
   font-size: 1.2rem;
}

/* Newsletter */
.sib-form {
   background-color: transparent !important;
}

.scrollup {
   z-index: 10;
   position: fixed;
   right: 1rem;
   bottom: 1rem;
   color: var(--darkblue);
   border-radius: 5px;
   border: 1px solid var(--line);
   margin: 0;
   padding: 0 0.5rem;
   background-color: var(--white-trans);
}

.swiper-container {
   margin-top: -125px;
   z-index: -1;
   width: 100%;
   /* min-height: 100vh; */
   /* background-color: red; */
}

.swiper-slide {
   text-align: center;
   font-size: 1rem;
   display: flex;
   justify-content: center;
   align-items: center;
   /* background-attachment: fixed; */
   background-position: center center;
   background-repeat: no-repeat;
   background-size: cover;
   width: 100%;
   height: 100vh;
   overflow: hidden;
}
.header-text h1 {
   font-size: 3rem;
   margin: 1rem;
   padding: 1rem 2rem;
   outline: 1px solid var(--white);
   color: var(--darkblue);
   background-color: rgba(255, 255, 255, 0.8);
   backdrop-filter: blur(30px);
   -webkit-backdrop-filter: blur(30px);
}

.header-text {
   position: absolute;
   width: 100%;
   display: flex;
   justify-content: center;
   align-items: center;
   color: #fff;
   -webkit-animation-duration: 2.5s;
   animation-duration: 2.5s;
   -webkit-animation-fill-mode: both;
   animation-fill-mode: both;
   -webkit-animation-name: fadeOutLeft;
   animation-name: fadeOutLeft;
}
.swiper-slide-active .header-text {
   -webkit-animation-delay: 0.4s;
   animation-delay: 0.4s;
   -webkit-animation-duration: 0.6s;
   animation-duration: 0.6s;
   -webkit-animation-fill-mode: both;
   animation-fill-mode: both;
   -webkit-animation-name: fadeInLeft;
   animation-name: fadeInLeft;
}
@-webkit-keyframes fadeInLeft {
   0% {
      opacity: 0;
      -webkit-transform: translate3d(-100%, 0, 0);
      transform: translate3d(-100%, 0, 0);
   }
   100% {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
   }
}

@keyframes fadeInLeft {
   0% {
      opacity: 0;
      -webkit-transform: translate3d(-100%, 0, 0);
      transform: translate3d(-100%, 0, 0);
   }
   100% {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
   }
}
@-webkit-keyframes fadeOutLeft {
   0% {
      opacity: 1;
   }
   100% {
      opacity: 0;
      -webkit-transform: translate3d(100%, 0, 0);
      transform: translate3d(100%, 0, 0);
   }
}

@keyframes fadeOutLeft {
   0% {
      opacity: 1;
   }
   100% {
      opacity: 0;
      -webkit-transform: translate3d(100%, 0, 0);
      transform: translate3d(100%, 0, 0);
   }
}

section {
   padding: 1rem;
   margin: 0;
   width: 100%;
}

.container {
   max-width: 60em;
   margin: 0 auto;
}

.flex {
   display: flex;
   flex-wrap: wrap;
   gap: 1rem;
   width: 100%;
   /* justify-items: stretch; */
   /* background-color: red; */
}
.flex > * {
   /* outline: 1px solid; */
   flex: 1 0 150px;
   white-space: nowrap;
}
.grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
   gap: 1rem;
   width: 100%;
   /* justify-items: stretch; */
   /* background-color: red; */
}

.galerie > div > a > img {
   border: 1px solid var(--line);
   aspect-ratio: 1/1;
   object-fit: cover;
}

.bg-trans {
   color: var(--black);
}

.center {
   text-align: center;
}

.table-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(0px, 1fr));
   gap: 0.5rem;
}
.table-grid > div {
   border: 1px solid red;
}

.bg-footer {
   background-image: linear-gradient(transparent 60px, var(--bg-footer) 60px);
   padding: 0;
   margin-top: auto;
}
.footer-img {
   min-height: 60px;
   min-width: 100%;
}
.footer {
   font-size: 0.9rem;
   padding: 1rem 0;
   /* background-color: red; */
}
@media (max-width: 1088px) {
   .footer {
      padding: 1rem;
   }
}
.footer h3 {
   color: var(--darkblue);
   font-size: 0.95rem;
   margin: 0;
}
.footer p {
   margin: 0;
}
.footer a {
   color: var(--black);
   text-decoration: none;
}
.footer a:hover {
   color: var(--red);
   text-decoration: none;
}
.footer .splits {
   display: flex;
   /* flex-direction: row; */
   align-items: flex-start;
   justify-content: flex-start;
   /* background-color: blue; */
}
.footer .splits > div {
   /* background-color: #bdec56; */
   display: flex;
   flex-direction: column;
   /* justify-content: space-between; */
}

.footer .splits > div > p i {
   margin-right: 0.75rem;
   width: 0.75rem;
}

/* donloads  */
.grid.dl {
   grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.downloads {
   outline: 1px solid var(--lightblue);
   display: flex;
   align-items: center;
   /* gap: 1rem; */
   padding: 0.5rem;
   background-color: var(--white-trans);
   box-shadow: 0px 2px 5px 0px rgba(194, 192, 194, 0.3);
}
.downloads i {
   font-size: 3rem;
   padding-right: 1rem;
}
.downloads a {
   display: block;
}

/* iframe */

.bus {
   min-width: 100%;
   height: 100vh;
}
iframe #calendarTitle {
   color: red;
}

/* responsive global */

@media (max-width: 760px) {
   body {
      font-size: 0.95rem;
   }
   h1 {
      font-size: 1.4rem;
   }
   h2 {
      font-size: 1.1rem;
   }
   h3 {
      font-size: 1rem;
   }
}
