/*
Theme Name: Custom Theme
Theme URI: http://example.com
Author: Michael Drewes
Author URI: http://example.com
Description: Ein benutzerdefiniertes WordPress-Theme.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mein-custom-theme
*/


/* ============================================================ CSS RESET ============================================================ */

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box !important;
}

/* Remove default margin */
* {
  margin: 0;
  padding: 0;
  font: inherit;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
}


/* Set core root defaults */
html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(110px);
}

html,
body {
    height: 100%;
}

/* Set core body defaults */
body {
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  overscroll-behavior-y: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  text-decoration: none;
}

/* Make images easier to work with */
img,
picture,
svg {
  max-width: 100%;
  display: block;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
   scroll-behavior: auto;
  }
  
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ============================================================ VARIABLES ============================================================ */
/* COLORS / BOX-SHADOW / BORDER */
body {
  background: #030303;
  /* BACKGROUND */
  --clr-background: #fff;
  --clr-background-secondary: #f5f5f5;
  --clr-background-secondary-hover: #ebebeb;
  --clr-background-linear: linear-gradient(#fff, #faf8f8);
  /* --clr-background-linear: linear-gradient(#f7f3ee, #f7f3ee); */
  --clr-background-linear-hero: linear-gradient(#f7f7f7, #f7f7f7);
  --clr-background-linear-dark: linear-gradient(153.8deg, #424242 -15.98%, #282828 61.67%);
  
  /* TEXT */
  --clr-headline: #1d1d1f;
  --clr-text: #00000080;
  --clr-text-secondary: #00000080;

  /* COLOR */
  --clr-primary: #aa9136;
  --clr-primary-hover: #9d7a34;
  --clr-primary-mixed: color-mix(in oklab, var(--clr-primary) 15%, transparent);
  --clr-secondary: #16567b;
  --clr-secondary-hover: #d7d7d7;

  /* BUTTONS */
  --clr-button-primary: var(--clr-primary);
  --clr-button-primary-hover: color-mix(in oklab, var(--clr-button-primary) 70%, #4e4e4e);
  --clr-button-primary-text: #d8d8d8;
  --clr-button-secondary: #cdcdcd;
  --clr-button-secondary-hover: color-mix(in oklab, var(--clr-button-primary) 2%, var(--clr-background));
  --clr-button-secondary-text: var(--clr-text);

  --clr-button-border: #505050;

  /* LINKS */
  --clr-link-primary: var(--clr-primary);
  --clr-link-secondary: var(--clr-text);

  /* BOXSHADOW */
  --box-shadow: 4px 4px 25px 0 #8585852a;
  --box-shadow-short: 0 0 8px 0 #89898925;
  --box-shadow-button: #aa913603 0px 0.711334px 1.56494px 0px, #aa913607 0px 1.93715px 4.26173px 0px, #aa913610 0px 4.25329px 9.35723px 0px, #aa913623 0px 9.44132px 20.7709px 0px, #aa913659 0px 24px 52.8px 0px;

  /* BORDER */
  --border: 1px solid #dfdfdfb3;
  --border-forms: 2px solid #dfdfdfb3;
  --border-dotted: 1px dashed #c6c6c6;
  --border-radius: 1rem;
  --border-radius-forms: .5rem;

  /* TRANSITION */
  --transition: 200ms;
}
.secondary {
  /* BACKGROUND */
  --clr-background-linear: linear-gradient(#f3f3f3, #f3f3f3);
  --clr-background-secondary: #ffffff;
}
.dark {
  /* BACKGROUND */
  --clr-background: #030303;
  --clr-background-secondary: #222222;
  --clr-background-secondary-hover: #2e2e2e;

  --clr-background-linear: linear-gradient(#030303, #141414);
  --clr-background-linear-hero: linear-gradient(#0c0c0c, #202020);
  --clr-background-linear-dark: linear-gradient(153.8deg, #424242 -15.98%, #282828 61.67%);
  
  /* TEXT */
  --clr-headline: #f5f5f7;
  --clr-text: #b0b0b5;
  --clr-text-secondary: #bcbcbc82;

  /* COLOR */
  --clr-primary: #0099ff;
  --clr-primary-hover: #0099ff;
  --clr-primary-mixed: color-mix(in oklab, var(--clr-primary) 15%, transparent);
  --clr-secondary: #535353;
  --clr-secondary-hover: #d7d7d7;

  /* BUTTONS */
  --clr-button-primary: #0099ff;
  --clr-button-primary-hover: color-mix(in oklab, var(--clr-button-primary) 80%, var(--clr-background));
  --clr-button-primary-text: #ffffff;
  --clr-button-secondary: color-mix(in oklab, var(--clr-button-primary) 0%, transparent);
  --clr-button-secondary-hover: color-mix(in oklab, var(--clr-button-primary) 5%, transparent);
  --clr-button-secondary-text: var(--clr-text);

  --clr-button-border: #505050;

  /* LINKS */
  --clr-link-primary: #0083fa;
  --clr-link-secondary: var(--clr-text);

  /* BOXSHADOW */
  --box-shadow: 4px 4px 50px 0 #4a4a4a12;
  --box-shadow-short: 0 0 8px 0 #00000025;
  --box-shadow-button: #0099ff03 0px 0.711334px 1.56494px 0px, #0099ff07 0px 1.93715px 4.26173px 0px, #0099ff10 0px 4.25329px 9.35723px 0px, #0099ff23 0px 9.44132px 20.7709px 0px, #00000059 0px 24px 52.8px 0px;
  --box-shadow-button: #0099ff0e 0px 0.711334px 1.56494px 0px, #0099ff24 0px 1.93715px 4.26173px 0px, #0099ff3a 0px 4.25329px 9.35723px 0px, #0099ff51 0px 9.44132px 20.7709px 0px, #00000071 0px 24px 52.8px 0px;


  /* BORDER */
  --border: 1px solid #e0e0e0;
  --border-forms: 2px solid #dfdfdfb3;
  --border-dotted: 1px dashed #c6c6c6;
  --border-radius: 1rem;
  --border-radius-forms: .5rem;


  /* TRANSITION */
  --transition: 200ms;
}
.button-light {
  /* BUTTONS */
  --clr-button-primary: #ffffff;
  --clr-button-primary-hover: color-mix(in oklab, var(--clr-button-primary) 90%, rgb(0, 0, 0));
  --clr-button-primary-text: #000000;
  --clr-button-secondary: color-mix(in oklab, var(--clr-button-primary) 15%, #242424);
  --clr-button-secondary-hover: color-mix(in oklab, var(--clr-button-primary) 20%, #242424);
}


body {
  --cc-bg: var(--clr-background) !important;
  --cc-text: var(--clr-headline) !important;
  --cc-btn-primary-bg: var(--clr-headline) !important;
  --cc-btn-primary-hover-bg: color-mix(in oklab, var(--clr-headline) 50%, rgb(0, 0, 0));
}


/* ============================================================ TYPOGRAPHY ============================================================ */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900; /* Definieren Sie den Bereich der Gewichtungen der variablen Schriftart */
  font-display: swap;
  src: url('assets/fonts/Montserrat-VariableFont_wght.ttf') format('truetype'); /* Pfad zur ttf-Datei */
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900; /* Definieren Sie den Bereich der Gewichtungen der variablen Schriftart */
  font-display: swap;
  src: url('assets/fonts/Inter-VariableFont.ttf') format('truetype'); /* Pfad zur ttf-Datei */
}
@font-face {
  font-family: 'Poppins-black';
  font-style: normal;
  font-weight: 900; /* Definieren Sie den Bereich der Gewichtungen der variablen Schriftart */
  font-display: swap;
  src: url('assets/fonts/Poppins/Poppins-Black.ttf') format('truetype'); /* Pfad zur ttf-Datei */
}

* {
  -webkit-font-smoothing: antialiased;
  --font-montserrat: 'Montserrat', sans-serif;
  --font-inter: 'Inter', sans-serif;
  --font-charter: "Charter", georgia, serif;
  --font-dmsans: 'DM Sans', sans-serif;
  --font-poppins-black: 'Poppins-black', sans-serif;

  --font-primary: var(--font-inter);
  --font-secondary: var(--font-charter);

  /* https://typescale.com/ */
  --fs-body: 16px;
  --fs-scale: 1.2;
  --fs-weight-light: 400;
  --fs-weight-body: 600;
  --fs-weight-heading: 900;
  --fs-line-height-body: 1.6;
  --fs-line-height-heading: 1.15;
  --fs-letter-spacing-body: 0em;
  --fs-letter-spacing-heading: -0.022em;
  --fs-h1: calc(var(--fs-p) * var(--fs-scale) * var(--fs-scale) * var(--fs-scale) * var(--fs-scale) * var(--fs-scale) * var(--fs-scale) * var(--fs-scale));
  --fs-h2: calc(var(--fs-p) * var(--fs-scale) * var(--fs-scale) * var(--fs-scale) * var(--fs-scale) * var(--fs-scale));
  --fs-h3: calc(var(--fs-p) * var(--fs-scale) * var(--fs-scale) * var(--fs-scale) * var(--fs-scale));
  --fs-h4: calc(var(--fs-p) * var(--fs-scale) * var(--fs-scale) * var(--fs-scale));
  --fs-h5: calc(var(--fs-p) * var(--fs-scale) * var(--fs-scale));
  --fs-h6: calc(var(--fs-p) * var(--fs-scale));
  --fs-p: var(--fs-body);
  --fs-small: calc(var(--fs-p) / var(--fs-scale));
  --fs-very-small: calc(var(--fs-p) / var(--fs-scale) / var(--fs-scale));

}

@media (max-width: 768px) {
  * {
  --fs-body: 16px;
  --fs-scale: 1.15;
  }
}

/* DEFAULT */
body {
  font-family: var(--font-primary);
  font-size: var(--fs-body);
  font-weight: var(--fs-weight-body);
  line-height: var(--fs-line-height-body);
  letter-spacing: var(--fs-letter-spacing-body);
  color: var(--clr-text);
}

h1 {
  color: var(--clr-headline);
  font-size: var(--fs-h1);
  font-weight: var(--fs-weight-heading);
  line-height: var(--fs-line-height-heading);
  letter-spacing: var(--fs-letter-spacing-heading);
}
h1 span:nth-of-type(1) {
  /* color: var(--clr-text-secondary); */
}
h1 span.glow {
  --clr-glow: #007dbbb9;
  color: #ffffff !important;
  text-shadow:
    0 0 0 #fff,
    0 0 0px #fff,
    0 0 1px #fff2e2,
    0 0 21px var(--clr-glow),
    0 5px 40px var(--clr-glow),
    0 10px 50px var(--clr-glow),
    0 20px 60px var(--clr-glow),
    0 40px 75px var(--clr-glow),
    0 50px 75px #000;
}
h1 span.secondary{
  opacity: .8;
}
.section-head h1 {
  font-size: calc(var(--fs-h1) * 1.3);
}

h2 {
  color: var(--clr-headline);
  font-size: var(--fs-h2);
  font-weight: var(--fs-weight-heading);
  line-height: var(--fs-line-height-heading);
  letter-spacing: var(--fs-letter-spacing-heading);
} 
h2 span:nth-of-type(2) {
  color: var(--clr-text-secondary);
}
.section-head h2 {
  font-size: calc(var(--fs-h2) * 1.25);
}

h3 {
  color: var(--clr-headline);
  font-size: var(--fs-h3);
  font-weight: var(--fs-weight-heading);
  line-height: var(--fs-line-height-heading);
  letter-spacing: var(--fs-letter-spacing-heading);
}

h4 {
  color: var(--clr-headline);
  font-size: var(--fs-h4);
  font-weight: var(--fs-weight-heading);
  line-height: var(--fs-line-height-heading);
  letter-spacing: var(--fs-letter-spacing-heading);
}

h5 {
  color: var(--clr-headline);
  font-size: var(--fs-h5);
  font-weight: var(--fs-weight-heading);
  line-height: var(--fs-line-height-heading);
  letter-spacing: var(--fs-letter-spacing-heading);
}

h6 {
  color: var(--clr-headline);
  font-size: var(--fs-h6);
  font-weight: var(--fs-weight-heading);
  line-height: var(--fs-line-height-heading);
}

p {
  font-size: var(--fs-p);
  font-weight: var(--fs-weight-body);
  line-height: var(--fs-line-height-body);
  color: var(--clr-text);
}
p.small,
span.small  {
  font-size: var(--fs-small) !important;
  font-weight: var(--fs-weight-body) !important;
  line-height: var(--fs-line-height-body) !important;
  color: var(--clr-text);
}
p.very-small {
  font-size: var(--fs-very-small) !important;
  font-weight: var(--fs-weight-body) !important;
  line-height: var(--fs-line-height-body) !important;
  color: var(--clr-text-secondary);
}
p span.highlight {
  color: var(--clr-headline);
}


a {
  color: var(--clr-headline);
  text-decoration: none;
  transition: var(--transition);
  font-weight: var(--fs-weight-light);
}
  a:hover {
    
  }

/* LISTEN */
li.check {
  color: var(--clr-text);
  position: relative;
  margin-left: 22px;
}
li.check::before {
  content: '';
  position: absolute;
  top: 0;
  left: -22px;
  height: 100%;
  width: 1rem;
  background-image: url(/wp-content/uploads/icons/list-check-dark.svg);
  background-repeat: no-repeat;
  background-position: center;
}

/* check list */
ul.check li {
  position: relative;
  margin-left: 30px;
  color: var(--clr-text);
}
ul.check li::before {
content: '';
position: absolute;
top: 0;
left: -32px;
padding: 12px;
scale: .8;
background-image: url(/wp-content/uploads/icons/list-check-dark.svg);
background-repeat: no-repeat;
background-position: center;
background-color: #f6f6f6;
border: 1px solid #e6e6e6;
border-radius: 6px;
}

/* arrow list */
ul.arrow li {
  position: relative;
  margin-left: 30px;
}
ul.arrow li::before {
content: '';
position: absolute;
top: 0;
left: -32px;
padding: 12px;
scale: 1;
background-image: url(/wp-content/uploads/icons/list-arrow-dark.svg);
background-repeat: no-repeat;
background-position: center;
/* background-color: #f6f6f6;
border: 1px solid #e6e6e6; */
border-radius: 6px;
}

  
/* ============ SCROLLBAR ============ */
/* Firefox / Chrome und alle anderen */
* {
  /* scrollbar-width: none; */
  scrollbar-width: normal;
  scrollbar-color: #555555 transparent;
}
/* Safari */
*::-webkit-scrollbar {
  width: 8px;
}
*::-webkit-scrollbar-thumb {
  background-color: #555555;
  border-radius: 1rem;
}
*::-webkit-scrollbar-thumb:hover {
  background-color: #8d8d8d;
}
*::-webkit-scrollbar-track {
  background-color: transparent;
}


/* ============ CONTAINER ============ */

/* WINDOW MaxWidth */

* {
  --window-max: 1200px;
  --window-padding: 2rem;
}
@media (max-width: 1100px) {
  * {
    --window-max: 1000px;
    --window-padding: 1rem;
  }
}

.container {
  max-width: var(--window-max);
  margin: 0rem auto;
  padding-left: var(--window-padding);
  padding-right: var(--window-padding);
  color: var(--clr-text);
  
  /* box-shadow: var(--box-shadow); */
}
.container-inner {
  max-width: 950px !important;
  margin: 0 auto;
}
.container-inner-article {
    transition: all 100ms, translate 200ms 200ms, rotate 200ms;
    max-width: 720px !important;
    margin: 0 auto;
}
  
  
/* ============ BODY ============ */
body.opened {
  overflow: hidden !important;
}

/* ============ SECTION ============ */
section {
  background: var(--clr-background-linear);
}
section.beige {
  background: #f8f3f0;
}

section:nth-of-type(1) {
  padding-top: calc(60px);
}
section:last-of-type {
  border-radius: 0 0 1.5rem 1.5rem;
}

section .container {
  padding-top: 3rem;
  padding-bottom: 3rem;
  transition: box-shadow 500ms, margin 500ms;
}
section.active .container {
  box-shadow: var(--box-shadow);
  margin-bottom: 1rem !important;
}
  
section .section-head {
  margin: 0 0 3rem 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
section .section-head.dark {
  background: var(--clr-background);
  border-radius: var(--border-radius);
  padding: 3rem;
}
section .section-head p {
  max-width: 600px;
}
section .section-head h6:nth-of-type(1) {
  margin: .5rem 0;
  max-width: 100%;
  font-size: var(--fs-small);
  /* color: var(--clr-primary); */
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--clr-primary);
}
section .section-head img {
  user-select: none;
  max-height: 120px;
  width: auto;
  object-fit: contain;
}
  
section .section-head.center {
  text-align: center;
  align-items: center;
}
section .section-head.center p {
  margin: 0 auto;
}
section .section-head.center h6:nth-of-type(1) {
  margin: 0 auto;
  align-self: flex-start;
}
section .section-head.center .button-wrapper {
  justify-content: center;
}

@media (max-width: 768px) {
  section .container {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

/* ============================================================ ELEMENTS ============================================================ */

/* SHOW UP */
.animate {
  --animate-duartion: 500ms;
  transform: translate(0, 20px);
  opacity: 0;
  transition: transform var(--animate-duartion), opacity var(--animate-duartion), filter var(--animate-duartion);
  filter: blur(10px);
}
.animate.show {
  transform: translate(0, 0);
  opacity: 1;
  filter: blur(0px);
}

/* BUTTONS */
.button-wrapper {
  display: flex;
  gap: .5rem;
  position: relative;
}
.button-wrapper.center {
  margin: 0 auto;
  justify-content: center;
}
.button-wrapper:has(p),
.button-wrapper.center:has(p) {
  margin-bottom: 4rem;
}
.button-wrapper p {
  position: absolute;
  bottom: -2rem;
  left: 0;
}
.button-wrapper.center p {
  left: 50%;
  transform: translateX(-50%);
  text-wrap: nowrap;
}

.button-wrapper-fixed {
  position: fixed;
  background: var(--clr-background);
  border-top: var(--border);
  bottom: 0;
  left: 0;
  z-index: 200;
  width: 100%;
  padding: .5rem;
}


.button {
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
  font-weight: 700;
  border-radius: 2rem;
  border: none;
  transition: color .16s ease,background-color .16s ease;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  /* gap: 1rem; */
  padding: 8px 24px;
}
.button:active {
  scale: 0.975;
}

.button svg {
  height: 22px;
  margin-right: -6px;
}


/* Button Primary */
.button-primary {
  background-color: var(--clr-button-primary);
  color: var(--clr-button-primary-text);
  box-shadow: var(--box-shadow-button);
}
.button-primary svg {
  fill: var(--clr-button-primary-text);
}
  .button-primary:hover {
    background-color: var(--clr-button-primary-hover);
  }

/* Button Secondary */
.button-secondary {
  border: 1px solid var(--clr-button-secondary);
  background: transparent;
  color: var(--clr-button-secondary-text);
}
.button-secondary svg {
  fill: var(--clr-button-secondary-text);
}

  .button-secondary:hover {
    background-color: var(--clr-button-secondary-hover);
    

  }

/* Button Nav */
.button-nav {
  background-color: var(--clr-primary);
  color: #fff;
  border-radius: 2rem;
  font-size: var(--fs-small);
  font-weight: 400;
  padding: 6px 16px;
  fill: #fff;
}
.button-nav:hover {
  background-color: var(--clr-button-primary-hover);
}
.button-nav svg {
  height: 16px;
}
@media (max-width: 500px) {
  .button-nav {
    display: none;
  }
}

/* LINKS */
.link-container {
  /* margin: 2rem 0; */
  
}
.link-container.link-dark {
  --clr-background: radial-gradient(128% 107% at 0% 0%,#292929 0%,#111111 77.61472409909909%);
  --clr-background-secondary: radial-gradient(128% 107% at 0% 0%,#303030 0%,#111111 77.61472409909909%);

  --clr-primary: #fff;
  --clr-primary-mixed: #bcbcbc2a;
}

.link {
  cursor: pointer;
}

.link-primary {
  color: var(--clr-link-primary);
  position: relative;
  margin-right: 1.125rem;
}
.link-primary::after {
  content: ' \2192';
  text-decoration: none;
  position: absolute;
  height: 100%;
  width: 1rem;
  right: -1.125;
  top: 0;
  rotate: -45deg;
  transition: 250ms;
}
.link-primary:hover::after {
  transform: translateX(2px);
}

.link-secondary {
  text-decoration: underline;
}
.link-secondary:hover {
  color: #000;
}

.link-big {
  /* box-shadow: var(--box-shadow-short); */
  background: var(--clr-background);
  box-shadow: var(--box-shadow);
  padding: 2rem;
  gap: 1rem;
  display: inline-flex;
  flex-direction: column;
  border: var(--border);
  border-radius: var(--border-radius);
  position: relative;
  overflow: hidden;
}
.link-big:hover {
  /* background: var(--clr-background-secondary); */
}

.link-big svg {
  height: 48px;
  width: 48px;
  padding: 0.5rem;
  border-radius: 0.5rem;
  fill: var(--clr-primary);
  background: var(--clr-primary-mixed);
}

.link-big .link-big-title {
  line-height: var(--fs-h5);
  font-size: var(--fs-h5);
  font-weight: var(--fs-weight-heading);
}

.link-small {
  box-shadow: var(--box-shadow);
  border: var(--border);
  padding: 1rem;
  border-radius: var(--border-radius);
  position: relative;
  overflow: hidden;
  padding-top: 3rem;
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  hyphens: auto;
}


  .link-small svg {
    height: 30px;
    width: 30px;
    padding: 0.25rem;
    border-radius: 0.5rem;
    fill: var(--clr-primary);
    background: var(--clr-primary-mixed);
  }
  .link-small img {
    display: none;
  }

  .link-small-banner {
    font-size: var(--fs-very-small);
    padding: 2px 8px;
    border-radius: 8px;
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
  }
  .link-small-banner.online {
    background: #008c002c;
    color: #008c00;
  }
  .link-small-banner.direkt {
    background: #008c002c;
    color: #008c00;
  }
  .link-small-banner.offline {
    background: var(--clr-primary-mixed);
    color: var(--clr-primary);
  }

  .link-small-title {
    font-weight: 550;
    color: var(--clr-headline);
  }
  

/* LINK Indicator */
.link-indicator {
  position: relative;
  cursor: pointer;
}
.link-indicator::after {
  position: absolute;
  height: 1.5rem;
  width: 1.5rem;
  font-size: 1rem;
  text-align: center;
  vertical-align: middle;
  border-radius: 50%;
  padding-top: 2px;
  background: var(--clr-background);
  content: ' \2197';
  transition: 300ms;
  z-index: 100;

  top: .75rem;
  right: .75rem;
  opacity: 0;
}
.link-indicator:hover::after {
  top: .5rem;
  right: .5rem;
  opacity: 1;
}


/* SWITCH */
.switch {
  height: 28px;
  width: 56px;
  border: none;
  border-radius: 100px;
  background-color: #3d3d3d;
  position: relative;
  cursor: pointer;
}
.switch::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  height: 22px;
  width: 22px;
  background: var(--clr-primary);
  border-radius: 50%;
  transition: 200ms ease-in-out;
}

.switch.active::before {
  transform: translateX(28px);
}

/* TABLES */
.table-wrapper {
  box-shadow: var(--box-shadow);
  border: var(--border);
  border-radius: var(--border-radius);
  padding: 2rem;
}
  table {
    border-collapse: collapse;
    
  }
  th {
    text-align: left;
    padding: .5rem 1.5rem 1rem 0rem;
    color: var(--clr-headline);
  }
  td {
    border-bottom: 1px solid var(--clr-background-secondary);
    text-align: left;
    padding: .5rem 1.5rem .5rem 0rem;
    font-size: var(--fs-small);
    color: var(--clr-headline);
  }

  .has::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="green"><path d="M9 16.2l-4.2-4.2-1.4 1.4L9 19 21 7l-1.4-1.4z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 5px;
    transform: translateY(3px);
  }
  .has-not::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="red"><path d="M12 10.586l-4.95-4.95-1.414 1.415L10.586 12l-4.95 4.95 1.414 1.414L12 13.414l4.95 4.95 1.414-1.414L13.414 12l4.95-4.95-1.414-1.415z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 5px;
    transform: translateY(3px);
  }

  
  /* TABLE HGB */
  @media (max-width: 1000px) {
    .comparison-hgb {
      display: none;
    }
  }



/* INPUTS / FORMULAR */
input,
textarea,
select {
  background: var(--clr-background-secondary);
  width: 100%;
  border-radius: var(--border-radius-forms);
  padding: 0.75rem;
  transition: 200ms;
  color: var(--clr-text);
  caret-color: var(--clr-text);
  border: none;

}
select {
  /* remove browser chrome */
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path fill='grey' d='M16.293 9.293 12 13.586 7.707 9.293l-1.414 1.414L12 16.414l5.707-5.707z'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position-x: calc(100% - .5rem) !important;
  background-position-y: .75rem !important;
}
input[type='checkbox'] {
  border-radius: var(--border-radius-forms);
}
input[type='radio'] {
  border-radius: 50% !important;
}
input[type='checkbox'],
input[type='radio'] {
  /* remove browser chrome */
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;  
  padding: .5rem;
}
input[type='checkbox']:checked,
input[type='radio']:checked {
  border: 1px solid var(--clr-primary);
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"  fill="%23ffffff"><path d="m10 15.586-3.293-3.293-1.414 1.414L10 18.414l9.707-9.707-1.414-1.414z"></path></svg>');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: var(--clr-primary);
}

/* === WP FORMS === */
.wpcf7-form {
  padding: 2rem;
  box-shadow: var(--box-shadow);
  border-radius: var(--border-radius);
  border: var(--border);
  display: grid;
  gap: .5rem;
}
@media (max-width: 425px) {
  .wpcf7-form {
    padding: 0;
    border: none;
    box-shadow: none;

  }
  .wpcf7-form input,
  .wpcf7-form textarea,
  .wpcf7-form select {
    outline: 1px solid var(--clr-background-secondary);
  }
}
.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form select {
  background: var(--clr-background);
  border: var(--border);
  box-shadow: var(--box-shadow-short);

}
  .wpcf7-form .grid-2 {
    display: grid;
    gap: .5rem;
    margin-bottom: .5rem;
  }

  .wpcf7-form h5,
  .wpcf7-form h6 {
    margin-top: 1.5rem;
    margin-bottom: .75rem;
  }
  .wpcf7-form p {
    margin-bottom: .75rem;

  }
    .wpcf7-form h5:nth-of-type(1),
    .wpcf7-form h6:nth-of-type(1) {
      margin-top: 0rem;
    }
  .wpcf7-form h6 {
    margin-bottom: .5rem;
  }

  /* Text area */
  .wpcf7-textarea {
    margin-bottom: .5rem;
  }

  /* Checkboxen / Rdaio */
  .wpcf7-checkbox,
  .wpcf7-radio {
    margin-bottom: .5rem;
  }


  .wpcf7-checkbox {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: flex-start;
  }
  .wpcf7-checkbox.grid,
  .wpcf7-radio.grid {
    gap: .5rem;
    grid-template-columns: 1fr 1fr;
  }
  @media (max-width: 768px) {
    .wpcf7-checkbox.grid,
    .wpcf7-radio.grid {
      gap: .5rem;
      grid-template-columns: 1fr;
    }
  }


  .wpcf7-list-item {
    margin: 0;
    /* overflow: hidden; */
  }
  .wpcf7-list-item label {
    cursor: pointer;
    display: flex;
    gap: 0.25rem;
    position: relative;
    border-radius: var(--border-radius-forms);
  }

  .wpcf7-list-item-label {
    padding: 1.25rem .75rem 1.25rem 3.25rem;
    border: var(--border);
    border-radius: var(--border-radius-forms);
    transition: 200ms;
    font-weight: var(--fs-weight-body);
    background: var(--clr-background);
    width: 100%;
    box-shadow: var(--box-shadow-short);
  }
  .wpcf7-list-item-label:hover {
    background: var(--clr-background-secondary);
  }
  .wpcf7-list-item input:checked ~ .wpcf7-list-item-label {
    background: var(--clr-primary-mixed);
    border: 1px solid var(--clr-primary);
    border-radius: var(--border-radius-forms);
  }


  .wpcf7-list-item input {
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 1.25rem;
    height: 18px;
    width: 18px;
    border-radius: 4px;
    transition: 200ms;
    box-shadow: 0 0px 0px rgba(0, 0, 0, 0.2);

  }
  .wpcf7-list-item input:checked {
    
  }
  .wpcf7 .grid-2 p {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
  }
  @media (max-width: 768px) {
    .wpcf7 .grid-2 p {
      grid-template-columns: 1fr;
    }
  }
  .wpcf7-form div p {
    display: flex;
    flex-direction: column;
    gap: .5rem;
  }
  .wpcf7-form .oder {
    text-align: center;
    font-size: var(--fs-small);
  }
 





  /* FORM CONSENT */
  .wpcf7-acceptance {
    margin: .5rem 0;
  }
  .form-consent {
    height: 20px !important;
    width: 20px !important;
    left: 0 !important;
    top: 1rem !important;
  }
  .form-consent ~ .wpcf7-list-item-label {
    box-shadow: none;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: .25rem .25rem .25rem 1.75rem !important;
    display: block !important;
  }
  .form-consent ~ span {
    font-size: var(--fs-small);
  }

  /* GROUP FIELD */
  .wpcf7cf_group {
    margin: .5rem 0;
  }

  /* UPLOAD */
  .file-upload {
    position: relative;
    width: 100%;
  }
  .file-upload input {
    padding: 0;
  }
  .file-upload input::file-selector-button {
    cursor: pointer;
    background: var(--clr-background-secondary);
    border-radius: var(--border-radius-forms);
    border: none;
    padding: 1rem;
    margin-right: 1rem;
  }
  .file-upload input::file-selector-button:hover {
    background: #5252522e;

  }
    .reset-btn {
      display: none; 
      cursor: pointer;
      border-radius: 50%;
      border: none;
      background: var(--clr-background-secondary);
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: .75rem;
      fill: var(--clr-text)
    }

  
  /* SUBMIT BUTTON */
  .wpcf7-submit {
    pointer-events: none;
    opacity: 0.5;
    background: var(--clr-primary) !important;
    color: #fff;
  }
  .wpcf7-submit:hover {
    background: var(--clr-headline);
    
  }
  .wpcf7-submit.active {
    cursor: pointer;
    pointer-events: all;
    opacity: 1;
  }

  /* VALIDATION */
  .wpcf7-form input.wpcf7-not-valid {
    background: #dc323213;
  }

  .wpcf7-not-valid-tip {
    font-size: var(--fs-small);
    padding: 4px 10px !important;
    background: #dc323213;
    display: inline-block !important;
    margin-top: .25rem;
    border-radius: var(--border-radius-forms);
  }

  /* Eingaben fehlen */
  .wpcf7-response-output {
    margin: 0 !important;
    border-radius: var(--border-radius-forms);
    padding: 12px !important;
    color: #bb8900;
    background: #ffbb001b;
    border: none !important;
  }

  /* gesendet */
  .wpcf7 form.sent .wpcf7-response-output {
    color: #259500;
    background: #279b002d;
  }


/* IFRAME */
iframe {
  border: none;
  height: 100%; width: 100%;
}
  /* Firefox */
  iframe {
    scrollbar-width: normal;
    scrollbar-color: #b9b9b9 #ffffff;
  }
  /* Chrome und alle anderen */
  iframe::-webkit-scrollbar {
    width: 0px;
  }
  

/* ============================================================ GRID ============================================================ */
body {
  --grid-gap: 1rem;
}

.grid-reverse-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.grid-reverse-container .grid-2:nth-child(even) div {
  /* order: 1; */
}

.grid {
  display: grid;
  gap: var(--grid-gap);
}

.grid-content {
  display: inline-flex;
  flex-direction: column;
  gap: var(--grid-gap);
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: var(--grid-gap);
}
.grid-content:has(img) {
  align-items: center;
}

.grid-2 {
  grid-template-columns: 1fr 1fr;
}
.grid-3 {
  grid-template-columns: 1fr 1fr 1fr;
}
.grid-4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.grid-5 {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}


.grid-13 {
  grid-template-columns: .3334fr .6666fr;
}
.grid-31 {
  grid-template-columns: .6666fr .3334fr;
}


@media (max-width: 1000px) {
.grid-2 {
  /* gap: 0; */
  grid-template-columns: 1fr;
}
.grid-3 {
  grid-template-columns: 1fr 1fr 1fr;
}
.grid-4 {
  grid-template-columns: 1fr 1fr 1fr;
}
.grid-5 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.grid-13 {
  grid-template-columns: .3334fr .6666fr;
}
.grid-31 {
  grid-template-columns: .6666fr .3334fr;
}
}
@media (max-width: 768px) {
.grid-3 {
  grid-template-columns: 1fr;
}
.grid-4 {
  grid-template-columns: 1fr 1fr;
}
.grid-5 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.grid-13 {
  grid-template-columns: 1fr;
  gap: 0;
}
.grid-31 {
  grid-template-columns: 1fr;
  gap: 0;
}
}
@media (max-width: 550px) {
  .grid-3 {
    grid-template-columns: 1fr;
  }
  .grid-4 {
    grid-template-columns: 1fr;
  }
  .grid-5 {
    grid-template-columns: 1fr 1fr;
  }
  .grid-13 {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .grid-31 {
    grid-template-columns: 1fr;
    gap: 0;
  }
  }

/* ============ BOXES ============ */
.box {
  border-radius: var(--border-radius);
  background: var(--clr-background);
  box-shadow: var(--box-shadow);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;

}
  .box-content {
    display: inline-flex;
    align-items: start;
    justify-content: space-between;
    flex-direction: column;
    gap: 1rem;
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    background: var(--clr-background);

    padding: 2rem;
    overflow: hidden;
    height: 100%;
  }
  .box-content.center {
    align-items: center;
    margin: 0 auto;
  }
  .box-content.dark {
  background: #171717;
  color: #fff;
  }
  .box-content.dark-grey {
    background: #2e2e2e;
  color: #fff;

  }
  .box-content.light-blue {
    background: #dfedff;
  }

  .box-content:has(video) {
    padding: 0;
    aspect-ratio: 1 / 1;
    position: relative;
    height: auto;
  }

  .box-content:has(video) video {
    height: 100%;
    width: 100%;
  }
  
  .box-text {
    text-align: center;
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
  }

/* ================ CTA ============= */
.cta-abschluss {
  justify-content: space-between;
  display: grid;
  grid-template-columns: 1.4fr 0.6fr;
  background: var(--clr-background-secondary);
  border-radius: var(--border-radius);
  overflow: hidden;
  margin: 2rem 0;
}

  .cta-abschluss-content {
    /* border: var(--border); */
    padding: 1.5rem;
    background: var(--clr-background-secondary);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
  }
  .cta-abschluss-content h2,
  .cta-abschluss-content h4,
  .cta-abschluss-content p {
    padding: 0 !important;
    margin: 0 !important;
  }
  .cta-abschluss-content:nth-of-type(2) {
    align-items: flex-end;
  }

  .cta-abschluss-title {
    font-size: var(--fs-h3);
  }

  .cta-abschluss-title img {
    border-radius: 0px !important;
    max-height: 4rem;
    user-select: none;
    -webkit-user-drag: none;
  }
  .cta-abschluss-link {
    text-decoration: none !important;
    cursor: pointer;
    margin: 0 !important;
  }
  .cta-abschluss-link-title {
    color: var(--clr-background);
  }
@media (max-width: 425px) {
  .cta-abschluss {
    grid-template-columns: 1fr;
  }
  .cta-abschluss-content {
    justify-content: center;
  }
  .cta-abschluss-content:nth-of-type(2) {
    align-items: flex-start;
  }
}

/* ============================================================ HEADER ============================================================ */

header {
  --clr-background-header: #f4f4f5cf;
  --clr-background-header-active: #ffffff;
  --clr-background-header-active-secondary: color-mix(in oklab, var(--clr-background-header-active) 40%, rgb(80, 80, 80));
  --clr-background-header-scrolled: #f4f4f5cf;
  --clr-header-text: #333333;
  --clr-header-text-hover: var(--clr-primary);
  --clr-header-text-secondary: #b0b0b0;
  --clr-header-box-shadow: #cbcbcb;
}
header.dark {
  --clr-background-header: #292929;
  --clr-background-header-active: #1c1c1c;
  --clr-background-header-active-secondary: color-mix(in oklab, var(--clr-background-header-active) 40%, rgb(80, 80, 80));
  --clr-background-header-scrolled: #292929e3;
  --clr-header-text: #c5c5c5;
  --clr-header-text-hover: #ffffff;
  --clr-header-text-secondary: #737373;
  --clr-header-box-shadow: #989898;
}
    
header {
  position: fixed;
  width: 100%;
  z-index: 800;
  background: var(--clr-background-header);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  height: 60px;
  transition: height 300ms ease-in-out, background 300ms ease-in-out, box-shadow 300ms;
  box-shadow: 0 0 2px 0 var(--clr-header-box-shadow);
  overflow: hidden;
}
header.scrolled {
  background: var(--clr-background-header-scrolled);
  box-shadow: 0 0 2px 0 var(--clr-header-box-shadow);
}
header.active {
  background: var(--clr-background-header-active);
  box-shadow: 0 0 0px 0 var(--clr-header-box-shadow);
}
/* TESTING */
/* header.floating {
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  border: 1px solid rgba(155, 155, 155, 0.388);
  border-radius: 1rem;
  width: var(--window-max);
}
header.floating .nav {
  padding: 1rem;
} */


.nav-layer {
  position: fixed;
  top: 0px;
  left: 0;
  background: transparent;
  width: 100vw;
  z-index: 799;
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  transition: background 500ms, backdrop-filter 500ms, -webkit-backdrop-filter 500ms, height 0ms 500ms;
  height: 0;
}


.nav-layer.active,
header.active ~ .nav-layer {
  transition: background 500ms, backdrop-filter 500ms, -webkit-backdrop-filter 500ms;

  height: calc(100vh - 50px);
  background: #7c7c7c77;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: block;

  /* TEST */
  height: 100vh;
}

/* Das Element, dessen Breite wir dynamisch ändern werden */
#progressBar {
    width: 0;
    height: 0px;
    background-color: rgb(255, 255, 255);
    position: fixed;
    top: 56px;
    left: 0;
    z-index: 1000;
    transition: 200ms;
}

/* ====== NAV SEARCH ====== */
.nav-search-button {
  fill: var(--clr-header-text);
}
.nav-search-button:hover {
  fill: var(--clr-header-text-hover);
  cursor: pointer;
}
/* Styling für das Suchcontainer-Overlay */
.nav-search-container {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  z-index: 811;
  box-shadow: var(--box-shadow);
  background: var(--clr-background-secondary);
  border: var(--border);
  border-radius: var(--border-radius);
  height: auto;
  max-height: calc(100vh - 240px);
  width: 700px;
  overflow: hidden;
  display: flex;
  flex-direction: column;  

  transition: opacity 200ms, translate 200ms;
  height: 0;
  opacity: 0;
  translate: 0 20px;

  top: -1rem;
}
.nav-search-container.active {
  top: 120px;
  opacity: 1;
  translate: 0 0;
  height: auto;
}
@media (max-width: 768px) {
  .nav-search-container.active {
    top: 68px;
    width: calc(100vw - 2rem);
    max-height: calc(100dvh - 76px);
  }
}

.nav-search-head {
  display: flex;
  justify-content: space-between;
  padding: 1rem 1rem .5rem 1rem;
}
/* Styling für den Schließen-Button */
.close-search {
  height: 2rem;
  width: 2rem;
  background: var(--clr-background-secondary);
  border: none;
  border-radius: 50%;
  box-shadow: var(--box-shadow-short);
  cursor: pointer;
  fill: var(--clr-text);
  /* margin-right: -6px; */
}
.close-search svg {
  padding: 6px;
  height: inherit;
  width: inherit;
}

/* Styling für das Eingabefeld */
.search-input-container {
  border-bottom: var(--border);
}
#search-input {
  width: 100%;
  padding: 1rem 20px 1rem 50px;
  border-radius: var(--border-radius-forms);
  color: var(--clr-headline);
}
#search-input:focus {
  outline: none;
}
  /* icon */
  .search-input-icon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    fill: var(--clr-text);
  }
  /* Reset-Button standardmäßig verstecken */
  #reset-search {
    display: none;
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    fill: var(--clr-text);
  }


/* Styling für die Suchergebnisse */
#search-results {
  overflow-y: auto;
}
#search-results p strong {
  color: var(--clr-headline);
}
#search-results ul {
  display: flex;
  flex-direction: column;
  padding: .5rem;
}


#search-results ul li a {
  background: var(--clr-background-secondary); 
  display: flex;
  align-items: flex-start !important;
  gap: 1rem;
  position: relative;
  overflow: hidden;
  padding: 1rem 1rem;
  border-bottom: var(--border);
}
#search-results ul li a:hover {
  
}

#search-results ul li a img {
  border-radius: var(--border-radius);
  object-fit: contain;
  display: none;
}
#search-results ul li a div  {
  display: inline-flex;
  flex-direction: column;
  justify-self: center;
  gap: .5rem;
}
/* TAGS */
#search-results .tags {
  flex-direction: row;
}
#search-results .tags span {
  color: var(--clr-headline);
  background: var(--clr-background-secondary-hover);
}

