/*
Theme Name: Stack Child
Theme URI: http://www.tommusrhodus.com/stack-wordpress-theme
Description: Child theme for the Stack theme
Author: <a href="http://www.tommusrhodus.com">Tom Rhodes</a>
Author URI: http://www.tommusrhodus.com
Template: stack
Version: 10.0.0
*/

@import url('../stack/style.css');

/* all breakpoint media queries */
/*
@media (min-width: 768px) and (max-width: 991px) {

}
@media (min-width: 992px) and (max-width: 1023px) {

}
@media (min-width: 1024px) and (max-width: 1199px) {

}
@media (min-width: 1200px) {

}
*/


#zpe-home-button {
  display: none;
}

/* increase logo size on transparent background but keep as usual on sticky header */
.header--top-bar .logo-holder {
    position: absolute;
    z-index: 3;
    width: 200px;
    max-height: 120px;
    top: -4px;
}

.bar.header--top-bar .logo {
    max-width: 100%;
    max-height: 100%;
}


/* ----- Site Settings ----- */

/* set base size of html to 95% = make every text bigger */
html {
  font-size: 100%;
}
/* @media (min-width: 768px) and (max-width:991px) {
.main-container {
font-size: 0.95em;
}
} */
@media (max-width: 767px) {
  .lead {
    font-size: 1.257143em;
  }
}

/* make text / paragraph more compact */
p {
  margin-bottom: 1em;
}

/* fix bootstrap a:focus blue */
a:focus {
  color: #e71d2b;
}

/* fix h2 & h3 responsive behavior */
@media (min-width: 768px) and (max-width:991px) {
  h2 {
    margin-bottom: 0.8em;
  }
  h2, .h2 {
    font-size: 2.057143em;
  }
  h3, .h3 {
    font-size: 1.385714em;
  }
  .zpe-features h3, .zpe-features .h3 {
    font-size: 1.585714em;
  }
}

/* fix h3 strong / non-bold settings */
h3 strong, .h3 strong {
  font-weight: 700;
}

.module-title {
  font-weight: bold;
}

ul {
  text-align: left;
}

/* fix strange space--lg class added problem */
section.space--lg {
  padding-top: 0;
  padding-bottom: 0;
}

.wpb-content-wrapper:first-child {
  padding-top: 0;
}

/* fix lead size on tablet view */
@media (min-width: 768px) and (max-width: 991px) {
  .lead {
    font-size: 1.12em;
  }
}

/* fix p setting on small desktop size */
@media (max-width: 1023px) and (min-width: 768px) {
  p:last-child {
    margin-bottom: 0;
  }
}

/* fix responsive behavior of large button */
@media (max-width: 991px) {
  .btn--lg .btn__text {
    font-size: 0.871429em;
  }
  .btn--lg {
    padding-right: 2.48214286em;
    padding-left: 2.48214286em;
  }
}

/* make buttons in end of rows have margin-bottom to balance the space from line-height of headings */
.vc_column-inner > .wpb_wrapper > .wpb_content_element:last-child .btn {
  margin-bottom: 0.7em;
}
@media (min-width:992px) {
  .vc_column-inner > .wpb_wrapper > .wpb_content_element:last-child .btn {
    margin-bottom: 0.9em;
  }
}

/* remove margin-bottom on mobile screens from every button, not just last-child */
@media (max-width: 767px) {
  .btn:not(:last-child) {
      margin-bottom: 0;
  }
}

/* remove margin on .btn + .btn */
.btn + .btn {
    margin-left: 0;
}

/* fix border-color of white buttons */
.imagebg:not(.image--light) .btn:not([class*='primary']) {
  border-color: rgba(255, 255, 255, 0.9);
}

/* fix section default padding */
section, footer, #zpe_fragen_termin_vereinbaren {
  padding-top: 3.428571em;
  padding-bottom: 3.428571em;
}
@media (max-width: 767px) {
  section, footer, #zpe_fragen_termin_vereinbaren {
    padding-top: 2.6em;
    padding-bottom: 2.6em;
  }
  .imageblock > .container, .imageblock > div[class*='col-']:not(.imageblock__content) {
    padding-top: 3.428571em;
    padding-bottom: 3.428571em;
  }
}
@media (min-width: 1200px) {
  section, footer, #zpe_fragen_termin_vereinbaren {
    padding-top: 4.528571em;
    padding-bottom: 4.528571em;
  }
}

/* fix padding on desktop and make more space to left and right on mobile */
#zpe_intro .vc_column_container {
  padding-left: 15px;
  padding-right: 15px;
}
@media (max-width: 767px) {
  .container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* fix safari display of padding below some boxes */
@media (max-width: 768px) {
  .vc_row .vc_column_container:not(.vc_column_container:last-child) {
    margin-bottom: 0;
  }
}

/* fix removal of navigation arrows on flickity-slider */
@media (max-width: 990px) {
  .flickity-prev-next-button {
    display: block;
  }
}
/* fix display of navigation arrows */
@media (max-width: 767px) {
  .flickity-prev-next-button.previous {
    left: 0;
  }
  .flickity-prev-next-button.next {
    right: 0;
  }
}
/* make the arrows bigger */
.flickity-prev-next-button:before {
  font-size: 1.8em;
}

/* fix bar__module inline-block setting caused by special home link */
@media (min-width: 991px) {
  .bar__module:not(:only-child) {
    display: block;
  }
}

/* fix height: auto for viewport height < 600px */
.height-100 {
  height: 100vh;
}

/* fix black color of strong on bg--primary */
.bg--primary p strong {
  color: white;
}

/* fix margin removal on remove padding class */
.remove-column-padding div[class*='col-'] {
  margin-left: 0;
  margin-right: 0;
}

/* make button text green on hover */
.btn:hover, .btn:focus, .btn.focus {
  color: #e71d2b;
}

/* scroll to top button */
.back-to-top {
  width: 3.514286em;
  height: 3.514286em;
  right: 0.947143em;
  bottom: 1.114286em;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0), 0 5px 20px rgba(0, 0, 0, 0.15);
}
@media (min-width: 768px) {
  .back-to-top {
    display: none;
  }
}

/* fix four-column layout padding */
.switchable .row > div[class*='col-']:last-child:not(:only-child) {
  margin-top: 0;
}

/* fix: remove feature card border */
.card-2 .card__body, .card-2 .card__bottom {
  padding: 1.5em;
  border: 0;
}
@media (max-width:767px) {
  .card-2 .card__body, .card-2 .card__bottom {
    padding-bottom: 0.3em;
  }
}
/* fix padding-bottom addition for too much space on feature layout */
@media (min-width:768px) {
  .zpe-features .card-2 .card__body {
    padding-bottom: 0;
  }
  .zpe-features.vc_row.vc_column-gap-35>.vc_column_container {
    padding-top: 0;
    padding-bottom: 0.3em;
  }
}
/* fix heading sizes */
@media (min-width: 992px) {
  .zpe-features h3, .zpe-features .h3, .zpe-features h2 {
    font-size: 2.2em;
  }
}
@media (min-width: 1200px) {
  #zpe_philosophie_teaser h3, #zpe_leistungen_intro h3, #zpe_philosophie_intro h2 {
    font-size: 2.4em;
  }
  #zpe_philosophie3 h2, #zpe_philosophie2 h2 {
    font-size: 1.7em;
  }
  .zpe-features h3, .zpe-features .h3, .zpe-features h2 {
    font-size: 2.4em;
  }
}

.card-2 .card__body p:last-child {
  margin-bottom: 0;
}
.card-2 .card__bottom {
  display: none;
}
.vc_icon_element {
  margin-bottom: 0;
}

/* fix icon sizes */
@media (max-width: 767px) {
  .zpe-features h3, .zpe-features .h3 {
    margin-bottom: 0.52em;
    margin-top: 0.7em;
    font-weight: bold;
  }
  .zpe-features.vc_row.vc_column-gap-35 > .vc_column_container:not(:last-child) {
    padding-bottom: 0;
  }
  .zpe-features.vc_row.vc_column-gap-35 > .vc_column_container:last-child {
    padding-bottom: 0.3em;
  }

    /* font-size of icons to balance weight */
    .zpe-features .icon--lg {
      font-size: 4.7em;
      padding-bottom: 0.05em;
    }
}
@media (min-width: 768px) {
  .zpe-features .icon--lg {
      display: block;
      min-height: 1.3em;
  }
  .zpe-features .zpe-icon-l .icon--lg {
    padding-top: 0.09em;
  }
  .zpe-features .text-block:not(.zpe-icon-l) > .icon--lg::before {
    font-size: 0.85em;
  }
}


/* fix icon size in features */
.icon--lg {
    font-size: 5em;
}

/* extra class: improve feature (three boxes) heading style */
.features h3, .features .h3 {
  margin-bottom: 0.3em;
  margin-top: 0.3em;
  font-size: 2.2em;
}
@media (max-width: 767px) {
  .features h3, .features .h3 {
    font-size: 1.557143em;
    line-height: 1.85714286em;
    margin-bottom: 0;
  }
}

/* fix flickity-slider picture bug */
.flickity-slider .slide.is-selected {
  z-index: 1;
}

