﻿@charset "UTF-8";
/* +--- Import der Variablen + Base SCSS Datei ---+ */
/* +--- Variablen ---+ */
/* +--- Navigation + Footer ---+ */
/* +--- (in alter Schreibweise, sodass sie geändert werden können) ---+ */
:root {
  --nav-height: 135px;
  --footer-height: 540px;
}

/* +--- Farben ---+ */
/* +--- Form ---+ */
/* +--- Media Breakpoints ---+ */
/* +--- (NICHT ANFASSEN!) ---+ */
/* +--- Schriftarten ---+ */
@font-face {
  font-family: "OpenSans-Regular";
  src: url("fonts/OpenSans-Regular/font.woff") format("woff"), url("fonts/OpenSans-Regular/font.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "OpenSans-Bold";
  src: url("fonts/OpenSans-Bold/font.woff") format("woff"), url("fonts/OpenSans-Bold/font.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Michelin-Regular";
  src: url("fonts/Michelin-Regular/font.woff") format("woff"), url("fonts/Michelin-Regular/font.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Michelin-Bold";
  src: url("fonts/Michelin-Bold/font.woff") format("woff"), url("fonts/Michelin-Bold/font.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Michelin-Black";
  src: url("fonts/Michelin-Black/font.woff") format("woff"), url("fonts/Michelin-Black/font.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
/* +--- Import der Variablen SCSS Datei ---+ */
/* +--- Variablen ---+ */
/* +--- Navigation + Footer ---+ */
/* +--- (in alter Schreibweise, sodass sie geändert werden können) ---+ */
:root {
  --nav-height: 135px;
  --footer-height: 540px;
}

/* +--- Farben ---+ */
/* +--- Form ---+ */
/* +--- Media Breakpoints ---+ */
/* +--- (NICHT ANFASSEN!) ---+ */
/* +--- Schriftarten ---+ */
@font-face {
  font-family: "OpenSans-Regular";
  src: url("fonts/OpenSans-Regular/font.woff") format("woff"), url("fonts/OpenSans-Regular/font.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "OpenSans-Bold";
  src: url("fonts/OpenSans-Bold/font.woff") format("woff"), url("fonts/OpenSans-Bold/font.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Michelin-Regular";
  src: url("fonts/Michelin-Regular/font.woff") format("woff"), url("fonts/Michelin-Regular/font.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Michelin-Bold";
  src: url("fonts/Michelin-Bold/font.woff") format("woff"), url("fonts/Michelin-Bold/font.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Michelin-Black";
  src: url("fonts/Michelin-Black/font.woff") format("woff"), url("fonts/Michelin-Black/font.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
/* +--- Import der Variablen SCSS Datei ---+ */
/* +--- Variablen ---+ */
/* +--- Navigation + Footer ---+ */
/* +--- (in alter Schreibweise, sodass sie geändert werden können) ---+ */
:root {
  --nav-height: 135px;
  --footer-height: 540px;
}

/* +--- Farben ---+ */
/* +--- Form ---+ */
/* +--- Media Breakpoints ---+ */
/* +--- (NICHT ANFASSEN!) ---+ */
/* +--- Schriftarten ---+ */
@font-face {
  font-family: "OpenSans-Regular";
  src: url("fonts/OpenSans-Regular/font.woff") format("woff"), url("fonts/OpenSans-Regular/font.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "OpenSans-Bold";
  src: url("fonts/OpenSans-Bold/font.woff") format("woff"), url("fonts/OpenSans-Bold/font.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Michelin-Regular";
  src: url("fonts/Michelin-Regular/font.woff") format("woff"), url("fonts/Michelin-Regular/font.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Michelin-Bold";
  src: url("fonts/Michelin-Bold/font.woff") format("woff"), url("fonts/Michelin-Bold/font.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Michelin-Black";
  src: url("fonts/Michelin-Black/font.woff") format("woff"), url("fonts/Michelin-Black/font.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
/* --- Formular --- */
#form {
  /* +--- Form Input Control ---+ */
  /* +--- Kalender ---+ */
  /* +--- Radio Styles ---+ */
  /*> .radio-item {*/
  /* Add if not using autoprefixer */
  /*-webkit-appearance: none;
  appearance: none;*/
  /* For iOS < 15 to remove gradient background */
  /*background-color: #fff;*/
  /* Not removed via appearance */
  /*margin: 0;
      align-items: center;

      &:hover {
          cursor: pointer;
      }

      &:focus-visible {
          outline: 2px solid $clr-green;
          border-radius: 3px;
      }

      .radio-style {
          width: 20px;
          border-radius: 100%;
          height: 20px;
          display: block;
          border: 4px solid transparent;
          outline: 2px solid black;
          background-color: white;
          aspect-ratio: 1/1 !important;
          transition: all .3s ease-in-out;

          &:hover {
              cursor: pointer;
          }

          &:checked,
          &:focus {
              background-color: var(--green-clr) !important;
              width: 20px;
              height: 20px;
              display: block;
              border: 4px solid white;
              outline: 2px solid black !important;
              background-color: green;
              background-size: contain;
              background-repeat: no-repeat;
              background-position-y: 5px;
          }

          .radio-text {
              align-self: end;
              margin-left: 10px;
          }
      }
  }*/
  /* +--- Upload ---+ */
}
#form .form-control {
  align-self: center;
  transition: all 0.3s ease-in-out;
  color: #212529;
}
#form .form-control input {
  background-color: white !important;
}
#form .form-control::placeholder {
  color: #797979 !important;
}
#form .form-control:not(.k-input-inner) {
  line-height: 1.5;
  background-color: white !important;
  border-radius: 0px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  height: 45px;
  color: #797979;
  border: 2px solid white;
  padding: 0rem 0rem 0rem 1rem;
  border: 1px solid black;
}
#form .form-control:not(.k-input-solid) {
  padding-top: 0.4rem;
}
#form .form-control:focus {
  border-color: #30EA03 !important;
  background-color: #30EA03;
  box-shadow: none;
}
#form .form-control:focus:not(.k-input-inner) {
  box-shadow: inset -2px -2px 2px rgba(0, 0, 0, 0.1), inset 3px 3px 3px rgba(0, 0, 0, 0.2);
}
#form .k-calendar .k-calendar-td.k-selected .k-link {
  background-color: #30EA03 !important;
  border-color: #30EA03 !important;
  box-shadow: none !important;
}
#form .k-calendar .k-calendar-footer > .k-button-flat-primary {
  color: #30EA03 !important;
  font-weight: bold !important;
}
#form .k-upload {
  border: none;
  padding-left: 0;
  border-radius: 20px !important;
}
#form .k-upload > .k-upload-dropzone {
  flex-direction: column;
  padding: 0 !important;
  border-radius: 20px !important;
}
#form .k-upload > .k-upload-dropzone > .k-upload-button-wrap {
  border-radius: 20px !important;
  width: 100% !important;
  border-radius: 0;
}
#form .k-upload > .k-upload-dropzone > .k-upload-button-wrap > .k-upload-button {
  width: 100%;
  background-color: white;
  border-radius: 20px;
  border: 2px solid #000;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}
#form .k-upload > .k-upload-dropzone > .k-upload-button-wrap > .k-upload-button:hover, #form .k-upload > .k-upload-dropzone > .k-upload-button-wrap > .k-upload-button:focus-visible {
  /*background-color: $clr-forth !important;*/
  border: 2px solid #000;
}
#form .k-upload > .k-upload-dropzone > .k-upload-button-wrap > .k-upload-button > .k-button-text {
  color: #30EA03;
  font-family: Loerrach_Heavy;
}
#form .k-upload > .k-upload-dropzone > .k-upload-button-wrap > .k-upload-button > .k-button-text > .k-button-text-inner {
  margin-top: 0.5rem;
  color: #30EA03;
  font-size: 120%;
  display: block;
}
#form .k-upload > .k-upload-dropzone > .k-upload-button-wrap > .k-upload-button > .k-button-text .upload_arrow {
  width: 80px;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
#form .k-upload > .k-upload-dropzone > .k-upload-button-wrap > .k-upload-files {
  border-bottom: 5px;
}
#form .k-upload > .k-upload-button {
  background-color: red !important;
}

