/** * For modern browsers * 1. The space content is one way to avoid an Opera bug when the *    contenteditable attribute is included anywhere else in the document.  *    Otherwise it causes space to appear at the top and bottom of elements *    that are clearfixed.  * 2. The use of `table` rather than `block` is only necessary if using *    `:before` to contain the top-margins of child elements.  */

.cf:before, .cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.cf:after, .clear {
    clear: both;
}

/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.cf {
    *zoom: 1;
}

body { 
     margin:0;
     font-family:'Raleway',sans-serif;
     font-size:12pt;
     line-height:1.5em;
     box-sizing: border-box;
     background-color:#efece7;   
     }

body a { color:#000; text-decoration:none; }
ul {margin:0; padding:0;}
li {list-style:none;}
h1 {font-size:28pt;margin:0 0 1.2em 1%; font-weight:100;line-height:1.2em;}
h2 {font-size:14pt;margin:0.5em 0 0 0;font-weight:700;}

.contact_container {
 max-width: 80%;
 margin:auto;
}

form.contact { 
   float:left;
   max-width:400px;
   margin:0 4% 2em 0;
}

.contact_container .contact_address {
   float:left;
   margin-left:7px;
}

.contact_container img {
 max-width:100%;
 height: auto;
}

.left { float:left; }
.right { float:right; }
.center { margin:auto; }

.checkout_field { margin-left:2%; }

input[type="text"], input[type="password"], input[type="email"], textarea, select {
  border: 1px solid #dadada;
  border-radius:5px;
  padding:10px;
  margin-bottom:10px;
}


.checkout_field select {
  color:#767676;
}
.checkout_field select option {
  color:#000;
}



/* **************************************************************************** */
/* Helper ********************************************************************* */
/* **************************************************************************** */
.position-r {
  position:relative;
}
@media screen and (max-width:900px) {
  .d-none-900 {
    display:none !important;
  }
}
@media screen and (min-width:900px) {
  .d-none-min-900 {
    display:none !important;
  }
  .m-left-55 {
    margin-left:55px !important;
  }
}


/* **************************************************************************** */
/* Form Error Messages ******************************************************** */
/* **************************************************************************** */
.errMessage {
  clear: both;
  color: #aa0225;
  font-size: 11px;
  display: none;
}

.field_invalid .errMessage {
  display:block;
}
.field_invalid label,
.field_invalid .radioVal,
.field_invalid .agbCheckboxLabel {
  color:#aa0225;
}

.field_invalid input,
.field_invalid select,
.field_invalid textarea {
  border-color:#aa0225;
}

.contact input[type="text"], .contact input[type="email"], .contact textarea, .contact select { 
   width:326px; 
   font-family:'Raleway',sans-serif;
   font-size:12pt;
   line-height:1.5em;
}

.contact select {
  width:350px;  
}
.contact textarea {
   height:160px;
}

.mainbg_img {
  background-repeat:no-repeat;
  background-position:center top;
  background-size: contain;
}

a.back-to-top {
  background: rgba(100,100,100,.7);
  border-radius: 2px;
  bottom: 20px;
  color: #FFF;
  cursor: pointer;
  display: none;
  height: 35px;
  line-height: 37px;
  position: fixed;
  right: 20px;
  width: 38px;
  z-index: 200;
  text-align:center;
  cursor:pointer;
}

header {
       z-index:2;
       top:0;
       left:0px;
       position: fixed;
       margin:0;
       padding:0;
       width:100%;
       font-size: 0.9em;
       height: 60px;
       background: #fff;
       filter:alpha(opacity=100); /* IE */
       -moz-opacity:1.0; /* Mozilla */
       opacity: 1.0; /* CSS3 */
       color: #000;
       font-family: 'Arial', sans-serif;
       font-size:12pt;
       // set animation
       -webkit-transition: all 0.4s ease;
       transition: all 0.4s ease;
       }
.nav_opend header {
  position:absolute;
}       
        
header.sticky, #featuresmenu.sticky {
       background: #fff;
       filter:alpha(opacity=100); /* IE */
       -moz-opacity:1.0; /* Mozilla */
       opacity: 1.0; /* CSS3 */
       }

header.sticky {
       box-shadow: 0 4px 50px #ddd;
       }

#featuresmenu.sticky {
       position:fixed;
       width:100%;
       top:60px;
       box-shadow: 0 4px 50px #ddd;
       }