/* ====== NAV MENU ====== */
.nav-wrapper {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.nav {
  margin: 0 auto;
  height: 60px;
  display: flex;
  justify-content: space-between;
  /* position: relative; */
  padding: 0 1rem;
}

.nav-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  max-height: 60px;
  color: var(--clr-header-text);
  font-size: 1.25rem;
}
.nav-logo img {
  height: 36px;
  width: auto;
  object-fit: cover;
  margin-right: .5rem;
  
}
.nav-logo-text {
  display: flex;
  flex-direction: column;
}
.nav-logo span {
  /* font-family: var(--font-charter); */
  font-weight: 800;
  letter-spacing: 0px;
  font-size: var(--fs-h5);
  line-height: var(--fs-h5);
}


.nav-menu {
  display: flex;
  align-items: center;
}
.nav-menu li a img {
  transform: translateY(-2px);
}

/* nav divider */
.nav-divider {
  height: 50%;
  width: 1px;
  /* margin-left: 10px; */
  /* margin-right: 10px; */
  position: relative;
  /* top: 20%; */
  background: var(--clr-header-box-shadow);
}


/* KORREKTUR AUS ICON PLUGIN */
.menu-item i._mi {
  margin-top: 0;
}

/* ======= EBENEN ======= */
/* ANIMATION DESKTOP / MOBIL */
ul.nav-menu-ebene-1 li,
ul.nav-menu-ebene-2 li,
ul.nav-menu-ebene-3 li,
ul.nav-menu-ebene-4 li {
  opacity: 0;
  transform: translateY(-10px);
}
/* DESKTOP */
@media (min-width: 768px) {
  #menu-main-menu {
    display: flex;
    gap: 1.5rem;
  }
  /* Ebene 1 */
  .nav-menu-ebene-1 a,
  .nav-menu-ebene-1 div {
    color: var(--clr-header-text);
    font-size: var(--fs-small);
    font-weight: 600;
    transition: none;
    cursor: pointer;
  }
  .nav-menu-ebene-1 a:hover,
  .nav-menu-ebene-1 li:hover {
    color: var(--clr-header-text-hover);
  }
  .nav-menu-ebene-1 {
    cursor: pointer;
  }
  .nav-menu-ebene-1:hover {
    cursor: pointer;
    color: var(--clr-header-text-hover);
  }
  @media (min-width: 768px) {
    .nav-menu-ebene-1 svg {
      display: none;
    }
  }

  /* Ebene 2 */
  ul.nav-menu-ebene-2 {
    color: var(--clr-header-text);
    padding: var(--window-padding) var(--window-padding);
    position: absolute;
    top: 60px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: var(--window-max);
    transition: 500ms;
    z-index: 200;
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr;
    max-height: 400px;
    visibility: hidden; /* Unsichtbar und nicht anklickbar */
    overflow: scroll;
  }
  ul.nav-menu-ebene-2.active {
    display: grid; /* Wenn aktiv, wird es angezeigt */
    opacity: 1;
    visibility: visible; /* Sichtbar machen */
  }
  li.nav-menu-ebene-2 > a,
  li.nav-menu-ebene-2 > div {
    color: var(--clr-header-text) !important;
    font-weight: var(--fs-weight-heading);
    font-size: var(--fs-h4);
    margin-bottom: .5rem;
    display: block;
  }

  /* Ebene 3 */
  ul.nav-menu-ebene-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 1rem;
  }
  li.nav-menu-ebene-3 > div {
    color: var(--clr-header-text-secondary) !important;
  }
  /* Ebene 4 */
  li.nav-menu-ebene-4 > a {
    color: var(--clr-header-text) !important;
    font-size: var(--fs-small);
    padding: 0.25rem 0;
    /* border: var(--border); */
    display: inline-block;
  }
  li.nav-menu-ebene-4 > a:hover {
    color: var(--clr-header-text-hover) !important;
  }
  
}