/* +--- Radio Styles ---+ */
.radio-item {
  align-items: center;
}
.radio-item:hover {
  cursor: pointer;
}
.radio-item:focus :focus-visible {
  outline: 2px solid #30EA03;
  border-radius: 3px;
}
.radio-item .radio-style {
  /* Add if not using autoprefixer */
  -webkit-appearance: none;
  appearance: none;
  /* For iOS < 15 to remove gradient background */
  background-color: #fff;
  /* Not removed via appearance */
  margin: 0;
  width: 20px;
  border-radius: 100%;
  height: 20px;
  display: block;
  border: 4px solid transparent;
  outline: 2px solid black;
  background-color: white;
  aspect-ratio: 1/1 !important;
  transition: all 0.3s ease-in-out;
}
.radio-item .radio-style:hover {
  cursor: pointer;
}
.radio-item .radio-style:checked, .radio-item .radio-style:focus {
  background-color: #30EA03 !important;
  width: 20px;
  height: 20px;
  display: block;
  border: 4px solid white;
  outline: 2px solid black !important;
  background-color: green;
  background-size: contain;
  background-repeat: no-repeat;
  background-position-y: 5px;
}
.radio-item .radio-style:focus-visible {
  outline: 2px solid #30EA03;
  border-radius: 3px;
}
.radio-item .radio-text {
  align-self: end;
  margin-left: 10px;
}

