#theme-logo {
  z-index: 100;
  width: 20vw;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: all;
  margin-right: calc(var(--gap-m) + 10px);
  margin-top: calc(var(--gap-m) + 40px);
  margin-bottom: 10px;
  max-width: 240px;
  min-width: 134px;
}

div#theme-logo .theme-logo {
  width: 100%;
}

body:not(:has(#special-hero)):not(.single):not(.home)
  #theme-logo
  .theme-logo:first-child,
body.single-jobs #theme-logo .theme-logo:first-child {
  display: none;
}

body.home #theme-logo .theme-logo:last-child,
body.single-window #theme-logo .theme-logo:last-child,
body:has(#special-hero) #theme-logo .theme-logo:last-child {
  display: none;
}

body:not(:has(#special-hero)):not(.single):not(.home) #header,
body.single-jobs #header {
  background-color: var(--ast-global-color-0);
}

#header {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 99;
}

#header .header-inner-wrapper {
  display: flex;
  width: 91%;
  justify-self: end;
  margin-left: auto;
  /* for safari and ios */
  flex-direction: row-reverse;
  justify-content: space-between;
}

@media (max-width: 768px) {
  #header .header-inner-wrapper {
    width: 100%;
  }
}

/** Special Hero **/
#special-hero {
  position: relative;
  height: 100vh;
  width: 100vw;
}

#special-hero::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.25);
  pointer-events: none;
  width: 100vw;
  height: 100vh;
  left: 0;
}

#special-hero img {
  height: 100vh;
  width: 100vw;
  object-fit: cover;
}

#special-hero .content-special-hero {
  position: absolute;
  bottom: calc(var(--padding) * 1.16);
  left: 50%;
  transform: translateX(-50%);
  width: 86.69%;
  height: 71.67%;
  max-height: 76.67%;
  place-items: center;
  border: 2px solid var(--ast-global-color-0);
  border-top: 0;
  top: calc(var(--header-height) + var(--gap-m));
}

#special-hero #header-claim {
  position: absolute;
  bottom: calc(2.5em + 65px);
  width: 100%;
  text-align: center;
  max-width: 90vw;
  margin-left: auto;
  margin-right: auto;
}

#special-hero #header-claim h2 {
  color: white;
  font-style: italic;
}

#special-hero #header-year {
  position: absolute;
  bottom: 65px;
  width: 100%;
  text-align: center;
}

#special-hero #header-year h2 {
  color: white;
  font-family: var(--mainfont);
  font-weight: 700;
}

@media (max-height: 800px) and (min-width: 1024px) {
  #special-hero .content-special-hero {
    height: 65%;
  }
}

@media (max-height: 450px) and (min-width: 1024px) {
  #special-hero .content-special-hero {
    height: 50%;
  }
}

/*----------------- HEADER ICONS -------------*/

@media (max-width: 1024px) {
  #header-icons .icon:nth-child(2),
  #header-icons .icon:nth-child(3) {
    display: none !important;
  }

  #header-icons {
    position: absolute;
    top: var(--nav-icon-padding-Y);
    left: calc(var(--nav-icon-padding-X) + var(--nav-icon-width) + 50px);
    transform: translateY(200%);
  }
}

@media (max-width: 768px) {
  #header-icons {
    left: calc(var(--nav-icon-padding-X) + var(--nav-icon-width) + 30px);
  }

  .gtranslate_wrapper {
    gap: calc(var(--lang-track-w) + 12px) !important;
  }

  #special-hero #header-claim {
    padding: 0 15px;
  }

  a.impmenu-toggle {
    transform: translateY(80%) !important;
  }
}

#header-icons {
  z-index: 100;
  display: flex;
  gap: calc(var(--gap-m) * 1.7);
  pointer-events: all;
}

#header .header-inner-wrapper #header-icons {
  justify-content: center;
  align-items: center;
}

#nav-wrapper #header-icons {
  position: absolute;
  bottom: 4vw;
  left: 50%;
  transform: translatex(-50%);
}

#header-icons img {
  height: 38px !important;
  display: block;
  width: auto;
}

.icon {
  display: flex;
  text-align: center;
  vertical-align: top;
  transition: all 0.3s ease 0s;
}

.icon a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  height: 100%;
  width: 100%;
}

#header-icons p {
  white-space: nowrap;
}

#header-icons a {
  font-weight: 700;
  font-size: var(--btn-font-size);
  line-height: 1.28;
}

/* text color white when bg is red */
#header-icons a {
  color: var(--ast-global-color-3);
}