/* MOBILE */
/* OPENER */
.nav-wrapper {
  overflow-x: hidden;
  overflow-y: auto;
}
.nav-opener {
  display: none;
  z-index: 45;
  -webkit-transform: translate3d(0,0,200px);
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  transition: 300ms;
}
  .nav-opener span {
    background: var(--clr-header-text);
    height: 2px;
    width: 22px;
    border-radius: 1rem;
    transition: all 100ms, translate 200ms 200ms, rotate 200ms;
  }
  

  .nav-opener.opened span {
    transition: all 100ms, translate 200ms, rotate 200ms 200ms;
  }
  
  .nav-opener.opened span:nth-child(1) {
    rotate: 45deg;
    translate: 0px 5px;
  }
  .nav-opener.opened span:nth-child(2) {
    rotate: -45deg;
    translate: 0px -5px;
  }

@media (max-width: 768px) {
  header.active {
    height: 100dvh;
  }
  .nav-wrapper {
    gap: 0rem;
  }
  .nav-opener,
  .nav-search-button {
    display: flex;
    padding: 0.5rem 1rem;
    margin-right: -1rem;
    height: 100%;
    align-items: center;
  }
  #menu-main-menu {
    position: absolute;
    top: 60px;
    height: calc(100vh - 60px);
    left: 0;
    width: 100vw;
    display: flex;
    display: none;
    padding: 1rem;
    transition: left 300ms;
  }
  
  header.active #menu-main-menu {
    display: flex;
    flex-direction: column;
  } 
  #menu-main-menu svg {
    height: 2rem;
    width: 2rem;
    margin: auto 0;
    fill: var(--clr-text);
  }
  
  /* Back button Untermenü */
  .back-button {
    fill: var(--clr-header-text) !important;
    display: flex;
    /* gap: .25rem; */
    color: var(--clr-header-text) !important;
    font-size: var(--fs-small) !important;
    font-weight: var(--fs-weight-body) !important;
    padding: .5rem var(--window-padding);
    /* margin-bottom: 1rem; */
    align-items: center;
  }
  .back-button span {
    color: var(--clr-header-text) !important;
    margin: auto 0;
  }
  .back-button svg {
    height: 2rem !important;
    width: 2rem !important;
    margin-left: -.5rem !important;
  }

  /* ALLE EBENEN */
  ul.nav-menu-ebene-2.active,
  ul.nav-menu-ebene-3.active,
  ul.nav-menu-ebene-4.active {
    left: 0;
    overflow-y: auto;
  }

  li.nav-menu-ebene-1 > a,
  li.nav-menu-ebene-1 > div,
  li.nav-menu-ebene-2 > a,
  li.nav-menu-ebene-2 > div,
  li.nav-menu-ebene-3 > a,
  li.nav-menu-ebene-3 > div,
  li.nav-menu-ebene-4 > a,
  li.nav-menu-ebene-4 > div {
    width: 100vw;
    color: var(--clr-header-text) !important;
    font-weight: var(--fs-weight-heading);
    font-size: var(--fs-h4);
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: .75rem var(--window-padding);
  }


  /* Ebene 1 */
  ._mi._after {
    display: none !important;
  }
  #menu-main-menu.hidden {
    /* transform: translateX(10px); */
    left: -100px;
  }
  /* Untermenü opener style */
  li.nav-menu-ebene-1:has(ul) {
    /* border: 1px solid rgb(113, 113, 113); */
    display: flex;
    justify-content: flex-start;
    fill: var(--clr-header-text);
  }
  li.nav-menu-ebene-1 div,
  li.nav-menu-ebene-1 a {
    color: var(--clr-headline) !important;
  }

  /* Ebene 2 */
  ul.nav-menu-ebene-2 {
    display: flex;
    flex-direction: column;
  }
  ul.nav-menu-ebene-2 {
    position: fixed;
    top: 60px;
    height: calc(100vh - 60px);
    left: 100vw;
    width: 100%;
    background: var(--clr-background-header-active);
    transition: left 300ms;
    padding: 1rem 0;
  }
  li.nav-menu-ebene-2 div {
    color: var(--clr-headline) !important;
    font-size: var(--fs-h2);
  }

  /* Ebene 3 */
  ul.nav-menu-ebene-3 {
    
  }
  li.nav-menu-ebene-3 .svg-icon {
    rotate: 90deg;
    transition: 200ms;
  }
  li.nav-menu-ebene-3 .svg-icon.active {
    rotate: 270deg;
  }
  li.nav-menu-ebene-3:has(ul) .back-button {
    display: none;
  }
  li.nav-menu-ebene-3 div,
  li.nav-menu-ebene-3 a {
    color: var(--clr-header-text) !important;
    font-size: var(--fs-h6);
  }

  /* Ebene 4 */
  ul.nav-menu-ebene-4 {
  height: 0; /* Initial auf 0 gesetzt */
  overflow: hidden; /* Verhindert, dass Inhalte außerhalb sichtbar sind */
  transition: height 0.3s ease; /* Smooth Animation */
  }

  ul.nav-menu-ebene-4.active {
    background: var(--clr-background-secondary);
    height: auto; /* Automatische Höhe für den Inhalt */
  }

  li.nav-menu-ebene-4 div,
  li.nav-menu-ebene-4 a {
    color: var(--clr-header-text) !important;
    font-size: var(--fs-h6);
    font-weight: 500 !important;
    padding-left: 1.5rem;
  }


}

