/*
Theme Name: bsTheme
Theme URI: http://brotsalz.de/
Author: brot & salz
Author URI: http://www.brotsalz.de
Description: brot & salz Theme
Version: 1.0.1
Tested up to: 6.1.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: bstheme
Tags: brot&salz, tailor-made-theme

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

bsTheme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/

/* * Fonts 
* --------------------------------------------- */
@font-face {
  font-family: 'Engravers Gothic';
  src: url('../bsTheme/assets/fonts/font-engravers-gothic-regular/font.woff2')
      format('woff2'),
    url('../bsTheme/assets/fonts/font-engravers-gothic-regular/font.woff')
      format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Noto Serif Display';
  src: url('../bsTheme/assets/fonts/font-noto-serif-display/NotoSerifDisplay-Regular.ttf')
    format('ttf');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Encode Sans Semi Expanded';
  src: url('../bsTheme/assets/fonts/font-encode-sans-semi-expanded/EncodeSansSemiExpanded-Regular.ttf')
    format('ttf');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Encode Sans Semi Expanded';
  src: url('../bsTheme/assets/fonts/font-encode-sans-semi-expanded/EncodeSansSemiExpanded-Bold.ttf')
    format('ttf');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* * Variables
* --------------------------------------------- */
:root {
  --menu-height: 70px;
}

body.no-adobe-font {
  --family-headline: 'Noto Serif Display', serif !important;
  --family-body: 'Encode Sans Semi Expanded', sans-serif !important;
  --fw-regular: 400 !important;
}

/* * Helper Classes
* --------------------------------------------- */
.edges,
.edges-medium,
.edges-small,
.edges-tiny {
  overflow: hidden;
}

.edges {
  border-top-left-radius: var(--b-radius-xl);
  border-bottom-right-radius: var(--b-radius-xl);
}

.edges-medium {
  border-top-left-radius: var(--b-radius-lg);
  border-bottom-right-radius: var(--b-radius-lg);
}

.edges-small {
  border-top-left-radius: var(--b-radius-reg);
  border-bottom-right-radius: var(--b-radius-reg);
}

.edges-tiny {
  border-top-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

@media (max-width: 768px) {
  .edges,
  .edges-medium {
    border-top-left-radius: var(--b-radius-reg);
    border-bottom-right-radius: var(--b-radius-reg);
  }
}

mark {
  padding: 0;
}

/* * General
* --------------------------------------------- */
body {
  background: var(--cDef);
  color: var(--cLight);
  padding-top: var(--menu-height);
}

@media (min-width: 1200px) {
  body {
    --menu-height: 120px;
    padding-inline: 1.5rem;
  }
}

/* * CTAs / Buttons
* --------------------------------------------- */
.cta {
  width: fit-content;
  margin-bottom: 0.5rem;
}

.cta > :is(a, button, div) {
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--cLight);
  cursor: pointer;
  transition: 0.3s all ease;
  position: relative;
  padding: 0;
  font-family: var(--family-body);
  font-weight: var(--fw-regular);
  display: flex;
  align-items: center;
}

/* Default ------------------ */
.cta.default > :is(a, button, div) {
  padding: 0.5rem 1.75rem;
  border: 1px solid var(--cLight);
  border-top-left-radius: var(--b-radius-reg);
  border-bottom-right-radius: var(--b-radius-reg);
  transition: 0.3s all ease;
}

.cta.default:hover > :is(a, button, div) {
  background: var(--cLime);
  border: 1px solid var(--cLime);
  color: var(--cDef);
}

.cta.default > :is(a, button, div) div {
  margin-right: 0.5rem;
  font-size: 16px;
}

.cta.default > :is(a, button, div) svg :is(path, rect) {
  transition: 0.3s all ease;
}

.cta.default:hover > :is(a, button, div) svg :is(path, rect) {
  fill: var(--cDef);
}

/* Default Colored ------------------ */
.cta.default.colored > :is(a, button, div) {
  border: 1px solid var(--cLime);
}

/* Read More ------------------ */
.cta.readmore > :is(a, button, div) div {
  margin-right: 0.5rem;
  color: var(--cLime);
}

.cta.readmore > :is(a, button, div) svg :is(path, rect) {
  transition: 0.3s all ease;
}

.cta.readmore:hover > :is(a, button, div) svg :is(path, rect) {
  fill: var(--cLime);
}

.cta.readmore > :is(a, button, div) svg {
  transition: 0.3s all ease;
}

.cta.readmore:hover > :is(a, button, div) svg {
  transform: translateX(0.5rem);
}

/* Learn More ------------------ */
.cta.learnmore > :is(a, button, div) div {
  margin-left: 0.5rem;
}

.cta.learnmore > :is(a, button, div) svg :is(path, rect, circle, g) {
  transition: 0.3s all ease;
}

.cta.learnmore:hover > :is(a, button, div) svg :is(path, rect) {
  fill: var(--cDef);
}

.cta.learnmore:hover > :is(a, button, div) svg circle {
  fill: var(--cLime);
}

.cta.learnmore:hover > :is(a, button, div) svg g g:has(circle) {
  stroke: var(--cLime);
}

/* Forward ------------------ */
.cta.forward > :is(a, button, div) {
  color: var(--cDef);
}

/* File ------------------ */
.cta.file > :is(a, button, div) {
  color: var(--cLime);
}

.cta.file > :is(a, button, div) svg {
  margin-right: 0.5rem;
}

.cta.file > :is(a, button, div) svg path {
  transition: 0.3s all ease;
}

.cta.file:hover > :is(a, button, div) svg path {
  fill: var(--cLime);
}

/* File ------------------ */
.cta.simple > :is(a, button, div) {
  color: var(--cLime);
}

.cta.simple > :is(a, button, div) svg {
  margin-left: 0.5rem;
}

.cta.simple > :is(a, button, div) svg :is(path, rect) {
  transition: 0.3s all ease;
}

.cta.simple:hover > :is(a, button, div) svg :is(path, rect) {
  fill: var(--cLime);
}

/* * Site Header
* --------------------------------------------- */
.site__header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
  height: var(--menu-height);
  display: flex;
  align-items: center;
  background: transparent;
  transition: 0.3s all ease;
}

