/*
Theme Name: Impuls
Author: DBDB
Author URI: https://dbdb.de/
Description: Impuls Theme
*/

/* Minified CSS Reset */
a,
hr {
  color: inherit;
}
progress,
sub,
sup {
  vertical-align: baseline;
}
blockquote,
dd,
dl,
fieldset,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
menu,
ol,
p,
pre,
ul {
  margin: 0;
}
fieldset,
legend,
menu,
ol,
ul {
  padding: 0;
}
*,
::after,
::before {
  box-sizing: border-box;
  border: 0 solid #e5e7eb;
}
::after,
::before {
  --tw-content: "";
}
html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  font-feature-settings: normal;
}
hr {
  height: 0;
  border-top-width: 1px;
}
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
}
a {
  text-decoration: inherit;
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
pre,
samp {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}
button,
select {
  text-transform: none;
}
[type="button"],
[type="reset"],
[type="submit"],
button {
  -webkit-appearance: button;
  background-color: transparent;
  background-image: none;
}
:-moz-focusring {
  outline: auto;
}
:-moz-ui-invalid {
  box-shadow: none;
}
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
summary {
  display: list-item;
}
menu,
ol,
ul {
  list-style: none;
}
textarea {
  resize: vertical;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
  opacity: 1;
  color: #9ca3af;
}
input::placeholder,
textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}
[role="button"],
button {
  cursor: pointer;
}
:disabled {
  cursor: default;
}
audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
  display: block;
  vertical-align: middle;
}
img,
video {
  max-width: 100%;
  height: auto;
}
[hidden] {
  display: none;
}
details summary::-webkit-details-marker {
  display: none;
}
/* Minifies CSS Reset End */

/**
* Extended Base CSS
**/
:root {
  --blue-filter: brightness(0) saturate(100%) invert(35%) sepia(96%)
    saturate(859%) hue-rotate(173deg) brightness(90%) contrast(95%);
  --white-filter: invert(90%) sepia(81%) saturate(2%) hue-rotate(359deg)
    brightness(109%) contrast(101%);
  --box-shadow: 0px 0.6px 1px -15px #0d7cc117, 0px 1.5px 2.6px -15px #0d7cc116,
    0px 3px 5.3px -15px #0d7cc11d, 0px 6.2px 11px -15px #0d7cc11c,
    0px 17px 30px -15px #0d7cc12a;
  --blue-700: #0866a0;
  --blue-500: #0d7cc1;
  --blue-300: #88cbf2;
  --blue-100: #e2f1fc;
  --blue-050: #f9f8f7;
  --white: white;
  --red: #e1705d;
  --yellow: #ffcf39;
  --green: #6ec976;
  --shine: linear-gradient(
    90deg,
    var(--blue-500) 0%,
    var(--blue-100) 31%,
    var(--blue-500) 64%,
    var(--blue-500) 87%
  );
  --border: 1px solid var(--blue-500);
  --radius: 1.5rem;
  --radius-s: calc(var(--radius) / 3);
  --radius-m: calc((var(--radius) / 3) * 2);
  --radius-l: var(--radius);
  --transition-hover: all 250ms ease;
  --gutter: 1rem;
  --vertical-p: 6vh;
  --wide: 1440px;
  --narrow: 1280px;
  --text-2xl: clamp(2rem, 0.72rem + 3.2vw, 4rem);
}

@media (max-width: 1560px) {
  :root {
    --wide: 1280px;
    --narrow: 1080px;
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/wp-content/themes/impuls/assets/fonts/fira-sans/FiraSans-Regular.woff2")
    format("woff2");
}

@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/wp-content/themes/impuls/assets/fonts/fira-sans/FiraSans-Bold.woff2")
    format("woff2");
}

body {
  margin: 0 auto;
  width: 100%;
  scroll-padding-top: 2rem;
  font-family: "Fira Sans";
  font-size: clamp(1rem, 0.8933rem + 0.2667vw, 1.25rem);
  color: var(--blue-500);
}

main {
  min-height: 90vh;
}

#scroll-anchor {
  scroll-padding-top: 4rem !important;
}

:focus-visible {
  outline-color: var(--blue-500);
}

.content ul {
  list-style-type: none;
  padding-top: 0.125rem;
}
.content ol {
  list-style: auto;
  list-style-position: inside;
  padding-left: 1rem;
}
.content ul li {
  position: relative;
  padding-left: 1.5rem;
}
.content ul li:before {
  position: absolute;
  content: "—";
  opacity: 0.5;
  left: 0;
}
.content ul li + li {
  margin-top: 0.5rem;
}
.content ul li ul li {
  padding-left: 1.5rem;
  margin-left: -0.5rem;
}
.content ol li + li {
  margin-top: 0.25rem;
}

@media (max-width: 480px) {
  .content ul li {
    padding-left: 6%;
  }
}

/**
* Entry Content Width
**/
/* :where(body .content) > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
} */

.content > * {
  /* Content width from the `theme.json` file */
  margin-left: auto;
  margin-right: auto;
  max-width: var(--narrow);
}

.alignnarrow {
  max-width: var(--narrow);
  margin: 0 auto;
}

.content > .alignnarrow {
  /* Wide width from the `theme.json` file */
  max-width: var(--narrow);
}

.content > .alignfull {
  max-width: none;
}

.content > *:not(.content > .alignfull, hr.divider) {
  padding: calc(var(--vertical-p) * 1.5) var(--gutter);
}

.content p + h2 {
  margin-top: 4rem;
}

.content p + h3 {
  margin-top: 2.5rem;
}
.content p + h4 {
  margin-top: 1.5rem;
}

.content h3 + h2,
.content h2 + h3,
.content h3 + h4 {
  margin-top: 1.5rem;
}

.content h3 + p,
.content h3 + ul,
.content h3 + ol {
  margin-top: 0.75rem;
}

.content p + p,
.content p + ul,
.content p + ol,
.content ul + p,
.content h2 + p,
.content h2 + ul,
.content h2 + ol {
  margin-top: 1.25rem;
}

.content a {
  transition: all 200ms ease;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.content .text-block h1,
.content .text-block h2,
.content .text-block h3,
.content .text-block h4,
.content .text-block h5 {
  font-weight: 700;
}

/**
* Desktop Menu
**/
.hidden {
  display: none;
}
.nav-wrapper {
  padding: 0 var(--gutter);
  margin: 0 auto;
  width: 100%;
  z-index: 100;
  position: relative;
  background-color: var(--blue-500);
}
body.page-template-page-konzept .nav-wrapper {
  background-color: transparent;
}
.home .nav-wrapper {
  background-color: transparent;
}
nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem var(--gutter);
  max-width: calc(var(--narrow) - 2rem);
  color: var(--white);
  overflow: hidden;
  margin: 0 auto;
}
.site-branding {
  flex-shrink: 0;
}
.site-branding a img {
  max-height: 2.5rem;
  width: auto;
}
.menu {
  display: flex;
  gap: 1.25rem;
}
.menu li {
  all: unset;
  display: flex;
  align-items: center;
  position: relative;
  opacity: 0.75;
  transition: opacity 200ms ease;
}
.menu li:hover {
  opacity: 1;
}
.menu li.current-menu-item {
  opacity: 1;
}
.menu li a {
  font-size: 1rem;
}
.menu-icon {
  display: block;
  width: 2rem;
}
@media (min-width: 1024px) {
  .menu-icon {
    display: none;
  }
  #mobile-navigation.menu-container {
    display: none !important;
  }
  .menu li:last-child {
    background-color: white;
    opacity: 1;
    color: var(--blue-500);
    padding: 0.25rem 1rem;
    border-radius: var(--radius-s);
    transition: var(--transition-hover);
  }
  .menu li:last-child:hover {
    background-color: var(--blue-100);
  }
}
@media (max-width: 1024px) {
  .nav-wrapper {
    position: fixed;
    background-color: var(--blue-500) !important;
  }
  nav {
    flex-direction: column;
  }
  .menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
  #site-navigation.menu-container {
    display: none;
  }
  #mobile-navigation.menu-container {
    width: 100%;
    padding: 2rem 0;
  }
  .menu {
    flex-direction: column;
    width: 100%;
  }
  .menu li a {
    font-size: 1.25rem;
  }
}

/**
* Footer
**/
.a-hover {
  opacity: 0.75;
}

.button--container {
  display: flex;
  width: 100%;
}

.flex-start {
  justify-content: flex-start;
}

.flex-center {
  justify-content: center;
}

.flex-end {
  justify-content: flex-end;
}