header div#inner { 
        max-width:1100px;
        margin:0 auto;
        height:100%;
       }
                
header #nav-trigger {
        margin-top:-12px;
        display: none;
        text-align: center; 
        height:100%;
        float:right;
        }

header #nav-trigger span {
          float:right;
          display: inline-block;
          padding:1.5em 1.5em; 
          color: #000;
          cursor: pointer;
          text-transform: uppercase; 
        }

header.sticky #nav-trigger span {
          color: #000;
        }

header #nav-trigger #menuicon  {
          width:38px;
          height:31px; 
          float:right;
          margin:20px 3em 10px 0;
          background: url("../img/sprite_icon.png") no-repeat;
          background-position: -85px -95px;
          cursor: pointer;
        }
         
header.sticky #nav-trigger #menuicon  {
          background: url("../img/sprite_icon.png") no-repeat;
          background-position: -85px -95px;
        }

header #nav-trigger span:hover {
       }

header #nav-trigger span.open:after {
       border-left: solid 10px transparent;
       border-top: none;
       border-bottom: solid 10px #fff;
       border-right: solid 10px transparent; 
       }

header nav#nav-main {
        float:right;
        margin-top:-12px;
        margin-right:0px;
       }

header nav#nav-main a { color:#000; padding: 17px 1.5em 17px 1.5em; display:inline-block; }
header.sticky nav#nav-main a { color:#000; }
header nav#nav-main ul { margin:0; }
header nav#nav-main ul li {
        float:left;
        list-style:none;
        text-align:center; 
       }

header nav#nav-main ul li.button_link {
  margin-top:10px;
  margin-left:1em;
}
header nav#nav-main ul li.button_link .inner_link {
  background-color:#f4a712;
  color:#fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height:40px;
}
header nav#nav-main ul li.button_link a {
  color:#fff;
  margin-top:-10px;
  padding-left: 1em;
  padding-right: 1em;
}

header nav#nav-mobile {
       position: relative;
       display: none; 
       }

header nav#nav-mobile ul {
       display: none;
       list-style-type: none;
       position: absolute;
       left: 0;
       right: 0;
       padding-left:0;
       margin:48px auto 0 auto;
       text-align: left;
       background-color: #fff;
       }

header nav#nav-mobile li {
       display: block;
       padding: 5px 0;
       margin: 0 5px;
       border-bottom: solid 1px #ccc;
       }

@media screen and (min-width:900px) {
  header nav#nav-mobile li:last-child {
       border-bottom: none;
       }
}

header nav#nav-mobile a {
       display: block;
       color: #000;
       padding: 10px 10px;
       }

header nav#nav-mobile a:hover {
       background-color: #ddd;
       color: #000; 
       }

header nav#nav-mobile ul li.button_link span {
  background-color: #f4a712;
  color: #fff;
  padding: 0.6em;
}

header #inner #logo {
        width:71px;
        height:36px;
        margin:12px;
        z-index:3; 
        background: url("../img/sprite_icon.png") no-repeat;
        background-position: -83px 0px;
        display:block;
       } 


header.sticky #inner #logo {
        background: url("../img/sprite_icon.png") no-repeat;
        background-position: -83px 0;
        display:block;
       }

header #inner #logo a, header.sticky #inner #logo a {
        display:block;
        width:100%; 
        height:100%; 
       } 

section#mood {
    min-height:658px;
    width:100%;
    padding:0px 0 0 0 ;
    margin-top:60px;
    }

section#featuresmenu {
    margin:0 auto; 
    display: block;
    background: #fff;
    filter:alpha(opacity=80); /* IE */
    -moz-opacity:0.8; /* Mozilla */
    opacity: 0.8; /* CSS3 */
    margin-top: -140px;
    padding-bottom: 0px;
    position: absolute;
    width: 100%;
    }

#features {
    position: relative;
    height: auto;
    max-width:1064px;
    margin:0 auto;
    }

#features ul li {
    position:relative;
    min-height:142px;
    float: left;
    padding: 0; /* should have zero paddng/margin */
    font-weight:700;
    line-height:1.2em;
    text-align:center;
    width:16.6%;
    }

#features li a {
    display:block;
    padding:16px 4%;
    color:#000;
    }

#features li:first-child a:after {
    border-left:none;
    }

#features li a:after {
    content: "";
    border-left: 1px solid #ccc;
    position: absolute;
    height: 70%;
    width: 1px;
    top: 16%;
    left: 0;
    }

