* {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  }
  
IMG {
  max-width: 100%;
  height: auto;
  }  
  
/* HEADER
------------------------------------------------------------------------- */     

#header {
  position: fixed;
  height: 50px;
  z-index: 201;
  padding: 0;
  }
  
#header:after {  
  content: " ";
  position: absolute;
  z-index: 201;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.75);
  }
  
#header > * {
  z-index: 202;
  }  
  
#header #logo {
  left: 15px;
  filter: grayscale(1);
  z-index: 202;
  }

#header #nav {
  background: #F2F0E3;
  position: fixed;
  z-index: 200;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  transition: 0.2s;
  left: 100%;
  flex-direction: column;
  justify-content: center;
  }
  
BODY.menu #header #nav {  
  left: 0;
  }
  
#header #nav > DIV {  
  width: 100%;
  }
  
#header #nav UL {  
  padding-top: 0;
  background: none;
  }
  
#header #nav UL LI {
  display: block;
  }  
  
#header #nav UL LI A {
  display: block;
  color: #000;
  padding: 10px 0;
  border: none;
  background: none;
  font-weight: bold;
  font-size: 20px;
  }
  
#header #nav UL LI.current-menu-item A,
#header #nav UL LI.current-page-ancestor A {  
  color: #A99D40;
  background: none !important;
  }
  
#header #nav .button {
  display: none;
  margin-top: 30px;
  padding: 12px 20px 16px 20px !important;
  background: #fff !important;
  color: #000 !important;
  box-shadow: 2px 2px 10px rgba(0,0,0,0.11);
  }
  
#header .right {
  padding-right: 25px;
  } 
  
#header .right A { 
  opacity: 1;
  }
  
#header .right .apply {
  line-height: 1.3;
  padding-bottom: 5px;
  }

/* MOBILE MENU
------------------------------------------------------------------------- */   
  
#icon-menu {
  display: block;
  position: fixed;
  z-index: 302;
  top: 0px;
  right: 0px;
  width: 24px;
  height: 50px;
  width: 50px;
  height: 50px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  transition: position 0s;
  cursor: pointer;
  float: left;
  cursor: pointer;
  }

#icon-menu span {
  display: block;
  position: absolute;
  height: 2px;
  width: 24px;
  background: #fff;
  opacity: 1;
  left: 12px;
  -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;
  }

#icon-menu span:nth-child(1) {
  top: 16px;
  }

#icon-menu span:nth-child(2),#icon-menu span:nth-child(3) {
  top: 23px;
  }

#icon-menu span:nth-child(4) {
  top: 30px;
  }
  
#icon-menu.open {
  margin-top: 0;
  }  
  
#icon-menu.open span:nth-child(1) {
  top: 10px;
  width: 0%;
  left: 50%;
  }

#icon-menu.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  }

#icon-menu.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  }

#icon-menu.open span:nth-child(4) {
  top: 20px;
  width: 0%;
  left: 50%;
  } 
  
/* SLICK SLIDER
------------------------------------------------------------------------- */   
  
.slick-arrow {
  width: 50px;
  height: 50px;
  line-height: 51px;
  font-size: 24px;
  top: auto;
  bottom: 20px;
  left: 20px;
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  }
  
.slick-arrow:hover {
  background: #fff;
  color: #000;
  }  
  
.slick-next {  
  left: auto;
  right: 20px;
  }
  
#slider .s1 H1 {
  top: 64%;
  font-size: 6vw;
  left: 40%;
  }
  
#slider .s1 H1 .smaller {
  font-size: 3vw;
  line-height: 1.4;
  }
  
#slider .s1 H2 {
  display: none;
  }  
  
#slider .s2 .text {
  left: 20px;
  right: 20px;
  margin-left: 0;
  width: auto;
  }  
  
#slider .s2 .text BR {  
  display: none;
  }
  
#slider .s2 .text H1 {
  margin-top: 10px;
  font-size: 7vw;
  max-width: 60%;
  text-align: right;
  padding-left: 50px;
  }  
  