/*@font-face {
    font-family: "new-hero";
    src: url('../fonts/New_Hero_Regular/NewHeroAccess-Regular.woff') format('woff'), url('../fonts/New_Hero_Regular/NewHeroAccess-Regular.woff2') format('woff2');
}*/
@font-face {
  font-family: "new-hero";
  src: url("../fonts/New_Hero_Medium/NewHeroAccess-Medium.woff") format("woff"), url("../fonts/New_Hero_Medium/NewHeroAccess-Medium.woff2") format("woff2");
}
:root {
  --red-clr: red;
  --footer-height: 210px;
}

#main {
  margin-top: 100px;
}

html {
  font-size: 14px;
}

.scroll-element {
  scroll-margin-top: 80px;
}

html {
  position: relative;
  min-height: 100%;
}

a {
  color: black;
  text-decoration: none;
}

body {
  margin-bottom: 60px;
  font-family: "new-hero", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 24px;
  padding-bottom: var(--footer-height);
}

#navigation-skip {
  position: absolute;
  left: 2vw;
  z-index: -1;
  background-color: white;
  padding: 1rem;
  border-radius: 10px;
  border: 2px solid white;
  top: 2vh;
  display: block;
  transition: all 0.3s ease-in-out;
  opacity: 0;
}

#navigation-skip:focus-visible {
  border-color: #30EA03;
  outline: 2px solid #30EA03;
  z-index: 9999;
  opacity: 1;
}

@media screen and (max-width: 1200px) {
  #navigation-skip {
    display: none;
    visibility: hidden;
  }
}
.validation-summary-errors {
  color: red;
}

hr {
  height: 1px;
  color: #30EA03;
  opacity: 0.5;
}

.progress-bar {
  width: 100%;
  height: 3px;
  background: lightgray;
  bottom: 0;
  position: absolute;
  opacity: 0;
}

.progress-line {
  z-index: 2;
  width: 0%;
  height: 3px;
  background: #30EA03;
  bottom: 0;
  position: absolute;
  opacity: 0;
}

.green-separation {
  height: 6px;
  background-color: #30EA03;
}

.custom-container {
  margin: 0 auto;
  max-width: 1500px;
  padding: 0 20px !important;
}

.heading {
  display: block;
  padding-bottom: 40px;
  position: relative;
  width: fit-content;
  text-transform: uppercase;
}

.heading::after {
  height: 10px;
  width: 10000px;
  bottom: 29px;
  content: "";
  background-color: #30EA03;
  position: absolute;
  right: 0;
  z-index: 1;
}