/* text color of #ehader-icons red */
body.home .header-inner-wrapper:has(#theme-logo) #header-icons a,
body:has(#special-hero) .header-inner-wrapper:has(#theme-logo) #header-icons a {
  color: var(--ast-global-color-0);
}

#header-icons a:not(a.glink)::after {
  content: "";
  width: 15px;
  height: 19px;
  display: block;
  rotate: -45deg;
  background-color: currentColor;
  mask-image: url(../img/pfeil-links-button.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}

/* Hide from header last 2 links */
.header-inner-wrapper #header-icons > .icon:nth-last-child(-n + 2) {
  display: none;
}

/* GTRANSLATE */

.header-inner-wrapper #header-icons a.glink {
  font-size: 15px;
  letter-spacing: 0.1em;
}

.gtranslate_wrapper {
  --lang-knob: 24px;
  --lang-track-h: calc(var(--lang-knob) * 1.1);
  --lang-track-w: calc(var(--lang-knob) * 2.35);
  --lang-travel: calc(var(--lang-track-w) - var(--lang-icon) - 15px);
  --lang-line: 1.5px;
  --lang-icon: 18px;
  --lang-color: var(--ast-global-color-3);

  position: relative;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
  gap: calc(var(--lang-track-w) + 22px);
}

body:has(#special-hero)
  .header-inner-wrapper:has(#theme-logo)
  #header-icons
  .gtranslate_wrapper,
body.home
  .header-inner-wrapper:has(#theme-logo)
  #header-icons
  .gtranslate_wrapper {
  --lang-color: var(--ast-global-color-0);
}

/* pill */
.gtranslate_wrapper::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: var(--lang-track-w);
  height: var(--lang-track-h);
  border: var(--lang-line) solid var(--lang-color);
  border-radius: 999px;
  pointer-events: none;
}

/* globe */
.gtranslate_wrapper::after {
  content: "";
  position: absolute;
  left: calc(50% - var(--lang-track-w) / 2 - var(--lang-line) + 9px);
  top: 50%;
  translate: 0 -50%;
  width: 18px;
  height: 19px;
  background: url(../img/icon-sprache.svg) center / contain no-repeat;
  transition: translate 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}

body:has(#special-hero)
  .header-inner-wrapper:has(#theme-logo)
  #header-icons
  .gtranslate_wrapper::after,
body.home
  .header-inner-wrapper:has(#theme-logo)
  #header-icons
  .gtranslate_wrapper::after {
  background: url(../img/icon-sprache-red.svg) center / contain no-repeat;
}

html[lang="en"] .gtranslate_wrapper::after {
  translate: var(--lang-travel) -50%;
}

/* hide gtranslate from nav menu */
#main-nav .icon:has(.gtranslate_wrapper) {
  display: none;
}

span.glink-dsgvo-wrapper {
  cursor: pointer;
}

.popup-inner {
  background-color: var(--ast-global-color-3);
}

/**------------------------ SLIDESHOW -------------------------*/

#slider-wrapper.postthumb {
  max-width: 1170px;
  margin: 0 auto;
}

/**----------------- Thumbnail Fenster -------------*/
.thumbnail-wrapper.thumbnail-wrapper-fenster {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.thumbnail-wrapper.thumbnail-wrapper-fenster > img {
  width: 100%;
  height: auto;
}

.thumbnail-wrapper.thumbnail-wrapper-fenster:before {
  /**Overlay*/
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.25) 0%,
    rgba(0, 0, 0, 0.25) 100%
  );
}

.thumbnail-content-fenster {
  position: absolute;
  width: 86.69%;
  height: 76.67%;
  top: calc(var(--header-height) + 20px);
}

.thumbnail-content-fenster-wrapper {
  position: relative;
  height: 100%;
  width: 100%;
  border: 2px solid var(--ast-global-color-0);
  border-top: none;
  display: flex;
  flex-direction: column;
}

.thumbnail-content-fenster-wrapper:before,
.thumbnail-content-fenster-wrapper:after,
#special-hero .content-special-hero::before,
#special-hero .content-special-hero::after,
.cont-einleitung.cont-img-txt.bg-red
  > .uagb-container-inner-blocks-wrap::before,
.cont-einleitung.cont-img-txt.bg-red > .uagb-container-inner-blocks-wrap::after,
.imp-header-slider__overlays:before,
.imp-header-slider__overlays:after {
  content: "";
  display: block;
  position: absolute;
  height: 2px;
  background-color: var(--ast-global-color-0);
  top: 0;
}

.cont-einleitung.cont-img-txt.bg-red
  > .uagb-container-inner-blocks-wrap::before,
.cont-einleitung.cont-img-txt.bg-red
  > .uagb-container-inner-blocks-wrap::after {
  background-color: var(--ast-global-color-3);
}

#main .cont-einleitung.cont-img-txt.bg-red > .uagb-container-inner-blocks-wrap {
  max-width: 1500px !important;
  width: 90vw !important;
}

.thumbnail-content-fenster-wrapper:before,
#special-hero .content-special-hero::before,
.imp-header-slider__overlays:before {
  width: 50.4%;
  left: 0;
}

.cont-einleitung.cont-img-txt.bg-red
  > .uagb-container-inner-blocks-wrap::before {
  left: 0;
  width: 50.9%;
}

.cont-einleitung.cont-img-txt.bg-red
  > .uagb-container-inner-blocks-wrap::after {
  right: 0;
  width: 48.6%;
}

#special-hero .imp-ai-marking-badge {
  top: unset;
  right: unset;
  bottom: var(--gap-s);
  left: var(--gap-s);
}

