*{ box-sizing: border-box; }

html { font-family:"Barlow", sans-serif;background-color:var( --background-color); }
body {
  margin: 0;
  overflow-x:hidden;
}
body.scrollstop { overflow-y:hidden;}
:root {
  --nav-height: 5rem;
  --nav-bg: #222222;
  --nav-text: #ffffff;
  --nav-accent: #f7a31c;
  --container-max: 80rem; /* ≈ 1280px */
  --container-pad: 1.25rem; /* 20px */
  --background-color:#f4f4f4;
  --footer-bg:#050000;
--footer-second-bg:#2e2e2e;
    --content-font-color:#050000;
    --footer-text:#fff;
--cta-color:#85a700;
--cta-color-contrast-color:#fff;
}

/* ---------------------------
  Loading animations
--------------------------- */
@keyframes fadeToNormal {
  to {
    opacity: 1;
    transform: translateX(0px) translateY(0px) scale(1);
  }
}
.fade-in-on-view { opacity: 0;transform-origin:50% 50%; }
.fade-in-on-view.right { transform: translateX(20px) translateY(0px) scale(1);}
.fade-in-on-view.left { transform: translateX(-20px)  translateY(0px) scale(1);}
.fade-in-on-view.top { transform: translateX(0px)  translateY(20px) scale(1);}
.fade-in-on-view.bottom { transform: translateX(0px)  translateY(-20px) scale(1);}
.fade-in-on-view.scale { transform: translateX(0px)  translateY(0px) scale(0.9); }
.fade-in-on-view.animate-on-view {
  animation: fadeToNormal 0.6s ease-out forwards;
  animation-delay: 0.1s;
}
.animate-on-view.delay02 {
  animation-delay: 0.2s;
}
.animate-on-view.delay03 {
  animation-delay: 0.3s;
}
.animate-on-view.delay04 {
  animation-delay: 0.4s;
}
.animate-on-view.delay05 {
  animation-delay: 0.5s;
}
.animate-on-view.delay06 {
  animation-delay: 0.6s;
}