/* ============================================================ INDEX ============================================================ */

/* HERO */
.hero {
    padding-top: calc(55px) !important;
    background: var(--clr-background-linear-hero);
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 100;
    overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 20%;
  width: 100%;
  /* background: linear-gradient(transparent, black); */
}

.background-shadow {
  position: relative;
  overflow: hidden;
}
.background-shadow::after {
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%;
    width: 100%;
    content: '';
    /* background: radial-gradient(50% 75% at 50% 80%, var(--clr-secondary) 0%, var(--clr-secondary) 33.36%, rgba(0, 0, 0, 0) 100%); */
    background: radial-gradient(50% 75% at 50% 20%, #0e0e0e 0%, #000000 33.36%, rgba(0, 0, 0, 0) 100%);
    opacity: 0.3;
    z-index: -1;
}


.hero-content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    z-index: 300;
    position: relative;
    max-width: 800px;
    
    text-align: center;
}



.hero-content h1 {
    color: var(--clr-headline);
    /* text-transform: uppercase; */
    font-size: calc(var(--fs-h1) * 1.3);
    line-height: calc(var(--fs-line-height-heading) * 0.95);
    font-weight: 800;
    letter-spacing: -2px;
    display: flex;
    flex-direction: column;
}
@media (min-width: 1000px) {
  .hero-content h1 {
    font-size: calc(var(--fs-h1) * 1.5);

}
  
}

