body {
    font-size: 17px;
    line-height: 30px; 
}
/* header */
header .navbar-brand img {
    max-height: 108px;
}
.navbar .navbar-nav .nav-link {
    font-size: 18px;
    line-height: 24px;
    font-weight: 400;
}
.center-logo .navbar-nav .nav-link, header.sticky .center-logo .navbar-nav .nav-link {
    padding: 55px 23px;
}
.header-icon .header-social-icon a {
    font-size: 18px;
    padding-left: 26px;
}
/* btn */
.btn {
    font-weight: 700;
    font-family: var(--primary-font);
    text-transform: none;
    letter-spacing:0px;
}
.btn.btn-switch-text.btn.btn-extra-large > span {
    padding: 18px 34px 18px;
    font-size: 16px;
}
.btn.btn-switch-text.btn.btn-large > span {
    padding: 13px 28px 13px;
    font-size: 15px;
}
.btn.btn-switch-text.btn.btn-medium > span {
    padding: 13px 25px 12px;
    font-size: 14px;
}
.btn.btn-switch-text.btn.btn-small > span {
    font-size: 13px;
    padding: 12px 24px 10px;
}
.btn.btn-switch-text.btn.btn-very-small > span {
    font-size: 11px;
    padding: 9px 21px 5px;
}
.btn.btn-link {
    padding: 0 0 2px;
}
.btn.btn-base-color {
    color: var(--dark-gray);
}
/* heading */
h3 {
    font-size: 2.813rem;
    line-height: 2.813rem;
}
/* margin */
.mt-minus-50px {
    margin-top: -50px;
}
/* bg color */
.bg-medium-yellow {
    background-color: var(--medium-yellow);
}
.bg-light-yellow {
    background-color: var(--light-yellow);
}
.bg-very-light-yellow {
    background-color: var(--very-light-yellow);
}
/* border color */
.border-color-light-yellow {
    border-color: var(--light-yellow) !important;
}
.bg-gradient-base-transparent {
    background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(197, 148, 82, 1)), to(transparent));
    background-image: linear-gradient(to top, rgba(197, 148, 82, 1) 25%, transparent 100%);
}
/* video icons */
.video-icon-extra-large .video-icon {
    width: 170px;
    height: 170px;
    font-size: 17px;
}
/* slider custom text */ 
.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: 30px;
}
.swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: 30px;
}
/* image gallery style 01 */
.image-gallery-style-01 .gallery-box:hover img {
    -webkit-filter: blur(0px);
    filter: blur(0px);
}
/* footer */
footer {
    padding-top: 90px;
    padding-bottom: 80px;
}
footer .footer-logo img {
    max-height: 115px;
}
footer .social-icon-style-09 ul.light li a {
    background: rgba(255, 255, 255, 0.1);
    border: none;
}
footer .large-icon a {
    font-size: 20px;
}
footer .large-icon li {
    margin: 0 7px;
}
@media (max-width: 1199px) {
    .navbar.center-logo .navbar-nav .nav-link, .center-logo .navbar-nav .nav-link, header.sticky .center-logo .navbar-nav .nav-link {
        padding: 55px 13px;
    }
    .header-icon .header-social-icon a {
        font-size: 16px;
        padding-left: 22px;
    }
}
@media (max-width: 991px) {
    .video-icon-extra-large .video-icon {
        width: 150px;
        height: 150px;
    }
    footer {
        padding-top: 80px;
        padding-bottom: 70px;
    }
    header .navbar-brand img {
        max-height: 70px;
    }
    header .navbar-brand {
        padding: 15px 0;
    }
}
@media (max-width: 767px) {
    header .navbar-brand img {
        max-height: 57px;
    }
    footer {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .video-icon-extra-large .video-icon {
        width: 120px;
        height: 120px;
    }
}

ul.dat {margin:0; padding:0;}

ul.dat li {padding-bottom:5px; font-weight:bold; list-style-type:none;}
ul.dat li ul li{color:#9fa0a1; font-style:italic; font-weight:normal; list-style-type:none;}
ul.dat li ul li:first-child{padding-top: 3px;}

ul.dat li ul li:last-child{padding-bottom: 3px;}

ul.dat li:last-child {
	padding-bottom: 0;
}

.shirt-fade {
  position: relative;
  width: 100%;
  max-width: 300px;
  aspect-ratio: 2/3;
  margin: auto;
  overflow: hidden;
}

.fade-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  animation: crossfade 6s infinite ease-in-out;
}

.img-1 {
  z-index: 1;
  animation-delay: 0s;
}

.img-2 {
  z-index: 2;
  animation-delay: 3s;
}

@keyframes crossfade {
  0%   { opacity: 0; }
  10%  { opacity: 1; }
  45%  { opacity: 1; }
  55%  { opacity: 0; }
  100% { opacity: 0; }
}

.spirit-shadow{text-shadow: 3px 3px 5px rgba(0,0,0,.75);}

.word{
  position:relative;
  display:inline-block;
  white-space:nowrap;

  /* Platz für das "T" */
  padding-right: .16em;
  padding-left:  .00em;   /* <- lass links am besten 0 */
  overflow: visible;
}

.base{ color:#fff; }

.fx{
  position:absolute;
  inset:0;
  pointer-events:none;

  /* >>> DAS IST DER WICHTIGE ALIGN-FIX <<< */
  box-sizing: border-box;
  padding-left: inherit;
  padding-right: inherit;

  /* zusätzlich: harte Resets, falls irgendwo global was draufliegt */
  margin: 0 !important;
  transform: none !important;

  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;

  color:transparent;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip:text;
  background-clip:text;

 background-image: linear-gradient(135deg,
  #ff0000 0%,
  #ff7f00 16%,
  #ffff00 33%,
  #00ff00 50%,
  #00ffff 66%,
  #0000ff 83%,
  #ff00ff 100%
);
  background-size: 200% 100%;
  background-position: 0% 50%;

  opacity:0;
  animation:
    fadeInOnce 900ms ease-out forwards,
    hueMove 4.5s ease-in-out infinite alternate;
}

@keyframes fadeInOnce{
  from { opacity:0; }
  to   { opacity:1; }
}

@keyframes hueMove{
  from { background-position: 0% 50%; }
  to   { background-position: 100% 50%; }
}

a.spirit-white, a.spirit-white:hover{text-decoration:none; color:white;}

.cs-section{
  width: 100%;
  position: relative;
  padding: clamp(40px, 6vw, 90px) 0;
}

.cs-inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(18px, 4vw, 40px);
  position: relative;
  z-index: 2;
}

.cs-bg-soft{
  background: #0b0d14;
  position: relative;
  overflow: hidden;
}

/* stärkere, sichtbarere Farbnebel */
.cs-bg-soft::before{
  content:"";
  position:absolute;
  inset:-15%;
  z-index: 0;
  pointer-events:none;

  background:
    radial-gradient(420px 260px at 14% 28%, rgba(242,216,87,.23), transparent 62%),
    radial-gradient(480px 300px at 72% 32%, rgba(242,170,82,.21), transparent 64%),
    radial-gradient(520px 340px at 44% 78%, rgba(242,69,53,.24), transparent 66%),
    radial-gradient(600px 380px at 82% 86%, rgba(3,76,140,.22), transparent 68%);
  
  filter: blur(12px);
  opacity: 1;
}

/* Lesbarkeitsschicht – minimal reduziert, damit Farben mehr durchkommen */
.cs-bg-soft::after{
  content:"";
  position:absolute;
  inset:0;
  z-index: 1;
  pointer-events:none;

  background: linear-gradient(
    180deg,
    rgba(0,0,0,.48) 0%,
    rgba(0,0,0,.32) 45%,
    rgba(0,0,0,.50) 100%
  );
}