/* --- Verlinkungen --- */
.green-link {
  text-decoration: underline;
  color: #30EA03 !important;
  box-shadow: inset 0 0 0 0 black;
  color: #54b3d6;
  padding: 0 0.25rem;
  margin: 0 -0.25rem;
  transition: color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.green-link:hover, .green-link:focus, .green-link:active {
  color: black !important;
  box-shadow: inset 300px 0 0 0 white;
  cursor: pointer;
}

.black-link {
  text-decoration: underline;
  color: #212529 !important;
  box-shadow: inset 0 0 0 0 #30EA03;
  color: #54b3d6;
  padding: 0 0.25rem;
  margin: 0 -0.25rem;
  transition: color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.black-link:hover, .black-link:focus, .black-link:active {
  color: #212529 !important;
  box-shadow: inset 300px 0 0 0 #30EA03;
  cursor: pointer;
}

h2 {
  font-size: 3rem;
}

p {
  font-size: 1.125rem;
  line-height: 1.8rem;
}

.greencolor {
  color: #30EA03;
}

.greenback {
  background-color: #30EA03;
}

/* +--- Navbar ---+ */
.navbar-logo {
  content: url("../img/haloen-logo-white.png");
  width: 180px;
}

#mobile-nav-content {
  z-index: 2;
  background-color: white;
  width: 100%;
  position: fixed;
  padding-top: 5.5rem;
  position: fixed;
  top: -100%;
  transition: ease-in-out 0.2s;
  padding-inline: 0;
}

nav {
  position: fixed !important;
  top: 0;
  width: 100%;
  z-index: 20;
  opacity: 1;
  transition: 0.4s;
  border: none;
}

.k-list-item.k-selected, .k-selected.k-list-optionlabel, .k-list-custom-value.k-selected {
  color: #212529 !important;
  background-color: #30EA03 !important;
}

.nav-link {
  color: white !important;
  position: relative;
  font-weight: 600;
  font-size: 120%;
}

.nav-link:after {
  background-color: #30EA03;
  height: 2px;
  width: 0;
  left: 10px;
  bottom: 5px;
  position: absolute;
  content: "";
}

.nav-link:hover::after {
  width: calc(100% - 20px);
  transition: 0.4s;
}

.nav-full-white {
  background-color: white;
}

.nav-full-white .progress-bar, .nav-full-white .progress-line {
  opacity: 1;
}

.nav-full-white .navbar-logo {
  content: url("../img/haloen-logo-black.png");
}

.nav-full-white .nav-link {
  color: black !important;
}

.nav-full-white .nav-link::before {
  background-color: black;
}

#navbar-toggler {
  width: 4rem;
  height: 4rem;
  background: transparent;
  border: none;
  position: relative;
  padding: 0;
}

#navbar-toggler:focus {
  box-shadow: none;
}

.nav-toggler-line {
  position: absolute;
  width: 70%;
  left: 50%;
  height: 7px;
  transform: translateX(-50%);
  transition: all 0.4s;
}

#navTogglerLine1 {
  background-color: white;
  top: 24%;
}

#navTogglerLine1.selected {
  top: 6%;
  transform: rotate(-45deg) translateX(-70%);
}

#navTogglerLine2 {
  background-color: #30EA03;
  top: 44%;
}

#navTogglerLine2.selected {
  opacity: 0;
}

#navTogglerLine3 {
  background-color: white;
  top: 64%;
}

#navTogglerLine3.selected {
  top: 77%;
  transform: rotate(45deg) translateX(-70%);
}

#navTogglerLine3.selected {
  top: 73%;
  transform: rotate(45deg) translateX(-70%);
}

.nav-full-white #navTogglerLine1 {
  background-color: black;
}

.nav-full-white #navTogglerLine3 {
  background-color: black;
}

#mobile-nav-content.show {
  top: 0% !important;
}

/* +--- Styling Video Container ---+ */
#start-container {
  color: #fff;
  max-height: 1200px;
  position: relative;
}

.header-btn {
  color: black !important;
}

.video:focus-visible {
  outline: 10px solid #30EA03;
  opacity: 0.5;
}

#video-start-stop-btn {
  display: none;
  position: absolute;
  left: 50%;
  z-index: -1;
  background-color: white;
  padding: 1rem;
  border-radius: 10px;
  border: 2px solid #30EA03;
  bottom: 3vh;
  display: block;
  transition: all 0.3s ease-in-out;
  transform: translateX(-50%);
  color: black;
}

#video-start-stop-btn.shown {
  display: block;
  z-index: 99;
}