.hero-content p {
    color: var(--clr-text);
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    font-size: calc(var(--fs-p) * 1.0);
    line-height: var(--fs-line-height-body);
    text-wrap: balance;
}

.hero-content-people {
  display: flex;
  gap: 1rem;
  justify-content: center;
}

  .hero-content-people-wrapper {
    display: flex;
    margin-left: 10px;
    margin-bottom: 2rem;
  }
  .hero-content-people-wrapper img {
    height: 40px;
    width: 40px;
    border-radius: 50%;
    background: var(--clr-background-secondary);
    /* border: 1px solid var(--clr-headline); */
    margin-left: -10px;
    box-shadow: var(--box-shadow-short);
    object-fit: cover;
  }



.stars-container {
  
}

  .stars {
    display: flex;
    gap: 2px;
    fill: #e8aa00;
  }
  .stars svg {
    height: 16px;
    width: 16px;
  }


/* HERO Concept */
.container:has(.concept) {
  padding-top: 0;
  padding-bottom: 2rem;
}
.concept-text {
  padding: 1rem;
}
.concept-text h2 {
  font-size: var(--fs-h1);
  display: flex;
  flex-direction: column;
  text-align: center;
}

.concept-page-wrapper {
  border-radius: var(--border-radius);
  position: relative;
  aspect-ratio: 16 / 12;
  padding: 4.5rem;
  margin-bottom: -20%;
  z-index: -1;
}

  /* Definition der Keyframe-Animation */
  @keyframes slideIn {
    from {
      opacity: 0;
      translate: 0 50px;
      visibility: hidden;
    }
    to {
      opacity: 1;
      translate: 0 0px;
      visibility: visible;
    }
  }
  /* BG */
  .concept-background {
    position: absolute;
    top: 0;
    left: 0px;
    height: 100%;
    width: 100%;
    object-fit: contain;
    filter: drop-shadow(0 0 100px var(--clr-background));
  }
  /* Ausgangsstil für alle .concept-page-Elemente */
  .concept-page {
      position: absolute;
      top: 6.5%;
      left: 0px;
      height: 65%;
      filter: grayscale(.1) brightness(.9);
      scale: 1;
      opacity: 0; /* Startet unsichtbar */
      opacity: 1; /* Startet sichtbar */
      border-radius: var(--border-radius-forms);

      visibility: hidden;
      box-shadow: var(--box-shadow);
  }
  /* Weise jedem Element die spezifische Animation mit Verzögerung zu */
  .concept-page:nth-of-type(1) {
    z-index: 34;
    left: 12.5%;
    transform: translateX(-12.5%);
    scale: 1;
    animation: slideIn 700ms 300ms ease-in-out forwards;
  }

  .concept-page:nth-of-type(2) {
    z-index: 33;
    left: 37.5%;
    transform: translateX(-37.5%);
    scale: .95;
    animation: slideIn 700ms 200ms ease-in-out forwards;
  }

  .concept-page:nth-of-type(3) {
    z-index: 32;
    left: 62.5%;
    transform: translateX(-62.5%);
    scale: .9;
    animation: slideIn 700ms 100ms ease-in-out forwards;
  }

  .concept-page:nth-of-type(4) {
    z-index: 31;
    left: 82.5%;
    transform: translateX(-82.5%);
    scale: .85;
    animation: slideIn 700ms 0ms ease-in-out forwards;
  }




