/* @font-face {font-family: 'Ubuntu';src: url('../fonts/ubuntu/Ubuntu.eot');src: url('../fonts/ubuntu/Ubuntu.eot?#iefix') format('embedded-opentype'),url('../fonts/ubuntu/Ubuntu.woff2')  format('woff2'),url('../fonts/ubuntu/Ubuntu.woff') format('woff'),url('../fonts/ubuntu/Ubuntu.ttf') format('truetype'),url('../fonts/ubuntu/Ubuntu.svg#Ubuntu') format('svg');font-weight: normal;font-style: normal;}*/

body, html { font-family:Arial, sans-serif;line-height: 20px;font-size: 14px; }
ol, ul {list-style:none;}
a, a:visited, a.active, a:hover { text-decoration:none;outline:none; }
p.bodytext, p { margin-bottom:20px;}

/* RTE STYLE */
.align-left { text-align: left; }
.align-center { text-align:center; }
.align-right { text-align:right; }
.align-justify { text-align:justify; }
.contenttable TD { vertical-align:top;}
b, strong { font-weight:bold; }

/* MAILFORM */
div.csc-mailform { border:none; padding:0; margin:0; }
.csc-form-element label { display: block; float:left; width: 120px; }
.csc-form-element textarea { width:327px;margin-left:2px; }
.csc-form-element input[type="text"] { width:327px;margin-left:2px; }
.csc-form-element { margin-bottom: 7px; }
.csc-form-element-submit { margin-left: 122px; }
.csc-form-element img { margin-left: 122px; }
div.csc-mailform ol li {margin-bottom:13px;}

/* Flexslider Arrow Fix */
.flex-direction-nav a.flex-prev:before,
.flex-direction-nav a.flex-next:before { line-height: 40px; }

/* CUSTOM STYLES */
html,body { height: 100%; width: 100%; max-width: 100%; }
#allWrap { position: relative; }

.flexslider { border: none; }

#mobileMenuButton { position: absolute; top: 20px; right: 20px; z-index: 16; display: none; }
#mobileOverlay { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background-color: rgba(0,0,0,.75); z-index: 15; display: none; }
#mobileMenu { height: 100%; display: none; position: absolute; top: 0; right: 0; width: 0; overflow: hidden; z-index: 17; padding-left: 0; background-color: white; color: #000000; }
  #mobileMenu li { white-space: nowrap; text-align: center; position: relative; }
    #mobileMenu li a { color: #000000; text-decoration: none; }
    #mobileMenu li.active > a { color: #D30613; text-decoration: none; }
      #mobileMenu li a { display: block; padding: 20px 0; border-bottom: 1px solid #000000; }
        #mobileMenu > li > ul { padding-left: 0; display: none; }
        #mobileMenu > li.active > ul { display: block; }
          #mobileMenu > li > ul > li { background-color: #333333; }
          #mobileMenu > li > ul > li.active { background-color: #D30613; }
            #mobileMenu > li > ul > li > a { padding: 10px 0; color: #FFFFFF; }
              #mobileMenu > li > ul > li.active > a { background-color: #D30613; color: #FFFFFF; }
    #mobileMenu li.hasSub .subOpener { line-height: 20px; padding: 20px 0; width: 25%; position: absolute; top: 0; right: 0; }
      #mobileMenu li.hasSub .subOpener {  }

#greyWhiteBackground {  }
  #greyWhiteBackground > div.container-fluid:nth-child(odd) { background-color: #EFEFEF; }