/* HELPER CLASSES */
.zpe-float-left {
  float: left;
}
.zpe-float-right {
  float: right;
}
/* remove section padding and left-right padding of row */
.no-padding {
  padding-top: 0;
  padding-bottom: 0;
  padding-right: 0;
  padding-left: 0;
}
.no-padding .col-sm-12 {
  padding-left: 0;
  padding-right: 0;
}
/* add Grey Colored Background to Sections */
.bg-lightgrey {
  background-color: #fafafa;
}
/* Display inline elements on mobile or not */
@media (max-width: 767px) {
  .zpe-visible-xs {
    display: inline-block !important;
  }
  .zpe-hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .zpe-visible-xs {
    display: none !important;
  }
  .zpe-hidden-xs {
    display: inline-block !important;
  }
}

/* feature: equal height of cards */
.feature-equal-height .vc_column-inner {
  padding-bottom: 1em;
}
.feature-equal-height .vc_column-inner > .wpb_wrapper {
  height: 100%;
}
.feature-equal-height .boxed.boxed--lg {
  height: 100%;
}
.feature-equal-height .btn--primary-reverse {
  background: #e71d2b;
  border-color: #e71d2b;
  margin-top: 1em;
}
.feature-equal-height .btn--primary-reverse .btn__text {
  color: #fff;
  border-color: #fff;
}

@media (max-width: 767px) {
  .feature-equal-height .vc_column-inner {
    padding-bottom: 1.3em;
  }
}
@media (min-width: 992px) {
  #zpe_leistungen > .container:last-child .feature-equal-height .vc_column-inner {
    padding-bottom: 1em;
  }
  .feature-equal-height .vc_column-inner {
    padding-bottom: 2em;
  }
}

/* fix last row padding-top removal */
section.force-padding-top {
  padding-top: 5.428571em !important;
}

/* fix side-bar animation: make it ease */
.notification.notification--reveal[data-animation="from-left"] {
  animation: from-left 0.2s ease-out 0s forwards;
  -webkit-animation: from-left 0.2s ease-out 0s forwards;
  -moz-animation: from-left 0.2s ease-out 0s forwards;
}
.notification.notification--reveal[data-animation="from-right"] {
  -moz-animation: from-right 0.2s ease-out 0s forwards;
  -webkit-animation: from-right 0.2s ease-out 0s forwards;
  animation: from-right 0.2s ease-out 0s forwards;
}

/* fix team image display with text on desktop */
@media (min-width: 992px) and (max-width: 1199px) {
  #zpe_praxis_features .border--round.box-shadow-wide {
    margin-left: 20%;
    }
}
@media (min-width: 1200px) {
  #zpe_praxis_features .border--round.box-shadow-wide {
    margin-left: 25%;
    }
}

/* Grafische Elemente bei Hintergründen
#zpe_intro::after, #zpe_willkommen::before, #zpe_willkommen::after, #zpe_praxis_features .imageblock__content::before, #zpe_praxis_features .imageblock__content::after, footer .background-image-holder::before, #zpe_team .imageblock__content::before, #zpe_team .imageblock__content::after {
	display: block;
	width: 101%;
	height: 1.7em;
	position: absolute;
	left:50%;
	transform:translateX(-50%);
	background: url('style/img/elemente5.png');
	z-index: 2;
}
#zpe_intro::after {
	z-index: 0;
}
footer .background-image-holder::before, #zpe_team .imageblock__content::before, #zpe_praxis_features .imageblock__content::before {
	top: 0;
	content: '\00a0';
	background-position-y: 28%;
	background-size: cover;
}
#zpe_intro::after, #zpe_willkommen::after, #zpe_team .imageblock__content::after, #zpe_praxis_features .imageblock__content::after {
	bottom: 0;
	content: '\00a0';
	background-position-y: 91%;
	background-size: cover;
}
*/

/* ----- Navigation Settings ----- */

/* sub-page settings (default) */
.nav-container {
  width: 100%;
  background: white;
}

/* make all navigation transparent on start page. navigation has to have positon:absolute, so that it's overlaying the the main-container */
body.home .nav-container {
  position: absolute;
  background: transparent;
  z-index: 11;
}
@media (max-width: 767px) {
  body.home .nav-container {
    z-index: 9999;
  }
}

/* make shadow on sticky bar */
.bar--mobile-sticky.pos-fixed {
  box-shadow: 0px 0px 50px rgba(0,0,0,0.4);
}
@media (max-width: 767px) {
  .bar--mobile-sticky {
    padding-top: 0.3em;
    padding-bottom: 0.3em;
  }
  .bar--mobile-sticky.pos-fixed.hamburger-active {
    box-shadow: none;
  }
  #menu1 {
    box-shadow: 0px 0px 30px rgba(0,0,0,0.3), 0 30vh 30vh rgba(0,0,0,0.05);
  }
  .nav-container.hamburger-active .bar--mobile-sticky.pos-fixed {
    box-shadow: none;
  }
}
@media (min-width: 768px) {
  .bar.pos-fixed {
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.3);
  }
}


/* make bar more compact */
.bar.bar--sm {
  padding: 0.428571em 0px;
}
@media (max-width: 1023px) and (min-width: 768px) {
  .bar-2 .bar__module, .bar-1 .bar__module {
    margin-bottom: 0;
  }
}
@media (max-width: 767px) {
  .bar.bar--sm {
    padding: 0.228571em 0;
  }
  .bar-2 .bar__module, .bar-1 .bar__module {
    margin-bottom: 0;
  }
  .bar-3 .bar__module {
      margin-bottom: 0.528571em;
  }
}
body:not(.home) .bar:not(.pos-fixed) .menu-horizontal {
  top: 0;
}
@media (max-width: 767px) {
  body:not(.home) .bar:not(.pos-fixed) .menu-horizontal {
    top: 6px;
  }
}

/* custom toolbar w/ buttons and info */
.zpe-topbar {
  padding: 0.68em 1em;
  margin-top: 10px;
  display: block;
  border-radius: 3px;
  text-transform: uppercase;
  border-color: white;
  opacity: 1;
}

/* display stack-header-buttons only in mobile menu */
#menu1 .stack-header-buttons {
  display: none;
}
@media (max-width: 767px) {
  #menu1 .stack-header-buttons {
    display: block;
  }
}

/* fix top-bar padding on screens > 768px */
.header--top-bar.bar.bar--sm {
  padding-top: 1.35em;
  padding-bottom: 0.81em;
}
.header--top-bar .col-md-12 {
  padding-left: 0;
  padding-right: 0;
}
@media (max-width: 767px) {
  .header--top-bar .col-md-12 {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (max-width: 991px) and (min-width: 768px) {
  .header--top-bar.bar.bar--sm {
    padding-top: 1.1em;
    padding-bottom: 0.33em;
  }
}

/* add special home link in desktop view */
#zpe-home-button a {
  padding: 0;
  margin-top: 2px;
  float: left;
}
#zpe-home-button a:hover {
  text-decoration: none;
  border-bottom: 2px solid #e71d2b;
  color: #e71d2b;
}
body.home #zpe-home-button {
  display: none !important;
}
.bar.pos-fixed #zpe-home-button {
  display: none;
}

/* add button with hover-effect src: https://codepen.io/perry_nt/pen/eVboze and style btn differently */

.btn--primary {
  border: solid 1px;
  border-radius: 0;
}

.btn-new {
  --def: #004a96;
	--inv: #fff;
  position: relative;
	font-size: 1.4rem;
	color: #004a96;
	letter-spacing: 1.1rem;
	text-transform: uppercase;
	transition: all 600ms cubic-bezier(0.77, 0, 0.175, 1);
	cursor: pointer;
	user-select: none;
}

.btn-new:before, .btn-new:after {
	content: '';
	position: absolute;
	transition: inherit;
	z-index: -1;
}

.btn-new:hover {
	color: var(--def);
	transition-delay: .6s;
}

.btn-new:hover:before {
	transition-delay: 0s;
}

.btn-new:hover:after {
	background: var(--inv);
  color: #004a96;
	transition-delay: .4s;
}

.btn-new .btn__text {
  color: #fff;
}

.btn-new .btn__text:hover {
  color: #004a96;
  transition-delay: .6s;
}

.btn-new .btn__text:hover:after {
  color: #004a96;
	transition-delay: .4s;
}

/* NEW BUTTON 2 BEGIN */