.contact-form .acf-form-submit button {
  padding: 0.75rem 1.5rem;
  border-radius: var(--radius-m);
  display: flex;
  width: max-content;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  font-size: 1rem;
  box-shadow: var(--box-shadow);
  cursor: pointer;
  transition: var(--transition-hover);
  white-space: nowrap;
  text-decoration: none;
  background-color: var(--blue-500);
  color: white;
}

.contact-form .acf-form-submit button:hover {
  background-color: var(--blue-700);
}

.button:not(.acf-field .button) {
  padding: 0.75rem 1.5rem;
  padding-right: 1rem;
  border-radius: var(--radius-m);
  display: flex;
  width: max-content;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  font-size: 1rem;
  box-shadow: var(--box-shadow);
  cursor: pointer;
  transition: var(--transition-hover);
  white-space: nowrap;
  text-decoration: none;
}

.hero .button {
  min-width: 15rem;
}

.button a {
  text-decoration: none !important;
  color: inherit !important;
}

.button:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M8.25 4.5l7.5 7.5-7.5 7.5' /%3E%3C/svg%3E");
  width: 1.5rem;
  aspect-ratio: 1 / 1;
  filter: var(--blue-filter);
  transition: var(--transition-hover);
}
.button--blue {
  background: var(--blue-500);
  color: white;
  border: 1px solid var(--blue-500);
}
.button--blue:after {
  filter: var(--white-filter);
}
.button--blue:hover {
  background: var(--blue-700);
}
/* .button--blue:hover:after {
  filter: var(--blue-filter);
} */
.button--white {
  background: white;
  color: var(--blue-500);
  border: 1px solid white;
}
.button--white:after {
  filter: var(--blue-filter);
}
.button--white:hover {
  background: var(--blue-100);
}
.button--outline-blue {
  border: 1px solid var(--blue-500);
  color: var(--blue-500);
}
.button--outline-blue:hover {
  background: var(--blue-100);
  color: var(--blue-500);
}
.button--outline-blue:hover:after {
  filter: var(--blue-filter);
}
.button--outline-white {
  border: 1px solid white;
  color: white;
}
.button--outline-white:after {
  filter: var(--white-filter);
}
.button--outline-white:hover {
  background: white;
  color: var(--blue-500);
}
.button--outline-white:hover:after {
  filter: var(--blue-filter);
}

/* Pills */
.card--standort {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.pill {
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  transition: var(--transition-hover);
}

.pill--white {
  background: white;
  color: var(--blue-500);
  border: 1px solid white;
}

.pill--blue {
  background: var(--blue-500);
  color: white;
  border: 1px solid var(--blue-500);
}

.text-button {
  display: inline-flex;
  opacity: 0.75;
  transition: opacity 250ms ease-in;
}
.text-button:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' class='w-6 h-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M8.25 4.5l7.5 7.5-7.5 7.5' /%3E%3C/svg%3E");
  width: 1rem;
  aspect-ratio: 1 / 1;
  transition: var(--transition-hover);
  filter: var(--white-filter);
  background-repeat: no-repeat;
  background-position: center center;
  margin-left: 0.5rem;
}
.text-button:hover:after {
  margin-left: 0.75rem;
}
.text-button.filter-blue {
  filter: var(--blue-filter);
}
.button.button--full {
  width: 100% !important;
  max-width: 100%;
}
hr.divider {
  max-width: var(--narrow);
  border-color: var(--blue-300);
  opacity: 0.5;
  margin: 4rem auto;
}

.button-wrapper {
  display: flex;
  gap: 1rem;
}

@media (max-width: 640px) {
  .button-wrapper {
    flex-direction: column;
    align-items: center;
  }
}

/**
* Custom CSS from here
**/

/*aktiviert smooth scrolling*/
html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html{
    scroll-behavior: auto;
  }
}

.splide {
  overflow: hidden;
}
.splide__arrows {
  display: flex;
  width: 100%;
  justify-content: space-between;
  padding-top: 2rem;
  max-width: calc(var(--wp--style--global--wide-size) - 2rem);
  margin: 0 auto;
}

button.splide__arrow {
  width: 3rem;
  height: 3rem;
  background-color: transparent;
  border: 1px solid var(--blue-500);
  opacity: 1;
  top: unset;
  transform: unset;
  transition: opacity 250ms ease-in;
}

button.splide__arrow svg {
  stroke: var(--blue-500);
}

button.splide__arrow.splide__arrow--prev {
  position: relative;
  left: unset;
}

button.splide__arrow.splide__arrow--next {
  position: relative;
  right: unset;
}

button:disabled {
  cursor: not-allowed;
}

.splide__slide {
  transition: opacity 250ms ease-in;
  position: relative;
  perspective: 1000;
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
  -webkit-perspective: 1000;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  opacity: 0.25;
}

.splide__slide.is-active {
  opacity: 1;
}

/**
Card Grid und Cards
**/
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
}

.card-grid--news {
  grid-template-columns: repeat(auto-fit, minmax(320px, 320px));
}

.card {
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 2rem;
  transition: all 250ms ease-in-out;
  box-shadow: var(--box-shadow);
  position: relative;
  text-decoration: none !important;
}

.card:hover {
  transform: translateY(-5px);
  cursor: pointer;
}

.card--img {
  width: 100%;
  max-width: 180px;
  aspect-ratio: 1 / 1;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.card--blue {
  background: var(--blue-500);
  color: white;
}

.card--outline {
  background: white;
  color: var(--blue-500);
  border: 1px solid var(--blue-500);
}

.card--img img {
  max-width: 80%;
}

.card--outline img {
  filter: var(--blue-filter);
}

.card--team:hover {
  transform: translateY(0);
  cursor: auto;
}

.card--team .card--img {
  border-radius: 100%;
  overflow: hidden;
}

.card--team .card--img img {
  max-width: 100%;
}

.card--name {
  /* text-transform: uppercase; */
  font-weight: 700;
  text-align: center;
  font-size: 1.125rem;
  letter-spacing: 0.05rem;
  line-height: 1.1;
  min-height: 4rem;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}

.card--team .card--name {
  font-size: 1rem;
}

.card--tags {
  margin-top: 0.25rem;
  font-weight: 400;
  font-size: 0.85rem;
}

.card--news {
  border-radius: 0;
  box-shadow: none;
  align-items: flex-start;
  padding: 0;
  gap: 1rem;
}

.card--news-img {
  overflow: hidden;
  border-radius: var(--radius);
  aspect-ratio: 3 / 2;
  box-shadow: var(--box-shadow);
}

.card--news-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.card--news-info {
  line-height: 1;
}

.card--news-info span {
  padding: 0.25rem 0.5rem;
  padding-top: 0.3rem;
  border-radius: 1.5rem;
  border: 1px solid var(--blue-500);
  opacity: 0.25;
  font-size: var(--wp--preset--font-size--small);
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  line-height: 1;
  font-weight: 700;
  font-size: 0.75rem;
  display: inline-block;
}

.card--news-info h3 {
  font-weight: 700;
  margin-top: 0.75rem;
  font-size: 1.125rem;
}

@media (max-width: 720px) {
  .card-grid,
  .team-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .team-grid {
    margin-block-start: 2rem !important;
  }
  .card-grid--news {
    gap: 2.5rem;
  }
  .card {
    flex-direction: row-reverse;
    justify-content: space-between;
    padding: 1rem 3rem;
    padding-right: 2rem;
  }
  .card--img {
    max-width: 120px;
  }
  .card--img img {
    max-width: 100%;
  }
  .card--name {
    text-align: left;
    max-width: 20ch;
    align-items: flex-start;
  }
  .card--news {
    flex-direction: column;
    padding: 0 !important;
  }
}

@media (max-width: 540px) {
  .card {
    padding: 0.25rem 2rem;
  }
  .card--img {
    max-width: 60px;
  }
  .card--name {
    font-size: 1rem;
  }
}

/* Mobile card layout for blue cards - placed after existing media queries */
@media (max-width: 720px) {
  .card.card--blue {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem;
  }
  
  .card.card--blue .card--mobile-row {
    display: flex;
    width: auto;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }
  
  .card.card--blue .card--img {
    max-width: 100px;
    flex-shrink: 0;
  }
  
  .card.card--blue .card--name {
    text-align: left;
    min-height: auto;
    flex: 1;
    align-items: flex-start;
    max-width: none;
  }
  
  .card.card--blue .card--standort {
    justify-content: center;
    margin-top: 0;
  }
}

@media (max-width: 540px) {
  .card.card--blue {
    padding: 1rem;
  }
  
  .card.card--blue .card--img {
    max-width: 80px;
  }
  
  .card.card--blue .card--name {
    font-size: 0.9rem;
  }
}

.image--card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));
  gap: 2rem;
  padding-top: 3rem;
}