/* Nav open */
.navOpen {
  overflow: hidden;
}

/* Nav down */
.navDown {
  --menu-height: 90px;
  background: var(--cDef);
}

@media (max-width: 1200px) {
  .site__header :is(.logoPrime, .logoAlt) {
    height: 40px;
    width: auto;
  }

  .navDown {
    --menu-height: 70px;
  }
}

@media (max-width: 768px) {
  .site__header :is(.logoPrime, .logoAlt) path {
    transition: 0.3s all ease;
  }

  .navOpen :is(.logoPrime, .logoAlt) path {
    fill: var(--cDef);
  }
}

/* * Burger Button
* --------------------------------------------- */
.menu_burger__button {
  cursor: pointer;
  padding: 0;
  height: 3rem;
  width: 3rem;
  border: 2px solid var(--cLime);
  background: transparent;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.navOpen .menu_burger__button {
  border: 2px solid var(--cDef);
}

.menu_burger__button div {
  position: relative;
  height: 30%;
  width: 55%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}

.menu_burger__button div span {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 0;
  background: var(--cLight);
  transition: 0.3s all ease;
}

.navOpen .menu_burger__button div span {
  background: var(--cDef);
}

.navOpen .menu_burger__button div span:nth-of-type(1) {
  transform: translate(0rem, 0.35rem) rotate(45deg);
}

.navOpen .menu_burger__button div span:nth-of-type(2) {
  opacity: 0;
}

.navOpen .menu_burger__button div span:nth-of-type(3) {
  transform: rotate(-45deg);
  transform: translate(0rem, -0.35rem) rotate(-45deg);
}

.menu_burger__text {
  color: var(--cLime);
  cursor: pointer;
}

.navOpen .menu_burger__text {
  color: var(--cDef);
}

/* * Burger Menu
* --------------------------------------------- */
#navOverlayContainer {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9;
  transition: 0.3s opacity ease;
  padding-bottom: 3rem;
  isolation: isolate;
}