#features .icon { 
    background: url("../img/sprite_icon.png") no-repeat;
    width: 41px;
    height: 36px;
    display: inline-block;
    }

#features li .icon-admin { background-position: 0 0; }
#features li a:hover .icon-admin, #features li .active .icon-admin { background-position: -42px 0; }
#features li .icon-search { background-position: 0 -36px; }
#features li a:hover .icon-search, #features li .active .icon-search { background-position: -42px -36px; }
#features li .icon-design { background-position: 0 -72px; }
#features li a:hover .icon-design, #features li .active .icon-design { background-position: -42px -72px; }
#features li .icon-analyse { background-position: 0 -108px; }
#features li a:hover .icon-analyse, #features li .active .icon-analyse { background-position: -42px -108px; }
#features li .icon-marketing { background-position: 0 -144px; }
#features li a:hover .icon-marketing, #features li .active .icon-marketing { background-position: -42px -144px; }
#features li .icon-cloud { background-position: 0 -182px; }
#features li a:hover .icon-cloud, #features li .active .icon-cloud { background-position: -42px -182px; }
#features li a:hover span, #features li a.active span { color:#e59203; }


#features li span {
  display:block;
  padding:12px 0 0 0;
  } 


.main_wrap {
  background-color:#fff;
  max-width:1250px;
  margin: 0 auto;
}


.header-image {
  margin: 0 auto;
  margin-top:60px;
  max-width:1250px;
  overflow: hidden;
  line-height:0px;
}
.header-image img {
  max-width:100%;
  max-height:100%;
}



section#content .responsivecenter {
    max-width:1050px;
    margin:2em auto 2em auto;
    overflow: hidden;
    }


section#content .lefttext  {
    width:40%;
    margin:1.5em 2% 1.5em 1%;
    float:left;
    }

section#content .rightimage  {
    width:57%;
    float:right;
    margin-top:1.5em;
    margin-bottom:1.5em;
    }

section#content .responsivecenter {
    max-width:1050px;
    margin:2em auto 2em auto;
    }

section#content .lefttext  {
    width:40%;
    margin:1.5em 2% 1.5em 1%;
    float:left;
    }

section#content .righttext {
    width:40%;
    float:right;
    margin:1.5em 1% 0 0;
    }

section#content .rightimage, section#content .leftimage  {
    width:56%;
    float:left;
    margin-top:1.5em;
    margin-bottom:1.5em;
    }

section#content .rightimage {
     margin-right:1%;
    }
section#content .leftimage  {
     margin-left:1%;
    }

section#content .rightimage img, section#content .leftimage img {
    height:auto;
    max-width:100%;
    }

section#content .bigcol { width:60%; float:left; margin: 0 1%; }
section#content .smallcol { margin: 0 1%; float:right; }
section#content .smallcol img { height:auto; }

section#content a {
  text-decoration:underline;
}
section#content .buttonrow a {
  text-decoration:none;
}


footer { 
    background-color:#3b3b3b;
    width:100%;
    }

footer>ul  { 
     margin:0 auto 0 auto; 
     max-width:1030px;
    }

footer>ul>li>ul { 
     padding:2em 0 0 3px;
    }

footer div.copy { 
     padding:2em 0 10px 0;
     text-align:center;
     font-size:0.6em;
    }

footer>ul>li {
     float:left;
     margin-left:10%;
     margin-right:1%;
    }

footer>ul>li.last {
     margin-right:0;
    }

footer>ul>li>ul>li {
     float:none;
     font-size:0.8em;
    }

footer a, footer p {
     color:#fff;
    }