@media screen and (max-width: 992px) {
  #video-start-stop-btn {
    display: none !important;
    z-index: -99 !important;
    visibility: hidden !important;
  }
}
/*#start-container::before {
    height: 79px;
    width: 0;
    content: "";
    display: block;
    position: absolute;
    background-color: $clr-green;
    bottom: -79px;
    left: 0;
    width: 60%;
    transition: .4s;
    transition-delay: 0s;
    transition-delay: .2s;
}

#start-container::after {
    height: 149px;
    width: 0;
    content: "";
    display: block;
    position: absolute;
    background-color: $clr-green;
    bottom: 0;
    left: 60%;
    z-index: 3;
    opacity: .75;
    width: 40%;
    transition: .4s;
}*/
.scroll-for-more::before {
  display: block;
  position: absolute;
  content: "";
  height: 20px;
  width: 10px;
  bottom: -50px;
  left: calc(80% + 40px);
  background-image: url(../img/ellipse-primary.svg);
  background-size: 5px;
  background-position: 50% -150%;
  background-repeat: no-repeat;
  opacity: 1;
  animation: animatedBackground 1.6s linear infinite alternate;
  animation-direction: alternate;
  animation-direction: normal;
  transition: 0.4s;
}

.scroll-for-more::after {
  display: block;
  position: absolute;
  content: "Scroll für mehr";
  font-weight: 400;
  height: 20px;
  font-size: 1rem;
  bottom: -50px;
  color: #000;
  left: calc(80% + 55px);
  width: 130px;
  opacity: 1;
  transition: 0.4s;
}

@keyframes animatedBackground {
  0% {
    background-position: 50% -150%;
  }
  10% {
    background-position: 50% 50%;
  }
  90% {
    background-position: 50% 50%;
  }
  100% {
    background-position: 50% 150%;
  }
}
#video-container {
  height: 100%;
  width: 100%;
  position: relative;
}

#video-container video {
  height: 100% !important;
  width: 100% !important;
  z-index: 1;
  position: relative;
  pointer-events: none;
  object-fit: cover;
}

.scroll-for-more {
  height: 100%;
  width: 100%;
  position: relative;
}

.video-div::before {
  height: 60%;
  width: 100%;
  content: "";
  display: block;
  position: absolute;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.6), transparent);
  top: 0;
  left: 0;
  z-index: 2;
}

#video-container .decoration {
  width: 156px;
  height: 709px;
  bottom: 0;
  right: 0;
  z-index: 3;
  display: block;
  position: absolute;
}

#video-container .decoration .mobile {
  display: none;
}

#video-container .text {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  z-index: 2;
}

#video-container h1 {
  font-size: 6.25rem;
  font-weight: 400;
  color: #fff;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
}

#video-container p {
  line-height: 1.8rem;
  font-size: 1.45rem;
  margin-bottom: 40px;
  color: #fff;
  max-width: 650px;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
}

@media screen and (min-width: 2200px) {
  #start-container {
    margin-bottom: 200px;
  }
}
@media screen and (max-width: 1200px) {
  #start-container::after {
    height: 100px;
  }
  #video-container .decoration .desktop {
    display: none;
  }
  #video-container .decoration .mobile {
    display: block;
  }
  #video-container .decoration {
    width: 22px;
    height: 448px;
    right: 0;
  }
  #video-container h1 {
    font-size: 4.5rem;
  }
  #video-container .text {
    top: 60%;
  }
  #video-container p {
    margin-bottom: 1rem;
  }
  .scroll-for-more::after, .scroll-for-more::before {
    bottom: -30px;
  }
}
@media screen and (max-width: 768px) {
  #start-container {
    min-height: 500px;
    height: calc(100vh - 40px);
  }
  #start-container::before {
    height: 40px;
    bottom: -40px;
  }
  #start-container::after {
    height: 66px;
  }
  .scroll-for-more::before {
    left: calc(60% + 10px);
    bottom: -30px;
  }
  .scroll-for-more::after {
    left: calc(60% + 25px);
    bottom: -30px;
  }
  #video-container .text {
    position: absolute;
    top: auto;
    transform: none;
    bottom: 3vh;
  }
  #video-container h1 {
    font-size: 2.2rem;
  }
  #video-container {
    height: 50vh;
  }
  #start-container {
    min-height: 200px;
    height: auto;
  }
  #video-container .video {
    width: 100vw !important;
    transform: translateX(-50%);
    left: 50%;
    height: 50vh;
  }
}
.greyout {
  opacity: 0.3;
}