#navOverlayContainer.openOverlay {
  transition-delay: 0s;
  opacity: 1;
  pointer-events: all;
}

#navOverlayContainer::before {
  content: '';
  background-color: rgba(5, 41, 39, 0.8);
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  transition: 0.5s all ease;
}

.nav__inner_wrapper {
  background: var(--cLime);
  width: 25%;
  height: 100%;
  position: relative;
  color: var(--cDef);
  transform: translateX(-100%);
  transition: 0.3s all ease;
}

.openOverlay .nav__inner_wrapper {
  transform: translateX(0%);
}

.nav__inner_wrapper :is(.container-fluid, .container-xl, .row, .col-12) {
  height: 100%;
}

/* .nav_deco__icon {
  display: none;
} */
.nav_deco__icon {
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(99%);
  height: 100%;
  width: auto;
  z-index: -1;
}

.nav_deco__icon img {
  height: 100%;
  width: auto;
}

/* .nav__inner_wrapper::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(99%);
  height: 100%;
  width: auto;
  z-index: -1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='207' height='1856.002' viewBox='0 0 207 1856.002'%3E%3Cpath id='Differenzmenge_59' data-name='Differenzmenge 59' d='M6762,5468H6655V3612h207v851.577l-76.562,76.724L6862,4617.024V5368a100.786,100.786,0,0,1-2.031,20.154,99.45,99.45,0,0,1-15.046,35.757,100.294,100.294,0,0,1-44,36.231,99.478,99.478,0,0,1-18.771,5.827A100.75,100.75,0,0,1,6762,5468Z' transform='translate(-6655 -3611.998)' fill='%23cdf7ad'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
} */

#navOverlayContainer .menu {
  list-style: none;
  padding: 0;
  margin: 0;
  padding-bottom: 3rem;
  font-size: calc(
    clamp(var(--f-2xl-min), var(--f-2xl-ideal), var(--f-2xl-max)) - 0.25rem
  );
}

#navOverlayContainer .menu li a {
  padding-left: 0;
  transition: 0.3s all ease;
}

#navOverlayContainer .menu li a:hover {
  padding-left: 0.75rem;
}

@media (min-width: 577px) {
  #navOverlayContainer .menu {
    padding-bottom: 6rem;
  }
}

@media (min-width: 1800px) {
  #navOverlayContainer .menu {
    padding-bottom: 5rem;
  }
}

@media (max-width: 992px) {
  .nav__inner_wrapper {
    width: 40%;
  }
}

@media (max-width: 768px) {
  .nav__inner_wrapper {
    width: 50%;
  }
}

@media (max-width: 576px) {
  .nav__inner_wrapper {
    width: 100%;
    padding-bottom: 3rem !important;
  }

  .nav_deco__icon img {
    display: none;
  }

  #navOverlayContainer {
    padding-bottom: 0rem;
  }

  #navOverlayContainer .menu {
    font-size: clamp(var(--f-3xl-min), var(--f-3xl-ideal), var(--f-3xl-max));
  }
}

/* * Footer
* --------------------------------------------- */
.site-footer .addressName {
  font-weight: var(--fw-medium);
  color: var(--cLime);
}

.site-footer .menu {
  padding: 0;
  margin: 0;
  list-style: none;
  font-family: var(--family-headline);
  font-weight: var(--fw-light);
  font-size: clamp(var(--f-lg-min), var(--f-lg-ideal), 1.4rem);
  line-height: 1.15;
}

.footer__badge {
  position: absolute;
}

@media (max-width: 576px) {
  .footer__badge {
    max-width: 200px;
    right: 0;
    bottom: 0;
  }
}

/* * Accents
* --------------------------------------------- */
.accent_icon {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -1.5rem;
  z-index: 2;
}

@media (max-width: 992px) {
  .accent_icon {
    bottom: -2rem;
  }
}

/* * Team Card
* --------------------------------------------- */
.team_card__portrait {
  width: 100%;
  aspect-ratio: 12/16;
  position: relative;
  isolation: isolate;
}