#slider .s2 .text P {
  font-size: 3.8vw;
  margin-left: 30px;
  margin-right: 40px;
  }  
  
#slider .text .cta {
  background: rgba(150, 48, 155, 0.95);
  }  
  
#slider .s3 .text {
  top: 55px;
  left: 20px;
  height: 100%;
  }  
  
#slider .s3 H1 {
  font-size: 5vw;
  max-width: 70%;
  margin-bottom: 10px;
  }
  
#slider .s3 .text P {
  font-size: 3.5vw;
  width: 60%;
  }  
  
#slider .s3 .text P BR {
  display: none;
  } 
  
#slider .s3 .cta { 
  position: fixed;
  bottom: 200px;
  left: 50vw;
  margin-left: -110px;
  }
  
#slider .s4 .text {
  text-align: left;
  left: 20px;
  top: 50px;
  }  
  
#slider .s4 .text H1 {
  text-align: left;
  font-size: 5vw;
  margin-bottom: 5px;
  }  
  
#slider .s4 .text P {
  line-height: 1.25;
  }  
  
#slider .text P {
  font-size: 3.5vw;
  }  
  
#slider .s4 .text P BR {
  display: none;
  }
  
#slider .s4 .cta { 
  position: fixed;
  bottom: 70px;
  left: 50vw;
  margin-left: -74px;
  }  
  
/* ANFAHRT / KARTE
----------------------------------------------------------------------- */ 

#map {
  position: relative;
  height: 100vw;
  }

#map-overlay {
  position: static;
  width: 100%;
  box-shadow: none;
  border-radius: 0;
  border: none;
  margin-top: 50px;
  padding-bottom: 30px;
  }  
  
#map-overlay IMG {
  border-radius: 0;
  }  
  
/* LAYOUT
------------------------------------------------------------------------- */     
  
#page {
  width: auto;
  }

#container {
  padding: 10px;
  padding-top: 60px;
  margin: 0;
  }  
  
.home #container {
  margin-left: 0;
  }  
  
.column {
  width: 100%;
  float: none;
  margin: 0;
  }  
  
.rectangle,
.rectangle.padding {
  width: auto;
  height: auto;
  } 
  
.rectangle H1,
.rectangle H2 {
  margin-top: 5px;
  margin-bottom: 15px;
  }   
  
.rectangle.padding { 
  padding-top: 20px;
  padding-bottom: 20px;
  }
  
.rectangle.image {
  border: none;
  width: 100%;
  height: auto;
  } 
  
.rectangle.image IMG {   
  float: left;
  }

.rectangle.big {
  height: auto;
  }  
  
.rectangle.main {
  margin-bottom: 10px;
  }  
  
.rectangle .bottom {
  position: static;
  padding-top: 10px;
  }  
  
.rectangle.quote.large {
  width: auto;
  clear: both;
  margin-right: 0;
  }  
  
.assistentinnen #main {
  margin-right: 0;
  }  
  
.assistant {
  float: none;
  width: auto;
  height: auto;
  margin-right: 0;
  box-sizing: border-box;
  margin-right: 0px;
  }  
  
.assistant .name {
  width: 100%;
  background: rgba(255,255,255,0.75);
  }  
  
.assistant IMG {  
  float: left;
  width: 100%;
  }
  
H1 {
  clear: both;
  margin-top: 15px;
  font-size: 22px;
  line-height: 1.1;
  }  
  
h1.bgcolor {
  padding-top: 0px;
  padding-bottom: 5px;
  }  
  
#gallery {
  position: relative;
  width: auto;
  border: none;
  margin-bottom: 10px;
  }  
  
#content {
  width: auto;
  float: left;
  margin: 0;
  overflow: hidden;
  }  
  
#content P {
  overflow: hidden;
  }  
  
#content TD H1.bgcolor {
  font-size: 20px;
  }  
  
#content P IMG {
  float: left;
  margin-bottom: 10px;
  }  
  
#content TABLE,
#content TABLE TR,
#content TABLE TR TD {
  display: block;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  } 
  
#content TABLE TR TD {
  margin-bottom: 10px !important;
  background: none;
  }    

