@charset "UTF-8";
/* ==========================================================================
   Layout
   Breakpoints: 500 (klein mobil) · 560 (Typo) · 990 (Navigation) · 1280 (weit)
   ========================================================================== */

/* Animationen */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

.fade-in {
  animation: fadeInUp 0.8s ease;
}

.animation-fadeInUp {
  animation: fadeInUp 1s ease 0.2s both;
}

/* --------------------------------------------------------------------------
   Grundraster
   -------------------------------------------------------------------------- */
.is-flex {
  display: flex;
  align-items: center;
}

.wp-block-element-max-breite {
  max-width: var(--content-max);
  margin: 0 auto;
}

.wp-block-inline {
  margin-left: var(--gutter);
  margin-right: var(--gutter);
}

#wp-block-cover .wp-block-inline {
  margin: var(--gutter) 0;
}

@media (min-width: 560px) {
  #wp-block-cover .wp-block-inline {
    margin: 0 var(--gutter);
  }
}

section .wp-block-inline {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

@media (min-width: 1441px) {
  .wp-block-cover .wp-block-element-max-breite {
    max-width: 90rem;
  }
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
header .wp-block-inline {
  padding: 0;
}

header .wp-block-inline .element-wrap.is-flex {
  display: flex;
  align-items: center;
}

header.element-move .element-wrap.is-flex {
  justify-content: space-between;
}

header .wp-block-inline .element-wrap.is-flex .is-flex {
  display: inline-flex;
  justify-content: flex-end;
}

#element-logo {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
}

.element-move #element-logo {
  position: relative;
}

@media (max-width: 1200px) {
  header .wp-block-element-max-breite {
    max-width: 94vw;
  }
  header nav ul li {
    margin-left: 12px;
  }
}

@media (max-width: 1030px) {
  #element-logo a img {
    width: 280px;
  }
}

@media (max-width: 990px) {
  .element-header-nav-desc {
    display: block;
    color: var(--color-surface-tint);
  }
  #wp-block-element-navigation-header {
    order: 3;
  }
}

/* Sticky Header */
header#move {
  transition: box-shadow 0.3s ease, background-color 0.3s ease;
}

header#move.sticky {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 999;
  box-shadow: var(--shadow-sticky);
  animation: baibunSlideDown 0.35s ease;
}

@keyframes baibunSlideDown {
  from { transform: translateY(-100%); }
  to   { transform: translateY(0); }
}

/* Scroll-Sperre bei offenem Mobile-Menü */
body.noscroll {
  overflow: hidden;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
footer > .wp-block-element-max-breite:first-child .wp-block-inline {
  padding-top: 2rem;
}

.wp-block-widget-footer {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}

#nav-footer {
  margin: 1rem 0;
}

@media (min-width: 990px) {
  .wp-block-widget-footer {
    flex-direction: row;
  }
}

/* --------------------------------------------------------------------------
   Karussell (Tiny-Slider)
   -------------------------------------------------------------------------- */
.wp-block-columns.my-slider {
  margin-top: 24px;
  margin-bottom: 24px;
}

.tns-outer {
  position: relative;
}

.carousel-slid-item.tns-item {
  text-align: center;
}

button[data-action="start"],
button[data-action="stop"] {
  display: none;
}

button[data-controls="prev"],
button[data-controls="next"] {
  font-size: 28px;
  color: beige;
  background-color: var(--color-surface);
  border: none;
  border-radius: var(--radius);
}

button[data-controls="prev"] {
  margin-left: 12px;
  padding: 0 12px 0 10px;
}

button[data-controls="next"] {
  margin-left: 8px;
  padding: 0 10px 0 12px;
}

.tns-nav {
  display: flex;
  justify-content: center;
}

.tns-nav > [aria-controls] {
  width: 9px;
  height: 9px;
  padding: 0;
  margin: 0 5px;
  background: #ddd;
  border: 0;
  border-radius: 50%;
}

.tns-nav > .tns-nav-active {
  background: #999;
}

.tns-outer [aria-controls],
.tns-outer [data-action] {
  cursor: pointer;
}

/* Feinschliff der aktiven Tiny-Slider-Instanz (überschreibt Inline-Styles) */
@media (min-width: 900px) {
  #tns1-iw {
    margin: 0 80px 0 0 !important;
  }
}

@media (min-width: 640px) {
  #tns1 > .tns-item {
    padding-right: 0 !important;
  }
}

/* --------------------------------------------------------------------------
   Kleine Phones
   -------------------------------------------------------------------------- */
@media (max-width: 500px) {
  #element-logo a img {
    width: 200px;
  }
  .element-subtitel {
    display: none;
  }
  .element-header-button {
    width: auto;
    padding: 12px 8px;
  }
  .element-header-button a {
    font-size: 12px;
  }
  h1 {
    font-size: 2em;
  }
  h1 + p {
    font-size: 21px;
    line-height: 32px;
  }
  h2 {
    font-size: 1.75em;
  }
  p, li {
    font-size: 16px;
  }
  .wp-block-element-max-breite {
    max-width: 100vw;
  }
  .block-element-content > .wp-block-cover {
    padding: 0;
  }
  .block-element-content > .wp-block-cover .wp-block-inline {
    margin-top: 3rem;
    margin-bottom: 2rem;
  }
}