.btn-new {
   width: 300px;
   height: 100px;
   font-size: 30px;
   text-align: center;
   line-height: 100px;
   color: rgba(255,255,255,0.9);
   border-radius: 50px;
   background: linear-gradient(-45deg, #e71d2b, #0E0D0A, #66B69E, #2B292A);
   background-size: 600%;
   -webkit-animation: btn-anime 16s linear infinite;
  animation: btn-anime 16s linear infinite;
 }

.btn-new {
  position: absolute;
  margin-top: -70px;
  z-index: -1;
  filter: blur(30px);
  opacity: 0.8;
}

   @-webkit-keyframes btn-anime {
     0% {
       background-position: 0% 50%;
     }
     50% {
       background-position: 100% 50%;
     }
     100% {
       background-position: 0% 50%;
     }
   }
   @keyframes btn-anime {
     0% {
       background-position: 0% 50%;
     }
     50% {
       background-position: 100% 50%;
     }
     100% {
       background-position: 0% 50%;
     }
   }

/* NEW BUTTON 2 END */


.from-left:before,
.from-left:after {
	top: 0;
	width: 0;
	height: 100%;
}

.from-left:before {
	right: 0;
	border: 1px solid var(--inv);
	border-left: 0;
	border-right: 0;
}

.from-left:after {
	left: 0;
}

.from-left:hover:before,
.from-left:hover:after {
	width: 100%;
}

/* logo settings, remove home link in menu on non-mobile view */
body.home .bar:not(.pos-fixed) .logo-dark {
  display: none;
}
body.home .bar:not(.bg--dark):not(.bar--transparent):not(.pos-fixed) .logo-light {
  display: inline-block;
}
.bar.pos-fixed .logo {
  top: 12px;
}
@media (max-width: 1199px) and (min-width: 992px) {
  .bar.pos-fixed .logo  {
    /* width: 158%; */
    top: 5px;
  }
}
@media (max-width: 407px) {
  .bar .logo {
    top: 3px;
  }
}
@media (max-width: 767px) {
  .bar:not(.pos-fixed) .hamburger-toggle .stack-menu {
    color: #ffffff;
  }

  body.home .hamburger-active #menu1.bar:not(.pos-fixed) .logo-dark, .hamburger-active #menu1.bar:not(.pos-fixed) .logo-dark {
    display: block;
    filter: none;
    margin-top: 1.1em;
    margin-bottom: 2em;
    padding-bottom: 0.3em;
    top: 0;
  }

  .bar .logo {
    top: 2px;
  }
  .bar.pos-fixed .logo-holder {
    display: block;
    margin-top: 9px;
    margin-bottom: 10px;
  }
  .bar.pos-fixed .logo {
    top: 0;
    margin-top: 0;
    margin-bottom: 0;
  }

  /* size fixes */
  #menu1 .logo-holder {
    max-height: 40px;
  }
  #menu1 .stack-header-buttons {
    margin-top: 0.61em;
  }
  #menu1.pos-fixed .stack-header-buttons {
    margin-top: 0.91em;
  }

  #zpe-home-button {
    display: none !important;
  }
}
@media (min-width: 768px) {
  #menu1 .logo-holder {
    display: none;
  }
  #menu1.pos-fixed .logo-holder {
    display: block;
  }
  .bar-1 .menu-horizontal > li > .dropdown__trigger, .bar-1 .menu-horizontal > li > a, #zpe-home-button a {
    line-height: 2.5rem;
    font-size: 0.8rem;
    display: block;
  }
  .menu-horizontal li:not(:last-child) {
    margin: 0;
    padding: 0;
  }
  .menu-horizontal li:not(:last-child) a {
    padding-left: 0.4em;
    padding-right: 0.4em;
  }
  .menu-horizontal li:first-child a {
    padding-left: 0;
    padding-right: 0.4em;
  }
  .menu-horizontal li:last-child a {
    padding-left: 0.4em;
    padding-right: 0;
  }
  #menu-hauptnavigation .menu-item-home {
    display: none;
  }
  #menu-hauptnavigation .menu-item:nth-child(2) {
    margin-left: 0;
  }
  .menu-horizontal .menu-item:nth-child(2) a {
    padding-left: 0;
    padding-right: 0.4em;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .bar.pos-fixed .logo {
    top: 5px;
    margin-bottom: 0px;
    max-height: 27px;
  }
  .bar-1 .menu-horizontal > li > .dropdown__trigger, .bar-1 .menu-horizontal > li > a {
    letter-spacing: 0.3px;
  }
  .menu-horizontal .menu-item:nth-child(2) a {
    padding-left: 0;
    padding-right: 0.4em;
  }
}
/* aufgrund des Themes hier 991px statt 992px */
@media (min-width: 991px) {
  .bar__module:not(:last-child) {
    margin-right: 0;
  }
}
/* fix Theme setting of 990px min-width */
@media (max-width: 991px) and (min-width: 990px) {
  .bar__module:not(:only-child) .menu-horizontal {
    top: 6px;
  }
}
@media (max-width: 1023px) and (min-width: 992px) {
  .pos-fixed .bar.bg--secondary .logo.logo-dark, .pos-fixed .bar.original--bg .logo.logo-dark {
    display: inline-block;
  }
}
@media (max-width: 1023px) and (min-width: 768px) {}
  .bar-2 .menu-horizontal > li:not(:first-child), .bar-1 .menu-horizontal > li:not(:first-child) {
    margin-left: 0em;
  }
}
@media (min-width: 1024px) {
  #menu1 {
    padding: 0.2em;
  }
  .menu-horizontal li:not(:last-child) {
    margin-right: 1.1em;
  }
  .bar-1 .menu-horizontal > li > .dropdown__trigger, .bar-1 .menu-horizontal > li > a, #zpe-home-button a {
    font-size: 0.87em;
  }
}
@media (min-width: 1200px) {
  #menu1 {
    padding-top: 0.3em;
    padding-bottom: 0.32em;
  }
  #menu1.pos-fixed .bar .logo {
    margin-top: 0.4em;
    max-height: 30px;
  }
  .bar-1 .menu-horizontal > li > .dropdown__trigger, .bar-1 .menu-horizontal > li > a, #zpe-home-button a {
    font-size: 0.93rem;
    line-height: 2.9rem;
  }
  .bar-1.pos-fixed .menu-horizontal > li > .dropdown__trigger, .bar-1.pos-fixed .menu-horizontal > li > a {
    line-height: 2.9em;
    margin-top: 2px;
    margin-bottom: 1px;
  }
}


