html {
  scroll-behavior: smooth;
}

.masthead {
  height: 100vh;
  min-height: 500px;
  background-image: url("../images/camp2025.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.nav-link {
  color: white;
  text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.7);
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='white' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.mb-8 {
  margin-bottom: 4.5rem !important;
}
.mb-9 {
  margin-bottom: 5rem !important;
}
.mb-auto {
  margin-bottom: auto !important;
}
.py-8 {
  padding-bottom: 4.5rem !important;
  padding-top: 4.5rem !important;
}
.py-9 {
  padding-bottom: 5rem !important;
  padding-top: 5rem !important;
}
@media (min-width: 576px) {
  .mb-sm-8 {
    margin-bottom: 4.5rem !important;
  }
  .mb-sm-9 {
    margin-bottom: 5rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .py-sm-8 {
    padding-bottom: 4.5rem !important;
    padding-top: 4.5rem !important;
  }
  .py-sm-9 {
    padding-bottom: 5rem !important;
    padding-top: 5rem !important;
  }
}
@media (min-width: 768px) {
  .mb-md-8 {
    margin-bottom: 4.5rem !important;
  }
  .mb-md-9 {
    margin-bottom: 5rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .py-md-8 {
    padding-bottom: 4.5rem !important;
    padding-top: 4.5rem !important;
  }
  .py-md-9 {
    padding-bottom: 5rem !important;
    padding-top: 5rem !important;
  }
}
@media (min-width: 992px) {
  .mb-lg-8 {
    margin-bottom: 4.5rem !important;
  }
  .mb-lg-9 {
    margin-bottom: 5rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .py-lg-8 {
    padding-bottom: 4.5rem !important;
    padding-top: 4.5rem !important;
  }
  .py-lg-9 {
    padding-bottom: 5rem !important;
    padding-top: 5rem !important;
  }
}
@media (min-width: 1200px) {
  .mb-xl-8 {
    margin-bottom: 4.5rem !important;
  }
  .mb-xl-9 {
    margin-bottom: 5rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .py-xl-8 {
    padding-bottom: 4.5rem !important;
    padding-top: 4.5rem !important;
  }
  .py-xl-9 {
    padding-bottom: 5rem !important;
    padding-top: 5rem !important;
  }
}
@media (min-width: 1400px) {
  .mb-xxl-8 {
    margin-bottom: 4.5rem !important;
  }
  .mb-xxl-9 {
    margin-bottom: 5rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .py-xxl-8 {
    padding-bottom: 4.5rem !important;
    padding-top: 4.5rem !important;
  }
  .py-xxl-9 {
    padding-bottom: 5rem !important;
    padding-top: 5rem !important;
  }
}

.bsb-blockquote-icon {
  --bsb-blockquote-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 fill=%27currentColor%27 class=%27bi bi-quote%27%3E%3Cpath d=%27M12 12a1 1 0 0 0 1-1V8.558a1 1 0 0 0-1-1h-1.388c0-.351.021-.703.062-1.054.062-.372.166-.703.31-.992.145-.29.331-.517.559-.683.227-.186.516-.279.868-.279V3c-.579 0-1.085.124-1.52.372a3.322 3.322 0 0 0-1.085.992 4.92 4.92 0 0 0-.62 1.458A7.712 7.712 0 0 0 9 7.558V11a1 1 0 0 0 1 1h2Zm-6 0a1 1 0 0 0 1-1V8.558a1 1 0 0 0-1-1H4.612c0-.351.021-.703.062-1.054.062-.372.166-.703.31-.992.145-.29.331-.517.559-.683.227-.186.516-.279.868-.279V3c-.579 0-1.085.124-1.52.372a3.322 3.322 0 0 0-1.085.992 4.92 4.92 0 0 0-.62 1.458A7.712 7.712 0 0 0 3 7.558V11a1 1 0 0 0 1 1h2Z%27/%3E%3C/svg%3E");
  --bsb-blockquote-icon-opacity: 0.1;
  position: relative;
  z-index: 1;
}
.bsb-blockquote-icon.bsb-blockquote-icon-2 {
  --bsb-blockquote-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 fill=%27currentColor%27 class=%27bi bi-chat-quote%27%3E%3Cpath d=%27M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894zm-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z%27/%3E%3Cpath d=%27M7.066 6.76A1.665 1.665 0 0 0 4 7.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 0 0 .6.58c1.486-1.54 1.293-3.214.682-4.112zm4 0A1.665 1.665 0 0 0 8 7.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 0 0 .6.58c1.486-1.54 1.293-3.214.682-4.112z%27/%3E%3C/svg%3E");
}
.bsb-blockquote-icon:before {
  background-image: var(--bsb-blockquote-icon);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  height: 64px;
  left: -1rem;
  opacity: var(--bsb-blockquote-icon-opacity);
  position: absolute;
  top: -1rem;
  width: 64px;
  z-index: -1;
}

/* Marquee */
.marquee-container {
  display: flex;
  align-items: center;
  background: #b81002;
  overflow: hidden;
}

.marquee-container a {
  text-decoration: none;
}

.marquee {
  font-size: 20px;
  line-height: 1.3;
  font-family: sans-serif;
  padding-top: 8px;
  color: #fff;
  white-space: nowrap;
  animation: marquee 50s infinite linear; /* notice the infinite */
}

.marquee:after {
  content: "Jetzt anmelden - Jetzt anmelden - Jetzt anmelden - Jetzt anmelden Jetzt anmelden - Jetzt anmelden - Jetzt anmelden - Jetzt anmelden - Jetzt anmelden - Jetzt anmelden - Jetzt anmelden";
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Initial state of the navbar */
.navbar-custom {
  background-color: transparent;
  transition: background-color 0.5s ease;
}

/* Navbar background when scrolled */
.navbar-custom.scrolled {
  background-color: #b81002; /* Bootstrap's primary color */
}

.scrolled .navbar-image {
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
}
.navbar-image {
  opacity: 0;
  height: 65px;
  transition: opacity 0.5s ease-in-out;
}

.offset-scroll {
  margin-top: -19px;
  padding-top: 19px;
}

/* SurveyJS */
.sd-container-modern {
  background-color: #fff;
}

h4 {
  font-weight: 300 !important;
}

#btn-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: none;
  padding: 0px;
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
}

.cst_link a {
  color: #b81002 !important;
  text-decoration: none;
}

.cst_font {
  font-family: "Helvetica";
  text-transform: uppercase;
}

.arrow-container {
  width: 25px;
  /* cubic-bezier-easing = sine / mehr Beispiele: https://easings.net/ */
  animation: bounce 1600ms infinite cubic-bezier(0.445, 0.05, 0.55, 0.95);
  cursor: pointer;
  height: 20px;
}

.arrow-down {
  height: 6px;
  background: white;
  transform: rotate(45deg);
  transform-origin: 0% 0%;
  border-radius: 5px;
}
.arrow-down:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 100%;
  border-radius: 5px;
  background: white;
  transform: rotate(-90deg);
  transform-origin: 0% 100%;
}

@keyframes bounce {
  50% {
    transform: translateY(-15px);
  }
}

.border-primary {
  border-bottom: solid 1px #b81002 !important;
}

.line-under {
  position: relative;
  display: inline-block;
}

.line-under::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px; /* Adjust this value to control the space between text and line */
  width: 60px; /* Adjust this value to set the line width */
  height: 8px; /* Adjust this value for the thickness of the line */
  background-color: #b81002; /* Set the color of the line */
}
.centered-section {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