.team_card__portrait::after {
  content: '';
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: linear-gradient(
    45deg,
    rgba(205, 247, 173, 1) 0%,
    rgba(205, 247, 173, 0) 60%,
    rgba(205, 247, 173, 0) 100%
  );
  transition: 0.3s all ease;
}

.team_card:hover .team_card__portrait::after {
  opacity: 1;
}

.team_card__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.team_card__portrait .accent_icon {
  max-width: 2rem;
  bottom: -0.7rem;
}

.team_card__portrait .accent_icon svg {
  width: 100%;
  height: auto;
}

.team_card:hover .cta.learnmore > :is(a, button, div) svg :is(path, rect) {
  fill: var(--cDef);
}

.team_card:hover .cta.learnmore > :is(a, button, div) svg circle {
  fill: var(--cLime);
}

.team_card:hover .cta.learnmore > :is(a, button, div) svg g g:has(circle) {
  stroke: var(--cLime);
}

@media (min-width: 1401px) {
  .team_card__portrait {
    width: 90%;
  }
}

/* * News Card
* --------------------------------------------- */
.news_card__date {
  padding: 0.25rem 1.5rem;
  border: 1px solid var(--cLight);
  border-top-left-radius: calc(var(--b-radius-reg) - 0.5rem);
  border-bottom-right-radius: calc(var(--b-radius-reg) - 0.5rem);
}

.news_card:hover .cta.readmore > :is(a, button, div) svg :is(path, rect) {
  fill: var(--cLime);
}

.cta.readmore > :is(a, button, div) svg {
  transition: 0.3s all ease;
}

.news_card:hover .cta.readmore > :is(a, button, div) svg {
  transform: translateX(0.5rem);
}

@media (min-width: 1601px) {
  .news_card__inner_wrapper h3 {
    font-size: calc(
      clamp(var(--f-lg-min), var(--f-lg-ideal), var(--f-lg-max)) - 0.25rem
    );
  }
}

/* * Subservices
* --------------------------------------------- */
.service_spectrum__wrapper > div {
  margin-bottom: 2rem;
}

.service_spectrum__wrapper > div > .subservice_tab_grid_entry_index {
  color: var(--cLime);
  font-size: clamp(var(--f-xl-min), var(--f-xl-ideal), var(--f-xl-max));
  font-family: var(--family-headline);
  font-weight: var(--fw-light);
  margin-bottom: 0.5rem;
}

.service_spectrum__wrapper > div > .subservice_tab_grid_entry {
  padding-left: 1rem;
  position: relative;
  hyphens: auto;
}

.service_spectrum__wrapper > div > .subservice_tab_grid_entry::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.3rem;
  width: 0.65rem;
  height: 0.65rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.754' height='15.95' viewBox='0 0 11.754 15.95'%3E%3Cpath id='Pfad_27' data-name='Pfad 27' d='M.023,0,8.052,8.029,0,15.95H3.727l8.027-7.921L3.726,0Z' fill='%23cdf7ad'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.subservice_tab_grid_entry ul {
  font-size: 16px;
  color: var(--cLime);
}

@media (min-width: 769px) {
  .service_spectrum__wrapper > div:nth-child(3n + 1) {
    padding-right: 3rem;
  }

  .service_spectrum__wrapper > div:nth-child(3n + 2) {
    padding-inline: 1.5rem;
  }

  .service_spectrum__wrapper > div:nth-child(3n + 3) {
    padding-left: 3rem;
  }
}

@media (max-width: 992px) {
  .subservice__pictogram {
    max-width: 350px;
  }

  .service_spectrum__wrapper > div {
    margin-bottom: 1rem;
  }
}

@media (max-width: 576px) {
  .subservice__pictogram {
    max-width: 250px;
  }
}

/* * Contact person slider
* --------------------------------------------- */
.contact_person__slider_wrapper {
  --contact-person-slider-height: 335px;
  height: var(--contact-person-slider-height);
  position: relative;
}

.contact_person__slider {
  height: var(--contact-person-slider-height);
  --slider-gutter: calc(var(--bs-gutter-x) * 0.5);
  position: absolute;
  left: 0;
  top: 0;
  width: calc(100vw - 3rem - var(--slider-gutter) * 3);
}