/* --- Menu Look / Navigation Color, Padding etc. --- */
@media (min-width: 992px) {
  .bar__module:not(:last-child) {
    margin-right: 0;
  }
}
.pos-fixed .menu-horizontal {
  padding-top: 0.15em;
  padding-bottom: 0.15em;
}
@media (max-width: 767px) {
  .pos-fixed .menu-horizontal {
    padding-top: 1.3em;
    padding-bottom: 0em;
  }
}
@media (min-width: 1200px) {
  .pos-fixed .menu-horizontal {
    padding-top: 0.3em;
    padding-bottom: 0.3em;
  }
}
/* faulty Template Override, daher min-width: 991px */
@media (min-width: 991px) {
  .bar--transparent:not(.bar--dark):not(.pos-fixed) .menu-horizontal > li > a, .bar--transparent:not(.bar--dark):not(.pos-fixed) .menu-horizontal > li > span {
    color: #252525;
  }
  body.home .bar--transparent:not(.bar--dark):not(.pos-fixed) .menu-horizontal > li > a, body.home .bar--transparent:not(.bar--dark):not(.pos-fixed) .menu-horizontal > li > span {
    color: #fff;
  }
}
/*
.menu-horizontal > li > a, .menu-horizontal > li > span, .menu-horizontal > li > .modal-instance > .modal-trigger {
color: #fff;
} */
.menu-horizontal > li:not(:hover) > a, .menu-horizontal > li:not(:hover) > span, .menu-horizontal > li:not(:hover) > .modal-instance > .modal-trigger {
  opacity: 0.84;
}
.menu-horizontal > li {
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
}
body.home .menu-horizontal > li > a {
  text-shadow: 1px 1px 5px rgba(26, 47, 46, 0.4);
}
.menu-horizontal > li:hover, .pos-fixed .menu-horizontal > li:hover, .menu-horizontal > li.current_page_item {
  /* border-bottom: 1px solid #cebc41; */
  border-bottom: 2px solid #e71d2b;
}
body.home .menu-horizontal > li:hover {
  border-bottom: 2px solid #fff;
}
@media (max-width: 767px) {
  .menu-horizontal > li > a, body.home .menu-horizontal > li > a {
    text-shadow: none;
  }
  .menu-horizontal > li > a:hover {
    text-decoration: none;
  }
  .menu-horizontal > li:hover, body.home .menu-horizontal > li:hover {
    /* border-bottom: 1px solid #cebc41; */
    border-bottom: 2px solid #e71d2b;
  }
  .menu-horizontal > li.current_page_item {
    border-bottom: 2px solid transparent;
  }
  .menu-horizontal > li.current_page_item a {
    color: #e71d2b;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  body.home .bar--transparent:not(.bar--dark):not(.pos-fixed) .menu-horizontal > li > a, body.home .bar--transparent:not(.bar--dark):not(.pos-fixed) .menu-horizontal > li > span {
    color: #fff;
  }
  #menu1 > .container > .row > .col-sm-4 {
    display: none;
  }
  #menu1 > .container > .row > .col-sm-8 {
    width: 100%;
  }
  #menu1.pos-fixed > .container > .row > .col-sm-4 {
    display: inline-block;
  }
  #menu1.pos-fixed > .container > .row > .col-sm-8 {
    padding-top: 0.1em;
  }
  .pos-fixed .menu-horizontal {
    padding-top: 0;
    padding-bottom: 0.3em;
  }
}
body.home .pos-fixed .menu-horizontal > li > a {
  text-shadow: none;
  } /*
  .bar-1 .menu-horizontal > li > .dropdown__trigger, .bar-1 .menu-horizontal > li > a {
  font-size: 0.9em;
  } */
  body.home .bar__module {
    text-shadow: 1px 1px 5px rgba(26, 47, 46, 0.4);
  }
  body.home .bar__module img, #scrollIndicator i {
    filter: drop-shadow( 1px 1px 5px rgba(26, 47, 46, 0.4) );
  }
  body.home .pos-fixed .bar__module {
    text-shadow: none;
  }
  body.home .pos-fixed  .bar__module img {
    filter: none;
  }

  /* --- Mobile Toggle Navigation Settings --- */
  /* Animation */
  .hamburger-toggle {
    float: right;
    display: block;
    width: 45px;
    height: 30px;
    position: relative;
    margin: 8px 2px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .8s ease-in-out;
    -moz-transition: .8s ease-in-out;
    -o-transition: .8s ease-in-out;
    transition: .8s ease-in-out;
    cursor: pointer;
  }
  .hamburger-toggle span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: #252525;
    border-radius: 1px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
  }
  .pos-fixed .hamburger-toggle {
    top: 7px;
  }
  body.home .bar:not(.pos-fixed) .hamburger-toggle:not(.toggled-class) span {
    background: #ffffff;
  }
  .hamburger-toggle span:nth-child(1) {
    top: 0px;
  }
  .hamburger-toggle span:nth-child(2),.hamburger-toggle span:nth-child(3) {
    top: 12px;
  }
  .hamburger-toggle span:nth-child(4) {
    top: 24px;
  }
  .hamburger-toggle.toggled-class span:nth-child(1) {
    top: 12px;
    width: 0%;
    left: 50%;
    opacity: 0;
  }
  .hamburger-toggle.toggled-class span:nth-child(2) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .hamburger-toggle.toggled-class span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .hamburger-toggle.toggled-class span:nth-child(4) {
    top: 12px;
    width: 0%;
    left: 50%;
    opacity: 0;
  }

  @media (max-width: 767px) {
    .mobile-header,
    .hamburger-toggle {
      z-index: 1001;
    }
    .hamburger-toggle.toggled-class i::before {
      color: #000;
    }
    #menu1 {
      position: absolute;
      top: 0;
      background: rgba(255,255,255,0.98);
      width: 100%;
      z-index: 1000;
      -moz-animation: from-top 0.2s ease-in-out 0s forwards;
      -webkit-animation: from-top 0.2s ease-in-out 0s forwards;
      animation: from-top 0.2s ease-in-out 0s forwards;
    }
    #menu1.pos-fixed {
      position: fixed;
    }
    .nav-container.hamburger-active #menu1 {
      display: block !important;
    }

    .bar-1 .menu-horizontal > li > .dropdown__trigger, .bar-1 .menu-horizontal > li > a {
      font-size: 1.1em;
      line-height: 2.7em;
      font-weight: 400;
      letter-spacing: 1px;
      display: block;
    }
    .btn--sm {
      padding-top: 0.5em;
      padding-bottom: 0.5em;
      padding-right: 1.86em;
      padding-left: 1.86em;
    }
    .bar__module + .bar__module {
      margin-top: 1.61em;
    }

    .bar.bar--mobile-sticky[data-scroll-class*='fixed'].pos-fixed {
      z-index: 1001;
    }
  }
  /* fix z-index of menu */
  body:not(.variant-active) nav#menu1 {
    z-index: 1000;
  }

  /* sub-page navigation header settings */
  body:not(.home) .nav-container {
    height: 101px;
  }
  @media (min-width: 768px) {
    body:not(.home) .nav-container {
      height: 124px;
    }
  }
  @media (min-width: 992px) {
    body:not(.home) .nav-container {
      height: 135px;
    }
  }
  @media (min-width: 1200px) {
    body:not(.home) .nav-container {
      height: 141px;
    }
  }


  /* INFOS OBEN */
  .zpe-top-info {
    color: #fff;
    text-align: right;
  }
  .zpe-top-info img {
    float: left;
    margin-bottom: 0;
  }
  .zpe-top-info i {
    font-size: 40px;
    float: left;
    margin-top: 4px;
  }
  .zpe-top-info-img2 {
    font-size: 37px;
  }
  body.home .zpe-top-info img.zpe-icon-black {
    display: none;
  }
  body:not(.home) .zpe-top-info img.zpe-icon-white {
    display: none;
  }
  .zpe-top-info a, .zpe-top-info a:hover {
    font-weight: inherit;
    color: #252525;
  }
  .zpe-top-info a:not(:hover) {
    opacity: 0.84;
  }
  body.home .zpe-top-info a, body.home .zpe-top-info a:hover {
    color: #fff;
  }
  .zpe-top-info-tel {
    font-size: 1.7em;
    line-height: 2.1em;
    font-weight: bold;
  }
  .zpe-top-info-add {
    line-height: 1.2em;
    padding-top: 0.6em;
    padding-bottom: 0.5em;
  }
  .zpe-top-info-add span:first-of-type {
    font-weight: bold;
  }
  /* side menu styling */
  .side-menu .zpe-infos-sidebar .zpe-top-info-txt {
    font-size: 0.95em;
  }
  .side-menu .zpe-infos-sidebar .zpe-top-info-txt a span {
    color: #e71d2b;
  }
  .side-menu .zpe-infos-sidebar .zpe-top-info-img {
    font-size: 0.4em;
    margin-right: 1em;
    margin-left: -1.4em;
  }
  /* Abstände zwischen Zeilen */
  .side-menu .zpe-infos-sidebar h3 {
    margin-top: 0.3em;
    margin-bottom: 0.5em;
  }
  .side-menu .zpe-infos-sidebar .zpe-info-block, .side-menu .zpe-infos-sidebar .zpe-info-block:first-of-type  {
    margin-top: 0;
    margin-bottom: 0;
  }
  .side-menu .zpe-infos-sidebar .zpe-info-block:first-of-type {
    margin-top: 0.6em;
  }
  .side-menu .zpe-infos-sidebar table {
    margin-top: 0.2em;
    max-width: 270px;
  }
  .side-menu .zpe-infos-sidebar .btn {
    margin-top: 1.4em;
  }
  .side-menu .zpe-infos-sidebar .btn:hover {
    color: #fff;
  }
  /* styling of slide-in-navigation */
  .notification.side-menu .notification-close-cross {
    top: 0.75em;
    right: 1.2em;
    margin-top: 8px;
    font-size: 1.8em;
    color: #000;
  }
  .side-menu .notification-close-cross:before {
    content: "SCHLIEßEN";
    font-size: 0.55em;
    float: left;
    margin-right: 0.4em;
    line-height: 1.9em;
  }
  .side-menu .notification-close-cross:after {
    content: "\00D7";
    font-size: 1.8em;
  }
  @media (min-width: 768px) {
    .zpe-top-info i {
      margin-left: 0.1em;
    }
  }
  @media (min-width: 992px) {
    .zpe-top-info i {
      margin-left: 0.1em;
    }
    .zpe-top-info-tel {
      font-size: 1.6em;
    }
  }
  @media (min-width: 1200px) {
    .zpe-top-info img {
      margin-left: 45px;
    }
    .zpe-top-info i {
      margin-left: 1em;
    }
  }
  @media (max-width: 991px) and (min-width: 768px) {
    .zpe-top-info-tel {
      font-size: 1.6em;
    }
  }
  @media (max-width: 767px) {
    .zpe-top-info {
      padding-left: 0 !important;
      padding-right: 0 !important;
      text-align: left;
    }
    .zpe-top-info img {
      margin-left: 0;
      margin-right: 0.5em;
      width: 30px;
      height: 30px;
    }
    .zpe-top-info i {
      font-size: 27px;
      float: left;
      padding-right: 0.25em;
      margin-bottom: 0.2em;
    }
    .zpe-top-info a:not(:hover) {
      opacity: 1;
    }
    .zpe-top-info-tel {
      font-size: 1.3em;
      line-height: 2em;
      float: right;
      margin-left: 1px;
      font-weight: normal;
    }
    .zpe-top-info-add {
      font-size: 0.9em;
      line-height: 1.2em;
      padding-top: 0.3em;
      padding-right: 2em;
    }
    #zpe_side_menu_btn img {
      float: left;
      margin-left: 3px;
      margin-bottom: 7px;
    }
    #zpe_header_tel {
      display: flex;
      justify-content: flex-end;
    }
    #zpe_header_tel .zpe-top-info-img2 {
      float: left;
    }
    /* header alt*/
    /* .header--top-bar.bar.bar--sm {
    padding-top: 0.7em;
    } */
    .header--top-bar.bar.bar--sm {
      padding-top: 0;
      padding-bottom: 2px;
    }
    .pos-fixed .zpe-top-info-tel, .pos-fixed .zpe-top-info-add {
      color: #000000;
    }
    /* .zpe-top-info-img2 {
    margin-left: 0.9em;
    } */
    /* SIDE MENU */
    .side-menu {
      max-width: 95vw;
    }
  }
  @media (max-width: 500px) {
    .zpe-top-info-add {
      padding-right: 1.5em;
    }
    .zpe-top-info-img2 {
      margin-left: 0;
    }
    .bar--mobile-sticky > .container > .row > .col-xs-9:first-child {
      padding-right: 0;
    }
    /* side menu */
    .notification.side-menu .side-menu__module {
      overflow: hidden;
      padding: 2.78571429em 2.38571429em;
    }
  }
  @media (max-width: 350px) {
    .zpe-top-info img {
      margin-left: 0;
      width: 23px;
      height: 23px;
      margin-top: 5px;
    }
    .bar--mobile-sticky > .container > .row {
      padding-top: 3px;
    }
    .bar--mobile-sticky.pos-fixed > .container > .row {
      padding-top: 0;
    }
    .bar .logo, .bar.pos-fixed .logo {
      margin-top: 0;
      margin-bottom: 2px;
    }

    /* side menu */
    .notification.side-menu .side-menu__module {
      overflow: hidden;
      padding: 2.78571429em 1.78571429em;
    }
  }
  @media (min-width: 768px) {
    .nav-container .side-menu {
      display: none !important;
    }
  }

  /* --- Gobal Elements --- */
  /* Buttons hover effect */
  .btn {
    transition: 0.3s ease-out;
    -webkit-transition: 0.3s ease-out;
    -moz-transition: 0.3s ease-out;
  }

  /* scroll indicator */
  #scrollIndicator {
    position: absolute;
    bottom: 0.3em;
    left: 0;
    width: 100%;
    text-align: center;

    animation: bounce 3s infinite;
    -webkit-animation: bounce 3s infinite;
    -moz-animation: bounce 3s infinite;
    -o-animation: bounce 3s infinite;
  }
  #scrollIndicator a:hover {
    text-decoration: none;
  }
  #scrollIndicator i {
    font-weight: bold;
    font-size: 2.2em;
  }
  @media (max-width: 767px) {
    #scrollIndicator {
      bottom: 0.3em;
    }
  }
  @media (max-width: 1199px) and (min-width: 768px) {
    #scrollIndicator i {
      font-size: 2.3em;
    }
  }
  @media (min-width: 1200px) {
    #scrollIndicator i {
      font-size: 2.5em;
    }
  }
  #scrollIndicator.pos-scrolled {
    animation: none;
  }
  @-webkit-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);}
    40% {-webkit-transform: translateY(-10px);}
    60% {-webkit-transform: translateY(-5px);}
  }
  @-moz-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {-moz-transform: translateY(0);}
    40% {-moz-transform: translateY(-10px);}
    60% {-moz-transform: translateY(-5px);}
  }
  @-o-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {-o-transform: translateY(0);}
    40% {-o-transform: translateY(-10px);}
    60% {-o-transform: translateY(-5px);}
  }
  @keyframes bounce {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-10px);}
    60% {transform: translateY(-5px);}
  }

  /* fix feature box margins, make it more compact */
  .feature:not(.boxed) {
    margin-bottom: 0;
  }
  .feature-6 p {
    min-height: 0;
  }
  .feature-6 p:last-child {
    min-height: 0;
  }
  .feature h4 + p {
    max-width: none;
  }
  @media (max-width: 767px) {
    .feature h4 + p {
      margin-left: 0;
      margin-right: 0;
    }
  }
  @media (min-width: 1200px) {
    .feature-6 p {
      min-height: 3.2em;
    }
  }

  /* PAGE HEADERS: set min-height */
  /* #zpe_page_header, #zpe_intro {
  min-height: 550px;
}
@media (max-width: 767px) {
#zpe_page_header, #zpe_intro {
min-height: 620px !important;
}
} */
/* startseite sub-header / front page */
#zpe_intro {
  padding-top: 7.2em;
  padding-bottom: 1.4em;
  background-size: 100%;;
  background-position: 88% 38.2%;
  box-shadow: inset 0 10vh 30vh rgba(0,0,0,0.1);
  min-height: 500px;
  text-align: center;
}
#zpe_intro::before {
  position: absolute;
  content: '';
  background: #333333;
  width: 100%;
  height: 100%;
  min-height: 470px;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0.17;
}
#zpe_intro > .container, #zpe_intro > .container > .vc_row {
  height: 100%;
}
/* Titel anzeigen lassen:
#zpe_intro .title {
font-size: 1.4em;
}
#zpe_intro .title span {
display: inline-block;
text-shadow: 1px 1px 3px rgba(26, 47, 46, 0.4);
float: left;
clear: both;
}
#zpe_intro .title span:last-child {
margin-bottom: 1.61em;
}
*/
#zpe_intro .vc_empty_space {
  height: 1em !important;
}
#zpe_intro .title {
  opacity: 0;
  margin-bottom: 0;
}
#zpe_intro .title span {
  display: block;
  height: 0;
}
#zpe_intro .title span:last-child {
  margin-bottom: 0;
}