p.abstract { margin:1.5em 2% 1.5em 1%; }
p.error { margin:1.5em 2% 1.5em 1%; color:#aa0000;}

button, .buttonleft, .buttonright, .button { 
     background-color:#3b3b3b;
     color:#fff;
     font-family:'Raleway',sans-serif;
     font-size:1.2em;
     padding:20px 60px;
     border:none;
     cursor:pointer;
    } 

button:hover, .button:hover {
     background-color:#6b6b6b;
    }

.butprice {
    padding:10px 30px;
}

.butprice a {
    color:#fff;
}


.buttonrow { 
  margin:0 1%; 
}

.buttoncontainer { 
   width: 47%; 
   margin:0 1%; 
   float:left; 
 }

.onebuttoncontainer { 
   text-align:center; 
   max-width:400px; 
   margin:auto; 
}

.button, .buttonleft, .buttonright { 
  margin:1.5em 0;
}

.butprice {
    margin:0.8em;
}

a .button, .buttonleft, .buttonright  { 
  color:#fff; 
  display:block;
}

.buttonleft { float:left; }
.buttonright { float:right; }


/*** References and Prices ***/
#refs, #prices { margin: 1.5em 0 1.5em 1%; }
.refitem, .firstperformance, .performance, .mainperformance { float:left; }
.refitem, .mainperformance  { margin:10px 1% 24px 1%; }
.performance, .firstperformance { 
   margin: 0 1%; 
   display: block; 
   border-left: solid 1px #fff;
   border-right: solid 1px #fff;
 }

.bghead { background-color: #e4e0d4; }
.bgcontent { background-color: #f3f3eb; }

.refitem:nth-child(1), .refitem:nth-child(3n+1) { margin-left:0; }
.refitem:nth-child(3n+3) { margin-right:0; }
.refitemurl { margin-top:6px; text-align:center; }
.mainperformance { 
   line-height:1.2em; 
   border-left: solid 1px #e4e0d4;
   border-right: solid 1px #e4e0d4;
 }

.mainperformance, .performance, .firstperformance { 
   width:21%; 
 }
.mainperformance:nth-child(1), .mainperformance:nth-child(4n+1), .performance:nth-child(1), .performance:nth-child(4n+1), .firstperformance:nth-child(1), .firstperformance:nth-child(4n+1) { margin-left:0; }
.mainperformance::nth-child(4n+4), .performance:nth-child(4n+4), .firstperformance:nth-child(4n+4) { margin-right:0; }
.head { background-color:#e4e0d4; padding:6px 3px; text-align:center; }
.feat, .featindent { font-size:0.8em; padding: 10px; position:relative; }
.featindent { padding-left:20px; }
.nofunctions, .functions, .firstfunction, .lastfunction { 
    text-align:center; 
    display:block; 
    padding:11px 0 9px 0;
}
.firstfunction { border-top: solid 1px #e4e0d4; } 
.lastfunction { border-bottom: solid 1px #e4e0d4; } 

.functions span, .firstfunction span, .lastfunction span {  
    background: url("../img/sprite_icon.png") no-repeat;
    background-position: -85px -201px; 
 }

.headmobile { display:none; }

.tooltip {
	display:none;
	position:absolute;
	border:1px solid #333;
	background-color:#666;
	border-radius:5px;
	padding:10px;
	color:#fff;
	font-size:1em;
        max-width:300px; 
}

/*** Homepage ***/
div.fullblock { margin:0 1% 2em 1%; }
div.block { float:left; width:48%; margin:0 1% 2em 1%; }
div.block img { margin:0 50% 0 30%; }
div.block .contact_content img {
  margin:0px;
}
ul.symbol li { list-style: url(../img/sym.png); margin-left:1.4em;}

/*** Google Maps ***/
.google-maps {
        position: relative;
        padding-bottom: 75%; // This is the aspect ratio
        height: 0;
        overflow: hidden;
        margin-bottom:5em;
}
.google-maps iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
}

.licences { font-size:0.8em; }



/***-------------------- CMS Layouts -------------------------***/
.two_column,
.one_column,
.three_column {
  overflow: hidden;
}
.two_column div.block { 
  float:left;
  width:48%;
  margin:0 1% 2em 1%;
}

.three_column div.block { 
  float:left;
  width:30%;
  margin:10px 1% 24px;
}

.one_column div.block { 
  float:left;
  width:100%;
  margin:0 1% 2em 1%;
}
div.block .img_wrap img {
  margin:0px;
}
.one_column {
  overflow: hidden;
}

.txt_wrap ol li {
  list-style-type:decimal;
}
.txt_wrap ul li {
  left: 1em;
  list-style-position: outside;
  list-style-type: disc;
  position: relative;
  width:92%;
}



@media screen and (min-width:900px) {
  /* Defaults
  * *********************************************************** */
  .img_wrap {
    margin:0;
    max-width: 98%;
  }
  .txt_wrap {
    margin:0;
    max-width: 98%;
  }
  .img_wrap img {
    max-width:100%;
    max-height:100%;
  }
  .txt_wrap h2 {
    margin-top:0px;
  }
  
  
  
  /* Bild rechts, Textspalte links
  * *********************************************************** */
  .txtimg_right .img_wrap {
    float: right;
    text-align:right;
  }
  .txtimg_right .txt_wrap {
    float: left;
  }
  .one_column div.block.txtimg_right {
    margin:0px;
    margin-bottom:2em;
  }
  /* Bild links, Textspalte rechts
  * *********************************************************** */
  .txtimg_left .img_wrap {
    float: left;
    text-align:left;
  }
  .txtimg_left .txt_wrap {
    float: right;
  }
  .one_column div.block.txtimg_left {
    margin:0px;
    margin-bottom:2em;
  }
  /* Bild rechts umfließend
  * ********************************************************** */
  .txtimg_right_intext .img_wrap {
    float: right;
    text-align:right;
    margin:0 1%;
  }
  .txtimg_right_intext .txt_wrap {
    overflow: visible;
    width:99%;
    max-width: 99%;
    margin:0 1%;
  }
  .one_column div.block.txtimg_right_intext {
    margin:0px;
    margin-bottom:2em;
  }
  /* Bild links umfließend
  * ********************************************************** */
  .txtimg_left_intext .img_wrap {
    float: left;
    text-align:left;
    margin:0 1%;
  }
  .txtimg_left_intext .txt_wrap {
    overflow: visible;
    width:99%;
    max-width: 99%;
    margin:0 1%;
  }
  .one_column div.block.txtimg_left_intext {
    margin:0px;
    margin-bottom:2em;
  }
  /* Bild oben linksbündig
  * ********************************************************** */
  .txtimg_top_left .img_wrap {
    float:left;
    text-align:left;
    margin:0 1% 1% 1%;
    width:98%;
    max-width: 98%;
  }
  .txtimg_top_left .txt_wrap {
    width:98%;
    max-width: 98%;
    margin:0 1%;
  }
  .one_column div.block.txtimg_top_left {
    margin:0px;
    margin-bottom:2em;
  }
  .txtimg_top_left .img_wrap + .txt_wrap {
    clear:left;
  }
  /* Bild oben mittig
  * ********************************************************** */
  .txtimg_top_centered .img_wrap {
    float:none;
    text-align:center;
    margin:0 auto;
    margin-bottom:1%;
    width:98%;
    max-width: 98%;
  }
  .txtimg_top_centered .txt_wrap {
    width:98%;
    max-width: 98%;
    margin:0 1%;
  }
  .one_column div.block.txtimg_top_centered {
    margin:0px;
    margin-bottom:2em;
  }
  .txtimg_top_centered .img_wrap + .txt_wrap {
    clear:left;
  }
  /* Bild oben rechtsbündig
  * ********************************************************** */
  .txtimg_top_right .img_wrap {
    float:right;
    text-align:right;
    margin:0 1% 1% 1%;
    width:98%;
    max-width: 98%;
  }
  .txtimg_top_right .txt_wrap {
    width:98%;
    max-width: 98%;
    margin:0 1%;
  }
  .one_column div.block.txtimg_top_right {
    margin:0px;
    margin-bottom:2em;
  }
  .txtimg_top_right .img_wrap + .txt_wrap {
    clear:right;
  }
  /* Bild unten linksbündig
  * ********************************************************** */
  .txtimg_bottom_left {
    display:table;
  }  
  .txtimg_bottom_left .img_wrap {
    display:table-footer-group;
    float:left;
    text-align:left;
    margin:1% 1% 0 1%;
    width:98%;
    max-width: 98%;
  }
  .txtimg_bottom_left .txt_wrap {
    display:table-header-group;
    width:98%;
    max-width: 98%;
    margin:0 1%;
  }
  .txtimg_bottom_left .txt_wrap p,
  .txtimg_bottom_left .txt_wrap h2,
  .txtimg_bottom_left .txt_wrap h3 {
    margin-left: 1%;
    margin-right: 1%;
  }
  .one_column div.block.txtimg_bottom_left {
    margin:0px;
    margin-bottom:2em;
  }
  .txtimg_bottom_left .img_wrap + .txt_wrap {
    clear:left;
  }
  /* Bild unten mittig
  * ********************************************************** */
  .txtimg_bottom_centered {
    display:table;
  }  
  .txtimg_bottom_centered .img_wrap {
    display:table-footer-group;
    float:none;
    text-align:center;
    margin:0 auto;
    margin-top:1%;
    width:98%;
    max-width: 98%;
  }
  .txtimg_bottom_centered .img_wrap img {
    margin:0 auto;
    max-width: 98%;
  }
  .txtimg_bottom_centered .txt_wrap {
    display:table-header-group;
    width:98%;
    max-width: 98%;
    margin:0 1%;
  }
  .txtimg_bottom_centered .txt_wrap p,
  .txtimg_bottom_centered .txt_wrap h2,
  .txtimg_bottom_centered .txt_wrap h3 {
    margin-left: 1%;
    margin-right: 1%;
  }
  .one_column div.block.txtimg_bottom_centered {
    margin:0px;
    margin-bottom:2em;
  }
  .txtimg_bottom_centered .img_wrap + .txt_wrap {
    clear:left;
  }
  /* Bild unten rechtsbündig
  * ********************************************************** */
  .txtimg_bottom_right {
    display:table;
  }  
  .txtimg_bottom_right .img_wrap {
    display:table-footer-group;
    float:right;
    text-align:right;
    margin:1% 1% 0 1%;
    width:98%;
    max-width: 98%;
  }
  .txtimg_bottom_right .txt_wrap {
    display:table-header-group;
    width:98%;
    max-width: 98%;
    margin:0 1%;
  }
  .txtimg_bottom_right .txt_wrap p,
  .txtimg_bottom_right .txt_wrap h2,
  .txtimg_bottom_right .txt_wrap h3 {
    margin-left: 1%;
    margin-right: 1%;
  }
  .one_column div.block.txtimg_bottom_right {
    margin:0px;
    margin-bottom:2em;
  }
  .txtimg_bottom_right .img_wrap + .txt_wrap {
    clear:right;
  }
  
  
  
  /* Text zu Bild 66%-33%
  *********************************************************** */
  .txtimg_right.txtToImg_two_one .img_wrap,
  .txtimg_left.txtToImg_two_one .img_wrap,
  .txtimg_right_intext.txtToImg_two_one .img_wrap,
  .txtimg_left_intext.txtToImg_two_one .img_wrap {
    margin:0 1%;
    width:31%;
    max-width: 31%;
  }
  .txtimg_top_left.txtToImg_two_one .img_wrap,
  .txtimg_top_centered.txtToImg_two_one .img_wrap,
  .txtimg_top_right.txtToImg_two_one .img_wrap,
  .txtimg_bottom_left.txtToImg_two_one .img_wrap,
  .txtimg_bottom_centered.txtToImg_two_one .img_wrap,
  .txtimg_bottom_centered.txtToImg_two_one .img_wrap img,
  .txtimg_bottom_right.txtToImg_two_one .img_wrap {
    width:31%;
    max-width: 31%;
  }
  .txtimg_right.txtToImg_two_one .txt_wrap,
  .txtimg_left.txtToImg_two_one .txt_wrap {
    margin:0 1%;
    width:61%;
    max-width: 61%;
  }
  
  
  /* Text zu Bild 50%-50%
  *********************************************************** */
  .txtimg_right.txtToImg_half_half .img_wrap,
  .txtimg_left.txtToImg_half_half .img_wrap,
  .txtimg_right_intext.txtToImg_half_half .img_wrap,
  .txtimg_left_intext.txtToImg_half_half .img_wrap {
    margin:0 1%;
    width:47%;
    max-width: 47%;
  }
  .txtimg_top_left.txtToImg_half_half .img_wrap,
  .txtimg_top_centered.txtToImg_half_half .img_wrap,
  .txtimg_top_right.txtToImg_half_half .img_wrap,
  .txtimg_bottom_left.txtToImg_half_half .img_wrap,
  .txtimg_bottom_centered.txtToImg_half_half .img_wrap,
  .txtimg_bottom_centered.txtToImg_half_half .img_wrap img,
  .txtimg_bottom_right.txtToImg_half_half .img_wrap {
    width:47%;
    max-width: 47%;
  }
  .txtimg_right.txtToImg_half_half .txt_wrap,
  .txtimg_left.txtToImg_half_half .txt_wrap {
    margin:0 1%;
    width:47%;
    max-width: 47%;
  }
  
  
  /* Text zu Bild 33%-66%
  *********************************************************** */
  .txtimg_right.txtToImg_one_two .img_wrap,
  .txtimg_left.txtToImg_one_two .img_wrap,
  .txtimg_right_intext.txtToImg_one_two .img_wrap,
  .txtimg_left_intext.txtToImg_one_two .img_wrap {
    margin:0 1%;
    width:61%;
    max-width: 61%;
  }
  .txtimg_top_left.txtToImg_one_two .img_wrap,
  .txtimg_top_centered.txtToImg_one_two .img_wrap,
  .txtimg_top_right.txtToImg_one_two .img_wrap,
  .txtimg_bottom_left.txtToImg_one_two .img_wrap,
  .txtimg_bottom_centered.txtToImg_one_two .img_wrap,
  .txtimg_bottom_centered.txtToImg_one_two .img_wrap img,
  .txtimg_bottom_right.txtToImg_one_two .img_wrap {
    width:61%;
    max-width: 61%;
  }
  .txtimg_right.txtToImg_one_two .txt_wrap,
  .txtimg_left.txtToImg_one_two .txt_wrap {
    margin:0 1%;
    width:31%;
    max-width: 31%;
  }
  
}

@media screen and (max-width:900px) {
  .txtimg_right,
  .txtimg_left,
  .txtimg_right_intext,
  .txtimg_left_intext,
  .txtimg_top_left,
  .txtimg_top_centered,
  .txtimg_top_right,
  .txtimg_bottom_left,
  .txtimg_bottom_centered
  .txtimg_bottom_right {
    display:table;
  }
  .three_column div.block {
    display:block;
    width:45%;
  }
  
  .img_wrap {
    display:table-footer-group;
    text-align:center;
    width: 98%;
    max-width:98%;
  }
  .three_column div.block .img_wrap {
    display:block;
  }
  div.block .img_wrap img {
    max-width:100%;
  }
  .txt_wrap {
    display:table-header-group;
    width: 98%;
  }
  .three_column div.block .txt_wrap {
    display:block;
  }
  .one_column div.block {
    width:98%;
    margin-left:2%;
    margin-right:2%;
  }
  
  .is_index .img_wrap {
    display:table-header-group;
    text-align:center;
    width: 98%;
  }
  .is_index .txt_wrap {
    display:table-footer-group;
    width: 98%;
  }
}



/***-------------------- media queries - Media Queries - Query - query -------------------------***/
@media screen and (max-width: 479px) {
  .contact input[type="text"], .contact input[type="email"], .contact textarea { width:96%; }
  .contact_container { max-width: 98%; margin:auto; }
  .contact_container .contact_address { max-width: 98%; margin:0 1%; }
  .headmobile { display: inline-block; text-align:center; }
  .mainperformance { width:78%; margin:0 10% 2em 10%; }
  .mainperformance:nth-child(1) { line-height:1px; font-size:1px; }
  .performance { width:10%; }
  .firstperformance { width:58%; }
  .featindent { 8px; }
  .feat, .featindent { font-size:0.8em; }
  
  .three_column div.block {
    display:block;
    width:95%;
  }

} 

@media screen and (max-width: 736px) {
  header { opacity: 0.7; }
  section#mood { min-height:658px; width:100%; padding:0; margin: 60px 0 0 0 ; }
  #features ul li { width: 50%; }
  #refs { max-width:320px; margin: 1.5em auto; }
  li.refitem { margin-left:0; margin-right:0; }
  
  
 div.block { 
    width:90%;
    margin:0 2% 2em 2%;
  }
  .one_column div.block,
  .two_column  div.block,
  h1 {
    width:90%;
    margin:0 2% 10px 2%;
    float:none;
  }  
  
  .buttoncontainer { width: 99%; margin:0 auto; }
  .buttonleft, .buttonright { float:none; text-align:center; max-width:346px; margin:0.5em auto; }
}

@media screen and (min-width:480px) and (max-width: 736px) {
  .mainperformance { width:30%; margin:0 1% 2em 0; }
  .mainperformance:nth-child(1) { width:1px; }
  .featindent { 8px; }
  .feat, .featindent { font-size:0.8em; }
  .performance { width:13%; }
  .firstperformance { width:45%; }
}

@media screen and (min-width:737px) and (max-width: 900px) {
  header { opacity: 0.7; }
  section#mood { min-height:658px; width:100%; padding:0; margin: 60px 0 0 0 ; }
  #features ul li { width: 33.3%; }
  #refs { max-width:678px; margin: 1.5em auto; }
  li.refitem:nth-child(odd) { margin-left:0; margin-right:10px; }
  li.refitem:nth-child(even) { margin-right:0; margin-left:10px; }
  .mainperformance { width:27%; }
  .mainperformance:nth-child(1) { width:1px; }
  .featindent { 8px; }
  .performance { width:18%; }
  .firstperformance { width:30%; }
}

@media screen and (max-width: 900px) {

  header #nav-trigger { display: block; }
  header nav#nav-main { display: none; }
  header nav#nav-mobile { display: block; }

  section#content .lefttext, section#content .rightimage, section#content .leftimage, section#content .righttext { width:98%; margin:0 1% 0 1% }

  section#content .bigcol { width:98%; }
  section#content .smallcol { width:98%; }
  section#content .smallcol img { margin:0 auto 2em auto; display:block; }

  footer>ul>li { margin-left:10%; margin-right:0; }
  
  section#featuresmenu {
    margin-top:0px;
    padding-bottom:0px;
    position:relative;
  }
}

@media screen and (min-width:900px) and (max-width: 1060px) {
  #refs { max-width:700px; margin: 1.5em auto; }
  li.refitem:nth-child(odd) { margin-left:0; }
  li.refitem:nth-child(even) { margin-right:0; }
}

/***-------------------- end media queries - Media Queries ------------------------------***/



/* **************************************************************************** */
/* Previews ******************************************************************* */
/* **************************************************************************** */
.centerDiv {
  margin:0 auto;
  padding:0px;
  width:100%;
  height:100%;
  border-top:30px solid #52575b;
}
.centerDiv img {
  display:block;
  margin: 0 auto;
  margin-top:-30px;
}



/* Coookie advice
---------------------------------------------------------------------------- */
.cookieInfo {
  background: #808080;
  padding: 5px;
  display: none;
  position:fixed;
  bottom:0px;
  left:0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  width:100%;
  z-index:11;
  color:#fff;
}
.cookieInfo a {
  text-decoration: underline;
  color:#fff;
}
.innerCInfo {
  height: 100%;
  max-width: 1030px;
  margin: 0 auto;
}
.cInfoText p,
.cInfoClose {
  color:#fff;
  font-size:10pt;
  display:inline;
}
.cInfoClose {
  cursor: pointer;
  text-decoration:underline;
}




/* **************************************************************************** */
/* Submenue ******************************************************************* */
/* **************************************************************************** */
.submenu {
  position:absolute;
  min-width:400px;
  padding:0px 0px 0px 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  background-color:#fff;
  margin-top:-2px;
  display:none;
}
header nav#nav-main ul li .submenu li {
  float:none;
  text-align:left;
  border-bottom: solid 1px #ccc;
}
header nav#nav-main ul li .submenu li:last-child {
  border-bottom: 0px;
}
header nav#nav-main ul li .submenu li:first-child {
  margin-top: 4px;
}
header nav#nav-main .submenu li a {
  padding:10px 25px;
  display:block;
  width:100%;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height:100%;
}