.kachelSlider { border: none; position: relative; padding-bottom: 156px; }
  .kachelTitle { margin: 60px 0 20px 0; font-size: 30px; border-bottom: 1px solid #A8B4C3; padding-bottom: 5px; display: inline-block;  }
  .kachelLink { display: block; }
    .kachelBild { height: 178px; position: relative; background-color: #FFFFFF; }
      .kachelBild img { margin: auto; position: absolute; top: 0; bottom: 0; left: 0; right: 0; }
  .kachelSlider .flex-control-nav { bottom: 78px; }

.flexslider,
.kachelSlider,
.dceAktuelleProdukte { overflow: hidden; }

ul.slides:after { content:''; display: block; clear: both; }

a.weisserLinkMitPfeil { background-color: #FFFFFF; color: #000000; padding: 12px 15px; font-weight: bold; }
a.weisserLinkMitPfeil:before { content:'>'; margin-right: 13px; }

#header:after { content:''; display: block; clear: both; }
  #logo { float: left; margin-top: 16px; }
    #logo .ce-above .ce-gallery { margin-bottom: 0; }
  #menuTop { float: right; position: relative; }
    #menuTop ul.menu { margin-bottom: 0; text-transform: uppercase; }
    #menuTop ul.menu { padding-left: 0; }
    #menuTop ul.menu:after { content:''; display: block; clear: both; }
      #menuTop ul.menu > li { float: left; height: 102px; position: relative; }
      #menuTop ul.menu > li.active { background-color: #ECECEC; /*border-bottom: 2px solid #D30613;*/ }
      #menuTop ul.menu > li.hasSub:hover { background-color: #FFFFFF; border-bottom: none; }
        #menuTop ul.menu > li > a { padding: 41px 20px; display: block; color: #000000; }
        #menuTop ul.menu > li:hover > a { color: #D30613; }
        #menuTop ul.menu > li > ul { display: none; position: absolute; top: 92px; z-index: 13; padding: 15px 12px; background: rgba(255,255,255,.75); border-bottom: 2px solid #E30613; text-align: center; min-width: 100%; }
        #menuTop ul.menu > li.hasSub:hover > ul { display: block; top: 100%; }
        #menuTop ul.menu > li > ul li { white-space: nowrap; }
        #menuTop ul.menu > li > ul li:not(:last-child) { margin-bottom: 5px; }
          #menuTop ul.menu > li > ul a { color: #D30613; }
  #headerImage { border-top: 2px solid #D30613; }
    #headerImage .flexslider { max-height: 500px; margin-bottom: 0; }
      #headerImage .flexslider li { max-height: 500px; overflow: hidden; }
      #headerImage .flexslider ul.slides > li { margin-bottom: 3px; }
  #roterBalken { display: table; width: 100%; height: 110px; background-color: #E30613; }
  #roterBalken {  }
    #roterBalken .tableRow { display: table-row; }
      #roterBalken .tableRow .tableCell { display: table-cell; text-align: center; vertical-align: middle; }
        #roterBalken .tableRow .tableCell p { margin-bottom: 0; color: #FFFFFF; font-size: 20px; }

#suchboxIcon { width: 35px; height: 35px; display: block; background: url(../img/suche-suchbox-icon.png); margin-top: 29px; cursor: pointer; }
#suchboxFeld { position: absolute; display: none; right: 0; z-index: 14; background-color: #E30613; border: 1px solid #E30613; border-radius: 17px; }
  #suchboxFeld .resetbutt,
  #suchboxFeld .submitbutt,
  #suchboxFeld .kesearchbox .clearer { display: none; }
  #suchboxFeld #ke_search_sword { position: relative; display: block; float: left; margin: 4px 0 0 13px; }
  #suchboxFeld #kesearch_submit { display: block; }
#suchboxFeld2 { position: absolute; right: 0; z-index: 14; background-color: #E30613; border: 1px solid #E30613; border-radius: 17px; margin: 15px 10px 0 10px; }
  #suchboxFeld2 .resetbutt,
  #suchboxFeld2 .submitbutt,
  #suchboxFeld2 .kesearchbox .clearer { display: none; }
  #suchboxFeld2 #ke_search_sword { position: relative; display: block; float: left; margin: 4px 0 0 13px; }
  #suchboxFeld2 #kesearch_submit { display: block; }
  #suchboxFeld2 div.kesearchbox { display: -webkit-flex; display: flex; align-items: flex-start; }
  #suchboxFeld2 div.kesearchbox #ke_search_sword { flex-shrink: 1; flex-grow: 0; width: 100%; }
  #suchboxFeld2 div.kesearchbox #kesearch_submit { flex-shrink: 0; flex-grow: 0; }

/* kesearch Fix für Suchbox (keasearch css überschreiben) */
  #suchboxFeld .tx-kesearch-pi1 { font-family: inherit; font-size: inherit; }
    #suchboxFeld .tx-kesearch-pi1 form { border: none; margin: 0; }
    #suchboxFeld div.kesearchbox { height: auto; margin: 0; }
    #suchboxFeld #ke_search_sword { top: auto; width: auto; padding: 2px; }
    #suchboxFeld #kesearch_submit { position: relative; top: auto; left: auto; width: auto; height: auto; border: none; }
    #suchboxFeld #kesearch_submit { margin-left: 163px; }
  #suchboxFeld2 .tx-kesearch-pi1 { font-family: inherit; font-size: inherit; }
    #suchboxFeld2 .tx-kesearch-pi1 form { border: none; margin: 0; }
    #suchboxFeld2 div.kesearchbox { height: auto; margin: 0; }
    #suchboxFeld2 #ke_search_sword { top: auto; width: auto; padding: 2px; }
    #suchboxFeld2 #kesearch_submit { position: relative; top: auto; left: auto; width: auto; height: auto; border: none; }

#content > div.container { margin: 60px auto; }

.dceServiceBlock {  }
  .dceServiceBlock h1 { margin: 86px 0 0 0; font-size: 28px; text-align: center; }
  .dceServiceBlock h2 { margin: 8px 0 52px 0; font-size: 16px; text-align: center; }
  .dceServiceBlock .serviceLink { color: #000000; }
    .dceServiceBlock .serviceHeader { margin-bottom: 21px; }
      .dceServiceBlock .serviceHeader strong { font-size: 16px; vertical-align: middle; }
    .dceServiceBlock .serviceText { margin: 12px 0 82px 0; }

.dceReferenzSlider { margin-bottom: 81px; position: relative; }
.dceReferenzSlider { margin-bottom: 151px; }
  .dceReferenzSlider .slidesContainer { overflow: hidden; }
    .dceReferenzSlider ul.slides { position: relative; }
      .dceReferenzSlider ul.slides > li { width: 100%; }
        .dceReferenzSlider ul.slides > li .refRow { padding-top: 75px; top: 0; margin-right: -2px; }
        .dceReferenzSlider ul.slides > li .refRow:after { content:''; display: block; clear: both; }
          .dceReferenzSlider ul.slides > li .refRow .refCol { width: 25%; padding-right: 2px; float: left; }
  .dceReferenzSlider .referenzTitel { margin: 91px 0 0 0; font-size: 28px; }
  .dceReferenzSlider .referenzBild { display: block; }
    .dceReferenzSlider .referenzBildWrap { height: 230px; max-height: 230px; position: relative; background-color: #DCD9D9; }
    .dceReferenzSlider .referenzBildWrap { overflow: hidden; }
      /*.dceReferenzSlider .referenzBild .referenzBildWrap img { position: absolute; max-width: 100%; max-height: 100%; width: auto; height: auto; margin: auto; top: 0; bottom: 0; left: 0; right: 0; }*/
      .dceReferenzSlider .referenzBild .referenzBildWrap img { position: absolute; min-width: 100%; min-height: 100%; width: auto; height: auto; margin: auto; top: 0; bottom: 0; left: 0; right: 0; }
  .dceReferenzSlider .referenzText { margin-top: 9px; padding-left: 10px; }
  .dceReferenzSlider .dceReferenzSliderNav { display: none; position: absolute; width: 100%; text-align: center; bottom: -75px; }
    .dceReferenzSlider .dceReferenzSliderNav .navButton { width: 30px; height: 30px; display: inline-block; background-image: url(../img/dce-slider-prev-next.png); }
    .dceReferenzSlider .dceReferenzSliderNav .navButton.prev { background-position: 0 0; margin-right: 5px; }
    .dceReferenzSlider .dceReferenzSliderNav .navButton.prev.active { background-position: -30px 0; }
    .dceReferenzSlider .dceReferenzSliderNav .navButton.next { background-position: 0 -30px; }
    .dceReferenzSlider .dceReferenzSliderNav .navButton.next.active { background-position: -30px -30px; }

.dceAktuelleProdukte { position: relative; padding-bottom: 156px; }
  .dceAktuelleProdukte h1 { margin: 56px 0 20px 0; padding-bottom: 4px; border-bottom: 1px solid #A8B4C3; display: inline-block; }
  .dceAktuelleProdukte ul.slides {  }
    .dceAktuelleProdukte ul.slides > li { height: 178px; }
      .dceAktuelleProdukte ul.slides > li div { height: 100%; position: relative; }
      .dceAktuelleProdukte ul.slides > li .bildWrap { /*background-color: #A7A7A7;*/ overflow: hidden; }
        /* .dceAktuelleProdukte ul.slides > li img { max-width: 100%; max-height: 100%; width: auto; height: auto; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; } */
  .dceAktuelleProdukte .flex-control-nav { bottom: 83px; }
  .dceAktuelleProdukte .slideContents { display: none; }

#footer > .container-fluid { background-color: #333333; color: #cccccc; }
  #footerContainer { margin-top: 64px; margin-bottom: 96px; }
    #footerContainer h3 { color: #CCCCCC; margin-top: 0; }
    #footerContainer p { color: #CCCCCC; }
  #footerContainer .footerContactLine { margin-bottom: 10px; }
    #footerContainer .footerContactLine .footerContactImage { float: left; }
    #footerContainer .footerContactLine .footerContactText { padding-left: 30px; }
      #footerContainer .footerContactLine .footerContactText a { color: inherit; }
  #footerContainer a.anfahrtLink > h3 { text-decoration: underline; margin-bottom: 0; }
  #footerContainer a.anfahrtLinkBild > img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; }

#belowFooterContainer { margin-top: 25px; margin-bottom: 25px; }
  #belowFooterContainer p { margin-bottom: 0; }
    #belowFooterContainer #belowFooterQuicklinks a { color: black; }
  #belowFooterContainer .mobileOnly { display: none; }


/* gleiche Abstände bei grau-weiß-Blöcken*/
#greyWhiteBackground > div.container-fluid > div.container { margin-top: 60px; margin-bottom: 60px; }
#greyWhiteBackground .kachelSlider { padding-bottom: 69px; }
  #greyWhiteBackground .kachelSlider .kachelTitle { margin-top: 0; }
  #greyWhiteBackground .kachelSlider .flex-control-nav { bottom: 0; }
#greyWhiteBackground .dceServiceBlock {  }
  #greyWhiteBackground .dceServiceBlock h1 { margin-top: 0; }
  #greyWhiteBackground .dceServiceBlock > .row:last-child .serviceText { margin-bottom: 22px; }
#greyWhiteBackground .dceReferenzSlider { margin-bottom: 71px; }
  #greyWhiteBackground .dceReferenzSlider .referenzTitel { margin-top: 0; }
#greyWhiteBackground .dceAktuelleProdukte { padding-bottom: 64px; }
  #greyWhiteBackground .dceAktuelleProdukte h1 { margin-top: 0; }
  #greyWhiteBackground .dceAktuelleProdukte .flex-control-nav { bottom: 0; }


/* DCE "Aktuelle Produkte" */
.dceAktuelleProdukte .bildWrap img { position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); }
.dceAktuelleProdukte .bildWrap img { 
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
}


/* "Position-Fix"-Pseudo für mobile */
body { max-height: 100%; overflow: hidden; }
#allWrap { height: 100%; overflow: scroll; }


ol.flex-control-nav > li > a { outline: none; }


@media (max-width: 767px) {
  #mobileMenuButton { display: block; }
  #menuTop ul.menu { display: none; }
  #mobileMenu { display: block; }
  .kachelSlider .col-sm-3:not(:last-child) { margin-bottom: 5px; }
  #greyWhiteBackground .dceServiceBlock > .row .col-sm-4 { margin-bottom: 60px; }
    #greyWhiteBackground .dceServiceBlock > .row .serviceText { margin-bottom: 0; }

  #belowFooterContainer .nonMobile { display: none; }
  #belowFooterContainer .mobileOnly { display: block; }
}




@media (max-width: 1199px) {
  .dceAktuelleProdukte .flex-viewport { width: 830px; margin: auto; }
}

@media (max-width: 991px) {
  .dceAktuelleProdukte .flex-viewport { width: 545px; margin: auto; }
  .flex-viewport { width: 630px; margin: auto; }
}

@media (max-width: 767px) {
  .dceAktuelleProdukte .flex-viewport { width: 260px; margin: auto; }
  .flex-viewport { width: 190px; margin: auto; }
}