.greyout:hover {
  opacity: 1;
  transition: 0.4s;
}

/* +--- Styling Card ---+ */
.card-content > * {
  text-decoration: none;
  color: black;
  font-size: 0.875rem;
  line-height: 1.3rem;
  color: #333f48;
}

.card-content:hover > * {
  color: #333f48;
}

.card-btn > a:focus-visible > .card-btn-inner {
  background-color: #000;
  color: #fff;
  border-radius: 10px;
  transition: 0.4s;
}

.card-content:hover .card-btn-inner {
  background-color: #000;
  color: #fff;
  border-radius: 10px;
  transition: 0.4s;
}

.card-content:hover .card-btn-inner::before {
  background-image: url(../img/arrow-right-white.svg) !important;
}

.card-content:hover .card-btn-inner::after {
  background-image: url(../img/arrow-right-white.svg) !important;
}

.card {
  height: 100%;
  border-radius: 10px;
  border: 1px solid transparent;
}

.card:hover:not(.nohover) {
  cursor: pointer;
}

.card img {
  width: 100%;
  object-fit: cover;
  border-start-end-radius: 10px;
  border-start-start-radius: 10px;
}

.card-img {
  position: relative;
}

/*.card-img::before {
    content: "";
    height: 45px;
    width: 0;
    display: block;
    position: absolute;
    background: $clr-green;
    bottom: 0;
    left: 0;
    opacity: .75;
    transition: .4s;
}*/
/*.card:hover > .card-img::before {
    width: 100%;
    transition: .4s;
}*/
.card-text {
  background-color: #f4f4f4;
  padding: 1rem;
  margin-bottom: 25px;
  position: relative;
  padding: 20px 20px 70px;
  height: 100%;
  border-end-end-radius: 10px;
  border-end-start-radius: 10px;
}

.card-date {
  font-weight: bold;
  padding-bottom: 0.4rem;
  text-align: center;
}

.card-description {
  margin-bottom: 10px;
  text-align: center;
}

.card-btn {
  left: 50%;
  bottom: 20px;
  position: absolute;
  margin-top: 30px;
  transform: translateX(-50%);
}

.card-btn-inner {
  padding: 15px 45px 10px 15px;
  background: #30EA03;
  text-decoration: none;
  color: #000;
  position: relative;
  display: inline-block;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  overflow: hidden;
  font-weight: 500;
  transition: 0.2s;
}

.card-btn-inner::before {
  position: absolute;
  display: block;
  height: 18px;
  width: 18px;
  right: 15px;
  top: calc(100% + 18px);
  content: "";
  background-image: url(../img/arrow-right-black.svg);
  background-size: 17px;
  background-position: center;
  background-repeat: no-repeat;
  transition: 0.2s;
}

.card-btn-inner::after {
  position: absolute;
  display: block;
  height: 18px;
  width: 18px;
  right: 15px;
  top: calc(50% - 9px);
  content: "";
  background-image: url(../img/arrow-right-black.svg);
  background-size: 17px;
  background-position: center;
  background-repeat: no-repeat;
  transition: 0.2s;
}

.card-btn-inner:hover.card-btn-inner::before {
  top: calc(50% - 9px);
  transition: 0.2s;
}

.card-btn-inner:hover.card-btn-inner::after {
  top: -18px;
  transition: 0.2s;
}

/* +--- Styling Kommende Aktionen ---+ */
#kommende-aktionen .decoration {
  position: absolute;
  top: 0;
}

#kommende-aktionen .decoration .mobile {
  display: none;
}

@media screen and (max-width: 1800px) {
  #kommende-aktionen .decoration .desktop {
    display: none;
  }
  #kommende-aktionen .decoration .mobile {
    display: block;
  }
}
@media screen and (max-width: 1550px) {
  #kommende-aktionen .decoration .mobile {
    display: none;
  }
}
@media screen and (max-width: 1450px) {
  #video-container .decoration {
    height: 590px;
  }
}
/* +--- Styling Side Seperator ---+ */
.side-seperator {
  position: relative;
  height: 140px;
}