header nav#nav-main .submenu li a:hover,
header nav#nav-main .submenu li a.active  {
  background-color:#ddd;  
}

header nav#nav-mobile li.subitem-mobile {
  padding-left:10px;
  display:none;
}
header nav#nav-mobile li.subitem-mobile.submenu_act {
  display:block;
}
header nav#nav-mobile li.subitem-mobile.submenu_act.activeitem a {
  background-color:#ddd;
}
header nav#nav-mobile li.active a {
  background-color:#ddd;  
}



@media screen and (max-width:980px) {
  header nav#nav-main {
    margin-right:10px;
  }
  header nav#nav-main a {
    padding:17px 0.5em 17px 0.5em;
  }
}
@media screen and (min-width:980px) and (max-width:1110px) {
  header nav#nav-main {
    margin-right:20px;
  }
  header nav#nav-main a {
    padding:17px 1.0em 17px 1.0em;
  }
}

/**
 * Cookie Consent
 */
#cookie_consent_container .cookie_consent_button {
  position: fixed;
  left: 16px;
  bottom: 16px;
  border-radius: 50% !important;
  z-index: 999999;
  background-color: rgb(108, 117, 125);
  border: none;
  width: 64px;
  height: 64px;
  padding: 0;
}

#cookie_consent_container .cookie_consent_button img {
  width: 48px;
  position: fixed;
  left: 24px;
  bottom: 24px;
  height: auto;
  filter: invert(100%);
  vertical-align: middle;
}
#cm {
  max-width: 32.2em;
}
#cookie_consent_container.hidden {
  display: none;
}
:root {
  --cc-btn-secondary-bg:#ffffff;
}

.captchaCont {
  margin-bottom: 10px;
}