.contact_person__inner {
  display: flex;
  height: 100%;
  flex-wrap: wrap;
}

.contact_person__col {
  max-width: 50%;
  flex-basis: 50%;
  box-sizing: border-box;
}

.contact_person__col.right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: 0.3s all ease;
}

.contact_person__col.right .cta__wrapper {
  position: absolute;
  right: 0;
  bottom: 0;
}

.contact_person__col.right .cta {
  margin-bottom: 0;
}

.contact_person__item .cta.forward > :is(a, button, div) > div {
  transition: 0.3s all ease;
  transform: translateX(0);
}

.contact_person__item:hover .cta.forward > :is(a, button, div) > div {
  transform: translateX(0.5rem);
}

.contact_person__item:not(.swiper-slide-active) .contact_person__col.right img {
  filter: brightness(0.5);
}

.contact_person__item {
  width: 60%;
  margin-right: 40%; /* Smaller numbers bring the next slide to the active slider */
  transition: transform 0.3s ease;
}

.contact_person__item.swiper-slide-next {
  transform: translateX(
    -60%
  ); /* Relevant for next slides after the intial next slide */
}

.contact_person_nav_item svg * {
  transition: 0.3s all ease;
}

.contact_person_nav_item:not(.swiper-button-disabled) * {
  fill: var(--cLight);
}

@media (min-width: 2560px) {
  .contact_person__slider_wrapper {
    --contact-person-slider-height: 450px;
  }

  .contact_person__quote {
    font-size: 20px;
  }
}

@media (max-width: 1400px) {
  .contact_person__slider {
    width: calc(100vw - var(--slider-gutter) * 3);
  }
}

@media (max-width: 1200px) {
  .contact_person__slider {
    width: calc(100vw - var(--slider-gutter) * 2);
  }
}

@media (max-width: 992px) {
  .contact_person__slider_wrapper {
    --contact-person-slider-height: 550px;
  }

  .contact_person__inner {
    flex-direction: column-reverse;
  }

  .contact_person__col {
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .contact_person__item {
    width: 80%;
    margin-right: 20%;
    transition: transform 0.3s ease;
  }

  .contact_person__item.swiper-slide-next {
    transform: translateX(-20%);
  }

  .contact_person__col.right .cta__wrapper {
    padding: 1rem 1.5rem !important;
  }

  .contact_person__col.right .cta svg {
    margin-right: 0 !important;
  }

  .contact_person__item .cta.forward > :is(a, button, div) > div {
    display: none !important;
  }

  .contact_person__text_wrapper {
    max-width: 80%;
  }
}

@media (max-width: 576px) {
  .contact_person__col.right .cta__wrapper {
    padding: 0.5rem 1rem !important;
  }
}

/* * Benefits
* --------------------------------------------- */
.benefits__background .wp-block-group:has(p.ff-headline) {
  align-items: flex-start;
}

@media (max-width: 768px) {
  .benefits__background .wp-block-cover__background {
    background: linear-gradient(
      90deg,
      rgba(5, 41, 39, 100%) 3%,
      rgb(5, 41, 39) 100%
    ) !important;
  }
}

/* * Publications
* --------------------------------------------- */
body:not(.single-team) .publications__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
}

.publications__item_empty {
  visibility: hidden;
}

.publications__thumbnail {
  width: 100%;
  aspect-ratio: 16/9;
  position: relative;
  overflow: hidden;
}

.publications__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.publications__grid.other .publications__inner_wrapper {
  position: relative;
  padding-left: 1rem;
}

.publications__grid.other .publications__inner_wrapper::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.3rem;
  width: 0.65rem;
  height: 0.65rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.754' height='15.95' viewBox='0 0 11.754 15.95'%3E%3Cpath id='Pfad_27' data-name='Pfad 27' d='M.023,0,8.052,8.029,0,15.95H3.727l8.027-7.921L3.726,0Z' fill='%23cdf7ad'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

@media (max-width: 1600px) {
  .publications__grid {
    gap: 2rem;
  }
}

@media (max-width: 992px) {
  body:not(.single-team) .publications__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .publications__item_empty {
    display: none;
  }
}