/* MOBILE */
@media (max-width: 768px) {
  .hero {
    padding-top: 0;
  }

}


/* SUCHFUNKTION */
.search {
    text-align: center;
}

.live-search-wrapper {
    position: relative;
    width: 100%;
    max-width: 500px;
    margin: 1rem auto 3rem auto;
}
#live-search-results {
    border-radius: var(--border-radius);
    background-color: #fff;
    max-height: 300px;
    overflow-y: auto;
    position: relative;
    width: 100%;
    max-height: 0;
    transition: all 0.3s ease-in-out; /* Übergangseffekt */
}

#live-search-results.visible {
    border: 1px solid #ddd;
    max-height: 800px;
}

#live-search-results ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

#live-search-results li {
    border-bottom: 1px solid #ddd;
}

#live-search-results li a {
    text-decoration: none;
    color: #333;
    display: block;
    margin-bottom: 5px;
    padding: 1rem;
    text-align: left;
}
#live-search-results p {
    font-weight: var(--font-weight-body);
}

#live-search-results li p {
    margin: 0;
    font-size: 0.9em;
    color: var(--clr-text);
}

#live-search-results li:hover {
    background-color: var(--clr-background-secondary);
}

.search-container {
    position: relative;
    width: 100%;
}

.search-container input[type="text"] {
    width: 100%;
    padding-right: 30px; /* Platz für den Lösch-Button */
}

.search-container button#clear-search {
    position: absolute;
    right: 3rem;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    font-size: 1rem;
    cursor: pointer;
    color: #333;
}
.search-container input#searchsubmit {
    transition: none;
    position: absolute;
    right: 12px;
    top: 50%;
    height: auto;
    width: auto;
    font-size: 2.5rem;
    padding: 0;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    cursor: pointer;
    color: #535353;
}

.search-container button#clear-search:hover {
    color: #000;
}

/* ZAHLEN */

.zahlen-wrapper {
    margin: 1rem 0;
    padding: 3rem;
}
@media (max-width: 768px) {
.zahlen-wrapper {
  padding: 1rem;
}
}
.zahlen-wrapper .box-content {
    gap: 0;
}
.zahlen-wrapper .zahl {
    color: var(--clr-headline);
    font-size: var(--fs-h1);
    line-height: var(--fs-h1);
    font-weight: 800;
}
.zahl-container {
    text-align: center;
}


/* BERATUNGSABLAUF */
.sticky-wrapper {
    display: grid;
    grid-template-columns: 40% calc(60% - 2rem);
    gap: 2rem;
}
.stick {
    position: sticky;
    top: 8rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.steps {
    /* border: 1px solid black; */
    display: flex;
    flex-direction: column;
    gap: calc(var(--grid-gap) * 2);
}
  .step {
      background: var(--clr-background-secondary);
      border-radius: var(--border-radius);
      padding: 2rem;
      display: flex;
      flex-direction: column;
      gap: 1rem;
      position: relative;
  }
  .step p {
      z-index: 21;
  }
  .step-number {
      position: absolute;
      bottom: -2rem;
      right: 1rem;
      font-size: 10rem;
      font-weight: 900;
      color: var(--clr-primary-mixed);
      z-index: 20;
  }



/* ======================= TEAM SEITE ===================================== */
.team-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1rem;
} 
.team-search {
  display: block;
  position: relative;
  width: 100%;
  max-width: 600px;

  margin: 0 auto 2rem auto;
}
  .team-search svg {
    fill: var(--clr-text);
    position: absolute;
    top: 0;
    left: .65rem;
    height: 100%;
    width: 2rem;
    z-index: 10;
    padding: .8rem 0;
  }
  #team-search-input {
    border-radius: 2rem;
    margin: 0;
    padding: 0.75rem 0.75rem 0.75rem 2.75em;
    position: relative;
  }
  #team-search-input:focus {
    outline: none;
  }

  .team-member {
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius);
    border: var(--border);
  }
    .team-member-img {
      border-radius: var(--border-radius);
      overflow: hidden;
      padding: 2rem 20%;

    }
      .team-member-img img {
        aspect-ratio: 1 / 1;
        transition: 300ms;
        margin: auto auto;
        object-fit: cover;
        filter: grayscale(.25);
        border-radius: 50%;
      }
      .team-member:hover .team-member-img img {
        /* scale: 1.025; */
        filter: grayscale(0);

      }
    
   
    .team-member-details {
      border-radius: var(--border-radius);
      padding: .5rem .5rem 2rem .5rem;
      text-align: center;
    }
      .team-member-name {
        font-size: var(--fs-h6);
        font-weight: var(--fs-weight-heading);
      }
      .team-member-position {
        /* font-size: var(--fs-small); */
      }