#zpe_intro .h1 {
  font-size: 4.2em;
  line-height: 1.25em;
  text-shadow: 1px 1px 3px rgba(26, 47, 46, 0.4);
  font-weight: 400;
  letter-spacing: -1px;
  clear: both;
  margin-bottom: 0.4em;
}
#zpe_intro .btn {
  font-size: 1.1em;
  padding-top: 0.6em;
  padding-bottom: 0.6em;
}
/* sub-page sub-header */
/* make header content 100% height of header */
#zpe_page_header {
  padding: 1.2em 0;
  min-height: 42vw;
}
#zpe_page_header .vc_empty_space {
  min-height: 37vw;
}
/* header background try */
#zpe_page_header .background-image-holder {
  box-shadow: inset 0 -20vh 20vh rgba(0,0,0,0.4);
}
@media (min-height: 600px) and (min-width: 767px) {
  .height-80 {
    height: 77vh;
  }
}

@media (max-width: 767px) {
  #zpe_page_header .background-image-holder {
    box-shadow: inset 0 -20vh 20vh rgba(0,0,0,0.61);
  }
  #zpe_page_header .vc_empty_space {
    min-height: 55vw;
  }
}
/* header title styling */
#zpe_page_header h1 {
  display: inline-block;
  /* background: rgba(97, 179, 0, 0.9); */
  padding: 0.1em 0.1em;
  font-size: 2.0em;
  line-height: 1em;
  border-radius: 3px;
  margin-bottom: 0.2em;
}
/* place bg */
#zpe_page_header.zpe-bg-top .background-image-holder {
  background-position: 50% 10% !important;
}
#zpe_page_header.zpe-bg-bottom .background-image-holder {
  background-position: 50% 90% !important;
}
/* mixed media queries */
@media (max-width: 470px) {
  #zpe_intro .h1 {
    font-size: 2.8em;
  }
  #zpe_page_header h1 {
    font-size: 1.8em;
  }
}
@media (max-width: 400px) {
  #zpe_intro .h1 {
    font-size: 2.5em;
    margin-bottom: 0.5em;
  }
  #zpe_intro .btn {
    font-size: 1em;
  }
}
@media (max-width: 400px) and (max-height: 600px) {

}
@media (min-width: 471px) and (max-width: 569px) {
  #zpe_intro .h1 {
    margin-top: 0;
    font-size: 2.9em;
  }
  #zpe_page_header h1 {
    font-size: 2.2em;
  }
}
@media (min-width: 570px) and (max-width: 767px) {
  #zpe_intro .h1 {
    margin-top: 0;
    font-size: 3.3em;
    width: 90%;
  }
  #zpe_page_header h1 {
    font-size: 2.6em;
  }
}
@media (min-width: 680px) and (max-width: 767px) {
  #zpe_intro .h1 {
    width: 100%;
  }
}
@media (max-width: 767px) {
  #zpe_intro {
    min-height: 470px;
    padding-top: 6.2em;
    background-position: 55% 50% !important;
    background-size: 328% !important;
    background-repeat: no-repeat !important;
  }
  /* nach oben verschoben (für alle Geräte)
  #zpe_intro .vc_empty_space {
  height: 1em !important;
  }
  #zpe_intro .title {
  opacity: 0;
  margin-bottom: 0;
  }
  #zpe_intro .title span {
  display: block;
  height: 0;
  }
  #zpe_intro .title span:last-child {
  margin-bottom: 0;
  }
  ... */

  #zpe_page_header.zpe-bg-focus .background-image-holder, .zpe-bg-focus .background-image-holder {
    height: 118%;
    top: -18%;
  }
  #zpe_page_header.zpe-bg-left .background-image-holder, .zpe-bg-left .background-image-holder {
    background-position: 18% 50% !important;
  }
  #zpe_page_header.zpe-bg-right .background-image-holder, .zpe-bg-right .background-image-holder {
    background-position: 82% 50% !important;
  }
}
@media (max-width: 991px) {
  #zpe_intro .btn {
    font-size: 1.1em;
    padding-top: 0.3em;
    padding-bottom: 0.35em;
    padding-left: 1.2em;
    padding-right: 1.2em;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  #zpe_intro .h1 {
    font-size: 3.7em;
  }
}
@media (min-width: 1200px) {
  #zpe_intro .h1 {
    font-size: 4.3em;
  }
}

/* sub-page sub-header settings continue */
#zpe_page_header .wpb_text_column {
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 100%;
}
/* Intro Block On Subpages */
.zpe-subpage-intro {
  padding-top: 1.618em;
  padding-bottom: 1.618em;
}
@media (min-width: 768px) {
  #zpe_page_header h1 {
    font-size: 2.7em;
  }
  .zpe-subpage-intro {
    padding-top: 2.2em;
    padding-bottom: 2.2em;
  }
}
@media (min-width: 992px) {
  #zpe_page_header h1 {
    font-size: 2.9em;
  }
}
@media (min-width: 1024px) {
  #zpe_page_header h1 {
    font-size: 3.1em;
  }
}
@media (min-width: 1200px) {
  #zpe_page_header h1 {
    font-size: 3.3em;
  }
  #zpe_page_header.zpe-bg-focus .background-image-holder {
    background-position: 50% 42% !important;
  }
}
/* header for contact etc. / bg-picture with text */
.cover .typed-headline {
  margin-bottom: -0.7em;
}


