/* COLORS */
/* FONTS */
#node-leistung #intro {
  padding-top: 130px;
  position: relative;
  z-index: 50;
  background-color: #111111;
}
#node-leistung #intro::before {
  content: '';
  width: 100%;
  height: 200px;
  background-color: #111111;
  position: absolute;
  bottom: 100%;
  left: 0;
}
#node-leistung #intro .introwrapper .icon {
  height: 120px;
  width: 120px;
  margin-bottom: 30px;
}
#node-leistung #intro .introwrapper .icon .lottie {
  height: 100%;
  width: 100%;
}
#node-leistung #intro .introwrapper .icon .lottie svg {
  width: 100%;
}
#node-leistung #intro .introwrapper .h1 {
  color: #fff;
}
#node-leistung #intro .introwrapper .h1 strong {
  color: #ef0003;
}
#node-leistung #intro .introwrapper .text {
  color: #fff;
  margin-bottom: 50px;
  opacity: 0;
  transform: translateY(50px);
  transition: 0s;
  transition-delay: 0s;
  display: block;
}
#node-leistung #intro .introwrapper .text strong {
  color: #ef0003;
}
#node-leistung #intro .introwrapper .h1.animate + .text {
  transition: opacity 0.5s ease, transform 0.5s ease;
  transition-delay: 1s;
  transform: translateY(0);
  opacity: 1;
}
#node-leistung #intro .introwrapper .button-wrapper {
  width: 100%;
  margin-bottom: 50px;
  display: block;
  opacity: 0;
  transform: translateY(50px);
}
#node-leistung #intro .introwrapper .button {
  width: 100%;
}
#node-leistung #intro .introwrapper .button.tf-button {
  margin-top: 10px;
}
#node-leistung #intro .introwrapper .h1.animate + .text + .button-wrapper {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.5s ease 1.5s, transform 0.5s ease 1.5s, color 0.5s ease, background-color 0.5s ease;
}
#node-leistung #intro .pin-spacer {
  background-color: #fff;
}
#node-leistung #intro .video {
  background-color: #fff;
  height: 600px;
  width: 100%;
  position: relative;
  padding-bottom: 150px;
}
#node-leistung #intro .video::before {
  content: '';
  width: 100%;
  height: 75px;
  background-color: #111111;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#node-leistung #intro .video .video-wrapper {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 10px;
  width: 0%;
  height: calc(100% - 150px);
  overflow: hidden;
  z-index: 10;
}
#node-leistung #intro .video .video-wrapper video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.5s ease;
}
#node-leistung #intro .video .video-wrapper video.show {
  opacity: 1;
}
#node-leistung #vorteile {
  background-color: #fff;
  border-bottom-right-radius: 15px;
  border-bottom-left-radius: 15px;
  padding: 200px 0 100px 0;
  z-index: 40;
}
#node-leistung #vorteile .h4 strong {
  color: #ef0003;
}
#node-leistung #vorteile .vorteile {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 50px;
}
#node-leistung #vorteile .vorteile .vorteil {
  background-color: #ef0003;
  border-radius: 10px;
  align-items: center;
  gap: 20px;
  display: flex;
  padding: 20px;
}
#node-leistung #vorteile .vorteile .vorteil .icon {
  height: 40px;
  width: 40px;
  flex-shrink: 0;
}
#node-leistung #vorteile .vorteile .vorteil .titel {
  font-weight: 700;
  color: #fff;
}
#node-leistung #leistungen {
  z-index: 30;
  background-color: #ef0003;
  border-bottom-right-radius: 15px;
  border-bottom-left-radius: 15px;
  padding: 200px 0 100px 0;
}
#node-leistung #leistungen .h1 {
  color: #fff;
}
#node-leistung #leistungen .h1.animated strong {
  color: #111111;
}
#node-leistung #leistungen .leistungen .leistung {
  margin-bottom: 80px;
}
#node-leistung #leistungen .leistungen .leistung .details .details-wrapper {
  background-color: #fff;
  padding: 20px 10px;
  border-radius: 10px;
}
#node-leistung #leistungen .leistungen .leistung .detailleistungen {
  display: none;
}
#node-leistung #leistungen .leistungen .leistung .titel {
  text-align: center;
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  font-weight: 700;
  margin-bottom: 10px;
}
#node-leistung #leistungen .leistungen .leistung .text {
  text-align: center;
  margin-bottom: 10px;
}
#node-leistung #leistungen .leistungen .leistung .price-reduced {
  background-color: #ef0003;
  border-radius: 10px;
  padding: 20px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  display: flex;
  align-items: baseline;
  justify-content: center;
  transition: color 0.5s ease;
  position: relative;
  z-index: 20;
}
#node-leistung #leistungen .leistungen .leistung .price-reduced strong {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
}
#node-leistung #leistungen .leistungen .leistung .price-reduced .icon-info {
  color: #fff;
  transition: color 0.5s ease;
  font-size: 14px;
  margin-left: 5px;
}
#node-leistung #leistungen .leistungen .leistung a.price-reduced:hover {
  color: #111111;
}
#node-leistung #leistungen .leistungen .leistung a.price-reduced:hover .icon-info {
  color: #111111;
}
#node-leistung #leistungen .leistungen .leistung .price {
  margin-top: -10px;
  text-align: center;
  font-weight: 700;
  padding: 25px 20px 15px 20px;
  background-color: #ccc;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  position: relative;
  z-index: 10;
}
#node-leistung #leistungen .leistungen .leistung .price-info {
  font-size: var(--font-size-smaller);
  line-height: var(--line-height-smaller);
  color: #fff;
  margin-top: 10px;
  margin-bottom: 20px;
}
#node-leistung #leistungen .leistungen .leistung .price-info + .price-info {
  margin-top: -15px;
}
#node-leistung #leistungen .leistungen .leistung .button {
  width: 100%;
  margin-top: 50px;
}
#node-leistung #leistungen #extras {
  margin-bottom: 100px;
}
#node-leistung #leistungen #extras .h4 {
  color: #fff;
}
#node-leistung #leistungen #extras .extras {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 50px;
}
#node-leistung #leistungen #extras .extras .extra {
  background-color: #fff;
  padding: 20px;
  border-radius: 10px;
}
#node-leistung #leistungen #extras .extras .extra .titel {
  font-weight: 700;
  margin-bottom: 10px;
}
#node-leistung #leistungen #extras .extras .extra .text {
  margin-bottom: 10px;
  word-break: break-word;
  hyphens: auto;
}
#node-leistung #leistungen #extras .extras .extra .price {
  font-weight: 700;
  color: #ef0003;
}
#node-leistung #leistungen #extras .button {
  width: 100%;
}
#node-leistung #leistungen #paket {
  margin: 0 10px 0px 10px;
  background-color: #111111;
  border-radius: 10px;
  padding: 50px 20px;
}
#node-leistung #leistungen #paket .h1.animated strong {
  color: #ef0003;
}
#node-leistung #leistungen #paket .leistung .details .details-wrapper {
  background-color: #fff;
  padding: 20px 10px;
  border-radius: 5px;
}
#node-leistung #leistungen #paket .leistung .details .details-wrapper .titel {
  font-weight: 700;
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  margin-bottom: 10px;
  text-align: center;
}
#node-leistung #leistungen #paket .leistung .details .details-wrapper .text {
  text-align: center;
  margin-bottom: 10px;
}
#node-leistung #leistungen #paket .leistung .details .details-wrapper .price-reduced {
  background-color: #ef0003;
  border-radius: 10px;
  padding: 20px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  display: flex;
  align-items: baseline;
  justify-content: center;
  transition: color 0.5s ease;
  position: relative;
  z-index: 20;
}
#node-leistung #leistungen #paket .leistung .details .details-wrapper .price-reduced strong {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
}
#node-leistung #leistungen #paket .leistung .details .details-wrapper .price-reduced .icon-info {
  color: #fff;
  transition: color 0.5s ease;
  font-size: 14px;
  margin-left: 5px;
}
#node-leistung #leistungen #paket .leistung .details .details-wrapper .price {
  margin-top: -10px;
  text-align: center;
  font-weight: 700;
  padding: 25px 20px 15px 20px;
  background-color: #ccc;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  position: relative;
  z-index: 10;
}
#node-leistung #leistungen #paket .leistung .details .details-wrapper .text-paket-info {
  padding: 30px 10px 0 10px;
  text-align: center;
}
#node-leistung #leistungen #paket .leistung .details .details-wrapper .text-paket-info strong {
  color: #ef0003;
}
#node-leistung #leistungen #paket .leistung .price-info {
  font-size: var(--font-size-smaller);
  line-height: var(--line-height-smaller);
  color: #fff;
  margin-top: 10px;
  margin-bottom: 20px;
}
#node-leistung #leistungen #paket .leistung .price-info + .price-info {
  margin-top: -15px;
}
#node-leistung #leistungen #paket .leistung .button {
  display: none;
}
#node-leistung #leistungen #paket .leistung .detailleistungen {
  margin-top: 50px;
}
#node-leistung #leistungen #paket .leistung .detailleistungen .detailleistung {
  border-top: 1px solid #fff;
  padding: 20px 0;
  display: flex;
  align-items: center;
  gap: 20px;
}
#node-leistung #leistungen #paket .leistung .detailleistungen .detailleistung .icon {
  height: 50px;
  width: 50px;
}
#node-leistung #leistungen #paket .leistung .detailleistungen .detailleistung .titel {
  font-weight: 700;
  color: #fff;
}
#node-leistung #leistungen #paket .leistung .detailleistungen + .text-paket {
  border-bottom: none;
}
#node-leistung #leistungen #paket .leistung .text-paket {
  color: #fff;
  padding: 20px 0;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  margin-top: 50px;
}
#node-leistung #leistungen #paket .leistung .text-paket strong {
  color: #ef0003;
}
#node-leistung #leistungen #paket + #extras {
  margin-top: 50px;
}
#node-leistung #benefits {
  z-index: 20;
  background-color: #111111;
  border-bottom-right-radius: 15px;
  border-bottom-left-radius: 15px;
  padding: 200px 0 100px 0;
  position: relative !important;
  height: auto !important;
  padding-top: 100px;
  min-height: unset !important;
}
#node-leistung #benefits::before {
  content: '';
  width: 100%;
  height: 50px;
  background-color: #111111;
  z-index: 0;
  position: absolute;
  bottom: 100%;
  left: 0;
}
#node-leistung #benefits .h4 {
  color: #fff;
  margin-bottom: 100px;
}
#node-leistung #benefits .h4.animated strong {
  color: #ef0003;
}
#node-leistung #benefits .benefits {
  padding-bottom: 50px;
}
#node-leistung #benefits .benefits .benefit {
  background-color: #fff;
  border-radius: 10px;
  padding: 30px;
  height: auto;
  display: flex;
  flex-direction: column;
}
#node-leistung #benefits .benefits .benefit .icon {
  height: 70px;
  width: 70px;
  margin-bottom: 30px;
}
#node-leistung #benefits .benefits .benefit .titel {
  font-weight: 700;
  margin-bottom: 20px;
  color: #ef0003;
}
#node-leistung #benefits .benefits .benefit .text {
  margin-bottom: 50px;
}
#node-leistung #benefits .benefits .benefit .button {
  width: 100%;
  background-color: #fff;
  margin-top: auto;
}
#node-leistung #benefits .benefits .swiper-navigation .swiper-pagination .swiper-pagination-bullet {
  background-color: #fff;
}
#node-leistung #benefits .benefits .swiper-navigation .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #ef0003;
}
#node-leistung #kontakt {
  z-index: 10;
  background-color: #fff;
  border-bottom-right-radius: 15px;
  border-bottom-left-radius: 15px;
  position: relative !important;
  height: auto !important;
  padding-top: 100px;
  min-height: unset !important;
}
#node-leistung #kontakt::before {
  content: '';
  width: 100%;
  height: 50px;
  background-color: #fff;
  z-index: 0;
  position: absolute;
  bottom: 100%;
  left: 0;
}
/* <= 374px */
@media screen and (max-width: 374px) {
  #node-leistung #intro .video {
    height: 400px;
  }
}