.image--card {
  display: flex;
  gap: 1.5rem;
  border-radius: var(--radius);
  padding: 1rem;
  padding-right: 2rem;
  box-shadow: var(--box-shadow);
}

.image--card-white {
  border: 1px solid var(--blue-500);
  background: white;
}

.image--card-blue {
  background: var(--blue-500);
  color: white;
}

.image--card picture {
  overflow: hidden;
  aspect-ratio: 3 / 4;
  max-width: 240px;
  width: 100%;
  height: 100%;
  border-radius: var(--radius-m);
}

.image--card picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image--card > div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1rem 0;
}

.image--card h3 {
  font-weight: 700;
  letter-spacing: 0.05rem;
  font-size: 1.25rem;
}

.image--card p {
  font-size: 1rem;
}

.image--card a {
  width: max-content;
  font-size: 1rem;
  opacity: 0.75;
  transition: var(--transition-hover);
  text-decoration: none;
}

.image--card a:hover {
  opacity: 1;
}

@media (max-width: 560px) {
  .image--card-grid {
    grid-template-columns: 1fr;
  }
  .image--card {
    flex-direction: column;
    padding: 1.5rem;
  }
  .image--card a {
    padding-top: 1rem;
  }
  .image--card picture {
    height: auto;
    width: 100%;
    max-width: 100%;
  }
  .image--card picture img {
    width: 100%;
  }
  .image--card > div {
    padding: 0;
  }
}

/*
Cards End
*/

.leistung-phasen {
  display: flex;
  gap: 1rem;
}

.content-block {
  margin-block-start: 0 !important;
  max-width: var(--narrow);
  margin: 0 auto;
  padding-bottom: 0 !important;
}
.single-karriere .content-block {
  max-width: 86ch;
}
.narrow--content {
  max-width: 860px;
}
.content-block + hr.divider {
  padding-top: var(--vertical-p);
  padding-bottom: var(--vertical-p);
}
section#informieren {
  scroll-margin-top: 4rem;
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 4rem;
  padding-top: 2rem;
}

.content-block figure:has(img),
.content-block p:has(img),
.content-block .wp-caption {
  aspect-ratio: 3 / 2;
  margin: 2rem 0;
  object-position: center center;
  overflow: hidden;
  border-radius: var(--radius);
}
.content-block .wp-caption p {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  text-align: center;
}
.content-block img {
  border-radius: var(--radius);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.content-block--img {
  overflow: hidden;
  border-radius: var(--radius);
}

.content-block figure img,
.content-block p img {
  width: 100%;
  object-fit: cover;
}
.content-block .wp-caption {
  width: 100% !important;
}
.content-block + .leistung-more {
  padding-top: 0 !important;
}

.leistung-more {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 1rem;
  margin-block-start: 0 !important;
}

.leistung-more--prev,
.leistung-more--next {
  display: flex;
  gap: 1rem;
  font-size: 1rem;
  padding: 0.75rem 1.5rem;
  border: 1px solid var(--blue-500);
  border-radius: var(--radius-m);
  transition: var(--transition-hover);
  box-shadow: var(--box-shadow);
  text-decoration: none !important;
}

.leistung-more--prev {
  padding-left: 1rem;
}

.leistung-more--next {
  padding-right: 1rem;
}

.leistung-more--prev,
.leistung-more--next {
  justify-content: space-between;
}

.leistung-more--prev:hover,
.leistung-more--next:hover {
  background-color: var(--blue-100);
}

.leistung-more svg {
  width: 1.25rem;
}

@media (min-width: 640px) {
  .leistung-more {
    flex-direction: row;
  }
  .leistung-more--next {
    margin-left: auto;
  }
}

.behandlungen-block {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-block-start: 0 !important;
}

.behandlungen-header {
  margin-bottom: 1.5rem;
}

/*
Karriere
*/
.karriere-info h2 {
  font-size: 1.25rem;
}
.karriere-cta-wrapper {
  padding-top: 8rem !important;
  padding-bottom: 8rem !important;
}

.karriere-cta-block {
  background: var(--blue-500);
  border-radius: var(--radius);
  padding: 2rem;
  color: white;
  box-shadow: var(--box-shadow);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  min-height: 50vh;
}

.karriere-cta-block > div {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.karriere-cta-block h2 {
  font-size: 2.5rem;
  margin-bottom: 0.5rem !important;
  font-weight: 700;
}

.karriere-cta-block h4 {
  margin-bottom: 2rem !important;
}

.karriere-cta-block p {
  font-size: 1rem;
  margin-bottom: 2rem;
  margin-bottom: 1rem;
}

.karriere-cta-block figure {
  overflow: hidden;
  border-radius: var(--radius-m);
}

.karriere-cta-block figure img {
  height: 100%;
  object-fit: cover;
}

@media (max-width: 680px) {
  .karriere-cta-block h2 {
    font-size: 2rem;
  }
}

.fadein > *:not(.button) {
  transform: translateY(50px);
  opacity: 0;
  transition: 750ms all ease;
}

.fadein > *.faded {
  transform: translateY(0);
  opacity: 1;
}

.fadein > *:nth-child(1) {
  transition-delay: 200ms;
}
.fadein > *:nth-child(2) {
  transition-delay: 250ms;
}
.fadein > *:nth-child(3) {
  transition-delay: 300ms;
}
.fadein > *:nth-child(4) {
  transition-delay: 350ms;
}

.mce-content-body {
  padding: 1rem;
}
.mce-content-body ul {
  list-style: disc;
}
.mce-content-body p + p,
.mce-content-body p + ul,
.mce-content-body p + ol {
  margin-top: 1rem;
}

.karriere-cta {
  background-color: var(--blue-500);
  border-radius: var(--radius);
}

.footer-wrapper {
  max-width: var(--wide);
  margin: 0 auto;
  margin-top: 8rem;
  padding: 0 1rem;
  padding-top: 4rem;
}

.footer-inner {
  background: var(--blue-500);
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
  padding: 6rem;
  padding-bottom: 6rem;
  color: white;
  box-shadow: var(--box-shadow);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 2rem;
}

.footer-inner a {
  color: white;
  transition: all 150ms ease;
  text-decoration: none;
}
.footer-inner a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

footer {
  font-size: 1rem;
}

.footer-logo {
  padding: 0.5rem 0;
  max-width: 12rem;
}

footer :is(div:not(.footer-logo)) p + p {
  margin-top: 0.5rem;
}

@media (max-width: 860px) {
  .footer-inner {
    grid-template-columns: 1fr;
    padding: 2rem;
  }
  .footer-inner > div:not(.footer-logo) {
    padding-bottom: 2rem;
    border-bottom: 1px solid white;
  }
}

/*
Glossar
*/
.glossar-filter {
  position: sticky;
  top: 0;
  padding: 2rem 0;
  border-bottom: 1px solid var(--blue-500);
  background-color: white;
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  z-index: 10;
}

.glossar-filter a {
  text-decoration: none;
}

.glossar-wrapper h3,
.glossar-wrapper h4 {
  font-weight: 700;
  font-size: 1.5rem;
}

.glossar-wrapper h3 {
  position: sticky;
  align-self: flex-start;
  top: 8rem;
}

.glossar-section {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: 2rem;
  padding: 4rem 1rem;
  scroll-margin-top: 4rem;
}

.glossar-section + .glossar-section {
  border-top: 1px solid var(--blue-500);
}

.glossar-entry + .glossar-entry {
  padding-top: 2rem;
  margin-top: 2rem;
}

.glossar-entry:not(h4) {
  font-size: 1.125rem;
}

.glossar-entry p {
  padding: 0.5rem 0;
  max-width: 100%;
}

.glossar-entry p + p {
  margin-top: 0rem;
}

.glossar-entry ul + p,
.glossar-entry p + ul {
  margin-top: 0.5rem;
}

.glossar-entry a {
  font-size: 1rem;
}

@media (max-width: 640px) {
  .glossar-section {
    gap: 1rem;
    padding: 4rem 0;
  }
  .glossar-filter {
    padding-top: 8rem;
  }
  .glossar-filter a {
    font-size: 1.125rem;
  }
  .glossar-wrapper h3,
  .glossar-wrapper h4 {
    font-size: 1.25rem;
  }
  .glossar-section {
    scroll-margin-top: 10rem;
  }
}

/*
Pop-Up
*/
.popup {
  position: fixed;
  right: 1rem;
  top: 16rem;
  display: flex;
  gap: 1rem;
  transition: transform 150ms ease-in-out;
}

.popup-button {
  width: 3rem;
  height: 3rem;
}

.popup-open {
  transform: translateX(-100%);
}

.popup-content {
  padding: 1.25rem;
  border-radius: var(--radius-m);
  background-color: var(--blue-500);
  color: white;
  font-size: 1rem;
}

/*
CF7
*/
.contact-form label {
  font-size: 0.85rem;
}

.contact-form :is(span, ::placeholder) {
  font-size: 1.125rem;
}
.contact-form :is(label, input, textarea, span, p, select) {
  width: 100%;
  line-height: 1;
}
.contact-form :is(input, textarea, select) {
  padding: 0.75rem 0.75rem !important;
  margin-top: 0.5rem;
  border-radius: 4px !important;
  border: 1px solid var(--blue-100);
}
.contact-form .acf-fields > .acf-field,
.contact-form .acf-field[data-width] + .acf-field[data-width] {
  border: none;
  padding: 0;
}
.contact-form .acf-field + .acf-field {
  margin-top: 1.5rem;
}
.acf-field input[type="text"],
.acf-field input[type="password"],
.acf-field input[type="date"],
.acf-field input[type="datetime"],
.acf-field input[type="datetime-local"],
.acf-field input[type="email"],
.acf-field input[type="month"],
.acf-field input[type="number"],
.acf-field input[type="search"],
.acf-field input[type="tel"],
.acf-field input[type="time"],
.acf-field input[type="url"],
.acf-field input[type="week"],
.acf-field textarea,
.acf-field select {
  font-size: 1rem !important;
}
.contact-form .acf-notice p {
  margin: 0;
  display: none;
}
.contact-form .acf-field .acf-notice.-error {
  background-color: transparent;
  border: 0;
  margin: 0;
  padding-left: 0;
  padding-top: 0;
}
.contact-form .acf-field .acf-notice.-error:after {
  content: "Pflichtfeld";
  font-size: 0.85rem;
}
@media (max-width: 640px) {
  .contact-form .acf-fields {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
  .contact-form .acf-fields > .acf-field,
  .contact-form .acf-field[data-width] + .acf-field[data-width] {
    width: 100% !important;
  }
  .contact-form .acf-field + .acf-field {
    margin-bottom: 0;
  }
}

.contact-form select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: 1rem;
  background-position: 99% 50%;
  transform: rotate();
}

.contact-form .wpcf7-not-valid-tip {
  font-size: 0.85rem;
  padding-top: 0.5rem;
  color: var(--red);
}

.contact-form .wpcf7-spinner {
  display: none;
}

.contact-form .wpcf7 form .wpcf7-response-output {
  margin: 0;
  color: white;
  border: unset;
  font-size: 1rem;
  text-align: center;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  border-color: unset;
}

.contact-form .wpcf7 form.sent .wpcf7-response-output {
  margin: 0;
  padding: 0.5rem 0.75rem;
  border: unset;
  text-align: center;
  border-radius: 4px;
  color: white;
  background-color: #46b450;
  border-color: unset;
}

.contact-form .wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  background-color: var(--red);
  border-color: unset !important;
}

.contact-form .wpcf7 [type="submit"] {
  background-color: var(--blue-100);
  padding: 0.75rem 0.75rem;
  border-radius: 4px;
  margin: 2rem 0;
  cursor: pointer;
  font-size: 1rem;
}

.contact-form .wpcf7 [type="submit"]:hover {
  background-color: var(--blue-500);
  color: white;
}
.contact-form .form-row {
  margin-top: 1.5rem;
}
.contact-form .form-row#datenschutz label {
  display: flex;
}
.contact-form .form-row#datenschutz label input {
  width: auto;
  margin-top: 0;
  margin-right: 0.5rem;
}
.contact-form .wpcf7-list-item {
  margin-left: 0;
}
.rundgang-block {
  width: 100%;
  height: 60vh;
}