/* Teaser */
#zpe_feedback_teaser {
  padding: 0;
}

/* turn button of zpe-teaser into zpe-look */

.btn--primary-zap {
  background: #64b600;
  border-color: #64b600;
  margin-top: 1em;
}
.btn--primary-zap .btn__text {
  color: #fff;
  border-color: #fff;
}

/* --- Single Pages --- */
/* Startseite: Elemente */

/* zpe_infos_kompakt */
#zpe_infos_kompakt {
  padding-top: 0;
  padding-bottom: 2em;
}
#zpe_infos_kompakt .h3 {
  font-size: 1.52em;
  font-weight: 400;
  margin-top: 0.9em;
  margin-bottom: 0.41em;
  line-height: 1.2em;
}
#zpe_infos_kompakt p strong {
  margin-bottom: 0.7em;
  display: block;
}
#zpe_infos_kompakt a, .zpe-infos-sidebar a {
  text-decoration: none;
  font-weight: bold;
}
#zpe_infos_kompakt .btn, .zpe-infos-sidebar .btn {
  padding: 0.5em 0.7em;
  margin-bottom: 1em;
  margin-top: 0.4em;
  border-color: #e71d2b;
}
#zpe_infos_kompakt .btn .btn__text, #zpe_infos_kompakt .btn i, .zpe-infos-sidebar .btn .btn__text, .zpe-infos-sidebar .btn i {
  color: inherit;
  border-color: inherit;
  font-weight: inherit;
  font-size: inherit;
}
#zpe_infos_kompakt .btn i, .zpe-infos-sidebar .btn i {
  font-weight: bold;
  font-size: 0.9em;
  margin-right: 1px;
}
#zpe_infos_kompakt table, .zpe-infos-sidebar table {
  margin: 0;
  font-size: 1.1em;
}
#zpe_infos_kompakt td, .zpe-infos-sidebar td {
  padding: 0.11em 0;
}
#zpe_infos_kompakt .zpe-day{
  font-size: 1rem;
  font-weight: bold;
}
.zpe-infos-sidebar .zpe-day {
  font-size: 0.9rem;
}
#zpe_infos_kompakt .zpe-time, .zpe-infos-sidebar .zpe-time {
  vertical-align: 3px;
  font-size: 80%;
  margin-left: 2px;
}
#zpe_infos_kompakt p {
  margin-bottom: 0;
}
@media (max-width: 350px) {
  #zpe_infos_kompakt .btn i {
    display: none;
  }
  #zpe_infos_kompakt .h3 {
    margin-bottom: 0.6em;
  }
}
@media (max-width: 767px) {
  #zpe_infos_kompakt {
    padding-top: 0.3em;
  }
  #zpe_infos_kompakt .btn {
    margin-bottom: 0.9em;
  }
  #zpe_infos_kompakt p {
    font-size: 1.02em;
  }
  #zpe_infos_kompakt p strong {
    margin-bottom: 0.4em;
  }
  #zpe_infos_kompakt .h3 {
    font-size: 1.52em;
    font-weight: 400;
    margin-top: 1em;
    margin-bottom: 0.6em;
    line-height: 1.2em;
  }
}

/* openingHours table, some is code for display on "anfahrt & kontakt" */
#openingHours td {
  border: none;
}
#openingHours td:first-child {
  padding-left: 0;
}
#openingHours tr:nth-child(even) {
  background-color: transparent;
}


@media (min-width: 768px) and (max-width: 991px) {
  #zpe_infos_kompakt {
    padding-bottom: 2.2em;
  }
  #zpe_infos_kompakt .zpe-float-right {
    clear: both;
    float: left;
    margin-top: 1.2em;
    margin-bottom: 1.2em;
  }
  #zpe_infos_kompakt .h3 {
    margin-top: 1.2em;
    margin-bottom: 0.5em;
  }
  #zpe_infos_kompakt p {
    margin-bottom: 1em;
  }
  #zpe_infos_kompakt .btn {
    padding: 0.5em 1.3em;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  #zpe_infos_kompakt {
    padding-top: 0;
    padding-bottom: 2.4em;
  }
  #zpe_infos_kompakt h2 {
    font-size: 1.32em;
  }
  #zpe_infos_kompakt .h3 {
    font-size: 1.32em;
    margin-bottom: 0.57em;
    margin-top: 1.5em;
  }
  #zpe_infos_kompakt a {
    letter-spacing: -0.5px;
  }
  #zpe_infos_kompakt p {
    font-size: 0.98em;
  }
  #zpe_infos_kompakt .btn i {
    margin-right: 0.15em;
  }
}
@media (min-width: 1200px) {
  #zpe_infos_kompakt {
    padding-top: 0;
    padding-bottom: 2.4em;
  }
  #zpe_infos_kompakt .btn {
    margin-bottom: 1em;
  }
  #zpe_infos_kompakt table {
    margin-top: 0.61em;
  }
  #zpe_infos_kompakt td {
    padding: 0;
  }
  #zpe_infos_kompakt .h3 {
    font-size: 1.61em;
    margin-bottom: 0.7em;
    margin-top: 1.3em;
  }
  #zpe_infos_kompakt .btn i {
    margin-right: 0.15em;
  }
}

/* zpe_willkommen */
#zpe_willkommen > .wpb_column {
  padding-top: 0;
  padding-bottom: 0;
}
#zpe_willkommen > .wpb_column > .vc_column-inner {
  padding-top: 0;
}
#zpe_willkommen p {
  font-size: 1.1em;
  line-height: 1.6em;
}
#zpe_willkommen .box-shadow-wide {
  box-shadow: 0 0 40px rgba(255, 255, 255, 0.2);
}
#zpe_willkommen_unterschriften {
  margin-top: 0.2em;
}
#zpe_willkommen_unterschriften p {
  font-size: 1em;
}
#zpe_willkommen_unterschriften .wpb_single_image .vc_single_image-wrapper {
  vertical-align: middle;
  height: 2.7em;
  overflow: visible;
}
#zpe_willkommen_unterschriften .wpb_single_image img {
  height: 5.5em;
  max-width: none;
  width: auto;
  padding-bottom: 2em;
}
#zpe_willkommen .h2 {
  margin-bottom: 0.44em;
}
@media (max-width: 509px) {
  #zpe_willkommen_unterschriften .wpb_single_image .vc_single_image-wrapper {
    height: 3em;
  }
}
@media (min-width: 510px) and (max-width: 767px) {
  #zpe_willkommen_unterschriften .wpb_single_image .vc_single_image-wrapper {
    height: 3.2em;
  }
}
@media (max-width: 767px) {
  #zpe_willkommen {
    text-align: center;
  }
  #zpe_willkommen .imageblock > .container {
    padding-top: 1.2em;
    padding-bottom: 1.1em;
  }
  #zpe_willkommen .imageblock .imageblock__content {
    min-height: 27.571429em;
  }
  #zpe_willkommen .h2 {
    font-size: 1.985714em;
    line-height: 1.35em;
    margin-top: 0.3em;
  }
  #zpe_willkommen p {
    font-size: 1.1em;
    line-height: 1.6em;
  }
  #zpe_willkommen_unterschriften {
    margin-top: 5px;
  }
  #zpe_willkommen_unterschriften p {
    font-size: 1em;
  }
  #zpe_willkommen_unterschriften .wpb_single_image {
    text-align: center;
    margin-bottom: 0.5em;
  }
  #zpe_willkommen_unterschriften img {
    margin-left: 50%;
    transform: translateX(-50%);
  }
  #zpe_willkommen_unterschriften .zpe-signature-text {
    overflow: visible;
  }
  #zpe_willkommen_unterschriften .zpe-signature-text p {
    width: 120%;
    position: absolute;
    left: -10%;
    text-align: center;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  #zpe_willkommen .imageblock > .container {
    padding-top: 2.5em;
    padding-bottom: 2.5em;
  }
  #zpe_willkommen section.space--sm {
    padding-top: 2.7em;
    padding-bottom: 2.7em;
  }
  #zpe_willkommen .imageblock__content  {
    width: 50%;
  }
  #zpe_willkommen .h2 {
    font-size: 2.1em;
    margin-bottom: 0.44em;
  }
  #zpe_willkommen p {
    font-size: 1em;
    margin-bottom: 1em;
  }
  #zpe_willkommen p:last-child {
    margin-bottom: 0em;
  }
  #zpe_willkommen .col-sm-7 {
    width: 48.3%;
    padding-right: 30px;
  }
  #zpe_willkommen_unterschriften {
    margin-top: -0.5em;
  }
  #zpe_willkommen_unterschriften .wpb_single_image .vc_single_image-wrapper {
    height: 2em;
    margin-bottom: 0.2em;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  /* #zpe_willkommen > .wpb_column {
  padding-top: 1.4em;
  padding-bottom: 3.5em;
  } */
}
@media (min-width: 992px) and (max-width: 1199px) {
  #zpe_willkommen .mt--2 {
    margin-top: -0.9em;
    margin-left: -3em;
  }
  #zpe_willkommen .imageblock > .container {
    padding-top: 3.7em;
    padding-bottom: 3.7em;
  }
  #zpe_willkommen .imageblock__content {
    width: 56%;
  }
  #zpe_willkommen_unterschriften .wpb_single_image .vc_single_image-wrapper {
    height: 2.4em;
  }
}
@media (min-width: 1200px) {
  #zpe_willkommen .mt--2 {
    margin-top: 0.85em;
    margin-left: -4.4em;
    padding-right: 2em;
  }
  #zpe_willkommen .imageblock__content {
    width: 54%;
  }
  /* #zpe_willkommen > .wpb_column {
  padding-top: 1.5em;
  padding-bottom: 3.7em;
  } */
}
@media (min-width: 768px) and (max-width: 991px) {
  #zpe_willkommen .mt--2 {
    margin-top: -0.68em;
  }
}