@media (max-width: 576px) {
  body:not(.single-team) .publications__grid {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* * Tab items
* --------------------------------------------- */
.tab__wrapper {
  border: none;
}

.tab__wrapper .tab__item {
  padding: 0.25rem 0.5rem;
  background-color: var(--cGreenLightest);
  color: var(--cDef);
  font-size: 16px;
  transition: 0.3s all ease;
  border: none;
  margin-right: 0.5rem;
  border-radius: 10px 0 10px 0;
  overflow: hidden;
}

.tab__wrapper .tab__item.active {
  background-color: var(--cLime);
}

@media (max-width: 576px) {
  .tab__wrapper .tab__item {
    text-align: left;
  }
}

/* * Blog archive
* --------------------------------------------- */
/* Highlight post */
.news_highlight__col.left .news_highlight__image_wrapper {
  width: 100%;
  aspect-ratio: 16/9;
}

.news_highlight__col.left .news_highlight__image_wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Additional posts */
.news__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
}

@media (max-width: 768px) {
  .news__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}

@media (max-width: 576px) {
  .news__grid {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* * Hero
* --------------------------------------------- */
.hero__inner_wrapper {
  --h-height: 350px;
  min-height: var(--h-height);
}

.hero__col {
  width: 100%;
  height: auto;
  position: relative;
}

/* Default ------------------ */
.hero__wrapper.default .hero__col.left {
  padding-block: 1.5rem;
  padding-inline: 0.75rem;
}

@media (min-width: 769px) {
  .hero__wrapper.default .hero__col.left {
    padding-top: 3rem;
    padding-inline: 3rem;
  }
}

@media (max-width: 768px) {
  .hero__wrapper.default .hero__inner_wrapper {
    min-height: 0;
  }

  .hero__wrapper.default .hero__col.left {
    padding-bottom: 3rem;
  }
}

/* XL ------------------ */
.hero__wrapper.xl .hero__inner_wrapper {
  --h-height: 500px;
}

.hero__wrapper.xl .hero__inner_wrapper {
  display: flex;
  flex-wrap: wrap;
}

.hero__wrapper.xl .hero__col {
  max-width: 100%;
  flex-basis: 100%;
  display: flex;
  flex-direction: column;
}

.hero__wrapper.xl .hero__col.left {
  padding-top: 1.5rem;
  padding-inline: 0.75rem;
}

.hero__wrapper.xl .hero__col.right img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  inset: 0;
}

@media (min-width: 769px) {
  .hero__wrapper.xl .hero__col {
    max-width: 50%;
    flex-basis: 50%;
  }

  .hero__wrapper.xl .hero__col.left {
    padding-top: 3rem;
    padding-inline: 3rem;
  }
}

@media (min-width: 1920px) {
  .hero__wrapper.xl .hero__inner_wrapper {
    --h-height: 600px;
  }
}

@media (max-width: 768px) {
  .hero__wrapper.xl .hero__col {
    height: calc(var(--h-height) / 2);
  }

  .single-team .hero__wrapper.xl .hero__inner_wrapper {
    --h-height: auto;
  }
}

/* XXL ------------------ */
.hero__wrapper.xxl .hero__inner_wrapper {
  --h-height: 500px;
}

.hero__wrapper.xxl .hero__text_wrapper {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.hero__wrapper.xxl .hero__text_wrapper :is(p, span, h1, h2, h3) {
  font-family: var(--family-headline);
  font-size: calc(
    clamp(var(--f-2xl-min), var(--f-2xl-ideal), var(--f-2xl-max)) + 0.5rem
  );
  font-weight: var(--fw-light);
  line-height: var(--l-height-headline);
  margin-bottom: 0;
}

.hero__wrapper.xxl .hero__text_wrapper span {
  font-family: var(--family-body);
  font-size: calc(
    clamp(var(--f-2xl-min), var(--f-2xl-ideal), var(--f-2xl-max)) - 0.4rem
  );
}

.hero__wrapper.xxl img.full {
  width: 100%;
  min-height: var(--h-height);
  object-fit: cover;
  object-position: center;
  filter: brightness(0.7);
}

@media (max-width: 768px) {
  .hero__wrapper.xxl .hero__inner_wrapper {
    --h-height: 430px;
  }
}

/* Animation Lines ------------------ */
.animation__layer.hero {
  --anim-timing: 1s;
  position: relative;
  display: flex;
  justify-content: space-between;
  min-width: 200px;
}

.animation__layer.hero div {
  width: 1px;
  height: 5rem;
  background: var(--cLime);
  transition: 3s all ease;
  opacity: 0;
}

/* Top */
.animation__layer.hero.top .left {
  transform: rotate(-45deg) translate(0, -50%);
  animation: heroAnimTopLeft var(--anim-timing) ease forwards;
}

@keyframes heroAnimTopLeft {
  0% {
    transform: rotate(-45deg) translate(0, -50%);
    opacity: 0;
  }

  100% {
    transform: rotate(-45deg) translate(0, 0%);
    opacity: 1;
  }
}

.animation__layer.hero.top .right {
  transform: rotate(45deg) translate(0, -50%);
  animation: heroAnimTopRight var(--anim-timing) ease forwards;
}

@keyframes heroAnimTopRight {
  0% {
    transform: rotate(45deg) translate(0, -50%);
    opacity: 0;
  }

  100% {
    transform: rotate(45deg) translate(0, 0%);
    opacity: 1;
  }
}

/* Bottom */
.animation__layer.hero.bottom .right {
  transform: rotate(-45deg) translate(0, 50%);
  animation: heroAnimBottomRight var(--anim-timing) ease forwards;
}

@keyframes heroAnimBottomRight {
  0% {
    transform: rotate(-45deg) translate(0, 50%);
    opacity: 0;
  }

  100% {
    transform: rotate(-45deg) translate(0, 0%);
    opacity: 1;
  }
}

.animation__layer.hero.bottom .left {
  transform: rotate(45deg) translate(0, 50%);
  animation: heroAnimBottomLeft var(--anim-timing) ease forwards;
}

@keyframes heroAnimBottomLeft {
  0% {
    transform: rotate(45deg) translate(0, 50%);
    opacity: 0;
  }

  100% {
    transform: rotate(45deg) translate(0, 0%);
    opacity: 1;
  }
}

/* Animation Text ------------------ */
.hero__animation_text {
  font-size: clamp(var(--f-2xl-min), var(--f-2xl-ideal), var(--f-2xl-max));
}

.hero__pre_word_change_wrapper {
  font-family: 'Engravers Gothic';
  margin-left: 0.35rem;
  line-height: 1.2;
}

.hero__word_change_wrapper {
  overflow: hidden;
  position: relative;
  display: inline-block;
  font-family: 'Engravers Gothic';
  margin-left: 0.35rem;
  line-height: 1.2;
}

.hero__word_change_item {
  position: absolute;
  top: -100%;
  left: 0;
  opacity: 0;
  transform: translateY(0%);
  transition: transform 0.5s ease, opacity 0.5s ease;
  height: 100%;
  font-family: inherit;
  font-size: clamp(var(--f-2xl-min), var(--f-2xl-ideal), var(--f-2xl-max));
}

.hero__word_change_item.active {
  transform: translateY(100%);
  opacity: 1;
}

.hero__word_change_item.exit {
  transform: translateY(200%);
  opacity: 0;
}

.hero__animation_text_static {
  font-size: calc(
    clamp(var(--f-2xl-min), var(--f-2xl-ideal), var(--f-2xl-max)) + 0.75rem
  );
  line-height: 0.75;
}

/* * News single
* --------------------------------------------- */
.news_meta__wrapper {
  top: 6rem;
}

.news_author__portrait {
  max-width: 100px;
  aspect-ratio: 9/13;
}

.news_author__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* * Social Media
* --------------------------------------------- */
.socialMediaRow {
  display: flex;
}

.socialMediaItem {
  margin-right: 0.5rem;
}

/* * Lists and links
* --------------------------------------------- */
/* Lists */
ul:not(.menu, .nav) {
  list-style: none;
  padding: 0;
  margin: 0;
  padding-left: 1rem;
  margin-bottom: 1.5rem;
}

ul:not(.menu, .nav) li {
  margin-bottom: 0.5rem;
  /* color: var(--cLime); */
  position: relative;
}

ul:not(.menu, .nav) li::before {
  content: '';
  position: absolute;
  left: -1rem;
  top: 0.3rem;
  width: 0.65rem;
  height: 0.65rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.754' height='15.95' viewBox='0 0 11.754 15.95'%3E%3Cpath id='Pfad_27' data-name='Pfad 27' d='M.023,0,8.052,8.029,0,15.95H3.727l8.027-7.921L3.726,0Z' fill='%23cdf7ad'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/* Links */
.single .entry-content .main__content a {
  color: var(--cLime);
}

/* * General contact card
* --------------------------------------------- */
.general_contact_card {
  border: 1px solid var(--cGreenLight);
  max-width: fit-content;
}

@media (min-width: 1920px) {
  .general_contact_card * {
    font-size: 20px;
  }
}

/* * Job items
* --------------------------------------------- */
.job__item {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-top: 1px solid var(--cLime);
  padding-block: 1rem;
}

.job__terms {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.job__terms > div {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.25rem 0.5rem 0.2rem 0.5rem;
  background-color: var(--cGreenLightest);
  color: var(--cDef);
  font-size: 16px;
  transition: 0.3s all ease;
  border: none;
  border-radius: 10px 0 10px 0;
  overflow: hidden;
}

.job__terms .job__date {
  background-color: var(--cLight);
}

.job_meta__wrapper {
  top: 6rem;
}

.job_meta__inner_wrapper .general_contact_card {
  padding: 0 0 1.5rem 0 !important;
  border: none;
  border-radius: 0;
}

.single-karriere .main__content ul li {
  color: var(--cLight);
}

.additional_jobs__inner_wrapper {
  border: 1px solid var(--cGreenLight);
  transition: 0.3s all ease;
  hyphens: auto;
}

.additional_jobs__inner_wrapper:hover {
  border-color: var(--cLime);
}

.additional_jobs__inner_wrapper .cta svg * {
  transition: 0.3s all ease;
}

.additional_jobs__inner_wrapper:not(:hover) .cta svg > path {
  fill: var(--cGreenLight);
}

.additional_jobs__inner_wrapper:not(:hover) .cta svg > g :where(rect, path) {
  fill: var(--cLight);
}

@media (min-width: 1601px) {
  .additional_jobs__title {
    font-size: calc(
      clamp(var(--f-lg-min), var(--f-lg-ideal), var(--f-lg-max)) - 0.5rem
    );
  }
}

@media (max-width: 768px) {
  .job__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}

/* * Team singles
* --------------------------------------------- */
.quote_sign {
  width: 3rem;
  height: auto;
}

/* * Additional services 
* --------------------------------------------- */
.additional_services__wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.additional_services__wrapper:has(.additional_services__item:nth-of-type(4)) {
  grid-template-columns: repeat(4, 1fr);
  gap: 3rem;
}

@media (max-width: 992px) {
  .additional_services__wrapper,
  .additional_services__wrapper:has(.additional_services__item:nth-of-type(4)) {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}

@media (max-width: 576px) {
  .additional_services__wrapper,
  .additional_services__wrapper:has(.additional_services__item:nth-of-type(4)) {
    grid-template-columns: repeat(1, 1fr);
  }
}

.additional_services__item a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1rem;
  position: relative;
  aspect-ratio: 4/3;
  isolation: isolate;
}

.additional_services__item a h3 {
  font-size: calc(var(--f-reg) + 0.25rem) !important;
  transition: 0.3s all ease;
}

.additional_services__item:hover a h3 {
  color: var(--cLime);
}

.additional_services__item a::before {
  content: '';
  position: absolute;
  inset: 0;
  display: block;
  z-index: -1;
  background: linear-gradient(
    0deg,
    rgba(5, 41, 39, 0.95) 0%,
    rgba(5, 41, 39, 0) 60%,
    rgba(5, 41, 39, 0) 100%
  );
}

.additional_services__item img {
  position: absolute;
  inset: 0;
  z-index: -2;
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}