.side-seperator::before {
  height: 30px;
  width: 0;
  content: "";
  display: block;
  position: absolute;
  background-color: #30EA03;
  bottom: -10px;
  left: 0;
  width: 60%;
  transition: 0.4s;
  transition-delay: 0s;
  transition-delay: 0s;
  transition-delay: 0.2s;
}

.side-seperator::after {
  height: 70px;
  width: 0;
  content: "";
  display: block;
  position: absolute;
  background-color: #30EA03;
  bottom: 20px;
  left: 60%;
  z-index: 3;
  opacity: 0.75;
  width: 40%;
  transition: 0.4s;
}

@media screen and (max-width: 768px) {
  .side-seperator {
    height: 100px;
  }
  .side-seperator::before {
    height: 30px;
    bottom: -30px;
  }
  .side-seperator::after {
    height: 50px;
    bottom: 0;
  }
}
/* +--- Styling Newsletter Sektion ---+ */
#newsletter {
  color: white;
  position: relative;
  padding-bottom: 7rem !important;
}

#newsletter::before {
  height: 30px;
  width: 0;
  content: "";
  display: block;
  position: absolute;
  background-color: #30ea03;
  bottom: -30px;
  left: 0;
  width: 60%;
  transition: 0.4s;
  transition-delay: 0s;
  transition-delay: 0s;
  transition-delay: 0s;
  transition-delay: 0.2s;
}

#newsletter::after {
  height: 70px;
  width: 0;
  content: "";
  display: block;
  position: absolute;
  background-color: #30ea03;
  bottom: 0;
  left: 60%;
  z-index: 3;
  opacity: 0.75;
  width: 40%;
  transition: 0.4s;
}

input[type=text] {
  border-end-end-radius: 0 !important;
  border-start-end-radius: 0 !important;
  line-height: 2;
}

input[type=text]:focus {
  box-shadow: none;
  background-color: #e2fbdc;
  border-color: #30EA03;
}

#newsletter-btn {
  border-start-end-radius: 0.25rem !important;
  border-end-end-radius: 0.25rem !important;
  background-color: #30EA03;
  width: 50px;
  position: relative;
  overflow: hidden;
  border: 2px solid #30EA03;
}

#newsletter-btn:hover {
  cursor: pointer;
  background-color: #000;
}

#newsletter-btn:hover::before {
  left: calc(50% - 9px);
  transition: 0.2s;
  background-image: url(../img/senden-white.svg) !important;
}

#newsletter-btn:hover::after {
  left: calc(100% + 9px);
  transition: 0.2s;
  background-image: url(../img/senden-white.svg) !important;
}

#newsletter-btn::after {
  position: absolute;
  display: block;
  height: 18px;
  width: 18px;
  left: calc(50% - 9px);
  top: 50%;
  transform: translateY(-50%);
  content: "";
  background-image: url(../img/senden-black.svg);
  background-size: 17px;
  background-position: center;
  background-repeat: no-repeat;
  transition: 0.2s;
}

#newsletter-btn::before {
  position: absolute;
  display: block;
  height: 18px;
  width: 18px;
  top: 50%;
  transform: translateY(-50%);
  left: -50%;
  content: "";
  background-image: url(../img/senden-black.svg);
  background-size: 17px;
  background-position: center;
  background-repeat: no-repeat;
  transition: 0.2s;
}

.checkbox-label {
  font-size: 80%;
  line-height: 18px;
}

.checkbox-label:not(.newsletter-checkbox-label) {
  margin-top: 5px;
}

.checkbox-style:hover, .checkbox-label {
  cursor: pointer;
}

.checkbox-style {
  width: 25px;
  height: 25px;
  vertical-align: middle;
  -webkit-appearance: none;
  border-radius: 5px;
  outline: 2px solid transparent;
  background-size: contain;
  margin-right: 10px;
  min-width: 25px;
  min-height: 25px;
  background-repeat: no-repeat;
  background-position-x: 50%;
  background-position-y: 50%;
}

.checkbox-style:not(.newsletter-checkbox-style) {
  border: 2px solid black;
}

.newsletter-checkbox-style {
  border: 2px solid #30EA03;
}