/*
Sections
*/

/*
Section 3-Phasen
*/
.phasen-block--inner {
  background: white;
  padding: 6rem;
  border-radius: var(--radius);
  position: relative;
  border: 1px solid var(--blue-500);
  box-shadow: var(--box-shadow);
}

.phasen-block--content {
  text-align: center;
}

.phasen-block--content h2 {
  font-weight: 700;
  font-size: 2rem;
  max-width: 20ch;
  margin: 0 auto;
  margin-bottom: 1rem;
  line-height: 1.2;
}

.phasen-block--content p {
  max-width: 60ch;
  margin: 0 auto;
  margin-bottom: 2rem;
}

.phasen-block--content a {
  margin: 0 auto;
}

.phasen-block--phases {
  display: flex;
  justify-content: space-between;
  padding: 0 2rem;
  margin: 4rem 0;
}

.phasen-block--phase-1 {
  color: var(--red);
}

.phasen-block--phase-2 {
  color: var(--yellow);
}

.phasen-block--phase-3 {
  color: var(--green);
}

.phasen-block--phase-1,
.phasen-block--phase-2,
.phasen-block--phase-3 {
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  font-weight: 700;
  text-align: center;
  font-size: 1.25rem;
  max-width: 18ch;
  margin: 0 auto;
  text-align: center;
}

.phasen-block--phases span {
  display: flex;
  margin: 0 auto;
  background-color: inherit;
  width: 100%;
  max-width: 6rem;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1 / 1;
  color: white;
  border-radius: 100%;
  margin-bottom: 2rem;
  font-size: 2rem;
}

.phasen-block--phases hr {
  border-bottom: 1px solid var(--blue-300);
  width: 4rem;
  margin-top: 3rem;
}

.phasen-block--phases div:first-child span {
  background: var(--red);
}

.phasen-block--phases div:nth-child(3) span {
  background: var(--yellow);
}

.phasen-block--phases div:nth-child(5) span {
  background: var(--green);
}

@media (max-width: 780px) {
  .phasen-block--phases {
    flex-direction: column;
  }
  .phasen-block--phases hr {
    border-bottom: 0;
    border-left: 1px solid var(--blue-300);
    width: 0;
    height: 3rem;
    margin: 1.5rem auto;
  }
  .phasen-block--phases span {
    margin-bottom: 1rem;
  }
  .phasen-block--inner {
    padding: 4rem var(--gutter);
  }
  .phasen-block--phase-1,
  .phasen-block--phase-2,
  .phasen-block--phase-3 {
    max-width: 100%;
  }
}

/*
Section Testimonials
*/
.testimonial-block {
  position: relative;
  color: #0d7cc1;
  border-radius: 1.5rem;
  scroll-padding-top: 2rem;
  padding-top: var(--vertical-p) !important;
  padding-bottom: var(--vertical-p) !important;
}

.testimonial-blockquote {
  background-color: #f2faff;
  border: 1px solid #0d7cc1;
  border-radius: 1.5rem;
  padding: 2.5rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 360px;
  justify-content: space-between;
  box-shadow: var(--box-shadow);
}

@media (min-width: 800px) {
  .testimonial-blockquote {
    min-height: 280px;
  }
}

@media (max-width: 640px) {
  .testimonial-blockquote {
    padding: 2rem;
    gap: 1rem;
  }
}

.testimonial-rating {
  display: flex;
}

.testimonial-rating .testimonial-star {
  width: 1.25rem;
  height: 1.25rem;
  fill: #0d7cc1;
}

.testimonial-text {
  font-size: 1rem;
}

.testimonial-name,
.testimonial-role {
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.025rem;
}

.testimonial-name {
  font-weight: 700;
}

