.header .textbutton {
  padding: 0.6em 1.2em;
}

.header .textbutton a::after,
.header a.textbutton::after {
  background: rgb(var(--c-neutral-lightest));
  border: 2px solid rgb(var(--c-neutral-lightest));
}

.flex-direction-nav {
  display: none;
}

.flexslider {
  font-size: 1vw;
}

.flexslider ul {
  padding: 0;
}

.flex-caption {
  position: absolute;
  z-index: 300;
  bottom: 0;
  left: 0;
  width: 900px;
  max-width: 40%;
  height: 100%;
}

.caption__text {
  position: absolute;
  z-index: 400;
  bottom: 7em;
  left: 5em;
  right: 18em;
}

.caption__text::before {
  content: '';
  background-image: url("../Images/schluessel_mit_kreis.png");
  background-size: cover;
  width: 6em;
  height: 6em;
  display: block;
  margin-bottom: 1em;
}

.erg .caption__text::before,
.zettec .caption__text::before,
.hersa .caption__text::before {
  display: none;
}

.caption__title {
  font-size: 2em;
  color: rgb(var(--c-neutral-lightest));
  text-transform: uppercase;
  margin-bottom: 0.5em;
  width: 70%;
  line-height: 120%;
}

.caption__title::after {
  content: '';
  height: 2px;
  background: rgba(var(--c-neutral-lightest), 0.6);
  width: 5em;
  display: block;
  margin-top: 0.3em;
}

.caption__bg1,
.caption__bg2 {
  position: absolute;
  z-index: 200;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.slider_bg1 {
  opacity: 0.7;
  fill: rgb(var(--c-primary-dark));
}

.slider_bg2 {
  fill: rgb(var(--c-primary-dark));
}

.caption__bg1 svg,
.caption__bg2 svg {
  width: 100%;
  height: 100%;
}

.caption__description {
  color: rgb(var(--c-neutral-lightest));
  margin-bottom: 1em;
}

.flex-control-paging {
  position: absolute;
  z-index: 400;
  bottom: 4em;
  left: 5em;
  display: flex;
  margin: 0;
  padding: 0;
}

.flex-control-paging li::marker {
  font-size: 0;
}

.flex-control-paging li {
  margin-right: 5px;
}

.flex-control-paging li a {
  font-size: 0;
  line-height: 0;
  width: 11px;
  height: 11px;
  display: block;
  background: transparent;
  border: 1px solid rgb(var(--c-neutral-lightest));
  cursor: pointer;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}

.flex-control-paging li a.flex-active {
  background: rgb(var(--c-neutral-lightest));
}

.caption__bg1,
.caption__bg2,
.caption__text::before,
.caption__title,
.caption__description,
.flex-caption .textbutton {
  opacity: 0;
}

.flex-active-slide .caption__bg1,
.flex-active-slide .caption__bg2,
.flex-active-slide .caption__text::before,
.flex-active-slide .caption__title,
.flex-active-slide .caption__description,
.flex-active-slide .flex-caption .textbutton {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.flex-active-slide .flex-caption .textbutton {
  border: 2px solid rgb(var(--c-neutral-lightest));
  color: rgb(var(--c-neutral-lightest));
}

@media (hover: hover) {
  .flex-active-slide .flex-caption .textbutton:hover {
    color: rgb(var(--c-primary-dark));
  }
}

.flex-active-slide .caption__bg2 {
  animation-delay: 0.5s;
}

.flex-active-slide .caption__text::before {
  animation-delay: 1s;
}

.flex-active-slide .caption__title {
  animation-delay: 1.2s;
}

.flex-active-slide .caption__description {
  animation-delay: 1.4s;
}

.flex-active-slide .flex-caption .textbutton {
  animation-delay: 1.8s;
}

/* =============================================================================
   Animations
   ========================================================================== */

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@media (min-width: 1280px) {
  .flexslider {
    font-size: 0.8vw;
  }

  .flex-caption {
    width: 1280px;
  }
}

@media (min-width: 1580px) {
  .flexslider {
    font-size: 0.7vw;
  }
}

@media (max-width: 640px) {
  .caption__bg1,
  .caption__bg2,
  .caption__text::before,
  .caption__title,
  .caption__description,
  .flex-caption .textbutton {
    display: none;
  }
}