.checkbox-style:checked {
  background-image: url(../img/check-black.svg);
  transition: 1000ms ease all;
  background-size: 80%;
  background-color: #30EA03;
}

.checkbox-style:empty {
  transition: 500ms ease all;
}

@media screen and (max-width: 768px) {
  #newsletter::after {
    height: 50px;
  }
}
/* +--- Unsere Vision ---+ */
.vision {
  border: 1px solid rgba(0, 0, 0, 0.125);
  padding-inline: 0;
  /*background-color: #f4f4f4;*/
}

.vision img {
  object-fit: cover;
  aspect-ratio: 1/1;
  width: 100%;
}

.vision-text {
  padding: 20px 20px 10px;
  text-align: center;
}

.vision-title {
  text-transform: uppercase;
  font-size: 1.5rem;
}

/* +--- Brand Seperator --+ */
#brand-seperator::before {
  bottom: 40px;
}

#brand-seperator::after {
  top: 0;
}

#brand-seperator img {
  object-fit: contain;
}

@media screen and (min-width: 1480px) {
  .headerText {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 1200px) {
  .navbar-expand .navbar-nav {
    flex-direction: column;
  }
}
@media screen and (max-width: 992px) {
  .navbar-brand {
    width: 30%;
  }
  :root {
    --footer-height: 26rem;
  }
}
@media screen and (max-width: 768px) {
  .custom-container {
    margin: 0 auto;
    padding: 0 20px !important;
  }
  h2 {
    font-size: 2rem;
  }
}
footer {
  position: absolute;
  width: 100%;
  bottom: 0;
  height: var(--footer-height);
}

footer a {
  color: #000 !important;
  width: fit-content !important;
  text-decoration: none;
  position: relative;
}

footer a:hover {
  color: black;
}

.footer-logo img {
  max-width: 200px;
}

footer a:not(.footer-logo):after {
  background-color: #30EA03;
  height: 2px;
  width: 0;
  left: 10px;
  bottom: 1px;
  position: absolute;
  content: "";
}

footer a:not(.footer-logo):hover::after {
  width: calc(100% - 20px);
  transition: 0.4s;
}

@media screen and (min-width: 1200px) {
  .navbar {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
@media screen and (max-width: 576px) {
  .navbar-logo {
    max-width: 100px;
  }
  #navbar-toggler {
    width: 3rem;
    height: 3rem;
  }
  .nav-toggler-line {
    height: 4px;
  }
  #navTogglerLine1 {
    top: 18%;
  }
  #navTogglerLine2 {
    top: 42.5%;
  }
  #navTogglerLine3 {
    top: 65%;
  }
  #navTogglerLine1.selected {
    top: 8%;
  }
  #navTogglerLine3.selected {
    top: 77%;
  }
  #video-container .text {
    bottom: 1vh;
  }
}
/* --- Abschaltseiten Header --- */
.paddingToEdge {
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 80px;
  padding-right: 80px;
}

@media screen and (min-width: 1920px) {
  #headerText h1 {
    font-size: 3.5rem !important;
  }
  #headerText div:first-of-type {
    margin-bottom: 6%;
    margin-top: 6%;
    font-size: 2rem !important;
    line-height: 2.4rem !important;
  }
}
@media screen and (min-width: 768px) {
  #headerText {
    bottom: 45%;
    transform: translateY(50%);
    color: white;
    max-width: 53%;
    left: 3%;
  }
}
@media screen and (max-width: 400px) {
  .scroll-for-more::before {
    left: calc(50% + 10px);
    bottom: -30px;
  }
  .scroll-for-more::after {
    left: calc(50% + 25px);
    bottom: -30px;
  }
}
.table {
  text-align: center;
  border-collapse: collapse !important;
  border-spacing: 0;
}

.table thead {
  font-weight: bold;
  border-top: 3px solid black;
  border-bottom: 3px solid black;
  background-color: black;
  color: white;
}

/*tbody tr td:last-child {
    background-color: $clr-green;
}*/
table {
  border: 2px solid black !important;
}

tr {
  background-color: transparent !important;
  border: 0;
}

th {
  border-width: 0px !important;
}

td,
th {
  vertical-align: middle;
}

.table td {
  padding-top: 5px;
  padding-bottom: 5px;
}