.testimonial-arrows {
  max-width: var(--wp--style--global--content-size);
  margin: 0 auto;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

@media (max-width: 960px) {
  .testimonial-arrows {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/*
Section CTA Termin
*/
.call-to-action--inner {
  padding: var(--vertical-p);
  position: relative;
  text-align: center;
  gap: 2rem;
  border-radius: 1.5rem;
  background-color: var(--white);
  color: var(--blue-500);
  box-shadow: var(--box-shadow);
  border: 1px solid;
}

.call-to-action--content {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
}

h2.call-to-action--headline {
  margin: 0;
  margin-bottom: 1rem;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.25;
}

.call-to-action--text {
  margin-bottom: 2.5rem;
  max-width: 56ch;
}

.call-to-action--icon {
  position: relative;
  display: flex;
  width: 100%;
  justify-content: center;
  margin-bottom: 2rem;
}

.call-to-action--icon img {
  max-width: 180px;
  filter: var(--blue-filter);
}

.leistung-more + .call-to-action-block {
  margin-top: 15vh;
}

@media (max-width: 980px) {
  .call-to-action--content {
    max-width: 100%;
  }
  .call-to-action--icon img {
    max-width: 120px;
  }
  h2.call-to-action--headline {
    font-size: 1.5rem;
  }
  .call-to-action--inner {
    padding: 2rem;
  }
}

/*
Hero
*/
.hero {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 10vh !important;
  height: calc(60vh + 80px);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.hero--short {
  height: calc(30vh + 80px);
  padding-bottom: 0 !important;
}

.eyebrow {
  background-color: var(--blue-500);
  color: var(--white);
  padding: 0.375rem 0.875rem;
  border-radius: 1.5rem;
  font-size: 0.875rem;
  letter-spacing: 0.05rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 2rem;
  font-size: 0.75rem;
  width: fit-content;
}

a.eyebrow {
  text-decoration: none;
}

.hero h1 {
  font-weight: 700;
  line-height: 1.2;
  max-width: 20ch;
}
.hero--short h1 {
  max-width: 40ch;
}

.hero h2 {
  font-size: 1.25rem;
  line-height: 1.5;
  margin-top: 1rem;
  max-width: 90%;
  max-width: 50ch;
  text-wrap: balance;
}

.hero a:not(a.button) {
  margin-top: 2rem;
  box-shadow: var(--box-shadow);
}
.hero .button-wrapper {
  margin-top: 2rem;
}
.hero-image {
  position: relative;
  width: 100%;
  aspect-ratio: 2 / 1;
  display: flex;
  overflow: hidden;
  border-radius: var(--radius);
  box-shadow: var(--box-shadow);
  margin: 4rem 0;
}

.hero-image--overlay {
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  z-index: 1;
}

.hero-image img {
  object-fit: cover;
  width: 100%;
  filter: grayscale(1);
  opacity: 0.3;
}

.hero-icon {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 10;
  padding: 3rem;
}

.hero-icon img {
  /*   filter: invert(37%) sepia(48%) saturate(7355%) hue-rotate(186deg) brightness(94%) contrast(90%);
 */
  max-width: 200px;
  opacity: 1;
  object-fit: fill;
}

.hero.light .hero-icon {
  position: relative;
  height: auto;
}

.hero.light .hero-icon img {
  filter: var(--blue-filter);
}

@media (max-width: 640px) {
  .hero {
    padding-top: 10rem !important;
    padding-bottom: 2rem !important;
    height: 100%;
  }
  .hero h2 {
    font-size: 1.25rem;
  }
  .hero-icon {
    padding-top: 0;
  }
}

body.single-karriere .hero {
  height: 50vh;
}

body.single-karriere .hero h1 {
  max-width: 40ch;
}

/*
Section Statement
*/
.statement-block {
  position: relative;
  color: var(--blue-500);
  border-radius: 1.5rem;
  transform: translateY(1rem);
  scroll-padding-top: 2rem !important;
}

.statement-block + .statement-block {
  margin-top: 4rem;
}

.statement-block-wrapper .statement-block:nth-child(even) .statement-quote {
  flex-direction: row-reverse;
}

.statement-quote {
  /*  background-image: linear-gradient(to left bottom, #f1f8fe, #edf6fe, #eaf4fd, #e6f3fd, #e2f1fc); */
  border: var(--border);
  border-radius: 1.5rem;
  padding: 4rem;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2rem;
  box-shadow: var(--box-shadow);
  justify-content: space-between;
}

.statement-image {
  flex-shrink: 0;
  aspect-ratio: 1 / 1;
  width: 160px;
  height: 160px;
}

.statement-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 100%;
  border: 1px solid var(--blue-500);
}

.statement-text {
  margin-bottom: 1.5rem;
  font-size: 1.125rem;
}

.statement-name,
.statement-role {
  font-size: 0.75rem;
  letter-spacing: 0.025rem;
}

.statement-name {
  font-weight: 700;
}

@media (max-width: 640px) {
  .statement-quote {
    padding: 2rem;
    flex-direction: column !important;
    flex-direction: column-reverse !important;
    text-align: center;
    gap: 1rem;
  }
  .statement-image img {
    width: 80px;
  }
}

/*
Section Gallery
*/
.gallery-block .swiper-slide {
  max-height: 80vh;
  display: flex;
  flex-direction: column;
}

.gallery-block .swiper-slide p {
  font-size: 1rem;
  padding-top: 0.5rem;
}

.gallery-block .swiper-slide picture {
  border-radius: var(--radius-m);
  overflow: hidden;
}

.gallery-block .swiper-slide picture img {
  object-fit: cover;
  width: 100%;
}

/*
Section Posts
*/
.posts-block {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.posts-row {
  border: 1px solid var(--blue-500);
  border-radius: calc((var(--radius) / 3) * 2);
  padding: 1rem;
  padding-right: 0.5rem;
  color: #0d7cc1;
  cursor: pointer;
  transition: all 50ms ease-out;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: var(--box-shadow);
  text-decoration: none !important;
}

.posts-row svg {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
}
.posts-row:hover {
  background-color: var(--blue-100);
}

@media (min-width: 640px) {
  .posts-row {
    padding: 1rem 1.5rem;
    font-size: 1.25rem;
    padding-right: 1.25rem;
  }
  .posts-row svg {
    width: 2rem;
    height: 2rem;
  }
}

/*
Section Benefits
*/
.benefits-block .eyebrow {
  margin: 0 auto;
  margin-bottom: 1.5rem;
}
.benefits-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  padding-top: 3rem;
}
.benefits-slider {
  display: none;
  padding: 0 !important;
}
.benefits-card {
  background: var(--wp--preset--color--primary-50);
  border-radius: var(--radius);
  position: relative;
  border: var(--border);
  padding: 2rem;
  padding-left: 0;
  box-shadow: var(--box-shadow);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.benefit-info {
  grid-column: span 2;
  height: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.benefit-title {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.benefit-text {
  font-size: 1rem;
}
.benefit-img {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.benefit-img img {
  width: 100px;
}
.benefits-subtext {
  margin-top: 3rem;
}
@media (max-width: 1024px) {
  .benefits-card {
    display: flex;
    flex-direction: column;
    padding: 2rem;
    gap: 1rem;
  }
  .benefit-info {
    justify-content: flex-end;
    height: unset;
  }
}

@media (max-width: 900px) {
  .benefits-slider {
    display: block;
  }
  .benefits-grid {
    grid-template-columns: repeat(1, 1fr);
  }
}

@media (max-width: 480px) {
  .benefits-card {
    grid-template-columns: 1fr;
    padding: 2rem;
  }
  .benefit-img img {
    width: 80px;
  }
}

/*
Section Contact
*/

.contact-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.contact-card--info {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.contact-card--header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.contact-card figure img {
  width: 2rem;
  filter: var(--blue-filter);
}

.contact-card h2 {
  font-size: 1.5rem;
}

.contact-card--date {
  display: flex;
  gap: 1rem;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.contact-card--date span:first-child {
  min-width: 10rem;
  flex-shrink: 0;
}

.contact-card a:hover {
  color: var(--blue-300);
}

.contact-form p {
  margin-top: 0 !important;
}

.contact-form h2 {
  font-size: 1.5rem;
  padding-bottom: 2rem;
  font-weight: 700;
}

.contact-form--row {
  display: flex;
  gap: 1rem;
}

.contact-form--row + .contact-form--row {
  margin-top: 2rem;
}

@media (max-width: 680px) {
  .contact-card {
    grid-template-columns: 1fr;
    font-size: 1.25rem;
  }
  .contact-form--row {
    flex-wrap: wrap;
  }
  .contact-card h2,
  .contact-card p,
  .contact-card a {
    font-size: 1.25rem;
  }
  .contact-card--info {
    gap: 1rem;
  }
  .contact-card--info strong {
    font-size: 1rem;
  }
}

/*
Section Partners
*/
.partners-block {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

.partners-card {
  padding: 1.5rem 2rem;
  border: 1px solid var(--blue-500);
  border-radius: var(--radius);
  display: block;
  transition: transition 250ms ease-in-out;
  background-color: white;
  box-shadow: var(--box-shadow);
}

.partners-card figure {
  height: fit-content;
  width: 100%;
  height: 100%;
  max-height: 4rem;
  display: grid;
  place-content: center;
}

.partners-card figure img {
  width: 100%;
  max-height: 4rem;
}

.partners-card:hover {
  transform: translateY(-5px);
}

@media (max-width: 980px) {
  .partners-block {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .partners-block {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  .partners-card {
    padding: 1rem 1.5rem;
  }
}

/*
Home Hero
*/
.home-hero-block {
  height: 90vh;
  background-color: var(--blue-500);
  transform: translateY(-80px);
  z-index: -10;
  padding: 0 var(--gutter);
}

.home-hero--animation {
  height: 100%;
  max-width: var(--wide);
  margin: 0 auto;
  padding: 0 var(--gutter);
  padding-top: var(--vertical-p);
  position: relative;
  display: grid;
  grid-template-columns: 3fr 2fr;
}

.home-hero--animation-r {
  position: relative;
}

.home-hero--animation-r svg {
  overflow: visible;
  height: 85%;
  width: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

.home-hero--info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: white;
  height: 100%;
  z-index: 10;
}

.home-hero--titel {
  font-weight: 700;
  font-size: var(--text-2xl);
  line-height: 1.25;
  margin-bottom: 1rem;
  max-width: 18ch;
  animation: fade-in 1s;
  animation-fill-mode: both;
  animation-delay: 250ms;
}

.home-hero--text {
  margin-bottom: 4rem;
  max-width: 40ch;
  animation: fade-in 1s;
  animation-fill-mode: both;
  animation-delay: 350ms;
}

.home-hero--buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  animation: fade-in 1s;
  animation-fill-mode: both;
  animation-delay: 450ms;
}

@media (max-width: 980px) {
  .home-hero-block {
    padding-top: var(--vertical-p);
    overflow: hidden;
    height: 100vh;
  }
  .home-hero--animation {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    padding-top: 8rem;
  }
  .home-hero--info {
    gap: 1rem;
    height: auto;
  }
  .home-hero--info > * {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    justify-content: center;
  }
  .home-hero--animation-r svg {
    height: auto;
    width: 80%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .home-hero--text {
    font-size: 1rem;
    max-width: 48ch;
  }
  .home-hero--buttons {
    margin-top: 1rem;
  }
  .home-hero--titel {
    max-width: 32ch;
  }
}
@media (max-width: 640px) {
  .home-hero--animation-r svg {
    height: auto;
    width: 120%;
  }
}

/*
Section Accordion
*/
.accordion-block {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.accordion-row {
  border: 1px solid var(--blue-500);
  border-radius: 1rem;
  padding: 0.75rem 1.25rem;
  padding-right: 0.75rem;
  color: #0d7cc1;
  cursor: pointer;
  transition: all 50ms ease-out;
  box-shadow: var(--box-shadow);
  font-size: 1.125rem !important;
}

.accordion-row:hover {
  background-color: #f3faff;
}

.accordion-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  font-size: 1.25rem;
  line-height: 1.5 !important;
}

.accordion-title div {
  min-height: 2rem;
  display: flex;
  align-items: center;
}

.accordion-title svg {
  width: 2rem;
  height: 2rem;
  transition: all 100ms ease-in-out;
  flex-shrink: 0;
  pointer-events: all;
}

.accordion-text {
  line-height: 1.5 !important;
  padding-top: 1.5rem;
  max-width: 100%;
}

.accordion-text a {
  pointer-events: all;
}

.accordion-text figure {
  margin-left: 2rem;
  border-radius: var(--radius);
  overflow: hidden;
  max-width: 320px;
  display: flex;
  width: 100%;
}

.accordion-text figure img {
  object-position: center;
  object-fit: cover;
}

details[open] .accordion-title svg {
  transform: rotate(45deg);
}

details[open] .accordion-text {
  padding-bottom: 0.5rem;
}

@media (max-width: 680px) {
  .accordion-title {
    font-size: 1rem;
  }
  .accordion-title div {
    min-height: 2rem;
  }
  .accordion-title img {
    width: 2rem;
    height: 2rem;
  }
  .accordion-text {
    max-width: 100%;
    font-size: 1rem;
  }
}

/*
Section Download
*/
.download-block {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

a.download-row {
  border: 1px solid var(--blue-500);
  border-radius: 1rem;
  padding: 0.75rem 1.25rem;
  padding-left: 1.75rem;
  color: #0d7cc1;
  cursor: pointer;
  transition: all 50ms ease-out;
  box-shadow: var(--box-shadow);
  font-size: 1.125rem !important;
  display: flex;
  justify-content: space-between;
  text-decoration: none !important;
}

.download-row:hover {
  background-color: var(--blue-100);
}

.download-row.open {
  background-color: var(--blue-100);
  pointer-events: none;
  padding-bottom: 2rem;
}

.download-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  line-height: 1.5 !important;
  font-size: 1.25rem;
}

.download-title svg {
  width: 3rem;
  height: 3rem;
  transition: all 100ms ease-in-out;
  flex-shrink: 0;
  pointer-events: all;
}

@media (max-width: 640px) {
  .download-title {
    font-size: 1.25rem !important;
  }
}

/*
Section News
*/
.news-block .card-grid--news {
  padding: 5vh 0;
}
.news-block a {
  margin: 0 auto;
}

/*
Section Ampel
*/
.ampel-card {
  min-height: 80vh;
  width: 100%;
  border-radius: 1.5rem;
  background-size: 150% !important;
  background-position: center center;
  color: white !important;
  padding: 3rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  overflow: hidden;
}

.ampel-card--first {
  background-color: var(--blue-500);
  display: grid;
  grid-template-columns: 1fr;
  place-content: center;
  text-align: center;
}

.ampel-card--first .eyebrow {
  background-color: white;
  color: var(--blue-500);
}

.ampel-card--first > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.ampel-card--first h2 {
  font-weight: 700;
  line-height: 1.2;
  max-width: 20ch;
}

.ampel-card--first h3 {
  line-height: 1.5;
  margin-top: 0.5rem;
  max-width: 90%;
  max-width: 50ch;
}

.ampel-info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.ampel-titel {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.25;
  padding-bottom: 1rem;
}

.ampel-text {
  max-width: 40ch;
}

.ampel-card--first .ampel-text {
  max-width: 80ch;
}

.ampel-badge {
  width: 3rem;
  height: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: white;
  border-radius: 100%;
  mix-blend-mode: screen;
  color: black;
  font-weight: 700;
  font-size: 1.5rem;
}

.ampel-bild {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ampel-bild img {
  max-width: 80%;
}

@media (max-width: 980px) {
  .ampel-card {
    grid-template-columns: 1fr;
    min-height: 480px;
    height: 480px;
    padding: 1.5rem;
    gap: 3rem;
  }
  .ampel-info {
    gap: 1rem;
  }
  .ampel-titel {
    font-size: 1.5rem;
  }
  .ampel-bild img {
    max-width: 100%;
  }
}

@media (max-width: 1440px) {
  .ampel-arrows {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.swiper {
  width: 100%;
  height: 100%;
  padding-bottom: 2rem !important;
}
.swiper-pagination {
  bottom: 0 !important;
}

/*
Tamplate Konzept
*/
.page-template-page-konzept main {
  transform: translateY(-80px);
}
.page-template-page-konzept .hero {
  position: relative;
  overflow: hidden;
  color: white;
  height: 100%;
  min-height: 80vh;
  padding-bottom: var(--vertical-p);
}
.page-template-page-konzept .hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -10;
  background: rgb(225, 112, 93);
  background: -moz-linear-gradient(
    90deg,
    rgba(225, 112, 93, 1) 0%,
    rgba(255, 207, 57, 1) 49%,
    rgba(110, 201, 118, 1) 100%
  );
  background: -webkit-linear-gradient(
    90deg,
    rgba(225, 112, 93, 1) 0%,
    rgba(255, 207, 57, 1) 49%,
    rgba(110, 201, 118, 1) 100%
  );
  background: linear-gradient(
    90deg,
    rgba(225, 112, 93, 1) 0%,
    rgba(255, 207, 57, 1) 49%,
    rgba(110, 201, 118, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e1705d",endColorstr="#6ec976",GradientType=1);
}
.page-template-page-konzept .eyebrow {
  background-color: white;
  color: var(--blue-500);
}
.page-template-page-konzept .hero svg circle {
  fill: white;
}
.page-template-page-konzept .hero svg path {
  stroke: var(--blue-500);
}

.red-gradient {
  background: linear-gradient(-230deg, #e1705d 20%, #ffcf39 120%);
}
.yellow-gradient {
  background: linear-gradient(-230deg, #e1705d -20%, #ffcf39 50%, #6ec976 120%);
}
.green-gradient {
  background: linear-gradient(260deg, #6ec976 50%, #ffcf39 110%);
}
.konzept-block {
  margin-top: calc(var(--vertical-p) * 2) !important;
}
.konzept-card {
  background-color: white;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--box-shadow);
}
.konzept-card + .konzept-card {
  margin-top: 4rem;
}
.konzept-card__header {
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  flex-direction: column;
  gap: 1rem;
  font-weight: 700;
  padding: 2rem 0;
}
.konzept-card__badge {
  width: 2.5rem;
  height: 2.5rem;
  line-height: 1;
  display: grid;
  place-content: center;
  border-radius: 4rem;
  mix-blend-mode: screen;
  color: black;
  background-color: white;
}
.konzept-card__headline {
  max-width: 12ch;
  text-align: center;
  margin: 0 auto;
  font-size: 2rem;
  line-height: 1.1;
}
.konzept-card__subheadline {
  font-size: 1.5rem;
  font-weight: 700;
}
.konzept-card__content {
  min-height: 40vh;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: calc(var(--gutter) * 3);
  padding: calc(var(--gutter) * 2);
}
.konzept-card__content figure {
  overflow: hidden;
  border-radius: var(--radius-m);
  width: 100%;
}
.konzept-card__content figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.konzept-card__text {
  padding: 2rem 0;
}
.konzept-card__text h3 {
  margin-top: 3rem;
  font-size: 1.25rem;
  font-weight: 700;
}
.konzept-card__links {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}
.leistung-content .aside-leistungen a.button,
.konzept-card__links .button:not(.acf-field .button) {
  padding: 0.5rem 1.125rem;
  gap: 0.5rem;
  padding-right: 1rem;
  font-size: 0.85rem;
  border-radius: var(--radius-s);
}
.konzept-card__links .button:after {
  width: 1rem;
}

@media (max-width: 640px) {
  .konzept-card__content {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 1.5rem;
  }
  .konzept-card__text {
    padding: 0;
  }
  .konzept-card__content figure {
    max-height: 20rem;
  }
  .konzept-block {
    margin-top: calc(var(--vertical-p)) !important;
  }
  .konzept-card__header {
    padding: 2rem 0;
  }
  .konzept-card__links {
    padding-bottom: 2rem;
  }
}

@media (max-width: 860px) {
  .page-template-page-konzept main {
    transform: translateY(0);
  }
}
.block-kursplan img {
  width: 100%;
}
.block-kursplan a {
  margin: 0 auto;
  margin-top: 2rem;
}
.block-kursplan #saas_bookings {
  margin-top: var(--vertical-p);
}

.aside-leistungen {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.aside-leistungen + .aside-leistungen {
  margin-top: 2rem;
}
.aside-leistungen h3 {
  font-size: 1rem;
  font-weight: 700;
}
.aside-leistungen a {
  font-size: 1rem;
  text-decoration: none;
}
.aside-leistungen a:hover {
  text-decoration: underline;
}
@media (max-width: 960px) {
  .aside-leistungen h3 {
    font-size: 0.875rem;
  }
  .aside-leistungen a {
    font-size: 0.875rem;
  }
  section#informieren {
    gap: 2rem;
  }
}
@media (max-width: 560px) {
  section#informieren {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .aside-leistungen h3 {
    font-size: 1rem;
  }
  .aside-leistungen a {
    font-size: 1rem;
  }
}
.grecaptcha-badge {
  display: none;
}
.highlight-block__wrapper {
  background-color: var(--blue-500);
  padding: 1rem;
  border-radius: var(--radius);
  color: var(--blue-050);
  box-shadow: var(--box-shadow);
  gap: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.highlight-block-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 75ch;
  padding: 2rem;
  padding-left: 2rem;
  text-align: center;
}

.highlight-block-content h2 {
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 2rem;
}

.forschung-block__wrapper,
.kursplan-block__wrapper {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 2rem;
  background-color: var(--blue-500);
  padding: 1rem;
  border-radius: var(--radius);
  color: var(--blue-050);
  box-shadow: var(--box-shadow);
}
.forschung-block__wrapper {
  background-color: var(--white);
  color: var(--blue-500);
  border: 1px solid var(--blue-500);
}
.forschung-block-content,
.kursplan-block-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  max-width: 56ch;
  padding: 2rem;
  padding-left: 2rem;
}
.forschung-block-content {
  justify-content: space-between;
}
.kursplan-block-content .eyebrow {
  background-color: var(--blue-050);
  color: var(--blue-500);
  display: inline-block;
  margin-bottom: 1rem;
  width: fit-content;
}

.highlight-block-content .eyebrow {
  background-color: var(--white);
  color: var(--blue-500);
  display: inline-block;
  margin-bottom: 1rem;
  width: fit-content;
}

.forschung-block-content .eyebrow {
  display: inline-block;
  margin-bottom: 1rem;
  width: fit-content;
}
.kursplan-block-content h2,
.forschung-block-content h2,
.event-block h2 {
  font-weight: 700;
  line-height: 1.2;
}
.forschung-block-content h2 {
  margin-bottom: 1rem;
}
.event-block h2 {
  margin-bottom: 0.75rem;
}
.forschung-block-content a,
.kursplan-block-content a,
.event-block a {
  margin-top: 2rem;
}
.text-und-bild-block-img,
.kursplan-block-img,
.forschung-block-img {
  width: 100%;
  height: 100%;
  border-radius: var(--radius-m);
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
.forschung-block-img {
  background: linear-gradient(
    135deg,
    #c9e56b 0%,
    oklch(89.88% 0.172 130.12) 100%
  );
}
.text-und-bild-block-img {
  background: var(--blue-500);
}
.kursplan-block-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 640px) {
  .kursplan-block__wrapper,
  .forschung-block__wrapper {
    grid-template-columns: 1fr;
    gap: 2rem;
    border-radius: 1.5rem;
  }
  .kursplan-block-content,
  .forschung-block-content {
    padding-left: 2rem;
  }
  .kursplan-block-content a,
  .forschung-block-content a {
    margin-top: 1rem;
  }
  .kursplan-block-img {
    aspect-ratio: 3 / 2;
  }
  .text-und-bild-block-img,
  .forschung-block-img {
    grid-row-start: 1;
  }
}
@media (max-width: 480px) {
  .kursplan-block__wrapper,
  .forschung-block__wrapper {
    padding: 1.5rem;
  }
  .kursplan-block-content,
  .forschung-block-content {
    padding: 0;
    max-width: none;
  }
}

.downloads-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.event-info {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
  margin-bottom: 4rem;
}
.event-info div {
  padding: 0.75rem 1.5rem;
  border-radius: var(--radius);
  border: 1px solid var(--blue-500);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.event-info div svg {
  width: 1.5rem;
  height: 1.5rem;
}
.event-row span {
  font-variant-numeric: tabular-nums;
  margin-right: 1rem;
}
.event-row h2 {
  font-size: 1.375rem;
  display: inline-flex;
  font-weight: 700;
}

.event-block__wrapper {
  background: white;
  padding: 1rem;
  border-radius: var(--radius);
  position: relative;
  border: 1px solid var(--blue-500);
  box-shadow: var(--box-shadow);
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 2rem;
}
.event-block .eyebrow {
  display: inline-block;
  margin-bottom: 1rem;
}
.event-block-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2rem;
}
.event-block-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: var(--radius-m);
}

@media (max-width: 980px) {
  .event-info {
    grid-template-columns: 1fr;
  }
  .event-info div {
    padding: 0.75rem 1rem;
  }
  .event-block__wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 1.5rem;
  }
  .event-block-img {
    grid-row-start: 1;
  }
}

@media (max-width: 480px) {
  .event-block-content {
    padding: 0;
  }
}

.image-block-wrapper {
  border-radius: var(--radius);
  overflow: hidden;
  aspect-ratio: 16 / 9;
}
.image-block-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.table-vergleich {
  width: 100%;
  border-collapse: collapse;
  margin-top: 2rem;
}

.table-vergleich th {
  text-align: left;
  padding-bottom: 1rem;
}
.table-vergleich thead {
  border-bottom: 1px solid var(--blue-100);
}
.table-vergleich tr + tr {
  border-top: 1px solid var(--blue-100);
}
.table-vergleich td {
  padding: 1rem 0;
}
.table-vergleich td.green {
  color: #6ec976;
}
.table-vergleich td.red {
  color: #e1705d;
}
.table-vergleich td:nth-child(2) {
  display: block;
  margin: 0 1rem;
}
.vergleich-wrapper {
  overflow-x: auto;
}
.table-vergleich {
  white-space: nowrap;
  overflow-x: auto;
}
.arbeitsbereiche-header,
.zusammenarbeit-header {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.arbeitsbereiche-header h2,
.zusammenarbeit-header h2 {
  font-weight: 700;
}
.arbeitsbereiche-header p,
.zusammenarbeit-header p {
  max-width: 50ch;
  margin: 0 auto;
  text-align: center;
}
.arbeitsbereiche-finder {
  display: grid;
  grid-template-columns: 1fr 1.5fr 1fr;
  gap: calc(var(--gutter) * 2);
  margin-top: var(--vertical-p);
}

.arbeitsbereiche-list {
  margin-top: calc(var(--vertical-p) * 2);
}
.arbeitsbereiche-list h3 {
  font-size: 1.25rem;
  text-align: center;
  margin-bottom: 2rem;
}
.finder-image {
  aspect-ratio: 1 / 1;
  width: 100%;
  border-radius: var(--radius-m);
  overflow: hidden;
  margin: auto 0;
}
.finder-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.finder-selector {
  background-color: var(--blue-500);
  padding: 2rem;
  border-radius: var(--radius-m);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
  gap: 2rem;
}
.finder-selector select + select {
  margin-top: 1rem;
}
.profil-selector {
  margin-top: 2rem;
}
.finder-selector select,
.profil-selector select,
select.ninja-forms-field {
  appearance: none !important;
  background-repeat: no-repeat;
  background-position: right 0.7rem top 50%;
  background-size: 1rem auto;
  padding: 0.75rem 2rem;
  border-radius: var(--radius-m);
  width: 100%;
  max-width: 30rem;
  font-size: 1rem;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  text-align: center;
}
@media (max-width: 980px) {
  .arbeitsbereiche-finder {
    grid-template-columns: 0.5fr 1.5fr 0.5fr;
  }
}
@media (max-width: 640px) {
  .arbeitsbereiche-finder {
    grid-template-columns: 1fr;
  }
  .finder-image {
    width: 50%;
    margin: 0 auto;
  }
}
select.ninja-forms-field {
  max-width: none;
  text-align: left;
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg>');
  font-size: 100%;
}
.ninja-forms-field[type="submit"] {
  cursor: pointer;
}
.profil-selector select {
  max-width: none;
  text-align: left;
  padding: 0.75rem 1.5rem;
}
select.select--white {
  background-color: white !important;
  color: var(--blue-500) !important;
  border: 1px solid var(--blue-500) !important;
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg>');
}
select.select--blue {
  background-color: var(--blue-500) !important;
  color: white !important;
  border: 1px solid white !important;
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="white" fill-rule="evenodd" clip-rule="evenodd"></path></svg>');
}
.profil-option {
  padding: 1.5rem;
  border-radius: var(--radius);
  border: 1px solid var(--blue-500);
  margin-top: 1rem;
}
.profil-option-grid {
  height: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(var(--gutter) * 2);
}
.profil-option-header {
  grid-column: span 2;
}
@media (max-width: 980px) {
  .profil-option-header {
    grid-column: span 1;
  }
  .profil-option-grid {
    grid-template-columns: 1fr;
  }
}

.profil-option-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 3rem;
  text-wrap: balance;
}
.profil-option-image {
  background-color: var(--blue-050);
  border-radius: var(--radius);
  overflow: hidden;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.profil-option-icon {
  max-width: 12rem;
}
.profil-option-keyfacts {
  font-size: 0.875rem;
}
.grid-profile {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
.grid-profile .accordion-row {
  padding: 0.75rem 1.25rem;
  padding-left: 1rem;
}
.grid-profile .accordion-title svg {
  margin-right: 0.5rem;
  width: 2rem;
  height: 2rem;
}
.profil-tags {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  font-size: var(--wp--preset--font-size--small);
}
.profil-tag {
  background-color: white;
  color: var(--blue-500);
  border: 1px solid var(--blue-500);
  padding: 0.5rem 0.75rem;
  border-radius: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.025em;
  line-height: 1;
  font-size: 0.75rem;
  width: fit-content;
}
.grid-profile .accordion-text {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(var(--gutter) * 2);
  margin-top: 1rem;
  border-top: 1px solid var(--blue-100);
  margin-bottom: 1rem;
  font-size: 1rem;
}
.grid-profile .accordion-text div:first-child {
  margin-left: 52px;
}
.grid-profile .accordion-text h3 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.grid-profile .accordion-text h4 {
  margin-top: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.profil-cover {
  border-radius: var(--radius);
  overflow: hidden;
  width: 100%;
  aspect-ratio: 3 / 2;
  background-color: var(--blue-050);
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.profil-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.section-lebensphasen-intro h2 {
  font-weight: 700;
  text-align: center;
}
.lebensphasen-text {
  font-size: 1rem;
}
.lebensphasen-images {
  margin: 3rem 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gutter);
}
.lebensphasen-image {
  border-radius: var(--radius-m);
  overflow: hidden;
  width: 100%;
  aspect-ratio: 3 / 4;
}
.lebensphasen-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.lebensphasen-image-caption {
  text-align: center;
  margin-top: 0.5rem;
  font-size: 1rem;
  font-weight: 700;
}
.lebensphasen-content h3 {
  font-weight: 700;
  margin-top: 1rem;
}
.lebensphasen-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 68ch;
  gap: 2rem;
  margin: 0 auto;
  margin-top: 4rem;
}
@media (max-width: 980px) {
  .lebensphasen-images {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 560px) {
  .lebensphasen-images {
    grid-template-columns: 1fr;
  }
  .lebensphasen-image {
    aspect-ratio: 4 / 3;
  }
}
.uc-embedding-more-info,
.uc-embedding-accept {
  background-color: var(--blue-050);
  color: var(--blue-500);
}
.hero:has(.hero-galerie) {
  height: auto;
  padding-bottom: 5rem;
}
.hero-galerie {
  display: flex;
  gap: 4rem;
  width: 100%;
  min-height: 300px;
  height: auto;
  overflow: hidden;
  justify-content: center;
  align-items: center;
  margin-bottom: 2rem;
}
.hero-galerie img {
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-m);
  max-width: 12rem;
  height: auto;
}
.hero-galerie--item:nth-child(odd) {
  transform: translateY(-2rem);
}
.hero-galerie--item:nth-child(even) {
  transform: translateY(2rem);
}

.nf-field-description {
  order: 15 !important;
  font-size: 14px !important;
  margin-top: 0.5rem;
}
.section-zusammenarbeit {
  width: 100%;
  max-width: none;
  padding: calc(var(--vertical-p) * 1.5) 0 !important;
}
.zusammenarbeit-slider .splide__slide {
  opacity: 1;
}
.zusammenarbeit-header,
.zusammenarbeit-images {
  max-width: var(--narrow);
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.zusammenarbeit-images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gutter);
  margin-top: 4rem;
}
.zusammenarbeit-images > div {
  border-radius: var(--radius-m);
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 3;
}
.zusammenarbeit-images img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.zusammenarbeit-card {
  background-color: var(--blue-500);
  color: white;
  border-radius: var(--radius);
  padding: 2rem;
  box-shadow: var(--box-shadow);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(var(--gutter) * 2);
  aspect-ratio: 3/2;
}
.zusammenarbeit-image {
  border-radius: var(--radius-m);
  overflow: hidden;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.zusammenarbeit-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.zusammenarbeit-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
}
.zusammenarbeit-name,
.zusammenarbeit-bereich {
  font-size: 1rem;
}
.zusammenarbeit-name {
  font-weight: 700;
}
.zusammenarbeit-slider {
  margin-top: 8rem;
}
.zusammenarbeit-arrows .splide__arrows {
  justify-content: center;
  gap: 2rem;
}
@media (max-width: 640px) {
  .zusammenarbeit-slider {
    margin-top: 4rem;
  }
  .zusammenarbeit-images {
    grid-template-columns: 1fr;
  }
  .zusammenarbeit-card {
    padding: 1rem;
    grid-template-columns: 1fr;
    aspect-ratio: auto;
    gap: 2rem;
    padding-bottom: 2rem;
  }
  .zusammenarbeit-image {
    aspect-ratio: 1/1;
  }
  .zusammenarbeit-content {
    text-align: center;
  }
}

.menu-external-link-icon {
  display: inline-block;
  width: 0.85em;
  height: 0.85em;
  margin-left: 0.35em;
  fill: currentColor;
  vertical-align: baseline;
}