/* ---------------------------
  NAVIGATION
--------------------------- */
.navbar { position: fixed;top: 0;left:0px;right:0px;z-index: 100;height: var(--nav-height);background: var(--nav-bg);transition:left 0.3s ease-in-out;}
.navbar .wrapper { padding-inline: var(--container-pad);height: 100%;display: grid;grid-template-columns: 7rem minmax(0, 1fr) 7rem;align-items: center;column-gap: 1.5rem;position: relative;}
.navbar .hamburger { max-width:75px;display:none; }
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after,
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after { background-color:#fff; }

/* --- Logo links --- */
.navbar .nav-brand a {
  display: block;
  width: 5rem;
  background: url(../images/logo.png) center center no-repeat;
  background-size: contain;
}
.navbar .nav-brand a::after { content:" ";display:block;padding-bottom:55%; }
/* --- Mitte: bekommt max-Breite und ist zentriert --- */
.navbar .nav-center {
    display: flex;
    justify-content: left;
    max-width: var(--container-max);
    margin-inline: auto;
    width:100%;
    align-items: center;
    height:100%;
    position:relative;left:-1rem;
}
.navbar .nav-center a,
.navbar .nav-right a {text-decoration: none;color: var(--nav-text);font-weight: 500;white-space: nowrap;position: relative;height:100%;display: flex;align-items: center;padding:0 1rem;  text-transform:uppercase;}
.navbar .nav-center a {font-weight: 600;}
.navbar .nav-right a.strng span { background-color:var(--cta-color);padding:0.5rem 1rem;border-radius:4px;font-weight:bold; }
.leftbar .nav-right  a.strng { font-weight:bold; }

.navbar .nav-center a.active, 
.navbar .nav-right a.active { background-color:#85a700; }
.navbar .nav-center a::after,
.navbar .nav-right a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0px;
  border-bottom: none;
  width: 0%;
  height: 4px;
  background: var(--nav-accent);
  transition: width 0.3s ease;
}
.navbar .nav-center a:hover::after,
.navbar .nav-right a:hover::after {
  width: 100%;
}
.navbar .nav-center a:hover,
.navbar .nav-right a:hover {
  background-color:rgba(255,255,255,0.05); 
}
.navbar .nav-center a.active:hover,
.navbar .nav-right a.active:hover {
    background-color:#85a700; 

  opacity:0.95; 
}


/* --- Rechts --- */
.navbar .nav-right {
  gap: 0rem;
  height:100%;display: flex;
  align-items: center;
  justify-content: flex-end;
}
/* --- Toggle (nur mobil sichtbar) --- */
.navbar .nav-toggle {
  display: none;
  position: absolute;
  right: var(--container-pad);
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
}
.leftbar .nav-center, 
.leftbar .nav-right {
    display:block;
}
.leftbar .nav-center a, 
.leftbar .nav-right  a {
    text-decoration: none;
    color: var(--nav-text);
    font-weight: 500;
    position: relative;
    height:100%;display: flex;
    align-items: left;
    padding:1rem;  text-transform:uppercase;
}

.leftbar .nav-center a { 
      font-weight: 600;
}
.leftbar .nav-center a:hover::after,
.leftbar .nav-right a:hover::after {
  width: 100%;
}
.leftbar .nav-center a:hover,
.leftbar .nav-right a:hover {
  background-color:rgba(255,255,255,0.05); 
}
/* ---------------------------
  Leftbar
--------------------------- */
.leftbar { z-index:1; display:block;position:fixed;left:-350px;top:0;bottom:0;height:100%;width:350px;  background: var(--nav-bg);transition:left 0.3s ease-in-out;}

/* ---------------------------
  Navigation & leftbar
--------------------------- */
@media (max-width: 1450px) {
    .leftbar { left:-350px; }
    .maincontent { position:relative;left:0px; transition:left 0.3s ease-in-out; }
    body.expandSidebar .leftbar  { left:0; }
    body.expandSidebar .maincontent { left:350px; }
    body.expandSidebar .navbar { left:350px; }

  .navbar .wrapper { grid-template-columns: 75px auto; }
  .navbar .nav-center,
  .navbar .nav-right {
    display: none;
  }
  .leftbar .nav-right a.strng { font-weight:inherit !important; }
  .navbar .hamburger {
    display: block;
  }
}

/* ---------------------------
  General Content / SlideShow
--------------------------- */ 

.site-content { padding-top:var(--nav-height);min-height:500px;overflow:hidden; }
.site-content .wrapper {  max-width:var(--container-max);width:100%;margin:0 auto;   }
.site-content .wrapper_wide {  max-width:90rem;width:100%;margin:0 auto;   }

.site-content .nav-content {  padding:2rem 0; display:flex;position:relative;left:-1rem;flex-wrap: wrap;align-items:center; }
.site-content .nav-content a { position:relative;font-weight:600; padding:1rem;text-transform: uppercase; text-decoration: none;color:var(--content-font-color); }
.site-content .nav-content a span { position:relative;z-index:1; }
.site-content .nav-content a::before { transition: width 0.3s ease;position:absolute;left:0;top:0;bottom:0;width:0%;content:" ";display:block;background-color:rgba(0,0,0,0.05);}
.site-content .nav-content a:hover::before { width:100%; } 
.site-content .nav-content a::after { content: '';position: absolute;left: 0;bottom: 0px;border-bottom: none;width: 0%;height: 4px;background: var(--nav-accent);transition: width 0.3s ease;}
.site-content .nav-content a:hover::after { width:100%; } 

.site-content .nav-breadcrump {  align-items: center;padding:1rem 0; display:flex;position:relative;left:-1rem;flex-wrap: wrap; }
.site-content .nav-breadcrump a { color:var(--cta-color);position:relative;font-weight:600; padding:1rem;text-transform: uppercase; text-decoration: none; }
.site-content .nav-breadcrump a span { position:relative;z-index:1; }
.site-content .nav-breadcrump a:not(.active)::before { transition: width 0.3s ease;position:absolute;left:0;top:0;bottom:0;width:0%;content:" ";display:block;background-color:rgba(0,0,0,0.05);}
.site-content .nav-breadcrump a:not(.active):hover::before { width:100%; } 
.site-content .nav-breadcrump a:not(.active)::after { content: '';position: absolute;left: 0;bottom: 0px;border-bottom: none;width: 0%;height: 4px;background: var(--nav-accent);transition: width 0.3s ease;}
.site-content .nav-breadcrump a:not(.active):hover::after { width:100%; } 
.site-content .nav-breadcrump a.active { color:#000; }
.site-content .nav-breadcrump span { width:0.8rem;height:0.8rem;background:url(../images/arrow.svg) center center no-repeat transparent; }

.site-content h1 { font-weight:400; }

@keyframes kenburns {
  0% { transform: scale(1.05) translate(0, 0); }
  100% { transform: scale(1.12) translate(-2%, -2%); }
}
/* Respektiere Nutzer, die reduzierte Bewegung wünschen */
@media (prefers-reduced-motion: reduce) {
  .kb img { animation: none; transform:none; }
}

.site-content .slider { width:100%;margin-bottom:0;position:relative; }
.site-content .slider article.slide { opacity:0;display: grid;width:100%; grid-template-columns: 1fr  1fr;position:absolute;top:0;left:0;right:0;z-index:1; }
.site-content .slider article.slide.active { opacity:1; z-index:2; position:relative;transition:all 0.5s ease-in-out 0s;opacity:1;transform:translateX(0%); }
.site-content .slider .left { background-color:#222222; display: block;  margin-right: -5rem;align-self: start;margin-left:1.5rem;box-shadow: -1.5rem 1.5rem 0px 0px  #deebf6;position:relative;z-index:1;  overflow:hidden; }
.site-content .slider .left img { position:absolute;left:0;top:0;right:0;bottom:0;border:0px;display:block; transform:scale(1.05);  object-fit: cover;object-position: center; width:100%;height:100%;animation: kenburns 8s ease-in-out infinite alternate;}
.site-content .slider .left video {  position:absolute;left:0;top:0;right:0;bottom:0;border:0px;width:100%;height:100%;  object-fit: cover; object-position: center; }
.site-content .slider .left::after { display:block;content:" ";position:relative;padding-bottom:56%; } 
.site-content .slider .right {margin-top: 1rem;z-index:2;position:relative; }
.site-content .slider .right > div { background-color:#fff;padding: 2rem;position:relative;  transform:translateX(0rem) translateY(0rem);transition:all 0.3s ease-in-out 0s; }
.site-content .slider h1 { margin-top:0px;margin-bottom:1.6rem;font-weight:400; }
.site-content .slider h1 strong { font-weight:7 00; }
.site-content .slider h2 { margin-top:0px;margin-bottom:1.6rem;font-weight:400;font-size:2rem; }
.site-content .slider h2 strong { font-weight:7 00; }
.site-content .slider p { margin:0px;margin-bottom:1.6rem; }
.site-content .slider p a { color:var(--cta-color);font-weight:600;text-decoration:none;  }
.site-content .slider button {  margin-bottom:0px;position:absolute;right:2rem;bottom:0px;transform:translateY(50%); }
.site-content .slider .right .cta { position: absolute;right:2rem; }
.site-content .slideshowWrapper { position:relative;margin-bottom:1.5rem; }
.site-content .sliderNavigation { z-index: 3;list-style: none;margin: 0;padding: 0;display: flex;position: absolute;right: calc(50% + -7rem);bottom: 0%;transform: translateX(100%); }
.site-content .sliderNavigation > li {cursor:pointer;transition:all 0.3s ease-in-out 0s;width: 1rem; transform:scale(1);  height: 1rem;background-color: var(--nav-bg);margin-right: 0.5rem; }
.site-content .sliderNavigation > li:hover { box-shadow:0rem 0rem 0px 0.3rem rgba(0,0,0,0.15); }
.site-content .sliderNavigation > li.active { background-color:var(--cta-color)}

@media (max-width: 82.5rem) {
  .site-content .sliderNavigation { left: 1.25rem;bottom: -1rem;transform: translateX(0) translateY(100%);}
  .site-content .nav-content { padding:2rem 1.25rem;left:0px; }
  .site-content .nav-breadcrump { padding:2rem 1.25rem;left:0px; }
  .site-content .slider article.slide { grid-template-columns: 1fr ;}
  .site-content .slider .left { max-width:900px;margin:0rem 1.25rem; }
  .site-content .slider .right { padding:0rem 1.25rem;max-width:900px;margin-top:-7rem;margin-left: auto; }
} 
@media (max-width: 900px) {
  .site-content .slider .right { margin-top:0rem;}
}

.threeRows { display:flex;margin:0 0rem;padding:0rem 0rem;flex-wrap:wrap; }
.threeRows > div { width:30%;padding:0 1rem;align-self: center; }
.threeRows > div:nth-child(2) { width:40%; }
.threeRows > div .box { margin-top:-2rem; }
.threeRows > div h2 { font-weight: 400;margin-top:0px; }
.threeRows > div h3 strong { font-weight: 700; }
 .threeRows > div:nth-child(1) > p:last-child { margin-bottom:0px; }
@media (max-width: 950px) {
  .threeRows > div { width:100%; }
  .threeRows > div:nth-child(1) { order:3;width:100%;margin-bottom:0rem; }
  .threeRows > div:nth-child(2) { order:1;width:100%;margin-bottom:2rem; }
  .threeRows > div:nth-child(3) { order:2;width:100%;margin-bottom:2rem; }
  .threeRows > div { padding: 0 0; }
}


@media (max-width: 82.5rem) {
  .threeRows {
    padding: 0rem 1.25rem;
  }
}


.videoWrapper { position:relative;border-radius:10px; overflow:hidden;}
.videoWrapper::after { content:" ";display:block;position:relative;padding-bottom:56.25%; }
.videoWrapper iframe { z-index:1;position:absolute;left:0;top:0;right:0;bottom:0;border:0px;width:100%;height:100%;  object-fit: cover; object-position: center; }

.threeRowsEqual { margin:0 0rem;padding:0rem 0rem;flex-wrap:wrap;align-items:top;  display: grid;grid-template-columns: repeat(3, 1fr);  gap: 1rem; }
.threeRowsEqual > div { padding:0 0rem;align-self:flex-start; }
.threeRowsEqual > div h2 { font-weight: 400; }
.threeRowsEqual > div h3 strong { font-weight: 700; }
.threeRowsEqual > div ul { list-style:none;margin:0;padding:0;padding-top:0rem;padding-bottom:0rem; }
.threeRowsEqual > div li { padding:0rem 0;background:url(../images/arrowright.svg) center left no-repeat transparent;background-size: 8px auto;padding-left: 1.2rem; }
.threeRowsEqual > div.ico { display:flex;align-items:center; }
.threeRowsEqual > div.ico img { margin-right:0rem;max-width:40px; }
.threeRowsEqual > div.ico h3 { margin:0px;padding-bottom:0.5rem;}
.threeRowsEqual > div.ico p { margin:0px; }
.threeRowsEqual > div.ico > div { padding-left:1rem; }
.threeRowsEqual > div.number h3 { display:flex;align-items:center;; }
.threeRowsEqual > div.number h3 strong { align-self:center;font-weight: 700;font-size: 4rem; padding-right: 1rem; }
.threeRowsEqual > div.number h3 span { font-weight:400;font-size:1.8rem; }
.threeRowsEqual > div.number h3 { border-bottom:3px solid #ccc;padding-bottom:2rem;margin-bottom:2rem; }
@media (max-width: 950px) {
  .threeRowsEqual { grid-template-columns: repeat(2, 1fr);  }
}
@media (max-width: 700px) {
  .threeRowsEqual { grid-template-columns: repeat(1, 1fr);  }
}
@media (max-width: 82.5rem) {
  .threeRowsEqual {
    padding: 0rem 1.25rem;
  }
}

aside.contactCTA { background-color:#ebf4ff;padding:1.25rem;margin:0 -2rem; margin-top: 5rem; } 
aside.contactCTA .cta { position:relative !important;display: inline-block;bottom:0px; right:0;margin-right:0.5rem;margin-bottom:0.5rem;  }
aside.contactCTA .contact-header { display:flex; }
aside.contactCTA .contact-header .img { position:relative; max-width:200px;background-color:var(--footer-second-bg);width: 100%;overflow: hidden;position: relative;top: -4rem;left: -4rem;margin-right: -4rem;margin-bottom: -4rem; }
aside.contactCTA .contact-header .img::after { content:" ";display:block;position:relative;padding-bottom:100%; }
aside.contactCTA .contact-header .img img {  position:absolute;left:0;top:0;right:0;bottom:0;border:0px;display:block; transform:scale(1.05);  object-fit: cover;object-position: center; width:100%;height:100%;animation: kenburns 8s ease-in-out infinite alternate;} 
aside.contactCTA .contact-info { padding-left:1.25rem; }
aside.contactCTA .contact-info h3 { margin-top:0px; }
aside.contactCTA .contact-actions { padding-top:1.25rem; }

.fourRows { display:flex;margin:0 -1rem;padding:2rem 0rem;flex-wrap:wrap; }
.fourRows > div {align-self: flex-start;width:25%;padding:0 1rem; }
.fourRows > div h2 { font-weight: 400; }
.fourRows > div h3 strong { font-weight: 700; }
.fourRows > div img { width:100%;}
.fourRows > div { color:#fff; }
.fourRows > div h3 { text-transform: uppercase;;}
.fourRows > div ul { list-style:none;margin:0;padding:0; }
.fourRows > div ul li { padding:0.5rem;}
.fourRows > div ul li:nth-child(odd) { background-color:rgba(255,255,255,0.05); }

@media (max-width: 950px) {
  .fourRows > div { width:50%; }
}
@media (max-width: 480px) {
  .fourRows > div { width:100%; }
}

.bim_black { background: radial-gradient(ellipse at center,  rgba(34,34,34,1) 60%,rgba(0,0,0,1) 100%);padding:0rem 0;color:#fff; }
.bim_black .img {  position:relative;left:0;top:0;right:0;bottom:0;border:0px;display:block; transform:scale(1.05);  object-fit: cover;object-position: 20% 0%; width:100%;max-width: 800px;
  margin: 0 auto; }
.bim_black .img img { position:absolute;left:0;top:0;right:0;bottom:0;border:0px;width:100%;height:100%;  object-fit: cover; object-position: 20% 0%; }
.bim_black .img::after { content:" ";position:relative;display:block;padding-bottom:50%;  }
.bim_black h2 { color:#fff; }
@media (max-width: 82.5rem) {
  .bim_black {
    padding: 0rem 1.25rem;
  }
}
section.video { background: radial-gradient(ellipse at center,  rgba(34,34,34,1) 60%,rgba(0,0,0,1) 100%);padding:0rem 0;color:#fff;margin-top:0rem;margin-bottom:0rem; }
section.video .vidWrap { display:flex;gap:2rem }
section.video .vidWrap > div { width:50%;  }
section.video .vidWrap h2 { margin-top:0px; }

.videoWrapper  img {width: 100%;cursor: pointer;position: absolute;left: 0;right: 0;bottom: 0;opacity:0.5;height: 100%;object-fit: cover; }
.videoWrapper  .info { text-align: center;padding: 20px;position: absolute;top: 50%;transform: translateY(-50%);z-index:2; }
.videoWrapper  .info p { margin-top:0px;display:blocK; }
.videoWrapper  button { margin-top:20px;font-weight:bold;cursor:pointer;transition:all 0.2s ease-in-out 0s;transform-origin:50% 50%;transform: scale(1);border:0px;z-index:2;padding:10px 20px; }


@media (max-width: 750px) {
  section.video .vidWrap { display:flex;flex-wrap:wrap; }
  section.video .vidWrap > div { width:100%;  }
}
@media (max-width: 82.5rem) {
  section.video .vidWrap {
    padding: 0rem 1.25rem;
  }
}

#calendly-consent { padding:20px;border:3px dashed var(--cta-color);border-radius:10px;margin-top:30px; }
#calendly-consent a { text-decoration:none;color:var(--cta-color) ;}

section.video .features { list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap; }
section.video .features li { width:100%; }
section.video .features li div {  display: inline-block;padding:5px 10px;position:relative;margin-right:5px;margin-bottom:5px;background-color:rgba(255,255,255,0.13);padding-left: 30px; padding-right: 15px;  border-radius: 15px; }
section.video .features li div::before { content:" ";position:absolute;left:5px;background-color:var(--cta-color);height:20px;width:20px;border-radius:50%;top:50%;margin-top:-10px;}
section.video .features li div::after { content:" ";position:absolute;left:10px;background:url(../images/check-white.svg) center center no-repeat transparent;background-size:100% auto;height:15px;width:15px;border-radius:50%;top:50%;margin-top:-10px;}

section.alplan_ac_target_group .targets { display:grid;gap:1rem;justify-content:center;grid-template-columns: repeat(auto-fit,220px); }
section.alplan_ac_target_group .targets article { background-color: #2e2e2a;color: #fff; padding:1rem 1rem;width: 100%;  }
section.alplan_ac_target_group .targets article h3 {font-size: 1.3rem;text-align:center; }
section.alplan_ac_target_group .targets article p { min-height:160px;}
section.alplan_ac_target_group .targets article strong { text-align:center;display:block; }
section.alplan_ac_target_group .targets article .icon { max-width:95px;display:block;max-width: 95px;margin: 0 auto;display: block; }

section.alplan_ac_target_group .banderole { position:relative; background-color:rgba(165,177,64);padding:0.5rem 2rem;text-align:center;width:100%;max-width:calc(220px * 3 + 1rem * 4);margin: 0 auto;  color: #fff; }
section.alplan_ac_target_group .banderole::after { content:" ";display:block;position:absolute;left:0;transform:translateX(-100%);top:-1rem;height:100%; width: 5rem; background: url(../images/banderole.png) center center no-repeat transparent;background-size: auto;background-size: 100% 100%;}
section.alplan_ac_target_group .banderole::before { content:" ";display:block;position:absolute;right:0;transform:translateX(100%) rotate(180deg);top:-1rem;height:100%; width: 5rem; background: url(../images/banderole.png) center center no-repeat transparent;background-size: auto;background-size: 100% 100%;}
@media (max-width:1360px) {
  section.alplan_ac_target_group { padding: 0rem  1.25rem; }
}

@media (max-width:920px) {
  section.alplan_ac_target_group .targets.btm { display:none; }
  section.alplan_ac_target_group .banderole { max-width:calc(100% - 2 * 5rem); }
  
}
@media (max-width:750px) {
  section.alplan_ac_target_group .targets { grid-template-columns: 1fr; }
  section.alplan_ac_target_group .targets article p { min-height:0px;}
  section.alplan_ac_target_group .targets:not(.btm) { margin-bottom:2rem;}
}

@media (max-width:400px) {
  section.alplan_ac_target_group .banderole { max-width:100%; }
  section.alplan_ac_target_group .banderole::after, 
  section.alplan_ac_target_group .banderole::before { display:none; }
}



span.bimeasyprobrand { font-weight:700; }
span.bimeasyprobrand span:not(.bold) { color:#009fe3;}
span.bimeasyprobrand span.bold { background-color: #009fe3;color: #fff;padding: 2px 6px;font-size: 0.8rem;position: relative;top: -0.7rem; }

.cta_fullrow { display:flex;margin:0rem 0rem;}
.cta_fullrow > div { width:calc(50% - 1rem);background-color:#deebf6;box-sizing:border-box;padding:2rem; }
.cta_fullrow > div:nth-child(1) { margin-right:1rem;display:flex;justify-content: right;}
.cta_fullrow > div:nth-child(2) { margin-left:1rem;display:flex;justify-content: left;}
.cta_fullrow > div > .cnt { width:calc(var(--container-max) * 0.3 - 1rem);display:flex;flex-wrap:wrap; }
.cta_fullrow > div > .cnt > div { width:100%; }
.cta_fullrow > div > .cnt a { margin-top:auto; }
.cta_fullrow > div > .cnt ul { list-style:none;margin:0;padding:0;padding-top:1rem;padding-bottom:1rem; }
.cta_fullrow > div > .cnt ul li { padding:0.5rem 0;background:url(../images/arrowright.svg) center left no-repeat transparent;background-size: 8px auto;padding-left: 1.2rem; }
.cta_fullrow h2 { font-weight: 400;margin-top:0px; }
@media (max-width:750px) {
  .cta_fullrow { display:flex;flex-wrap:wrap; }
  .cta_fullrow > div { width:100%;margin: 0 1.25rem;margin-bottom:1.25rem; }
  .cta_fullrow > div > .cnt { width:100%; }
  .cta_fullrow > div.rgt { margin-bottom:0px; }
}

.hero { padding:0rem 0;padding-top:0px;position:relative;margin-bottom:0rem;   }
.hero .img {  position:absolute;left:0;top:0;right:0;bottom:0;border:0px;display:block; transform:scale(1.05);  object-fit: cover;object-position: 20% 0%; width:100%;height:100%; }
.hero .img img { position:absolute;left:0;top:0;right:0;bottom:0;border:0px;width:100%;height:100%;object-fit: cover; }
.hero[page="allplan_academy"] .img img { object-position: 50% 50%;object-fit: contain;background-color:#121212;}
.hero .img:not(.noanimation) {animation: kenburns 8s ease-in-out infinite alternate;}
.hero .img.noanimation {transform:scale(1);}
.hero .whitebg {background-color: rgba(255,255,255,0.7);z-index: 1;position: relative;}
.hero .whitebg .nav-content { padding:1rem 0;margin-bottom:0rem; }
.hero[page="allplan_academy"]::before { z-index:1; content:" ";position:absolute;right:0;top:0;bottom:0;width:50%;background-color:rgba(34,34,34,0.8); }
.hero .hreoFlex { display:flex;flex-wrap:wrap; }
.hero .hreoFlex > div:nth-child(1) { width:60%; }
.hero .hreoFlex > div:nth-child(2) { width:40%; }
.hero .hreoFlex > div.pngHolder { display:flex;justify-content:right;align-items:center;   }
.hero .hreoFlex > div.pngHolder img { width: 100%;object-position: center center;object-fit: contain;position: relative;margin-top: -15%;margin-bottom: -15%;z-index:1; }
.hero[page="bim"] .hreoFlex { margin:0rem 0px; }
.hero[page="bim"] .hreoFlex > div:nth-child(2) { width:60%; }
.hero[page="bim"] .hreoFlex > div:nth-child(1) { padding:2rem 0; width:40%;display:flex;align-items: center; }
.hero[page="allplan_academy"] .hreoFlex { margin:0rem 0px;position:relative;z-index:2; }
.hero[page="allplan_academy"] .hreoFlex > div:nth-child(2) { width:50%; }
.hero[page="allplan_academy"] .hreoFlex > div:nth-child(1) { width:50%; }
.hero[page="allplan_academy"] .hreoFlex .placehoder { position:relative; }
.hero[page="allplan_academy"] .hreoFlex .placehoder::after { content:" ";position:relative;display:block;padding-bottom:74%;  }
.hero .hreoFlex h1 { margin-top:0px;margin-bottom:1.6rem;font-weight:400; }
.hero .hreoFlex h1 strong { font-weight:700; }
.hero .hreoFlex p a { color:var(--cta-color);font-weight:600;text-decoration:none;  }
@media (max-width:1600px) {
  .hero .img[page="allplan_academy"] img { object-position: 50% 50%;object-fit: cover;background-color:#121212;}
}
@media (max-width:900px) {
  .hero[page="allplan_academy"]::before { display:none; }
  .hero[page="allplan_academy"] .hreoFlex > div:nth-child(2) { width:100%;background-color:var(--nav-bg); }
  .hero[page="allplan_academy"] .hreoFlex > div:nth-child(1) { width:100%; }
  .hero[page="allplan_academy"] .img { position:relative;height:unset;width:100%; }
  .hero[page="allplan_academy"] .img::after { content:" ";display:block;padding-bottom:40%; }
  .hero[page="allplan_academy"] .placehoder { display:none; }
}
@media (max-width:850px) {
  .hero[page="bim"] .hreoFlex { flex-wrap:wrap; }
  .hero[page="bim"] .hreoFlex > div:nth-child(2) { width:100%;order:1; }
  .hero[page="bim"] .hreoFlex > div:nth-child(1) { width:100%;order:2; }
  .hero[page="bim"] .hreoFlex > div.pngHolder img { margin-top: -10%;margin-bottom:-10%; }
}


.allplan-selbsttest { position:relative;overflow:hidden;max-width:var(--container-max);margin:0 auto;border-radius:20px;background:url(../images/pricesbg.jpg) center right no-repeat transparent;background-size: cover;  }
.allplan-selbsttest .img {  position:absolute;left:0;top:0;right:0;bottom:0;border:0px;display:block; transform:scale(1.0);width:100%;height:100%;z-index:1; }
.allplan-selbsttest .hreoFlex { display:flex;flex-wrap:wrap;position:relative;z-index:1; }
.allplan-selbsttest .hreoFlex > div:nth-child(1) { width:50%; }
.allplan-selbsttest .hreoFlex > div:nth-child(2) { width:50%; }
.allplan-selbsttest .hreoFlex .placehoder { position:relative; }
.allplan-selbsttest .hreoFlex .placehoder::after { content:" ";position:relative;display:block;padding-bottom:74%;  }
.allplan-selbsttest .img img { position:absolute;top:0;right:0;bottom:0;border:0px;width:65%;height:100%;object-position: 0% 100%;;object-fit: contain;background-color:transparent;}
.allplan-selbsttest::before { z-index:1; content:" ";position:absolute;left:0;top:0;bottom:0;width:50%;background-color:rgba(110,60,10,0.5) }
.allplan-selbsttest .hreoFlex { color:#fff; }
.allplan-selbsttest h2 { margin-top:0px; }
.allplan-selbsttest  .features { list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap; }
.allplan-selbsttest  .features li { width:100%; }
.allplan-selbsttest  .features li div {  display: inline-block;padding:5px 10px;position:relative;margin-right:5px;margin-bottom:5px;background-color:rgba(255,255,255,0.13);padding-left: 30px; padding-right: 15px;  border-radius: 15px; }
.allplan-selbsttest  .features li div::before { content:" ";position:absolute;left:5px;background-color:var(--cta-color);height:20px;width:20px;border-radius:50%;top:50%;margin-top:-10px;}
.allplan-selbsttest  .features li div::after { content:" ";position:absolute;left:10px;background:url(../images/check-white.svg) center center no-repeat transparent;background-size:100% auto;height:15px;width:15px;border-radius:50%;top:50%;margin-top:-10px;}
@media (max-width:1320px) {
  .allplan-selbsttest { width:unset;width:auto;margin:0 1.25rem; }
}
@media (max-width:900px) {
  .allplan-selbsttest .hreoFlex > div:nth-child(1) { width:100%;background-color:rgba(110,60,10,0.5); }
  .allplan-selbsttest .hreoFlex > div:nth-child(2) { width:100%;background-color:rgba(110,60,10,0.5);  }
  .allplan-selbsttest .img img { width:100%;}
  .allplan-selbsttest .img { z-index:3; }
  .allplan-selbsttest .hreoFlex .placehoder::after { padding-bottom:40%;}
  .allplan-selbsttest::before{display:none;}
}

.miniFeatures { list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap; }
.miniFeatures li { padding:5px 10px;position:relative;margin-right:5px;margin-bottom:5px;background-color:rgba(255,255,255,0.13);padding-left: 30px; padding-right: 15px;  border-radius: 15px; }
.miniFeatures li::before { content:" ";position:absolute;left:5px;background-color:var(--cta-color);height:20px;width:20px;border-radius:50%;top:50%;margin-top:-10px;}
.miniFeatures li::after { content:" ";position:absolute;left:10px;background:url(../images/check-white.svg) center center no-repeat transparent;background-size:100% auto;height:15px;width:15px;border-radius:50%;top:50%;margin-top:-10px;}
.miniFeatures.light li { background-color:#deebf6  }



.hero.ppage { margin-top:2rem;position:relative;margin-top:0px;margin-bottom:0rem; }
.hero.ppage .imgwrap { position:relative;overflow:hidden;width:calc(100% - 4rem);left:-2rem; }
.hero.ppage .imgwrap::after { content:" ";padding-bottom:50%;display:block; }
.hero.ppage .hreoFlex { position:absolute;top:2rem; }

.additionalTextBlocks { padding:2rem 0rem;margin-bottom: 4rem; }
.additionalTextBlocks > div { display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:1rem; }
.additionalTextBlocks > div > div { background-color:#fff;padding:2rem; }
.additionalTextBlocks > div > div h3 { font-weight: 400;margin-top:0px;font-size: 1.5rem; }

.centeredText { max-width:900px;margin:0 auto;text-align:center; }
.centeredText h2 { font-weight: 500;font-size: 1.3rem;}
.centeredText h2, .centeredText h1 { margin-top:0px; }
.centeredText p { margin-bottom:0px; }
@media (max-width:950px) {
    .centeredText { padding: 0 1.25rem; }
}

/* ---------------------------
  Blog Section
--------------------------- */

section.blog { display:grid;grid-template-columns: 1fr 1fr 1fr;  gap: 3rem; padding:0rem;}
section.blog .blog-card img { width:100%; }
section.blog .blog-card time {background-color: #deebf6;padding: 7px 20px;border-radius: 15px;font-weight: bold;}

.mainarticle.blogposts a { color: var(--cta-color); text-decoration: none; }

nav.pager ul { margin:0;padding:0;display:flex;gap:0.5rem;list-style: none;padding-top:0rem;justify-content: center; }
nav.pager ul li { background-color:var(--cta-color);color:#fff;font-weight:bold; }
nav.pager ul li a, nav.pager ul li span { height:40px;line-height:40px;display: inline-block;text-decoration: none;color:#fff;padding:0 10px; }
nav.pager ul li span.is-current { background-color:#000; color:#fff; }

@media (max-width:1360px) {
  section.blog { padding: 0rem  1.25rem; }
}

@media (max-width:1000px) {
  section.blog { display:grid;grid-template-columns: 1fr 1fr;  gap: 3rem; }
}
@media (max-width:730px) {
  section.blog { display:grid;grid-template-columns: 1fr;  gap: 3rem; }
}


/* ---------------------------
  Prices Section
--------------------------- */
section.prices { padding:0rem 0rem; }
section.prices .wrapper { padding-inline:var(--container-pad); }
.priceGrid { display:grid;grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));gap:1.5rem; }

.priceBox { display:flex;flex-direction:column;}

.priceBox .priceHeader { padding:0.75rem 1.5rem;text-align:center;margin-bottom:2rem;background-color:rgba(255,255,255,0.25); }
.priceBox .priceHeader .category { font-weight:600;font-size:0.85rem;letter-spacing:0.05em;text-transform:uppercase; }
.priceBox .priceHeader.light .category { color:var(--content-font-color); }
.priceBox.dark .priceHeader .category { color:#fff; }
.priceBox:not(.dark) .priceHeader  { background-color:#e8e8e8; }


.priceBox .priceBody { background-color:#fff;padding:2rem 1.5rem;display:flex;flex-direction:column;flex-grow:1;box-shadow:0px 4px 12px rgba(0,0,0,0.08);transition:transform 0.3s ease, box-shadow 0.3s ease;  }
.priceBox .priceBody:hover { transform:translateY(-8px);box-shadow:0px 8px 20px rgba(0,0,0,0.12); }
.priceBox.dark .priceBody { background-color:#2e2e2a;color:#fff; }


.priceBox .priceAmount { display:flex;align-items:flex-start;justify-content:left;margin-bottom:1rem; }
.priceBox .priceAmount .amount { font-size:4rem;font-weight:700;line-height:1; }
.priceBox .priceAmount .currency { font-size:1.8rem;font-weight:700;margin-left:0.25rem; }
.priceBox .priceBody h3 { margin:0;margin-bottom:1rem;font-size:1.5rem;font-weight:700;text-transform:uppercase; }
.priceBox .priceBody .priceDesc { margin-bottom:1.5rem;font-size:0.95rem;line-height:1.5;margin-top:0px;}
.priceBox .priceBody .priceDaily { margin-bottom:2rem;font-size:0.9rem;line-height:1.6;margin-top:0px; }

.priceBox .priceBody .cta { margin-top:auto; }

@media (max-width:82.5rem) {
  section.prices { padding:0rem 1.25rem; }
}
@media (max-width:768px) {
  .priceGrid { grid-template-columns:1fr; }
  .priceBox .priceAmount .amount { font-size:3.5rem; }
  .priceBox .priceAmount .currency { font-size:1.5rem; }
}

/* ---------------------------
  FAQ Section
--------------------------- */

.faqGrid { display:grid;grid-template-columns:repeat(2, 1fr);gap:0.5rem 1rem; }
.faqGrid details p { margin-top:0px; }

@media (max-width:768px) {
  .faqGrid { grid-template-columns:1fr; }
}
@media (max-width: 82.5rem) {
  .faqGrid {
    padding: 0rem 1.25rem;
  }
}


/* ---------------------------
  General Content / SlideShow Animations
--------------------------- */  

.site-content .slider article.slide.in { 
  opacity: 1; 
  animation: slideIn 0.6s ease-out forwards;
  animation-delay: 0.2s; 
}
@keyframes slideIn {
  1% {
   z-index: 1;
  }
  50% {
     z-index: 1;
  }
  51% {
     z-index: 3;
  } 
  100% {
     z-index: 3;
  }
}
.site-content .slider article.slide.in .left {
  animation: slideInLeft 0.6s ease-out forwards;
  animation-delay: 0.2s; 
  transform: translateX(0%) scale(0.7);
  transform-origin:50% 50%;
}
@keyframes slideInLeft {
  1% {
   transform: translateX(0%) scale(0.7);
  }
  50% {
    transform: translateX(-100%) scale(1) ;
  }
  100% {
    transform: translateX(0%) scale(1) ;
  }
}
.site-content .slider article.slide.out {  opacity: 1;}
.site-content .slider article.slide.out .left {
  animation: slideOutLeft 0.6s ease-out forwards;
  animation-delay: 0.2s; 
  transform: translateX(0%) scale(1);
  transform-origin:50% 50%;
}
@keyframes slideOutLeft {
  1% {
   transform: translateX(0%) scale(1);
  }
  50% {
    transform: translateX(0%) scale(0.7) ;
  }
  100% {
    transform: translateX(-0%) scale(0.7) ;
  }
}
.site-content .slider article.slide.in .right {
  animation: slideInRight 0.6s ease-out forwards;
  animation-delay: 0.2s; 
  transform: translateX(0%) scale(0);
  transform-origin:50% 50%;
}
@keyframes slideInRight {
  1% {
    transform: translateX(0%) scale(0.7);
  }
  50% {
   transform: translateX(20%) scale(1);
  }
  51% {
   transform: translateX(20%) scale(1);
  }
  85% {
   transform: translateX(0%) scale(1);
   
  }
  100% {
   transform: translateX(0%) scale(1);
  }
}

.site-content .slider article.slide.out .right {
  animation: slideOutRight 0.6s ease-out forwards;
  animation-delay: 0.1s; 
  transform: translateX(0%) scale(1);
  transform-origin:0% 50%;
}
@keyframes slideOutRight {
  1% {
   transform: translateX(0%) scale(1);
    z-index:2;
  }
  25% {
    transform: translateX(25%) scale(0.7) ;
     z-index:2;
  }
  26% {
    z-index:0;
    transform: translateX(25%) scale(0.7) ;opacity:1;
  }


  100% {
    z-index:0;
    transform: translateX(-70%) scale(0.7) ;opacity:0;
  }
}


.js-protected-email {
    cursor: pointer;
}


/* ---------------------------
Teaser 
--------------------------- */ 
.teaser { position: fixed;transition:all 0.5s ease-in-out 0s;opacity:1;transform:translateY(150%);bottom:2rem;z-index: 999;max-width: 475px;background-color: var(--nav-bg);padding: 2rem;color:rgba(180,180,180);left: calc( ( ( 100% - 80rem ) / 2 ) - 10rem ); }
.teaser.show {  transform:translateY(0%);opacity:1; }
.teaser h2 { margin-top:0px;color:#fff;font-weight: 400;padding-right: 6rem; }
.teaser a { display:inline-block;margin-bottom:0.5rem;margin-right:0.5rem; }
.teaser h2 strong { text-transform: uppercase; }
.teaser .closer { transition:all 0.4s ease-in-out 0.3s;background:url(../images/closer.svg) center center no-repeat var(--cta-color);background-size:50%;transform:scale(0);position: absolute;top: 1rem;left: -2rem;width: 3rem;height: 3rem;cursor: pointer; }
.teaser.show .closer {  transform:scale(1);opacity:1; }
.teaser .img { transition:all 0.4s ease-in-out 0.1s; position: relative;width: 175px;transform: translateX(-10%);left: 2rem;float: inline-end;margin-top: -3rem;margin-bottom: 2rem;margin-left: 0rem;margin-right: -1rem;  }
.teaser.show .img {transform:translateX(-0%);}
.teaser .img::after { content:" ";display:block;position:relative;padding-bottom:130%; }
.teaser .img img { position: absolute;left: 0;right: 0;bottom: 0;top: 0;width: 100%;height: 100%;object-fit: cover;}
@media (max-width: 1700px) {
  .teaser { right: 4rem;left:unset; }
}
@media (max-width: 600px) {
  .teaser { display:none; }
}

/* ---------------------------
GiantContactForm 
--------------------------- */ 
.contactFormOverlay { width: 100%;z-index:120;opacity:0;position:relative;transition:all 0.5s ease-in-out 0s;transform:translateY(10%) translateX(-50%);z-index: 999;max-width: 900px;background-color: var(--nav-bg);padding: 2rem;color:rgba(180,180,180);left:50%; }
.contactFormOverlay.show { opacity:1;transform:translateY(0%) translateX(-50%); }
.contactFormOverlay h2 { margin-top:0px;color:#fff;font-weight: 400; }
.contactFormOverlay a { display:inline-block;margin-bottom:0.5rem;margin-right:0.5rem; }
.contactFormOverlay h2 strong { text-transform: uppercase; }
.contactFormOverlay .closer { transition:all 0.4s ease-in-out 0.3s;background:url(../images/closer.svg) center center no-repeat var(--cta-color);background-size:50%;transform:scale(0);position: absolute;top: 1rem;right:1rem;width: 3rem;height: 3rem;cursor: pointer; }
.contactFormOverlay.show .closer {  transform:scale(1);opacity:1; }
.contactFormOverlayBG { padding-top:6rem;padding-bottom:6rem; overflow-y:scroll;transition:all 0.5s ease-in-out 0s;background-color:rgba(255,255,255,0.5);z-index:110;opacity:0;position:fixed;top:0;bottom:0;right:0;left:0;width:100%;height:100%; }
.contactFormOverlayBG.show {opacity:1; }
@media (max-width: 940px) {
  .contactFormOverlay { margin:0 20px;width:unset;width:auto;left:unset;right:unset;transform:translateY(10%) translateX(0%);}
  .contactFormOverlay.show { opacity:1;transform:translateY(0%) translateX(0%); }
  .contactFormOverlayBG  { padding-bottom:6rem;}

}


/* ---------------------------
Main Content
--------------------------- */ 

.mainarticle { display:flex;margin-bottom:0rem; }
.mainarticle article.main {width:60%;position: relative;  z-index: 1;  margin-top: 2rem; }
.mainarticle article.main.noTopMargin {  margin-top: 0rem; }
.mainarticle article.main.ppage { margin-top:0px; } 
.mainarticle article.main img { width:100%; }
.mainarticle article.main figure { overflow:hidden;display:block;position:relative;margin:-2rem;margin-bottom:2rem;background-color:var(--footer-second-bg);height:0px;  }
.mainarticle article.main figure::after { content:" ";display:block;position:relative;padding-bottom:80%; }
.mainarticle article.main figure > img {  position:absolute;left:0;top:0;right:0;bottom:0;border:0px;display:block; transform:scale(1.05);  object-fit: cover;object-position: center; width:100%;height:100%;animation: kenburns 8s ease-in-out infinite alternate;} 
.mainarticle aside.sidebar {width:40%;padding-left:1.5rem; }
.mainarticle aside.sidebar h2 {  font-weight: 400;margin: 3rem 0;  }
.mainarticle aside.sidebar .sidebar-image { overflow:hidden;display:block;position:relative;margin:0;margin-left:-10rem;background-color:var(--footer-second-bg);margin-bottom:2rem; }
.mainarticle aside.sidebar .sidebar-image::after { content:" ";display:block;position:relative;padding-bottom:80%; }
.mainarticle aside.sidebar .sidebar-image img {  position:absolute;left:0;top:0;right:0;bottom:0;border:0px;display:block; transform:scale(1.05);  object-fit: cover;object-position: center; width:100%;height:100%;animation: kenburns 8s ease-in-out infinite alternate;} 
.mainarticle article.main aside.contact { background-color:#ebf4ff;padding:1.25rem;margin:0 -2rem; margin-top: 5rem; } 
.mainarticle article.main aside.contact .cta { position:relative !important;display: inline-block;bottom:0px; right:0;margin-right:0.5rem;margin-bottom:0.5rem;  }
.mainarticle article.main aside.contact .contact-header { display:flex; }
.mainarticle article.main aside.contact .contact-header .img { position:relative; max-width:200px;background-color:var(--footer-second-bg);width: 100%;overflow: hidden;position: relative;top: -4rem;left: -4rem;margin-right: -4rem;margin-bottom: -4rem; }
.mainarticle article.main aside.contact .contact-header .img::after { content:" ";display:block;position:relative;padding-bottom:100%; }
.mainarticle article.main aside.contact .contact-header .img img {  position:absolute;left:0;top:0;right:0;bottom:0;border:0px;display:block; transform:scale(1.05);  object-fit: cover;object-position: center; width:100%;height:100%;animation: kenburns 8s ease-in-out infinite alternate;} 
.mainarticle article.main aside.contact .contact-info { padding-left:1.25rem; }
.mainarticle article.main aside.contact .contact-info h3 { margin-top:0px; }
.mainarticle article.main aside.contact .contact-actions { padding-top:1.25rem; }
.mainarticle article.main h1 {
margin-top: 0px;
  margin-bottom: 1.6rem;
  font-weight: 400;

}
.mainarticle article.main h1 strong {
  font-weight: 700;
}
.mainarticle article.main h1 strong span { color: var(--nav-accent); }
.mainarticle article.main h2 {
    font-weight: 400;

}
.mainarticle article.main h3 {
    font-weight: 400;
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
}
.mainarticle article.main .lead { font-weight:300 !important; }

.mainarticle article.main .cnt-text a { color: var(--cta-color);  text-decoration: none;}

.mainarticle article.main section ul { list-style:none;margin:0;padding:0;margin-bottom:1rem; }
.mainarticle article.main section ul li { padding:1rem;padding-left:3rem;position:relative; }
.mainarticle article.main section ul li:nth-child(odd) { background-color:#ebf4ff ;}
.mainarticle article.main section ul li::before { display:block;position:absolute;top:50%;transform:translateY(-50%);left:0.75rem; content:" ";width:1.5rem;height:1.5rem;background:url(../images/check.svg) center center no-repeat transparent; }

@media (max-width: 82.5rem) {
 .mainarticle {  padding:0rem 1.25rem;}
 .mainarticle article.main aside.contact .contact-header .img { left:0;margin-right:0; }
}
@media (max-width: 750px) {
  .mainarticle { flex-wrap:wrap; }
  .mainarticle aside.sidebar {width:100%; }
  .mainarticle article.main {width:100%; }
  .mainarticle aside.sidebar .sidebar-image { height:0px; }
  .mainarticle article.main figure  { height:unset; }
  .mainarticle article.main { margin-top:0; }
  .mainarticle { margin-bottom:2rem; }
}



.faqs h2 { font-weight: 500 !important;font-size: 1.3rem;margin-top:0px !important;margin-bottom: 2rem !important; }
.faqs details {background-color: #fff;cursor: pointer;margin-bottom:0.5rem;}
.faqs details summary {padding: 1rem;font-weight:600; }
.faqs details p {padding: 1rem;padding-top:0px;}

 /* ---------------------------
  General Content
--------------------------- */ 

section.titleSeperator { text-align:center;padding:0rem 1.25em; font-size: 1.1rem; }
section.titleSeperator h2 { margin:0px;font-weight: 400; }

section.titleSeperator.linebreak strong {display:block;}

section.twoCollums { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; max-width:var(--container-max);width:100%;margin:0 auto;padding:0rem 0rem; }
@media (max-width: 82.5rem) {
  section.twoCollums {  padding:4rem 1.25rem;}
}
@media (max-width: 750px) {
section.twoCollums { grid-template-columns: 1fr; gap: 3rem;  }
}

/* ---------------------------
  Box Designs
--------------------------- */ 

article.box {  transition:all 0.3s ease-in-out 0s;background-color:#fff;padding: 2rem;  position: relative;margin-bottom:0rem; }
article.box > *:first-child { margin-top:0px; }
article.box > *:last-child { margin-bottom:0px; }
article.smallpadding { padding: 1rem; }
article.box.witharrow a { position:absolute;top:0;right:0;bottom:0;width:3rem; background-color: var(--cta-color); }
article.box.witharrow a span { display:none;opacity:0; }
article.box.witharrow a::after { content:" ";position:absolute;top:50%;transform:translateY(-50%);height:2rem;right:0;left:0;background:url(../images/cta-arrow.svg) center center no-repeat transparent;background-size:50% auto; display: block; }
article.box.witharrow a::before  { position:relative;z-index:0;background-color:rgba(0,0,0,0.05);transition:width 0.3s ease-in-out; content:" ";position:absolute;left:0;top:0;bottom:0;width:0px; }
article.box.witharrow a:hover::before { width:100%; }
article.box.witharrow a:hover::after { animation: bounceLeftToRight 0.6s ease-out infinite;  }
article.box.witharrow { padding-right:4rem; }
article.box.witharrow p strong span { color:var(--nav-accent); }
article.box p.noBotMargin { margin-bottom:0px; }
article.box p.noMargin { margin:0px; }

article.box.withShade { box-shadow: -1.5rem 1.5rem 0px 0px #deebf6;margin-bottom:1.5rem; }
article.box .cta:not(.inline) { position: absolute;right:1.5rem;bottom: -1.5rem; }
article.box h3 { font-weight: 500;font-size: 1.3rem;margin-top:0px; }
article.box h3 strong { font-weight: 700; }
article.box h3 span { color:var(--nav-accent); }
article.box.withimage .img { display:block;position:relative;margin:-2rem;margin-bottom:2rem;overflow:hidden; }
article.box.withimage .img::after { content:" ";display:block;padding-bottom:55%;background-color:#222222; } 
article.box.withimage .img img { position:absolute;left:0;top:0;right:0;bottom:0;border:0px;display:block; transform:scale(1.05);  object-fit: cover;object-position: center; width:100%;height:100%;animation: kenburns 8s ease-in-out infinite alternate; }
article.box.withhover:hover { transform:translateX(0.1rem) translateY(-0.1rem); }
article.box.withhover.withShade:hover { box-shadow: -1.6rem 1.6rem 0px 0px #bbcddc; }
article.box.neg { background-color:transparent;color:#fff;  }
article.box.neg.noPadVertical { padding-top:0px;padding-bottom:0px; }

section.partner { padding:0rem 0rem; }
section.partner article { display:flex; }
section.partner article .lft { width:62.8%;padding:2rem;background-color:#fff;  }
section.partner article .lft > *:first-child { margin-top:0px;}
section.partner article .lft h4 {font-size: 1.6rem;font-weight: 400;margin-bottom: 1.1rem;  }
section.partner article .lft a { font-weight:600;color:var(--cta-color);text-decoration: none; }
section.partner article .rgt { width:38.2%;display:flex;flex-wrap:wrap;justify-content: center;}
section.partner article .rgt > div { height:50%;width:100%;background-color:#222222;display: flex;  align-items: center;  justify-content: center; }
section.partner article .rgt > div:nth-child(1) img { height:70%; }
section.partner article .rgt > div:nth-child(2)  { background-color:#2e2e2e }



section.testimonials { padding:4rem 0rem;padding-top:0px; }
section.testimonials article.slide { display:flex; }
section.testimonials article.slide .lft { position:relative;width:38.2%;padding:2rem;background-color:#fff;font-style: italic;  }
section.testimonials article.slide .lft::before {content: ",,";font-size: 8rem;position: absolute;top: -4rem;left: -2rem;font-weight: 700;letter-spacing: -0.6rem;}
section.testimonials article.slide .lft  > *:first-child { margin-top:0px;}
section.testimonials article.slide .lft h4 {font-size: 1.6rem;font-weight: 400;margin-bottom: 1.1rem;  }
section.testimonials article.slide .rgt { width:62.8%;position:relative; }
section.testimonials article.slide .rgt img { width:100%;position:absolute;top:0;right:0;bottom:0;left:0;background-color:#222222;height:100%;display:block;object-fit: cover;object-position: 50% 20%;  }


@media (max-width: 82.5rem) {
  section.testimonials {  padding:4rem 1.25rem;padding-top:0px; }
  section.partner article {  padding:0rem 1.25rem;}
  section.testimonials article.slide .lft::before { display:none; }
}
@media (max-width: 850px) {
  section.testimonials article.slide,
  section.partner article  {  flex-wrap:wrap; }

  section.testimonials article.slide .lft,
  section.testimonials article.slide .rgt,
  section.partner article .rgt,
  section.partner article .lft { width:100%; }

  section.testimonials article.slide .rgt img { position:relative; }
}


/* ---------------------------
  Team
--------------------------- */
section.team { display:grid;grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));grid-gap: 1rem; }
section.team article.team-member { background-color:#fff;margin-bottom:0rem; }
section.team article.team-member .img { position:relative;overflow: hidden; }
section.team article.team-member .img::after { content:" ";display:block;position:relative;padding-bottom:100%; }
section.team article.team-member .img img { position:absolute;top:0;right:0;left:0;bottom:0;object-fit: cover;height: 100%; width: 100%; }
section.team article.team-member h3 { margin-top:0px; }
section.team article.team-member .inner { padding:1rem;padding-bottom:0.5rem; }
section.team article.team-member .inner a {display: inline-block;  margin-bottom: 0.5rem; }
@media (max-width: 82.5rem) {
  section.team  {
    padding: 0rem 1.25rem;
  }
}
/* ---------------------------
  Spacer
--------------------------- */
.spacer { height:1.6rem; }
.bigspacer { height:4rem; }


/* ---------------------------
  Footer
--------------------------- */
footer.site-footer { background-color:var(--footer-second-bg); border-top: 4px solid var(--nav-accent); }
footer.site-footer .wrapper {  max-width:var(--container-max);width:100%; display: grid; grid-template-columns: 1fr  2fr 2fr;margin:0 auto; }
footer.site-footer .hd { padding:0rem 0px; }

footer.site-footer .bottom  { background-color:var(--footer-bg); }
footer.site-footer .bottom .footer-copy { max-width:var(--container-max);width:100%;padding: 1rem;display:flex; }
footer.site-footer .bottom .footer-copy nav > ul { display:flex;flex-wrap: wrap; }
footer.site-footer .bottom .footer-copy nav > ul > li { padding-left:1rem; }

footer.site-footer .bottom small { width: 100%; display: flex; }

footer.site-footer .nav-brand a {display: block;width: 10rem;background: url(../images/logo.png) center center no-repeat;background-size: contain;}
footer.site-footer .nav-brand a::after { content:" ";display:block;padding-bottom:55%; }
footer { color:var(--footer-text);}
footer h3 { margin-top:0px;text-transform:uppercase;font-weight:600;font-size: 1.6rem;margin-bottom:1.6rem; }
footer p { margin-top:0px;margin-bottom:1.6rem; }
footer a { color:var(--cta-color);text-decoration: none; }
footer ul { list-style:none;margin:0;padding:0;}
footer ul li { padding-bottom:0.5rem; }
footer address { font-style: normal; }
footer address p { margin-bottom:0; }
footer .nav-brand { margin-bottom:2rem; }
footer .footer-brand,
footer .footer-nav { padding-right:1.5rem; }

form.greyform input,
form.greyform select,
form.greyform textarea { font-size:1rem; transition:all 0.3s ease-in-out 0s; box-sizing: border-box;padding:1rem;font-family:inherit;background-color:var(--footer-bg); color:var(--footer-text);border:0px;width:100%;box-shadow:0px 0px 0px 0px rgba(255,255,255,0.1);   }
form.greyform input:focus,
form.greyform textarea:focus { outline:0;box-shadow:-10px 10px 0px 0px rgba(255,255,255,0.1); }
form.greyform textarea { min-height:150px;margin-bottom:0px;  }
form.greyform .form-wrap-half { width:calc(50% - 0.8rem);padding-bottom:1.6rem; }
form.greyform  .form-wrap-half.rgt { margin-left:0.8rem; }
form.greyform .form-wrap-half.lft { margin-right:0.8rem; }
form.greyform .form-wrap { width:100%;padding-bottom:1.6rem; }
form.greyform .form-wrap.no-margin { padding-bottom:0rem; }
form.greyform { display:flex;flex-wrap:wrap; }
form.greyform .agb { width:100%;cursor:pointer; }
form.greyform .form-message > span { background-color:var(--cta-color);color:#fff;padding:0.5rem;margin-bottom:1rem;display: block;margin-bottom: 1.6rem; }
form.greyform .form-message > span > span { display:blocK;}
form.greyform .form-message.error span {  background-color:#f14a4a; }
form.greyform a { color: var(--cta-color); text-decoration: none; }
form.greyform.is-loading { opacity:0.2; }
form.greyform .form-message  { width:100%; }
.error input[type="radio"] + label > span,
.error input[type="checkbox"] + label > span { border:2px solid #f14a4a !important; }
input.error, 
select.error, 
textarea.error { box-shadow: 0px 0px 0px 2px #f14a4a inset !important; }



@media (max-width: 800px) {
  footer.site-footer .wrapper  { grid-template-columns: 1fr; }
  footer.site-footer .wrapper  .footer-nav, footer.site-footer .wrapper  .footer-brand   { padding-bottom: 1.5rem; }
}
@media (max-width: 82.5rem) {
 footer.site-footer .wrapper {
    padding: 0rem 1.25rem;
  }
}


/* ---------------------------
  CTA Button 
--------------------------- */
.cta { position:relative; text-decoration:none; display: block;background-color: var(--cta-color);color: var(--cta-color-contrast-color);padding: 1rem 1.5rem;padding-right: 4rem;border: 0px;font-weight: 600;cursor: pointer;z-index:0;  }
.cta.outline { background-color:transparent;box-shadow: 0px 0px 0px 2px inset; }
.cta.inline { display:inline-block;margin-bottom:5px;margin-right:5px; }
.cta::after { position:relative;z-index:0;background-color:rgba(0,0,0,0.05);transition:width 0.3s ease-in-out; content:" ";position:absolute;left:0;top:0;bottom:0;width:0px; }
.cta:hover::after { width:100%; }
.cta span:nth-child(1) { position:relative;z-index:1; }
.cta span.arrow { border-radius: 4px;width: 2rem;background:url(../images/cta-arrow.svg) center center no-repeat transparent;display: block;position: absolute;top: 50%;transform:translateY(-50%);right:1rem;z-index:1; }
.cta span.arrow::after { display:block; content:" ";position:relative;padding-bottom:55%;}
.cta:hover span {   animation: bounceLeftToRight 0.6s ease-out infinite;  }
@keyframes bounceLeftToRight {
  0% {
    transform: translateY(-50%) translateX(0px);
  }
 
    50% {
    transform: translateY(-50%) translateX(5px);
  }
 100% {
    transform: translateY(-50%) translateX(0px);
  }


}



/* ---------------------------
Animated Checkbox
--------------------------- */

input[type='checkbox'].mm { height: 0; width: 0;margin: 0;display:block; }

input[type='checkbox'].mm + label{
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom:1.6rem;
  color: #9e9e9e;
  transition: color 250ms cubic-bezier(.4,.0,.23,1);
}
input[type='checkbox'].mm + label > span{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 1em;
  width: 1.6rem;
  height:1.6rem;
  flex-shrink: 0;
  background: transparent;
  border: 2px solid #9E9E9E;
  border-radius: 2px;
  cursor: pointer;  
  position:relative;
  transition: all 250ms cubic-bezier(.4,.0,.23,1);
}

input[type='checkbox'].mm + label:hover, input[type='checkbox']:focus + label{
  color: #fff;
}
input[type='checkbox'].mm + label:hover > span, input[type='checkbox']:focus + label > span{
  background: rgba(255,255,255,.1);
}
input[type='checkbox'].mm:checked + label > ins{ height: 100%; }

input[type='checkbox'].mm:checked + label > span{
  border: 1rem  solid var(--cta-color);
  animation: shrink-bounce 200ms cubic-bezier(.4,.0,.23,1);
}
input[type='checkbox'].mm:checked + label > span:before{
  content: "";
  position: absolute;
  top: calc(50% - 0.1rem);
  left: calc(50% - 0.5rem);
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  transform: translateX(-50%)  translateY(-50%) scale(1) rotate(45deg);
  transform-origin: 0% 100%;
  animation: checkbox-check 125ms 250ms cubic-bezier(.4,.0,.23,1) forwards;
}

@keyframes shrink-bounce{
  0%{
    transform: scale(1);
  }
  33%{    
    transform: scale(.85);
  }
  100%{
    transform: scale(1);    
  }
}
@keyframes checkbox-check{
  0%{
    width: 0;
    height: 0;
    border-color: #fff;
    transform: translate3d(0,0,0) rotate(45deg) scale(1.5) ;
  }
  33%{
    width: .2em;
    height: 0;
    transform: translate3d(0,0,0) rotate(45deg) scale(1.5);
  }
  100%{    
    width: .2em;
    height: .5em;    
    border-color: #fff;
    transform: translate3d(0,-.5em,0) rotate(45deg) scale(1.5);
  }
}

/* Radio Buttons */
input[type='radio'].mm { 
  height: 0; 
  display:block;
  width: 0; 
  margin: 0; 
}

input[type='radio'].mm + label {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 0rem;
  color: #9e9e9e;
  padding-bottom: 10px;
  transition: color 250ms cubic-bezier(.4,.0,.23,1);
}

input[type='radio'].mm + label > span {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 1em;
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
  background: transparent;
  border: 2px solid #9E9E9E;
  border-radius: 50%; /* Rund statt eckig */
  cursor: pointer;  
  position: relative;
  transition: all 250ms cubic-bezier(.4,.0,.23,1);
}

input[type='radio'].mm + label:hover, 
input[type='radio'].mm:focus + label {
  color: #fff;
}

input[type='radio'].mm + label:hover > span, 
input[type='radio'].mm:focus + label > span {
  background: rgba(255,255,255,.1);
}

input[type='radio'].mm:checked + label > ins { 
  height: 100%; 
}

input[type='radio'].mm:checked + label > span {
  border: 0.4rem solid var(--cta-color); /* Dünner Border */
  animation: shrink-bounce 200ms cubic-bezier(.4,.0,.23,1);
}

input[type='radio'].mm:checked + label > span:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem; /* Innerer Punkt */
  height: 1rem;
  background: var(--cta-color);
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0);
  animation: radio-check 200ms 100ms cubic-bezier(.4,.0,.23,1) forwards;
}

@keyframes shrink-bounce {
  0% {
    transform: scale(1);
  }
  33% {    
    transform: scale(.85);
  }
  100% {
    transform: scale(1);    
  }
}

@keyframes radio-check {
  0% {
    transform: translate(-50%, -50%) scale(0);
  }
  100% {    
    transform: translate(-50%, -50%) scale(1);
  }
}

/*********************************/
/**  Klaro ***********************/

.klaro { font-size:inherit !important;}
.klaro .cookie-notice {
  max-width: 600px !important;
  left: 20px !important;
  transform: translateX(0%) translateY(0%) !important;
  background-color:var(--nav-bg) !important;
  bottom: 20px !important;
  border-radius: 0px !important;
  
  padding: 20px !important;
}
.klaro .cookie-notice h2 { margin-top: 0px;
  margin-bottom: 1.6rem;
  font-weight: 400; }

  .klaro .cm-btn { border-radius:0 !important;font-size:inherit !important;font-weight: 600 !important;padding: 1rem 1.5rem !important; }


  .klaro .cm-btn.cm-btn-success {   background-color: var(--cta-color) !important; }

  .klaro .cookie-modal a, .klaro .context-notice a, .klaro .cookie-notice a { color:var(--cta-color) !important;  }


  .klaro .cookie-modal .cm-modal.cm-klaro {
  background-color:var(--nav-bg) !important;
  border-radius: 0px !important;
   }
   .klaro .cookie-modal .cm-modal .cm-header h1 {margin-top: 0px !important;
  margin-bottom: 1.6rem !important;
  font-weight: 400 !important; }


.klaro .cookie-modal .cm-modal .hide { transition: all 0.4s ease-in-out 0.3s;
  background: url(../images/closer.svg) center center no-repeat var(--cta-color);
  background-size: 50%;
  transform: scale(1);
  position: absolute;
  top: 1rem;
  width: 3rem;
  height: 3rem;
  cursor: pointer;}

  .klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider, .klaro .context-notice .cm-list-input:checked + .cm-list-label .slider, .klaro .cookie-notice .cm-list-input:checked + .cm-list-label .slider {   background-color:var(--nav-bg) !important; }