/*------ Cookies ----------------*/
.cc-revoke { padding: 1em; }
.cc-revoke.cc-bottom { border-radius:0px !important; text-decoration: none; }
.cc-revoke.cc-bottom { -webkit-transform: translateY(2.5em); transform: translateY(2.5em); }

.cc-window .dp--cookie-check { border:none; border-top:1px solid rgba(255,255,255,0.5); border-radius:0; padding-top:0.5em; display:block; }
.cc-window .dp--cookie-check label:first-child { padding-left:0px; padding-right:0px; }
.cc-window .dp--cookie-check label:last-child { padding-right:0px; padding-left:0px;}
.cc-window .cc-deny { display:none; }
.cc-window .cc-btn { width: 50% !important; background:#FFF; border:1px solid rgb(102, 102, 102); color:#222d32; }
.cc-window .cc-btn:hover { color:#FFF; background-color:#206eff !important; }

.cc-compliance { padding:1.5rem; padding-top:0;  }
 
.dp--overlay-description a { color:#FFF !important; text-decoration: underline !important; }
.dp--overlay-description a:hover { color:#FFF !important; text-decoration: none !important; text-shadow:none !important; }

.dp--cookie-consent { overflow: hidden;}
.dp--cookie-consent #header,
.dp--cookie-consent #headerslider,
.dp--cookie-consent #container,
.dp--cookie-consent #footer { opacity:0.5; pointer-events: none; }

/*------ Cookie-Tabelle auf Datenschutzseite ----------------*/
.table-striped { width:100%; border-collapse:collapse; }
.table-striped td, .table-striped th { padding:10px; text-align:left; border:2px solid #FFF; }
.table-striped td.CookieHead { border-top:20px solid #FFF; }


/* --------- Allgemeines ---------------------------------------------------------------------*/
html, body { width:100%; height:100%; }

body { color:#FFF !important; }
  .wrapper { box-sizing:border-box; position:relative; display:block; margin-left:auto; margin-right:auto; padding:0 5%; }
  .hide { display:none; }

  .no-scroll {height:100%; overflow:hidden; }
  .transition {  
    transition: all 0.4s ease-in 0s; /* explorer 10 */
    -webkit-transition: all 0.4s ease-in 0s; /* chrome & safari */
    -moz-transition: all 0.4s ease-in 0s; /* firefox */
    -o-transition: all 0.4s ease-in 0s; /* opera */
  }

  /* Contain floats: h5bp.com/q */ 
  .clearfix:before, .clearfix:after { content: ""; display: table; }
  .clearfix:after { clear: both; }
  .clearfix { zoom: 1; }

  figcaption { display:block !important; font-size:0.8em; line-height:140%; padding:10px; text-align: center; }
  figcaption p { margin-bottom:3px; }
  figcaption p:last-child { margin-bottom:0 }
  
  .ce-textpic.ce-right { display:flex; justify-content: space-between; flex-wrap: wrap; }
  .ce-textpic.ce-right .ce-gallery { order:2; margin-left:0; float:none; }
  .ce-textpic.ce-right .ce-gallery[data-ce-columns="1"] { width:23.0909091%; margin-bottom:0 !important; }
  .ce-textpic.ce-right .ce-gallery[data-ce-columns="1"]+.ce-bodytext { margin-right:0; width: 65.81818185%;}

  .own-gallery { width: 100%; display:flex; flex-wrap: wrap; justify-content: space-between; }
  .own-gallery[data-ce-columns="4"] .image { width: 23.0909091%; margin-bottom:2.54545455%; }
  .own-gallery figure { display:block; }

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

  .fsc-default { position: relative; width: 100%; margin-bottom:3%; }
  .fsc-default:last-child { margin-bottom:0; }

  .shadow_bottom { opacity: 0.8; background: url('../Images/shadow_bottom.png') center top no-repeat; background-size: 120% 10px; position: absolute; left: 0; bottom: -15px; width: 100%; height: 15px; }

 .frame-layout-1 {display:flex; flex-direction:column; justify-content:end; height:100%; }

 

/* --------- Header ---------------------------------------------------------------------*/
#header{ position:fixed; width:100%; z-index: 1000; 
  /*background: rgba(53,65,71,1);
  background: -moz-linear-gradient(left, rgba(53,65,71,1) 0%, rgba(21,28,31,1) 100%);
  background: -webkit-gradient(left top, right top, color-stop(0%, rgba(53,65,71,1)), color-stop(100%, rgba(21,28,31,1)));
  background: -webkit-linear-gradient(left, rgba(53,65,71,1) 0%, rgba(21,28,31,1) 100%);
  background: -o-linear-gradient(left, rgba(53,65,71,1) 0%, rgba(21,28,31,1) 100%);
  background: -ms-linear-gradient(left, rgba(53,65,71,1) 0%, rgba(21,28,31,1) 100%);
  background: linear-gradient(to right, rgba(53,65,71,1) 0%, rgba(21,28,31,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#354147', endColorstr='#151c1f', GradientType=1 );*/
  background:#d2d5d7;
}
  #header .wrapper { display:flex; justify-content:space-between; position: relative; padding:20px 5%; height: 120px; }
 
  /* Logo */ 
  #header .logo_small { position: relative; opacity: 0;}
  #header .logo_small img { display:block; width:320px; height:auto; position:absolute; left:0; top:0; height:100%; width:auto; }
  #header .logo_small a { border:none; }

  #header .header-image { position:absolute; width:40%; right:-10%; top:0; z-index: 200;}
  #header .header-image img { width:100%; height:auto; display:block; }


/* --------- Headerbilder ---------------------------------------------------------------------*/
#slider { position:relative; z-index: 250; height:650px; background-repeat: no-repeat; background-position: center center; background-size: cover; }
  .startseite #slider { height:1000px; }
  #slider .wrapper { display: flex; flex-direction: column; justify-content: space-between; height:100%; padding-top:140px; }

  #slider .logo_big { width: 23.0909091%; }
  #slider .logo_big img { width:100%; height:auto; display:block; }

  /* Headline */ 
  #slider .headline { font-weight: 700; font-size:5rem; text-transform: uppercase; line-height: 110%; }
  #slider .headline-sub { font-size:3.0rem; margin-top:20px; margin-bottom:60px; line-height: 120%; }


/* --------- Main Content -------------*/ 
#main { position:relative; overflow:hidden; background:url('../Images/back_content.jpg') no-repeat center bottom; background-size:cover;  }
#main .wrapper { padding:7% 5%; display:flex; justify-content:space-between; flex-wrap:wrap; align-items:flex-start; }
  .ohne-rand #main .wrapper { padding-bottom:0; }
  .ohne-rand .ce-gallery { margin-bottom:0; }

/*------ Content ----------------*/
#main ul { margin:0; padding-left:30px; list-style-type: square;}
#main ul li { margin-top: 5px; line-height: 140%;}
#main ul li::marker {color:#ef7d00; font-size: 1.3em; }

.frame-type-menu_subpages ul { display:flex; flex-wrap: wrap; margin:0 !important; padding:0 !important; list-style-type:none; }
.frame-type-menu_subpages ul li { position:relative; display:block; box-sizing: border-box; background:#b6b6b6; width:47.5%; margin-top:0 !important; margin-right:5%; margin-bottom:5%;
  transition: all 0.4s ease-in 0s; /* explorer 10 */
  -webkit-transition: all 0.4s ease-in 0s; /* chrome & safari */
  -moz-transition: all 0.4s ease-in 0s; /* firefox */
  -o-transition: all 0.4s ease-in 0s; /* opera */
}
.frame-type-menu_subpages ul li:nth-child(2n+2) { margin-right:0; }
.frame-type-menu_subpages ul li a { display:block; padding:20px; min-height:100px; text-transform: uppercase; font-weight:700; color: #FFF; }
.frame-type-menu_subpages ul li:hover { background:#888a8b; }


/* --------- leistungen Content -------------*/ 
#leistungen { position:relative; width:100%;
  background: rgba(21,28,31,1);
  background: -moz-linear-gradient(left, rgba(21,28,31,1) 0%, rgba(53,65,71,1) 100%);
  background: -webkit-gradient(left top, right top, color-stop(0%, rgba(21,28,31,1)), color-stop(100%, rgba(53,65,71,1)));
  background: -webkit-linear-gradient(left, rgba(21,28,31,1) 0%, rgba(53,65,71,1) 100%);
  background: -o-linear-gradient(left, rgba(21,28,31,1) 0%, rgba(53,65,71,1) 100%);
  background: -ms-linear-gradient(left, rgba(21,28,31,1) 0%, rgba(53,65,71,1) 100%);
  background: linear-gradient(to right, rgba(21,28,31,1) 0%, rgba(53,65,71,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#151c1f', endColorstr='#354147', GradientType=1 );
 }
 /*#leistungen::before { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background:url('../Images/back_leistungen.png') no-repeat center; background-size:auto 100%; }*/
 #leistungen::after { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background:url('../Images/verlauf_leistungen.png') center; background-size:auto 100%; }

  #leistungen .wrapper { padding:7% 5% 0; z-index: 200;}
  #leistungen h2 { padding-bottom:2%; width:100%; color:#FFF; }
  #leistungen p { margin:15px 0; color:#FFF; width: 48.72727275%; }
  #leistungen .wrapper-leistungen { position: relative; padding:0; margin-top: -9%; z-index: 201; }
  #leistungen .wrapper-leistungen img { width:100%; display:block; }

  .button_wartung { position:absolute; bottom:10.5%; left:13.5%; width:19.5%; height:27.5%; 
    clip-path: polygon(18% 0%, 98% 47%, 91% 73%, 88% 100%, 0% 100%, 4% 50%);
  }
  .button_umzuege { position: absolute; bottom:29.2%; left:19.7%; width:19.5%; height:27.5%; 
    clip-path: polygon(18% 0%, 98% 47%, 91% 73%, 88% 100%, 0% 100%, 4% 50%);
    transform: rotate(26deg);
  }
  .button_lohn { position:absolute; bottom:45%; left:42.1%; width:19.5%; height:27.5%; 
    clip-path: polygon(18% 0%, 98% 47%, 91% 73%, 88% 100%, 0% 100%, 4% 50%);
    transform: rotate(77deg);
  }
  .button_reparatur { position:absolute; bottom:41.5%; left:29.9%; width:19.5%; height:27.5%; 
    clip-path: polygon(18% 0%, 98% 47%, 91% 73%, 88% 100%, 0% 100%, 4% 50%);
    transform: rotate(51deg);
  }
  .button_offline { position:absolute; bottom:38.8%; left:54%; width:19.5%; height:27.5%; 
    clip-path: polygon(18% 0%, 98% 47%, 91% 73%, 88% 100%, 0% 100%, 4% 50%);
    transform: rotate(103deg);
  }
  .button_gebraucht { position:absolute; bottom:24.3%; left:63.3%; width:19.5%; height:27.5%; 
    clip-path: polygon(18% 0%, 98% 47%, 91% 73%, 88% 100%, 0% 100%, 4% 50%);
    transform: rotate(128deg);
  }
  .button_koordinaten { position:absolute; bottom:4.5%; left:68%; width:19.5%; height:27.5%; 
    clip-path: polygon(18% 0%, 98% 47%, 91% 73%, 88% 100%, 0% 100%, 4% 50%);
    transform: rotate(154deg);
  }


  /*------ GoogleMaps ----------------*/
  #map-canvas { height:700px; width:100%; display:block; }
  #map-canvas .map-content h1 { color:#000; text-transform:none; font-size:1rem; margin-bottom:0.4em; padding:0; }
  #map-canvas .map-content { font-family: 'Open Sans', sans-serif; color:#000; font-size:0.9rem; line-height:140%; }
  #map-canvas img { max-width:none; }


/* --------- Facts -------------*/ 
#facts { position:relative; overflow:hidden; background:url('../Images/back_facts.jpg') no-repeat center top; background-size:cover;  }
#facts .wrapper_start { padding:7% 5% 0; }
#facts .wrapper_end { padding:0 5% 7%; }
#facts h2 { width: 74.3636364%; }
#facts .list { display:flex; justify-content:space-between; flex-wrap:wrap;  }
#facts .fact-header { font-weight:900; display:block; text-transform: uppercase; padding-bottom:20px; }
#facts .fact-line { display:block; width:100%; height:auto; margin-bottom:2%; }
#facts .fact-box.margin_1 { margin-right:8.54545455%; margin-bottom:5%; }


/* --------- Abspann -------------*/
#abspann { overflow: hidden; 
  background: rgba(21,28,31,1);
  background: -moz-linear-gradient(left, rgba(21,28,31,1) 0%, rgba(53,65,71,1) 100%);
  background: -webkit-gradient(left top, right top, color-stop(0%, rgba(21,28,31,1)), color-stop(100%, rgba(53,65,71,1)));
  background: -webkit-linear-gradient(left, rgba(21,28,31,1) 0%, rgba(53,65,71,1) 100%);
  background: -o-linear-gradient(left, rgba(21,28,31,1) 0%, rgba(53,65,71,1) 100%);
  background: -ms-linear-gradient(left, rgba(21,28,31,1) 0%, rgba(53,65,71,1) 100%);
  background: linear-gradient(to right, rgba(21,28,31,1) 0%, rgba(53,65,71,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#151c1f', endColorstr='#354147', GradientType=1 );
}

  #abspann .wrapper { display:flex; justify-content: space-between; flex-wrap:wrap; padding:0 5%; }

  #abspann .abspann-adresse { padding:7% 0; box-sizing: border-box; }
  #abspann .abspann-adresse .adresse-logo { display:none; width:50%; height:auto; margin-bottom:50px; }
  
  #abspann .abspann-adresse .adresse-telefon { display: block; cursor: pointer; background: url('../Images/button_telefon.png') left center no-repeat; background-size:auto 100%; font-weight:700; font-size:2rem; height: 40px; line-height: 40px; margin-top:30px; margin-bottom:20px; position: relative; color: #fff; margin-left:-25px; padding: 15px 5px 15px 90px; }
  #abspann .abspann-adresse .adresse-telefon::before { background: url('../Images/button_line.png') left center no-repeat; background-size:auto 100%; width: 50%; height: 100%; position: absolute; top:0; left:0; content: ""; }
  #abspann .abspann-adresse .adresse-telefon::after { background: url('../Images/button_line.png') right center no-repeat; background-size:auto 100%; width: 50%; height: 100%; position: absolute; top:0; right:0; content: ""; }
  #abspann .abspann-adresse .adresse-telefon:hover { color: #206eff; }
  
  #abspann .abspann-adresse .adresse-telefon2 { display: block; cursor: pointer; background: url('../Images/button_telefon.png') left center no-repeat; background-size:auto 100%; font-weight:700; font-size:2rem; height: 40px; line-height: 40px; margin-bottom:20px; position: relative; color: #fff; margin-left:-25px; padding: 15px 5px 15px 90px; }
  #abspann .abspann-adresse .adresse-telefon2::before { background: url('../Images/button_line.png') left center no-repeat; background-size:auto 100%; width: 50%; height: 100%; position: absolute; top:0; left:0; content: ""; }
  #abspann .abspann-adresse .adresse-telefon2::after { background: url('../Images/button_line.png') right center no-repeat; background-size:auto 100%; width: 50%; height: 100%; position: absolute; top:0; right:0; content: ""; }
  #abspann .abspann-adresse .adresse-telefon2:hover { color: #206eff; }
  
  #abspann .abspann-adresse .adresse-email { display: block; cursor: pointer; background: url('../Images/button_email.png') left center no-repeat; background-size:auto 100%; font-weight:700; font-size:2rem; height: 40px; line-height: 40px; margin-bottom:50px; position: relative; color: #fff; margin-left:-25px; padding: 15px 5px 15px 90px; }
  #abspann .abspann-adresse .adresse-email::before { background: url('../Images/button_line.png') left center no-repeat; background-size:auto 100%; width: 50%; height: 100%; position: absolute; top:0; left:0; content: ""; }
  #abspann .abspann-adresse .adresse-email::after { background: url('../Images/button_line.png') right center no-repeat; background-size:auto 100%; width: 50%; height: 100%; position: absolute; top:0; right:0; content: ""; }
  #abspann .abspann-adresse .adresse-email:hover { color: #206eff; }

  #abspann .abspann-adresse .adresse-anfahrt { display: block; cursor: pointer; background: url('../Images/button_plus.png') left center no-repeat; background-size:auto 100%; height: 40px; line-height: 40px; position: relative; color: #fff; padding: 5px 5px 5px 70px; margin-left:-15px; }
  #abspann .abspann-adresse .adresse-anfahrt:hover { color: #206eff; }

  #abspann .abspann-zertifikate { padding:7% 0; padding-left:10%; box-sizing: border-box; background: url('../Images/back_abspann.png') left center no-repeat; background-size:auto 100%; text-align: right; }
  #abspann .abspann-zertifikate .zertifikate-wrapper { display:flex; justify-content:flex-end; flex-wrap:wrap; }
  #abspann .abspann-zertifikate .zertifikate-wrapper figure { width:20%; margin:3%; }
  #abspann .abspann-zertifikate .zertifikate-wrapper figure img { display:block; width:100%; height:auto; }
  #abspann .abspann-zertifikate .zertifikate-wrapper figure:last-child { margin-right:0; }
  #abspann .abspann-zertifikate .zertifikate-wrapper figure:first-child { margin-left:0; }


/* --------- Footer -------------*/
#footer { position:relative; width:100%; 
  background: rgba(53,65,71,1);
  background: -moz-linear-gradient(left, rgba(53,65,71,1) 0%, rgba(21,28,31,1) 100%);
  background: -webkit-gradient(left top, right top, color-stop(0%, rgba(53,65,71,1)), color-stop(100%, rgba(21,28,31,1)));
  background: -webkit-linear-gradient(left, rgba(53,65,71,1) 0%, rgba(21,28,31,1) 100%);
  background: -o-linear-gradient(left, rgba(53,65,71,1) 0%, rgba(21,28,31,1) 100%);
  background: -ms-linear-gradient(left, rgba(53,65,71,1) 0%, rgba(21,28,31,1) 100%);
  background: linear-gradient(to right, rgba(53,65,71,1) 0%, rgba(21,28,31,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#354147', endColorstr='#151c1f', GradientType=1 );
}
  #footer .wrapper { display:flex; padding:2% 5%; justify-content:space-between; }
  #footer .gras { width:20%; position: absolute; bottom:0; left:40%; }
  #footer .gras img { display:block; width: 100%; height:auto; }

  /* --------- Footernavigation -------------*/
  .footernav { position:relative; }
  .footernav ul { list-style-type:none; margin:0; padding:0; display:flex;}
  .footernav ul li { margin:0; }
  .footernav ul li:first-child { padding-right:40px; }
  .footernav ul li a { text-transform: uppercase; color:#FFF; display:inline-block; box-sizing:border-box; display:block; }
  .footernav ul li.active a { color:#206eff; }
  .footernav ul li a:hover { color:#206eff; }



/* --------- Kontaktformular -------------*/
.row { display:flex; justify-content: space-between; }
.row .col-6 { width:48.72727275%; }
.row .col-1 { width:50px; }
.row .col-11 { width:100%; line-height:30px; }

.form-element { margin-bottom:20px; }
.form-element input { width:100%; line-height:100%; height:50px; padding:10px 10px; font-size:1.0em; box-sizing: border-box; font-family: 'Open Sans'; }
.form-element select { width:100%; line-height:100%; height:50px; padding:10px 10px; font-size:1.0em; box-sizing: border-box; font-family: 'Open Sans'; }
.form-element textarea { width:100%; height:200px; padding:10px 10px; font-size:1.0em; box-sizing: border-box; font-family: 'Open Sans'; }
button { font-family: 'Poppins', Arial, sans-serif; margin-top:20px; border:none; color:#FFF; height:50px; padding:10px 10px; font-size:1.0em; box-sizing: border-box; background:#206eff; }

.form-element-gridrow { margin-bottom:0;}

.form-element input[type="checkbox"] { display: none; }
.form-check-wrapping-label label { overflow:hidden; display:block; text-indent:-9999px; }
.form-check-wrapping-label label::before { width: 30px; height: 30px; background-color: #fff; display: block; content: ""; float: left; margin-right: 5px; cursor: pointer; }
.form-element input[type="checkbox"]:checked + label::before { box-shadow: inset 0px 0px 0px 3px #fff; background-color: #206eff; }



 /* --------- Gridelements -------------*/
  .gridelement_content { display: flex; justify-content: space-between; flex-wrap: wrap; }