#zpe_feedback .flickity-slider {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#zpe_feedback .slide > .row {
  margin-top: -0.3em;
}
#zpe_feedback .testimonial > div:first-of-type {
  width: 100%;
  margin: 0;
  padding: 0;
}
#zpe_feedback .testimonial > div:last-of-type {
  margin: 0 auto;
  float: none;
}
#zpe_feedback .testimonial img {
  max-width: 240px;
}
#zpe_feedback .testimonial .testimonial__image {
  margin-bottom: 1.7em;
  margin-top: 1em;
}

#zpe_team, #zpe_praxis, #zpe_team > div, #zpe_praxis > div {
  padding: 0;
}
#zpe_team .wpb_single_image img, #zpe_praxis .wpb_single_image img {
  max-width: 100%;
}
#zpe_team .vc_figure, #zpe_praxis .vc_figure {
  width: 100%;
}
#zpe_team .vc_figure > .vc_single_image-wrapper, #zpe_praxis .vc_figure > .vc_single_image-wrapper {
  width: 100%;
  overflow: hidden;
}
#zpe_team .vc_figure > .vc_single_image-wrapper > img, #zpe_praxis .vc_figure > .vc_single_image-wrapper img {
  width: 100%;
}

/* change h3-size on feedbacks */

#zpe_feedback .h3 {
  font-size: 1.5em;
  line-height: 1.5em;
}

@media (max-width: 767px) {
  #zpe_feedback .h3 {
    font-size: 1.1em;
    line-height: 1.5em;
  }

/* */

}
@media (max-width: 767px) {
  #zpe_feedback .flickity-prev-next-button.previous {
    left: -15px;
  }
  #zpe_feedback .flickity-prev-next-button.next {
    right: -15px;
  }
  #zpe_feedback .testimonial img {
    max-width: 180px;
  }
  #zpe_feedback .testimonial > div:last-of-type {
    width: 85%;
  }

  #zpe_feedback .testimonial .testimonial__image {
    margin-bottom: 1.7em;
    margin-top: 0.5em;
  }

  #zpe_team .lead:not(:last-child), #zpe_praxis .lead:not(:last-child) {
    margin-bottom: 0.968421em;
  }

  #zpe_praxis .vc_single_image-wrapper {
    overflow: hidden;
  }
  #zpe_praxis .vc_figure > .vc_single_image-wrapper img {
    max-width: 150%;
    width: 150%;
    margin-left: -32%;
    margin-top: -10%;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  #zpe_team .vc_single_image-wrapper, #zpe_praxis .vc_single_image-wrapper {
    max-height: 28em;
  }
  #zpe_feedback .testimonial img {
    max-width: 220px;
  }
}
@media (min-width: 992px) and (max-width: 1023px) {
  #zpe_team .vc_single_image-wrapper, #zpe_praxis .vc_single_image-wrapper {
    max-height: 36em;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  #zpe_team .vc_single_image-wrapper, #zpe_praxis .vc_single_image-wrapper {
    max-height: 36em;
  }
  #zpe_team > .container, #zpe_praxis > .container {
    min-height: 3.3em !important;
  }
}
@media (min-width: 1200px) {
  #zpe_team .vc_single_image-wrapper {
    max-height: 44em;
  }
  #zpe_praxis .vc_single_image-wrapper {
    max-height: 44em;
  }
  #zpe_team > .container, #zpe_praxis > .container {
    min-height: 3.7em !important;
  }
  #zpe_feedback .testimonial .testimonial__image {
    margin-bottom: 2em;
    margin-top: 1em;
  }

  #zpe_praxis .vc_figure > .vc_single_image-wrapper img {
    margin-top: -7%;
  }
  #zpe_team .vc_figure > .vc_single_image-wrapper > img {
    margin-top: -3%;
  }
}

#zpe_philosophie {
  padding-top: 3em;
  padding-bottom: 0;
}
@media (max-width: 767px) {
  #zpe_philosophie {
    padding-top: 1.6em;
  }
}

/* TODO:  verschieben */
#zpe_laserzahnheilkunde {
  text-align: center;
}
@media (min-width: 768px) {
  #zpe_laserzahnheilkunde .mt--2 {
      margin-top: -0.5em;
  }
}
@media (min-width: 1200px) {
  #zpe_laserzahnheilkunde .mt--2 {
      margin-top: 3.71428571em;
  }
}

#zpe_leistungen .feature-3 span.icon {
  margin-top: 20px;
}
#zpe_leistungen .boxed:not(:last-child) {
  margin-bottom: 0;
}
#zpe_leistungen h3 {
  font-size: 1.17em;
}
#zpe_leistungen .boxed.boxed--lg {
  padding: 1.5em;
  padding-bottom: 2.5em;
  margin-bottom: 0;
}
#zpe_leistungen hr {
  margin: 1.057143em 0;
}
@media (max-width: 767px) {
  #zpe_leistungen .boxed.boxed--lg {
    padding-bottom: 1.3em;
  }
  #zpe_leistungen .feature p:last-child {
    margin-bottom: 0.857143em;
  }
  #zpe_leistungen hr {
    display: none;
  }
  #zpe_leistungen h3 {
    margin-bottom: 0.8em;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  #zpe_leistungen .col-sm-4 {
    padding-left: 7px;
    padding-right: 7px;
  }
  #zpe_leistungen .boxed.boxed--lg {
    padding: 1em;
    padding-bottom: 1em;
  }
}
@media (min-width: 992px) {
  #zpe_leistungen h3 {
    font-size: 1.37em;
  }
}

/* Smiling Info */
#zpe_smiling_teaser {
  padding-top: 2.6em;
  padding-bottom: 2.6em;
}
#zpe_smiling_teaser .boxed.boxed--lg {
  padding: 7.7em;
}

/* make play button bigger, place background more right to make visibility of face better */
#zpe_smiling_teaser .video-play-icon.video-play-icon--sm:before {
  border-width: 10px 0 10px 15px;
  margin-top: -10px;
}
#zpe_smiling_teaser .video-play-icon.video-play-icon--sm {
  margin-right: 0;
  margin-bottom: 0;
  margin-top: 0;
  width: 5em;
  height: 5em;
}
#zpe_smiling_teaser .video .background-image-holder {
  background-position: 30% 50% !important;
}

@media (max-width: 767px) {
  #zpe_smiling_teaser .video .background-image-holder {
    background-position: 45% 50% !important;
  }
  #zpe_smiling_teaser .video {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .cover .row .row:last-child {
    margin-top: 0;
  }
  #zpe_smiling_teaser .boxed.boxed--lg {
    padding: 7.7em;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  #zpe_smiling_teaser .video .background-image-holder {
    background-position: 37.5% 50% !important;
  }
}
@media (min-width: 1200px) {
  #zpe_smiling_teaser .video .background-image-holder {
    background-position: 0% 50% !important;
  }
}

/* Jetzt Anrufen / noch Fragen? */
@media (max-width: 767px) {
  #zpe_outro hr {
    margin: 0.857143em 0;
  }
  #zpe_outro .wpb_column:first-child {
    margin-bottom: 1.3em;
  }
}

/* FOOOTER */
footer:not(.bg--primary):not(.bg--dark) a {
  color: #ffffff;
}
footer .btn--sm {
  padding-left: 1.35em;
  padding-right: 1.35em;
}
@media (min-width: 768px) {
  #text-5 .btn {
    display: none;
  }
}
@media (max-width: 991px) {
  footer.footer-6 > .container > .row > .col-sm-6:first-child, footer.footer-6 > .container > .row > .col-sm-6:nth-child(2) {
    display: none;
  }
}
@media (max-width: 767px) {
  footer.footer-6 {
    padding: 2.571429em 0;
    text-align: center;
  }
  footer.footer-6 .footer__lower {
    margin-top: 0;
    padding: 0;
  }
  footer .stack-footer-social {
    display: none;
  }
  footer p:last-child {
    margin-bottom: 0;
    margin-top: 1.5em;
  }
  footer.footer-6 h6 {
    margin-bottom: 1.3em;
  }
}


/* SINGLE PAGES / UNTERSEITEN */
/* PAGE: Unser Team */
h3.vc_custom_heading {
  margin-top: 0.8em;
  margin-bottom: 2em;
  font-size: 1.485714em;
}
.zpe-team-sub-header {
  padding-top: 3em;
  padding-bottom: 3em;
}
.zpe-team-bilder {
  padding-bottom: 1em;
}
@media (max-width: 767px) {
  .zpe-team-bilder {
    padding-bottom: 0;
  }
}

