


.c-logo-header img {
    max-width: 100%;
    height: auto;
    width: 480px;
    display: block;
}

.text-inverse {
  color: white;
}

.justify-text {
  text-align:justify;
  text-autospace: ideograph-alpha; /* Verbessert die Wortverteilung */
  hyphens: auto; /* Aktiviert Silbentrennung, was ebenfalls hilft */
}


body {
  overflow-x: hidden;
}


.c-rsce_centered_wrap_start.bg-dark-grey {
  width: 100vw;         /* nimmt volle Breite des Viewports */
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.c-rsce_centered_wrap_start.bg-dark-grey .content-text {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.mod_rocksolid_slider img {
  width: 100%;
}

.c-content--footer {
  color: #fff;
}

.c-section--footer {
  background: var(--theme-color1);
}

footer a {
  color: white;
  text-decoration: none;
}


/* Slider - von Simonbauer übernommen */

.slider-container{
  padding:0;
  overflow:hidden}
  
.slider{
  height:600px;
  position:relative
}

@media screen and (max-width: 992px){
  .slider{
    height:400px;
  }
}

@media screen and (max-width: 480px){
  .slider{
    height:400px;
    }
}

@media screen and (max-width: 320px){
  .slider{
    height:300px
    }
}

/* Ken Burns Effekt (dauerhaft, Endlosschleife) */
.kenburns-top .rsts-slide {
  -webkit-animation: kenburns-top 10s ease-in-out infinite alternate;
  animation: kenburns-top 10s ease-in-out infinite alternate;
}

/* Keyframes für den Effekt */
@-webkit-keyframes kenburns-top {
  0% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
    -webkit-transform-origin: 50% 16%;
    transform-origin: 50% 16%;
  }
  100% {
    -webkit-transform: scale(1.25) translateY(-15px);
    transform: scale(1.25) translateY(-15px);
    -webkit-transform-origin: top;
    transform-origin: top;
  }
}

@keyframes kenburns-top {
  0% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
    -webkit-transform-origin: 50% 16%;
    transform-origin: 50% 16%;
  }
  100% {
    -webkit-transform: scale(1.25) translateY(-15px);
    transform: scale(1.25) translateY(-15px);
    -webkit-transform-origin: top;
    transform-origin: top;
  }
}
/* Sanftes Faden vom Text - Anfang */

/* Ausgangszustand */
.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 600ms ease, transform 600ms ease;
  will-change: opacity, transform;
}

/* Wenn sichtbar */
.reveal.in {
  opacity: 1;
  transform: translateY(0);
}

/* Verzögerungen über Datatribute */
.reveal[data-delay="100"] { transition-delay: 100ms; }
.reveal[data-delay="200"] { transition-delay: 200ms; }
.reveal[data-delay="300"] { transition-delay: 300ms; }
.reveal[data-delay="400"] { transition-delay: 400ms; }
.reveal[data-delay="500"] { transition-delay: 500ms; }
.reveal[data-delay="600"] { transition-delay: 600ms; }
.reveal[data-delay="700"] { transition-delay: 700ms; }

/* Accessibility: Bewegungen reduzieren */
@media (prefers-reduced-motion: reduce) {
  .reveal {
    transition: none;
    opacity: 1 !important;
    transform: none !important;
  }
}

.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }
.delay-500 { transition-delay: 500ms; }
.delay-600 { transition-delay: 600ms; }
.delay-700 { transition-delay: 700ms; }


/* Sanftes Faden vom Text - Ende */

/*Text bewegt sich ganz leicht während dem scrollen - Anfang */

/* Default */
.reveal-up { --shift: 28px; }

/* Utility-Klassen für verschiedene Stärken */
.shift-6  { --shift: 6px; }
.shift-10 { --shift: 10px; }
.shift-14 { --shift: 14px; }
.shift-18 { --shift: 18px; }
.shift-24 { --shift: 24px; }

/* Basiszustand + Fallback-Transition (für alte Browser) */
.reveal-up {
  opacity: 0;
  transform: translateY(var(--shift, 14px));
  transition: opacity 500ms ease, transform 1.2s ease;
  will-change: opacity, transform;
}

/* Wenn wir per JS-Fallback "sichtbar" setzen (siehe unten) */
.reveal-up.in {
  opacity: 1;
  transform: translateY(0);
}


  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(var(--shift, 14px)); }
    to   { opacity: 1; transform: translateY(0); }
}


/* Weniger Bewegung respektieren */
@media (prefers-reduced-motion: reduce) {
  .reveal-up { animation: none !important; transition: none !important; opacity: 1 !important; transform: none !important; }
}

/*Text bewegt sich ganz leicht während dem scrollen - Ende */


.social-media {
    margin-top:10px;
    z-index:2;
}

.social-media a.social-link {
    margin-right:0px;
    color:#000;
    width:30px;
    height:30px;
    display:inline-block;
    background:transparent;
    text-transform:uppercase;
    text-decoration:none;
}

.social-media a.social-link:before {
    font-family: 'iconset';
    font-size: 34px;
    content: attr(data-icon);
}

.social-media a.social-link:link,.social-media a.social-link:visited {
    text-decoration:none;
    color:#ccc;
}

.social-media a.social-link:hover {
    background:transparent;
    color:#fff
}
.social-media a.social-link.lang-en,.social-media a.social-link.lang-de {
    font-weight:300
}
.social-media a.lang-en:link,.social-media a.lang-en:visited,.social-media a.lang-de:link,.social-media a.lang-de:visited {
    font-size:22px;
    display:inline-block;
    background:transparent
}
.social-media a:last-child {
    margin-right:0
}