@media (max-width: 1350px) {
  .wp-block-uagb-container.cont-img-txt.bg-red
    > .uagb-container-inner-blocks-wrap {
    padding: calc(var(--padding) * 1.19) var(--padding);
  }

  .cont-einleitung.cont-img-txt.bg-red
    > .uagb-container-inner-blocks-wrap::after {
    width: 48%;
  }
}

@media (max-width: 1024px) {
  .wp-block-uagb-container.cont-img-txt.bg-red
    > .uagb-container-inner-blocks-wrap {
    flex-direction: column !important;
  }

  #main
    .wp-block-uagb-container.cont-img-txt.bg-red
    > .uagb-container-inner-blocks-wrap
    > *:not(.border-detail) {
    width: 100% !important;
    max-width: unset !important;
  }
}

@media (max-width: 768px) {
  .wp-block-uagb-container.cont-img-txt.bg-red
    > .uagb-container-inner-blocks-wrap {
    padding: calc(var(--padding) * 1.19) calc(var(--gap-l) * 0.7);
  }
}

.thumbnail-content-fenster-wrapper:after,
#special-hero .content-special-hero::after,
.imp-header-slider__overlays:after {
  width: 48.2%;
  right: 0;
}

span.border-detail,
body .wp-block-uagb-container.border-detail {
  width: 35.2px !important;
  height: 35px;
  display: block;
  position: absolute;
  top: 0;
  left: 50.04%;
  background-image: url(../img/grafik-outline.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

body .wp-block-uagb-container.border-detail {
  background-image: url(../img/grafik-outline-white.svg);
}

/**Icon + Headings*/
.thumbnail-fenster-icon-heading {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--gap-m);
}

/**Icon*/

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.thumbnail-fenster-icon-wrapper {
  max-height: 150px;
  max-width: 118px;
  height: 7.81vw;
  width: 6.15vw;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.thumbnail-fenster-icon-outter {
  height: 100%;
  width: 100%;
  background-image: url("../img/icon-ausblicke-rotate-outter.svg");
  background-size: contain;
  background-repeat: no-repeat;
}

.thumbnail-fenster-icon-inner {
  height: 34.18%;
  width: 43.43%;
  background-image: url("../img/icon-ausblick-rotate-inner.svg");
  background-size: contain;
  background-repeat: no-repeat;
  animation: spin 50s linear infinite;
  transform-origin: center center;
  position: absolute;
  top: 16.86%;
}

/**Heading*/
.thumbnail-fenster-icon-heading > h1,
.thumbnail-fenster-icon-heading > h2 {
  color: #fff !important;
}

/**Zitat*/
.thumbnail-fenster-zitat {
  display: flex;
  height: auto;
  background-color: var(--ast-global-color-0);
  padding: var(--gap-l) var(--gap-l);
  justify-content: center;
}

.thumbnail-fenster-zitat > * {
  max-width: 800px;
}

.thumbnail-fenster-zitat p.text-intro {
  text-align: center;
  color: #fff;
}

.schatten {
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

/*----------------- HEADERBILD -------------*/

#slider-wrapper.postthumb.desktop {
  max-height: 580px;
  overflow: hidden;
  position: relative;
}

#slider-wrapper.postthumb.mobile {
  max-height: 580px;
  overflow: hidden;
  line-height: 0;
  position: relative;
}

#slider-wrapper.postthumb.desktop img {
  width: 100%;
  height: auto;
}