/* PAGE: Unsere Praxis */
#zpe_praxis_features .imageblock > .container, #zpe_praxis_features .imageblock > div[class*='col-']:not(.imageblock__content) {
  padding-top: 1em;
  padding-bottom: 1em;
}
#zpe_parkplatz p, #zpe_barrierefreier_zugang p  {
  text-align: center;
}
#zpe_parkplatz i, #zpe_barrierefreier_zugang i {
  font-size: 7.9em;
}
@media (max-width: 767px) {
  #zpe_praxis_features .imageblock > .container, #zpe_praxis_features .imageblock > div[class*='col-']:not(.imageblock__content) {
    padding-top: 2em;
    padding-bottom: 2em;
  }
  #zpe_parkplatz {
    margin-top: 0.1em;
  }

  /* flickity-slider always full-width on mobile */
  .sliderprax .slides {
    margin-left: -15px !important;
    margin-right: -15px !important;
    background-color: #cebc41;
  }
  #zpe_praxis_intro {
    padding-bottom: 0;
  }
  #zpe_praxis_intro .col-sm-2:last-child {
    display: none;
  }

  /* slider: more height, almost square ratio on mobile screens */
  #zpe_praxis_intro .flickity-viewport {
    min-height: 375px;
  }
  #zpe_praxis_intro .slider li {
    overflow: hidden;
  }
  #zpe_praxis_intro .slide > img {
    min-height: 375px;
    width: auto;
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
  }

  #zpe_praxis_features {
    text-align: center;
  }
}
@media (max-width: 375px) {
  #zpe_praxis_intro .flickity-viewport {
    min-height: 300px;
  }
  #zpe_praxis_intro .slide > img {
    min-height: 300px;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  #zpe_praxis_features .col-sm-4 {
    width: 41%;
  }
  #zpe_praxis_features  .col-sm-7 {
    width: 56%;
  }
  #zpe_praxis_features .image-bg-pos-left .background-image-holder {
    background-position: 0% 50% !important;
  }
  #zpe_praxis_features .image-bg-pos-right .background-image-holder {
    background-position: 100% 50% !important;
  }
  #zpe_praxis_features section.space--sm {
    padding-top: 2em;
    padding-bottom: 2em;
  }
}
@media (min-width: 992px) {
  #zpe_praxis_features .col-md-5 {
    width: 44.666667%;
  }
}

#zpe_info_barrierefrei {
  padding-top: 3.3em;
  padding-bottom: 3.3em;
}

#zpe_zaehne_aus_ettlingen_teaser:before {
  opacity: 0.6;
  background-color: #000;
}

#uptodate .col-sm-5.col-sm-offset-1 {
  width: 50%;
}

/* PAGE: Philosophie */
#zpe_philosophie2 i:before {
  color: #cebc41;
}
@media (max-width: 767px) {
  /* slider mobile volle breite & kein abstand nach unten */
  /* TODO: Spalte unter Slider noch auf Seite entfernen */
  #zpe_philosophie_text {
    padding-bottom: 0;
  }
  #zpe_philosophie_text .slider > .slides {
    margin-left: -15px;
    margin-right: -15px;
  }
}

/* PAGE: Leistungen */
#zpe_leistungen_intro h3 {
  margin-bottom: 0;
}
#zpe_leistungen_intro i {
  color: #cebc41;
}
#zpe_laserzahnheilkunde {
  text-align: left;
}
#zpe_zahn_der_zeit .btn {
  margin-top: 0.5em;
}
@media (max-width: 767px) {
  #zpe_laserzahnheilkunde {
    text-align: center;
  }
  #zpe_leistungen_intro h3 {
    margin-bottom: 0.3em;
    margin-top: 0.3em;
  }
}

/* PAGE: Anfahrt & Kontakt */
#zpe_anfahrt_kontakt_intro {
  padding-left: 15px;
  padding-right: 15px;
}
#zpe_anfahrt_kontakt_intro .btn {
  margin-bottom: 0.35em;
}
.zpe-infos-anfahrt-kontakt .zpe-info-block {
  margin-top: 1em;
  margin-bottom: 1em;
  display: block;
  min-height: 4em;
}
.zpe-infos-anfahrt-kontakt .zpe-info-block:first-of-type {
  margin-top: 3em;
  margin-bottom: 1.6em;
}
.zpe-infos-anfahrt-kontakt .zpe-info-block:first-of-type .zpe-top-info-txt {
  margin-top: 1px;
}
.zpe-infos-anfahrt-kontakt .h3 {
  margin-top: 1.7em;
}
.zpe-infos-anfahrt-kontakt .zpe-top-info-img {
  float: left;
  margin-right: 3em;
  margin-left: -0.3em;
  font-size: 0.6em;
  line-height: 2.5em;
  min-width: 5.7em;
  text-align: center;
  color: #000;
}
.zpe-infos-anfahrt-kontakt .zpe-top-info-img .icomoon-zpe-anfahrt {
  margin-left: 0.1em;
}
.zpe-infos-anfahrt-kontakt .zpe-top-info-img .icomoon-zpe-anrufen {
  font-size: 4.9em;
  margin-left: 0.12em;
}
.zpe-infos-anfahrt-kontakt .zpe-top-info-img .icomoon-zpe-kontakt {
  font-size: 5.5em;
}
.zpe-infos-anfahrt-kontakt .zpe-top-info-txt {
  margin-top: -0.4em;
}

/* make telephone number bigger on page "anfahrt und kontakt" */
.zpe-infos-anfahrt-kontakt .zpe-top-info-txt.sms-big-tel {
  margin-top: -0.3em;
  font-size: 1.4em;
}
/* make telephone number bigger in mobile sidebar */
.zpe-infos-anfahrt-kontakt .zpe-top-info-txt.sms-big-tel-2 {
  margin-top: -0.3em;
  font-size: 1.4em;
}

.zpe-infos-anfahrt-kontakt td:first-child {
  font-weight: bold;
}

#zpe_infos_kompakt .zpe-day {
  font-weight: bold;
}

.zpe-infos-anfahrt-kontakt .zpe-info-block {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .zpe-infos-anfahrt-kontakt .zpe-top-info-add {
    line-height: 1.7em;
  }
  .zpe-infos-anfahrt-kontakt .zpe-info-block:first-of-type {
    margin-top: 2em;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .zpe-infos-anfahrt-kontakt .imageblock > .col-sm-4 {
    width: 37.2%;
  }
}

#zpe_infos_kompakt.anfahrt-und-kontakt {
  padding-bottom: 0;
  width: 88%;
}
#zpe_infos_kompakt.anfahrt-und-kontakt tr {
  height: 2.5em;
}

#zpe_wegbeschreibung .tabs {
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.157143em;
}
#zpe_wegbeschreibung .tabs li {
  width: 100%;
}
#zpe_wegbeschreibung .tab__content {
  font-size: 1.1em;
}
#zpe_wegbeschreibung p {
  text-align: center;
}
@media (max-width: 767px) {
  #zpe_wegbeschreibung .tabs li {
    padding: 0.7em;
  }

@media (min-width: 768px) {
  #zpe_wegbeschreibung .icon {
    font-size: 3.3em;
  }
}


#zpe_wir_sind_da .boxed {
  margin-top: 5em;
  margin-bottom: 5em;
}

/* PAGE: Häufige Fragen (FAQ) */
#zpe_faq .accordion li .accordion__title {
  margin-bottom: 0.728571em;
  opacity: 1;
}
#zpe_faq .accordion .accordion__title:before {
  color: #cebc41;
}
#zpe_faq .accordion li .accordion__title, #zpe_faq .accordion li .accordion__content, #zpe_faq .accordion li .accordion__content * {
  transition: opacity 0.3s linear;
  -webkit-transition: opacity 0.3s linear;
  -moz-transition: opacity 0.3s linear;
}
/* active tab styling */
#zpe_faq .accordion li.active {
  margin-bottom: 0.92857143em;
}
#zpe_faq .accordion li.active .accordion__title {
  margin-bottom: 0.1em;
}
#zpe_faq .accordion li.active .accordion__title span.h5 {
  color: #cebc41;
}
#zpe_faq .accordion li.active .accordion__content {
  background: #fafafa;
  border: 2px solid #cebc41;
  animation: none;
  -webkit-animation: none;
}
#zpe_faq .accordion li .accordion__content > p {
  padding: 0.7em 1em !important;
  margin: 0;
}

#zpe_wir_sind_da .background-image-holder {
  background-position: 50% 100% !important;
}

/* PAGE: Impressum */
#zpe_impressum .h4 {
  display: inline-block;
  margin-top: 1em;
}

/* 404 Seite */
#zpe_404 {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#b8e25d+0,e0ea70+24,ceea5d+71,daef83+100 */
  background: #b8e25d; /* Old browsers */
  background: -moz-linear-gradient(top, #a8d548 0%, #cad45d 24%, #bfda4e 71%, #c0d46c 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #a8d548 0%,#cad45d 24%, #bfda4e 71%,#c0d46c 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #a8d548 0%,#cad45d 24%,#bfda4e 71%,#c0d46c 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a8d548', endColorstr='#c0d46c',GradientType=0 ); /* IE6-9 */
}
@media (max-width: 767px) {
  #zpe_404 h1 {
    margin-top: 0.5em;
  }
}