#content TABLE TR TD:last-child {
  background: url(../images/hr@2x.png) repeat-x bottom left;
  background-size: auto 4px;
  padding-bottom: 15px !important;
  }
  
.ddr-ulrike-steinhauser #content TABLE TR TD:first-child,
.ddr-gregor-steinhauser #content TABLE TR TD:first-child {
  font-weight: bold;
  margin-bottom: 0 !important;
  }

h1.bgcolor {
  margin-top: 0;
  }  
  
.items UL LI {
  height: auto;
  }  
  
.items UL LI A {
  padding: 10px 15px 13px 15px;
  white-space: inherit;
  overflow: visible;
  text-overflow: inherit;
  line-height: 1.2;
  }  
  
.imageborder {
  height: auto;
  width: auto;
  float: none;
  border: none;
  margin: 0;
  }
  
.imageborder IMG:only-child {
  margin-bottom: 10px !important;
  }
  
.subpage {
  width: auto;
  }  
  
.subpage .pageImage .default {
  margin-bottom: 10px;
  overflow: hidden;
  }  
  
.subpage .pageImage .hover {
  margin-bottom: 10px;
  overflow: hidden;
  }   
  
IMG.alignright {
  margin-left: 0;
  margin-right: 40px;
  float: none !important;
  display: block;
  margin: 25px auto !important;
  }  
  
.wo-wir-helfen-koennen #content TABLE TD .imageborder {
  margin: 0;
  border: none;
  }
  
/* FAQ
------------------------------------------------------------------------- */      

#container {
  

  }
  
.container {
  display: block;
  }  
  
#eyecatcher {
  aspect-ratio: auto;
  }
  
#eyecatcher .text {
  top: 50px;
  padding: 20px;
  } 
  
#eyecatcher .text .container {
  padding: 0px;
  }
  
#eyecatcher .text H1 {
  font-size: 8vw;
  margin: 0;
  }  
  
#slider .slide IMG {
  height: 120vw;
  }
  
#page .container .content-left,
#page .container .content-right {
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  }  
  
#page .container .content-left H2 {
  font-size: 26px;
  line-height: 1.2;
  padding-right: 20px;
  }
  
/* GRAVITY FORMS
------------------------------------------------------------------------- */    

#form {
  width: 100%;
  padding-top: 20px;
  overflow: hidden;
  }
  
.page-template-formular FORM:after {
  display: none;
  }  
  
.gform_wrapper {
  padding: 0 10px;
  }
  
.gform_title {
  font-size: 36px;
  
  }

.gfield_description {
  line-height: 1.2 !important;
  }  
  
.gfield_label {
  line-height: 1.2 !important;
  }  
  
.gfield--type-radio LEGEND {
  padding-right: 140px !important;
  }
  
.gform-theme--framework .gfield--type-choice .gfield_radio {
  gap: 15px;
  }  
  
.gfield--type-section ~ .gfield--type-text[data-conditional-logic="visible"] INPUT {
  max-width: 100%;
  }  
  
.gform_button {
  margin-left: auto !important;
  margin-right: auto !important;
  }  
  
LABEL + .gfield_description, LEGEND + .gfield_description {
  top: -8px;
  }  
  
.gform_validation_errors {
  margin-bottom: 30px !important;
  }  
  
.gform-theme--framework .gform_validation_errors .gform_submission_error {
  flex-direction: row;
  gap: 20px;
  }  
  
  
/* FOOTER
------------------------------------------------------------------------- */    
  
#footer {
  text-align: center;
  line-height: 1.5;
  height: auto;
  }  
  
#footer .container {
  padding-bottom: 30px;
  }  
  
#footer .pipe {
  display: none;  
  }
  
#footer BR {
  display: block;
  }  
  
#footer .left,
#footer .right {
  float: none;
  }
  
#footer .right {   
  margin-top: 10px;
  }
  
#footer .button {
  margin-top: 20px;
  }
  
#footer .comma {
  display: block;
  height: 0;
  overflow: hidden;
  margin-bottom: -1.5em;
  }  
  
.left {
  float: none;
  }  
  