#slider-wrapper.postthumb.mobile img {
  width: 100%;
  height: auto;
}

#slider-wrapper.postthumb::before {
  display: block;
  position: absolute;
  background: -moz-linear-gradient(
    top,
    rgba(7, 1, 1, 0.3) 0%,
    rgba(7, 1, 1, 0.3) 1%,
    rgba(0, 0, 0, 0) 100%
  );
  background: -webkit-linear-gradient(
    top,
    rgba(7, 1, 1, 0.3) 0%,
    rgba(7, 1, 1, 0.3) 1%,
    rgba(0, 0, 0, 0) 100%
  );
  background: linear-gradient(
    to bottom,
    rgba(7, 1, 1, 0.3) 0%,
    rgba(7, 1, 1, 0.3) 1%,
    rgba(0, 0, 0, 0) 100%
  );
  filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#4d070101', endColorstr='#00000000', GradientType=0);
  height: 100%;
  width: 100%;
  content: "";
}

#slider-wrapper.postthumb.desktop img.fallback {
  margin-top: -10vw;
}

@media (max-width: 1200px) {
  .thumbnail-content-fenster-wrapper:before,
  #special-hero .content-special-hero::before,
  .imp-header-slider__overlays:before {
    width: 51.4%;
  }

  .thumbnail-content-fenster-wrapper:after,
  #special-hero .content-special-hero::after,
  .imp-header-slider__overlays:after {
    width: 48%;
  }

  .imp-header-slider__overlays {
  }
}

@media (max-width: 1100px) {
  .menu-img-container {
    display: none;
  }
}

@media (max-width: 1024px) {
  .thumbnail-content-fenster-wrapper:after,
  #special-hero .content-special-hero::after,
  .imp-header-slider__overlays:after {
    width: 47%;
  }

  .imp-header-slider__overlays {
    border: 1.5px solid var(--ast-global-color-0) !important;
    border-top: 0 !important;
  }

  .thumbnail-content-fenster-wrapper:before,
  #special-hero .content-special-hero::before,
  .imp-header-slider__overlays:before {
    width: 51.9%;
  }

  .impmenu-active #header-icons {
    display: none;
  }
}

@media (max-width: 768px) {
  .cont-einleitung.cont-img-txt.bg-red
    > .uagb-container-inner-blocks-wrap::after {
    width: 44%;
  }

  .cont-einleitung.cont-img-txt.bg-red
    > .uagb-container-inner-blocks-wrap::before {
    width: 51.9%;
  }
}

@media (max-width: 650px) {
  .thumbnail-content-fenster-wrapper:after,
  #special-hero .content-special-hero::after,
  .imp-header-slider__overlays:after {
    width: 45%;
  }
}

@media (max-width: 420px) {
  .thumbnail-content-fenster-wrapper:after,
  #special-hero .content-special-hero::after,
  .imp-header-slider__overlays:after {
    width: 43%;
  }

  .thumbnail-content-fenster-wrapper:before,
  #special-hero .content-special-hero::before,
  .imp-header-slider__overlays:before {
    width: 52.9%;
  }
}

.brlbs-cmpnt-dialog-box-header.brlbs-justify-center {
  justify-content: space-around;
}

@media (max-width: 500px) {
  .page-id-4593 #special-hero img {
    object-position: 70% center;
  }
}

/* CTA Bar */
#cta-bar {
  position: absolute;
  background-color: var(--ast-global-color-3);
  width: 100vw;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: calc(var(--gap-s) * 0.7) 0;
}

#cta-bar p {
  font-size: 0.89rem;
  font-weight: 600;
}

/* Lauftext: erster Absatz läuft von links nach rechts durch */
#cta-bar .textwidget:first-child p {
  flex-shrink: 0;
  margin: 0;
  white-space: nowrap;
  animation: cta-bar-marquee 18s linear infinite;
}

#cta-bar .textwidget:last-child {
  padding-right: var(--gap-m);
}

/* Button bleibt rechts und überdeckt den durchlaufenden Text */
#cta-bar > :last-child {
  position: absolute;
  right: 0;
  z-index: 1;
  flex-shrink: 0;
  margin-left: auto;
  padding-left: var(--gap-s);
  background-color: var(--ast-global-color-3);
  box-shadow: calc(var(--gap-s) * -1) 0 var(--gap-s) var(--ast-global-color-3);
}

@keyframes cta-bar-marquee {
  from {
    transform: translateX(100vw);
  }

  to {
    transform: translateX(calc(-100% - var(--gap-s)));
  }
}