@media (max-width: 768px) {
  .team-container {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .team-container {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .team-container {
    grid-template-columns: 1fr;
  }
  .team-member {
    display: grid;
    grid-template-columns: 30% 70%;
  }
  .team-member-img {
    padding: 1rem;
    width: 100%;
    aspect-ratio: 1 / 1;
  }
  .team-member-img img {
    object-fit: cover;
    
  }
  .team-member-details {
    padding: 1rem 1rem 1rem 0;
    text-align: start;
  }
}



/* ===== MEMBER SEITE */
.member-container {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}


.member-head {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 1rem;
}
.member-head .button-wrapper {
  justify-content: center;
}
  .member-details {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
    .member-name {
      font-size: var(--fs-h1);
      line-height: var(--fs-h1);
      color: var(--clr-headline);
      font-weight: var(--fs-weight-heading);
    }
    .member-position {
      font-size: var(--fs-h4);
      line-height: var(--fs-h4);
      font-weight: var(--fs-weight-heading);
    }
    .member-socials {
      display: flex;
      gap: .5rem;
      margin: 1rem 0;
      justify-content: center;
    }
      .member-socials a {
        background: var(--clr-background-secondary);
        border-radius: 50%;
        padding: .75rem;
        display: flex;
      }
      .member-socials a svg {
        fill: var(--clr-primary);
      }

      /* HOVER */
      .member-socials a span {
        max-width: 0;
        height: 24px;
        visibility: hidden;
        transition: 300ms;
        margin-left: 0px;
        overflow: hidden;
        text-wrap: nowrap;
        font-weight: 500;
        color: var(--clr-background);
      }
      @media (min-width: 768px) {
        .member-socials a:hover {
          border-radius: 1.5rem;
          background: var(--clr-primary);
        }
        .member-socials a:hover span {
          max-width: 5rem;
          visibility: visible;
          margin-left: 4px;
        }
        .member-socials a:hover svg {
          fill: var(--clr-background);
        }
      }


  .member-img {
    overflow: hidden;
    border-radius: 50%;
    box-shadow: var(--box-shadow);
    aspect-ratio: 1 / 1;
    max-height: 200px;
    max-width: 200px;
  }
    .member-img img {
      object-fit: cover;
      height: 100%;
      width: 100%;
    }

.member-profil,
.member-contact {
  background: var(--clr-background-secondary);
  border-radius: var(--border-radius);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
  .member-contact svg {
    fill: var(--clr-text);
    
  } 
  .member-contact li:has(.member-contact-phone),
  .member-contact li:has(.member-contact-mail) {
    display: flex;
    gap: .5rem;
    margin-top: 1rem;
  }  

  
/* MEMBER Bereiche */
.bereiche-container {
  margin: 1rem 0;
}
  .bereich {
    padding: 2rem;
    background: var(--clr-background-secondary);
    border-radius: var(--border-radius);
    display: flex;
    flex-direction: column;
    gap: 1rem;

  }
  .bereich-icon img,
  .bereich-icon svg {
    height: 48px;
    width: 48px;
    padding: 0.5rem;
    border-radius: 0.5rem;
    fill: var(--clr-primary);
    background: var(--clr-primary-mixed);
  }
  .bereich-name {
    line-height: var(--fs-h6);
    font-size: var(--fs-h6);
    font-weight: var(--fs-weight-heading);
    color: var(--clr-headline);
  }
  .bereich-text {
    color: var(--clr-text);
  }

/* MEMBER Video */
.member-video {
  text-align: center;
}
  .member-video-container {
    margin: 1rem 0;
  }
  .member-video-container .wp-video {
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: var(--box-shadow);
    margin: 0 auto;
  }


/* MEMBER TERMIN BUCHEN */
.member-termin-buchen {
  background: var(--clr-background);
  padding: 0;
  z-index: 900;
  text-align: center;
  box-shadow: var(--box-shadow);
  border-radius: var(--border-radius);
  position: fixed;
  top: 50%;
  left: 50%;
  height: 80%;
  width: 100%;
  max-height: 1000px;
  max-width: var(--window-max);
  min-height: 500px;
  /* Transition */
  transition: 200ms;
  transform: translate(-50%, calc(-50% + 25px));
  opacity: 0;
  visibility: hidden;
}
.member-termin-buchen.active {
  transform: translate(calc(-50%), -50%);
  opacity: 1;
  visibility: visible;
}

  .member-termin-buchen-head {
    /* border: 2px solid orange; */
    height: 60px;
    position: relative;
    border-bottom: var(--border);
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
  }
    .member-termin-buchen-close {
      position: absolute;
      top: 1rem;
      right: 1rem;
      height: 2rem;
      width: 2rem;
      background: var(--clr-background);
      border: none;
      border-radius: 50%;
      box-shadow: var(--box-shadow-short);
      fill: var(--clr-text);
      z-index: 500;
      cursor: pointer;
    }

      .member-termin-buchen-close svg {
        padding: 6px;
        height: inherit;
        width: inherit;
      }
  .member-termin-buchen iframe {
    /* border: 4px solid green; */
    max-height: calc(100% - 120px);
  }

@media (max-width: 768px) {
  .member-termin-buchen {
    top: 0px;
    left: 0;
    height: calc(100dvh - 0px);
    transform: translate(0, 25px);
    border-radius: 0;
    max-height: auto;

  }
  .member-termin-buchen.active {
    transform: translate(0, 0);
  }
  .member-termin-buchen iframe {
    max-height: calc(100% - 0px);
  }
}
@media (max-height: 900px) {
  .member-termin-buchen {
    border-radius: 0;
    height: 100%;

  }
}

/* MENBER KONTAKTFORMULAR */
.member-contactform {
  
}


/* =========== APP SEITE ========== */
.app {
  position: relative;
}
.app::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 20%;
  width: 100%;
  background: linear-gradient(transparent, var(--clr-background));
  z-index: 10;
}
.app-hero-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  margin: 0 auto;
  gap: 2rem;
  padding: 2rem 0;
  max-width: 525px;
}
.app-hero-text h1 {
  font-size: calc(var(--fs-h1) * 1.3);
}
.app-hero-img {
  margin-top: -2rem;
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
}

.app-hero-img img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}
.app-hero-img img:nth-of-type(2) {
  margin-top: 4rem;
}
.app-hero-img img:nth-of-type(3) {
  margin-top: 8rem;
}
.app-download {
  display: grid;
  grid-template-columns: 50% 50%;
  gap: .5rem;
  max-width: 300px;
  margin: 0 auto;
}

/* ======= Versicherung Seite ======= */
.posts-versicherung-container {
  gap: .5rem;
  margin: 1rem 0;
}
.posts-versicherung-link {
  
}
.posts-versicherung-link a {
  display: block;
  font-weight: var(--fs-weight-body);
}
.posts-versicherung-link a:hover {
  color: var(--clr-primary);
}

/* =========== KONTAKT SEITE ========== */
.kontakt-wrapper {
  
}
.kontakt-steps-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 768px) {
  .kontakt-steps-container {
    order: 1;
    margin-top: 1rem;
  }
}

.kontakt-step {
  box-shadow: var(--box-shadow);
  border-radius: var(--border-radius);
  padding: 2rem;
  border: var(--border);
  display: grid;
  grid-template-columns: auto auto;
  gap: 1rem;
}
.kontakt-step-text {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
  .kontakt-step-number {
    height: 48px;
    width: 48px;
    padding: .4rem .5rem;
    border-radius: 0.5rem;
    fill: var(--clr-primary);
    background: var(--clr-primary-mixed);
    font-size: var(--fs-h5);
    text-align: center;
    color: var(--clr-primary);
    font-weight: var(--fs-weight-heading);

  }
  .kontakt-step-title {
    line-height: var(--fs-h5);
    font-size: var(--fs-h5);
    font-weight: var(--fs-weight-heading);
    color: var(--clr-headline);
  }

/* ======= DANKE PAGE ======== */
.thanks-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 3rem;
}
.thanks-icon svg {
  fill: var(--clr-background);
  height: 5rem;
  width: 5rem;
  border-radius: 50%;
  background: #00be0084;
}

/* ======= Impressum & Datenschutz Seite ======= */
.rechtliches {
  
}
.rechtliches h1 {
  font-size: var(--fs-h3);
  margin-bottom: .5rem;
}
.rechtliches h2 {
  font-size: var(--fs-h5);
  margin-top: 2rem;
  margin-bottom: .5rem;
}
.rechtliches h3 {
  font-size: var(--fs-h6);
  margin-top: 1.5rem;
  margin-bottom: .5rem;
}
.rechtliches h4 {
  font-size: var(--fs-p);
  margin-top: 1rem;
  margin-bottom: .5rem;
}
.rechtliches p {
  font-size: var(--fs-small);
  margin-top: .25rem;
  margin-bottom: .25rem;
}

/* ============================================================ WORDPRESS ============================================================ */
/* Angezeigtes Verzeichnis */
.breadcrumbs {
  height: 50px;
  top: 60px;
  left: 0;
  list-style: none;
  width: 100%;
  display: flex;
  align-items: center;
  z-index: 500;
  text-wrap: nowrap;
  overflow-x: scroll;

}
@media (max-width: 600px) {
  .breadcrumbs {
      box-shadow: 0 0 2px 0 #67676736;
      position: absolute;
      padding: 0 var(--window-padding);
      height: 60px;
  }
}
.breadcrumbs-wrapper {
  width: 100%;
  max-width: var(--window-max);
  /* padding: 0 var(--window-padding); */
  margin: 0 auto;
}

.breadcrumbs li {
  display: inline;
  margin-right: 5px;
}

.breadcrumbs .separator {
  margin-right: 5px;
  color: #a4a4a4;
}

.breadcrumbs a {
  font-size: var(--fs-small);
  text-decoration: none;
  /* color: var(--clr-primary); */
}

.breadcrumbs a:hover {
  color: var(--clr-primary)
}

/* aktuelle Seite */
.breadcrumbs .bread-current {
  padding: 6px 8px;
  border-radius: var(--border-radius);
  background-color: var(--clr-primary-mixed);
}


/* WP VIDEO */
.wp-video .mejs-overlay-button {
  background: #41414150;
  border-radius: 50%;
  background-image: url(/wp-content/uploads/icons/bx-play.svg);
  background-position: calc(50% + 2px) 50% !important;
  background-repeat: no-repeat;
  background-size: 3rem;
  z-index: 100;
}
.wp-video .mejs-overlay,
.wp-video .wp-video-shortcode {
  background: transparent;
  border: none;
}

/* SUCHFUNKTION */
.search {
  /* text-align: center; */
}

.live-search-wrapper {
  position: relative;
  width: 100%;
  max-width: 500px;
  margin: 1rem 0 3rem 0;
}
#live-search-results {
  border-radius: var(--border-radius);
  background-color: #fff;
  max-height: 300px;
  overflow-y: auto;
  position: relative;
  width: 100%;
  max-height: 0;
  transition: all 0.3s ease-in-out; /* Übergangseffekt */
}

#live-search-results.visible {
  border: 1px solid #ddd;
  max-height: 800px;
}

#live-search-results ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#live-search-results li {
  border-bottom: 1px solid #ddd;
}

#live-search-results li a {
  text-decoration: none;
  color: #333;
  display: block;
  margin-bottom: 5px;
  padding: 1rem;
  text-align: left;
}

#live-search-results li p {
  margin: 0;
  font-size: 0.9em;
  color: var(--clr-primary);
}

#live-search-results li:hover {
  background-color: #f0f0f0;
}

.search-container {
  position: relative;
  width: 100%;
}

.search-container input[type="text"] {
  width: 100%;
  padding-right: 30px; /* Platz für den Lösch-Button */
}

.search-container button#clear-search {
  position: absolute;
  right: 3rem;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  font-size: 1rem;
  cursor: pointer;
  color: #333;
}
.search-container input#searchsubmit {
  transition: none;
  position: absolute;
  right: 12px;
  top: 50%;
  height: auto;
  width: auto;
  font-size: 2.5rem;
  padding: 0;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  color: #535353;
}

.search-container button#clear-search:hover {
  color: #000;
}

/* SHORTCODE SEARCH */
#post-search-wrapper {
  display: grid;
  place-items: center;
  position: relative;
}

#posts-search-container {
  position: relative;
  max-width: 600px;
  width: 100%;
}

#posts-search-input {
  padding: 1rem 3.25rem;
  border-radius: 2rem;
  outline: none;
  box-shadow: var(--box-shadow);
  background: #fff;
}

  .icon-search-input {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 1.25rem;
  }
    .icon-search-input svg {
      fill: var(--clr-text);
    }

  #reset-search-input {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1.25rem;
    border: none;
    background: transparent;
    fill: var(--clr-text);
    cursor: pointer;

  }


#posts-search-results {
  margin: 1rem 0 2rem 0;
}

#posts-search-results ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

#posts-search-results ul li {
  background: var(--clr-background);
  border: var(--border);
  box-shadow: var(--box-shadow);
  border-radius: var(--border-radius);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
  #posts-search-results ul li h6 {
    font-size: var(--fs-h5);
  }
  #posts-search-results ul li img {
    display: none;
  }
  #posts-search-results ul li a div {
    display: inline-flex;
    align-items: flex-start;
    flex-direction: column;
    gap: .5rem;
  
  }

