/*
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:-.25em}sup{top:-.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;
--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: 1800px;
--narrow: 1440px;
--text-2xl: clamp(2rem, 0.72rem + 3.2vw, 4rem);
}

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

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

body {
    margin: 0 auto;
    width: 100%;
    scroll-padding-top: 2rem;
    font-size: var(--wp--preset--font-size--medium);
    font-family: "Fira Sans";
}

main {
  min-height: 90vh;
}

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

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

.content ul {
  list-style-type: none;
}

.content ol {
  list-style: auto;
  list-style-position: inside;
  padding-left: 1rem;
}

.content ul li {
  position: relative;
  padding-left: 4%;
}

.content ul li:before {
  position: absolute;
  content: "\2192";
  opacity: .5;
  left: 0;
}

.content ul li + li {
  margin-top: 1rem;
}

.content ol li + li {
  margin-top: 1rem;
}

@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);
}

.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: var(--vertical-p) var(--gutter);
}

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

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

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

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


/**
* 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(--wp--preset--color--neutral-50);
  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: 860px) {
  .menu-icon {
    display: none;
  }
    #mobile-navigation.menu-container {
    display: none !important;
  }
}
@media (max-width: 860px) {
  .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: .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: .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;
}

.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-100);
  color: var(--blue-500);
} 

.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-500);
  color: white;
} 

.button--white:hover:after {
  filter: var(--white-filter);
}

.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);
}

.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)
}

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
**/
.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, 1fr));
}

.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);
  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;
}

@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;
  }
}

.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%;
    aspect-ratio: 3 / 2;
  }
   .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;
}

.content-block figure:has(img), .content-block p:has(img) {
  overflow: hidden;
  border-radius: var(--radius);
  aspect-ratio: 3 / 1.5;
  margin: 2rem 0;
  display: flex;
  object-position: center center;
}

.content-block figure img, .content-block p img {
  width: 100%;
  object-fit: cover;
}

.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: .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-cta-wrapper {
  padding-top: var(--wp--preset--spacing--8-rem) !important;
  padding-bottom: var(--wp--preset--spacing--8-rem) !important;
;
}

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

.karriere-cta-block > div {
  padding: var(--wp--preset--spacing--2-rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

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

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

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

.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 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 {
  color: var(--blue-300);
}

footer {
  font-size: 1rem;
}

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

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: var(--blue-050);
  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;
}

.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: 15ch;
    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(--wp--preset--spacing--6-rem);
    position: relative;
    text-align: center;
    gap: 2rem;
    min-height: 480px;
    border-radius: 1.5rem;
    background-color: var(--wp--preset--color--neutral-50);
    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: 2.5rem;
    line-height: 1.25;
}

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

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

.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: 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--news {
   height: calc(30vh + 80px);
   padding-bottom: 0 !important;
}

.eyebrow {
    background-color: var(--blue-500); 
    color: var(--wp--preset--color--neutral-50);
    padding: 0.5rem 1rem;
    border-radius: 1.5rem;
    font-size: var(--wp--preset--font-size--small);
    text-transform: uppercase;
    letter-spacing: 0.1rem;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 2rem;
    font-size: 0.75rem;
}

a.eyebrow {
  text-decoration: none;
}

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

.hero h2 {
    line-height: 1.5;
    margin-top: 0.5rem;
    max-width: 90%;
    max-width: 50ch;
}

.hero a {
    margin-top: 2rem;
    box-shadow: var(--box-shadow);
}

.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: .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);
}

 .statement-image {
    flex-shrink: 0;
    aspect-ratio: 1 / 1;
} 

.statement-image img {
    width: 160px;
    aspect-ratio: 1 / 1;
    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;
    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: 2rem;
        height: 2rem;
        flex-shrink: 0;
}

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

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

/*
Section Benefits
*/
.benefits-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    padding-top: 2rem;
}

.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;
}

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

.benefit-img {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.benefit-img img {
    width: 100px;
}

@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 {
        display: none;
        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(--narrow);
  margin: 0 auto;
  padding: 0 var(--gutter);
  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(--wp--preset--color--primary-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: var(--wp--preset--color--primary-100);
}

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

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

.accordion-title svg {
    width: 3rem;
    height: 3rem;
    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%;
    display: flex;
}

.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(--wp--preset--color--primary-500);
    border-radius: 1rem;
    padding: 1rem 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(--wp--preset--color--primary-100);
}

.download-row.open {
    background-color: var(--wp--preset--color--primary-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.5rem;
}

.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: 4rem 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: var(--wp--preset--font-size--2-x-large);
  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;
}

@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;
  }
}

@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;
}