/* TAB REITER */
.tab-component {
  display: block;
  position: relative;

}
.tabs {
    display: flex;
    justify-content: center;
    margin-bottom: 1rem;
}
.tab-buttons {
    box-shadow: var(--box-shadow);
  display: inline-flex;
  margin: 0 auto;
  background: var(--clr-background);
  border-radius: 2rem;
  padding: .25rem;
  margin-bottom: 1rem;
}
@media (max-width: 500px) {
  .tab-buttons  {
    display: flex;
    flex-direction: column;
  }
}

.tab-buttons button {
  padding: 10px 20px;
  cursor: pointer;
  background: none;
  border: none;
  color: var(--clr-text);

  font-weight: var(--fs-weight-body);
}
.tab-buttons button.active {
  background: var(--clr-headline);
  border-radius: 2rem;


  border-color: var(--clr-headline);
  color: var(--clr-background);
}
.tab-content {
  /* display: none; */
  visibility: hidden;
  border-top: none;
  height: 0;
  opacity: 0;
}
.tab-content.active {
  display: block;
  visibility: visible;
  height: auto;
  opacity: 1;
}

    .tab-content * {
        opacity: 0;
        translate: 0 50px;
        transition: 300ms;
    }
    .tab-content.active * {
        opacity: 1;
        translate: 0 0px;
    }

/* Tags */
.tags {
  margin: 1rem 0;
}
.tags:has(span) {
  margin: 0rem 0;
}
.tags span,
.tags a {
  padding: 6px 12px;
  border-radius: var(--border-radius);
  background-color: #ececec;
  display: inline-block;
  transition: none;
  font-size: var(--fs-small);
}

/* SHORTCODE Slider */
/* Swiper-Slider-Styles */
.swiper-wrapper {
  height: auto !important;
}
.swiper-container {
  width: 100%;
  margin: 1rem 0; 
  position: relative;
  overflow: hidden;
  border-radius: var(--border-radius);
}

.swiper-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  /* overflow: hidden; */
}

/* Slide */
.swiper-slide {
  position: relative;
}
.swiper-slide a {
  position: relative;
  height: 100% !important;
}


.swiper-slide img {
  width: 100%;
  aspect-ratio: 1 / 0.6691176471;
  object-fit: cover;
  border-radius: var(--border-radius);
  border: var(--border);
}

.swiper-slide h3 {
  font-size: var(--fs-h6);
  color: var(--clr-backgroundswiper-navigation);
  padding: 1rem 0;
  z-index: 10;
  text-wrap: wrap;
  hyphens: auto;
  align-self: flex-end;
}
.swiper-slide p {
  hyphens: auto;
}

.swiper-slide .button {
  padding: 8px 16px;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.3s;
}

.swiper-navigation {
  display: flex;
  flex-direction: row-reverse;
  gap: 4px;

}
.swiper-navigation svg {
  fill: var(--clr-headline);
  padding: 8px;
}

.swiper-button-next,
.swiper-button-prev {
  height: 40px !important;
  width: 40px !important;
  border-radius: 50%;
  margin-top: 0 !important;
  position: static !important;
  color: #0073aa; /* Farbe der Navigationsbuttons */
  background-color: transparent;
  transition: color 0.3s;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
  color: #005082; /* Hover-Farbe der Navigationsbuttons */
}

.swiper-pagination {
  position: static !important;
  margin: 0.5rem 0;
}

.swiper-pagination-bullet {
  background-color: var(--clr-text) !important; /* Farbe der Pagination-Punkte */
  opacity: 0.7;
  transition: 0.3s;
  border-radius: 4px !important;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  width: 16px !important;
}

/* SHORTCODE Accordion */
/* Accordion CSS */
.accordion {
  overflow: hidden;
  max-width: 950px;
  margin: 2rem auto 0 auto;
}
.accordion-item {

}
.accordion-item-header {
  padding: .5rem 0;
  min-height: 3.5rem;
  font-weight: bold;
  display: flex;
  gap: 1rem;
  align-items: start;
  cursor: pointer;
  justify-content: space-between;
}
.accordion-item-header:hover {
  color: var(--clr-headline);
  transition: 100ms;
}
.accordion-toggle {
  margin: auto 0;
}

.accordion-item-header:hover .accordion-toggle span {
  background: var(--clr-headline);
}
.accordion-title {
  font-size: var(--fs-h6);
  margin: auto 0 !important;
  vertical-align: baseline;
}
.accordion-item-header .accordion-toggle {
  min-height: 30px;
  min-width: 20px;
  position: relative;
  display: grid;
  place-items: center;
  margin-right: 2px;
}
.accordion-item-header .accordion-toggle span {
  width: 100%;
  height: 3px;
  background: var(--clr-headline);
  display: block;
  position: absolute;
  transition: all 200ms, color 100ms;
}
.accordion-item-header .accordion-toggle span:nth-of-type(2) {
  rotate: 90deg;
}
.accordion-item-header.active .accordion-toggle span:nth-of-type(2) {
  rotate: 0deg;
}
.accordion-item-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 300ms ease-in-out;
  border-bottom: 1px solid var(--clr-background-secondary);
}
.accordion-item-body-content {
  font-size: 1rem;
  padding-bottom: 1rem;
  line-height: 1.5rem;
  transform: translateY(50px);
  opacity: 0;
  transition: 400ms ease-in-out;
}
.accordion-item-body-content.active {
  transform: translateY(0px);
  opacity: 1;
}

/* SHORTCODE Concept Links */
#links_container {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(5, 1fr);
}
@media (max-width: 1400px) {
  #links_container {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 1200px) {
  #links_container {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) {
  #links_container {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 425px) {
  #links_container {
    grid-template-columns: repeat(1, 1fr);
  }
}

.rechner-link {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: .5rem;
  height: 100%;
  width: 100%;
  padding: 1rem;
  border-radius: var(--border-radius);
  background: var(--clr-background-secondary);
  /* box-shadow: var(--box-shadow); */
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.rechner-link:hover {
  background: var(--clr-background-secondary-hover);
}
.rechner-link::after {
  position: absolute;
  top: -2rem;
  right: -2rem;
  height: 1.5rem;
  width: 1.5rem;
  font-size: 1rem;
  text-align: center;
  vertical-align: middle;
  border-radius: 50%;
  padding-top: 2px;
  background: var(--clr-background);
  content: ' \2197';
  transition: 300ms;
}
.rechner-link:hover::after {
  top: 0.5rem;
  right: 0.5rem;

}
  .rechner-link-title {
    display: none;
    margin-top: 4px;
    color: var(--clr-text);
  }
  .rechner-link p {
    font-size: var(--fs-small);

  }
  .rechner-link-login {
    color: var(--clr-text);
    font-size: 12px;
    grid-template-columns: auto auto;
  }
  .rechner-link-login span {
    margin-right: .5rem;
  }
  .rechner-link-logo {
    height: 32px;
    object-fit: contain;
    max-width: 80%;
  }

  /* HIDE LOGIN */
  .rechner-link-login {
    display: none !important;
  }
  .rechner-link-zugangsdaten {
    display: none !important;
  }

  /* Filter / Suche*/
  #search_input {
    background: var(--clr-background-secondary);
    border: none;
    font-weight: 400;
    max-width: 400px;
    border-radius: 2rem;
    padding: .75rem 1rem !important;
    margin-top: 1rem;
    height: 49.59px;
  }

  .concept_links_filters-wrapper {
    display: flex;
    justify-content: space-between;
  }
  .concept-links-filters,
  .filter-container {
    display: inline-flex;
    background-color: var(--clr-background-secondary);
    padding: 4px;
    border-radius: 2rem;
    margin: 1rem 0;

    display: inline-flex;
      background-color: transparent;
      gap: 8px;
      flex-wrap: wrap;
  }
  
  @media (max-width: 1500px) {
    .concept-links-filters,
    .filter-container {
      display: inline-flex;
      background-color: transparent;
      gap: 8px;
      flex-wrap: wrap;
    }
    .concept_links_filters-wrapper {
      flex-direction: column-reverse;
    }
  }
  .filter-btn {
    color: var(--clr-headline);
    padding: 0.5rem 1rem;
    cursor: pointer;
    background-color: var(--clr-background-secondary);
    border: none;
    border-radius: 2rem;
    font-weight: var(--fs-weight-body);
  }

  .filter-btn.active {
    color: var(--clr-background);
    background-color: #262626;
  }


/* SHORTCODE BEWERTUNGEN */
.bewertungen-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-content: stretch;
  align-items: flex-start;
}
  .bewertung {
      box-shadow: var(--box-shadow);
      background: var(--clr-background);
      padding: 2rem;
      border: var(--border);
      border-radius: var(--border-radius);

      display: flex;
      flex-direction: column;
      gap: 1rem;

      flex: 1 1 30%;


      
  }

  .bewertung-from {
      display: flex;
      gap: 1rem;
      margin-top: 1rem;
      align-items: center;
  }
      .bewertung-image {
          height: 3rem;
          width: 3rem;
          border-radius: 50%;
          box-shadow: var(--box-shadow);
          overflow: hidden;

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

/* INTERNER BEREICH TABS */
.tab-container {
  background: var(--clr-background-linear);
}
.tab-wrapper {
  display: grid;
  grid-template-columns: 200px auto;
}
.sidebar {
    width: 100%;
    display: flex;
    flex-direction: column;
    /* justify-content: space-between; */
    background: var(--clr-background-linear);
    border: 1px solid #ededed;
    height: calc(100vh - 60px);
    padding: .5rem;
    position: sticky;
    top: 60px;
    left: 0;
}
.sidebar-section p.small {
  padding: .25rem .75rem !important;
  margin-top: .5rem;
}

.sidebar-section a,
.sidebar-section p a,
.tablink {
  display: inline-block;
    color: var(--clr-headline) !important;
    font-weight: var(--fs-weight-body);
    padding: .4rem .75rem !important;
    text-align: left;
    border: none;
    outline: none;
    cursor: pointer;
    width: 100%  !important;
    border-radius: .5rem;
}
.sidebar a:hover,
.sidebar p a:hover,
.tablink:hover {
    background-color: var(--clr-background-secondary);
}

.tabcontent {
    display: none;
    padding: 1rem;
    height: auto;
}

.active-tab {
    display: block;
}

/* SHORTCODE Google / Trustindex */
.ti-footer-filter-text {
  display: none;
}
.ti-inner {
  background: var(--clr-background-secondary) !important;
  border-radius: var(--border-radius) !important;
}
.ti-review-content {
  font-weight: var(--fs-weight-body) !important;
  color: var(--clr-text);
}

.ti-widget.ti-goog .ti-widget-container {
  border-radius: var(--border-radius) !important;
}