/*------ Cookies ----------------*/
.cc-revoke { padding: 1em; bottom:13px !important; }
.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 #FFF; 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 !important; }
.cc-window .cc-btn { width: 48% !important; background:#FFF; color:#000 !important; }
.cc-window .cc-btn:hover { background-color:#ddd !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; }




.product-list-head { text-transform:uppercase; color:#000; font-size:1.8rem; }
.product-list { background:#EEE; padding:15px; margin-bottom:50px; display:flex; flex-wrap: wrap; }
.product-list a { color:#000; }
.product-list-item {
  position:relative;
  background-color:rgba(255,255,255,0.4);
  background-position:bottom right;
  width:23.5%;
  margin-right:2%;
  margin-bottom:2%;
  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 */
}
.product-list-item:hover { background-color:rgba(255,255,255,0.8);
  background-image:url('../Images/button_pfeil_ohne.png');
  background-repeat: no-repeat;
}
.product-list .product-list-item:nth-child(4n+4)  { margin-right:0; }
.product-list-item img { margin-bottom:10px; width: 100%; height: auto; }
.product-list-item h3 { padding:10px; padding-right:40px; margin:0; text-transform:uppercase; font-weight:normal; }


.cat_header { text-transform:uppercase; position:relative; display:block; font-weight:bold; padding:5px 15px 5px 35px; }
  .cat_header .punkt { background:#990b24; width:14px; height:14px; position:absolute; top:8px; left:0px; }
  .carousel_options ul { list-style-type:none; padding-right:0 !important; margin-bottom:20px; }
  .carousel_options li { padding:5px 15px 5px 20px; text-transform:uppercase; line-height:18px; position:relative; border-bottom:1px solid rgba(0,0,0,0.5); font-size:0.9rem; }
  .carousel_options li label input { margin-right:5px; }



#output { display:none; background:orange; position:fixed; top:250px; left:0; z-index:1000; width:200px; }


/*------ Kontaktformular ----------------*/
form { width:95%; clear:both; margin-bottom:15px}
form .form-group { position:relative; width:100%; display:flex; justify-content: space-between; margin-bottom:10px; }
form .form-group label { color:#666; font-size:1em; width:25%; display:inline-block; line-height:20px; padding:5px 0;}
form .form-group .input { width:75%; }
form .form-group input { background:#DDD; outline:none; width:100%; border:none; line-height:30px; padding:2%; box-sizing: border-box; }
form .form-group input:focus, form .form-group textarea:focus, form .form-group select:focus { background:#ddd; }
form .form-group select { -webkit-appearance: none; -webkit-border-radius:0px; color:#000; background:#DDD; outline:none; width:100%; border:none; line-height:30px; padding:2%; box-sizing: border-box; }
form .form-group textarea { background:#DDD; outline:none; width:100%; border:none; height:140px; padding:2%; box-sizing: border-box; }

#kontaktanfrage-228-text-2,
#kontaktanfrage-228-email-1,
#kontaktanfrage-228-fileupload-1 { margin-bottom:20px; }

.row + .form-group .form-label {display:none; }
.row + .form-group { margin-left:25%; margin-bottom:20px; }


.btn-group button[type="submit"] { width:auto; cursor:pointer; float:right; background:#990b24; opacity:0.7; text-decoration:none; font-size:1.25rem; text-align:left; line-height:50px; height:50px; padding:0 9.09090909%; margin-bottom:0px; margin-right:0; color:#FFF;
  transition: all 0.2s ease-in 0s; /* explorer 10 */
  -webkit-transition: all 0.2s ease-in 0s; /* chrome & safari */
  -moz-transition: all 0.2s ease-in 0s; /* firefox */
  -o-transition: all 0.2s ease-in 0s; /* opera */
}
.btn-group button[type="submit"]:hover {  opacity:1; }

form .row { position:relative; width:100%; display:flex; margin-bottom:10px; padding-left:25%; box-sizing: border-box; }
form .row label { width:auto; }
form .row label input { display: block; width:30px; height:30px; margin-right:20px; }
form .row label span { display: none; }
form .row p { padding:0 !important; line-height: 20px; }
form .row .frame-default { margin-bottom:0; margin-top: 10px; }


/* --------- Allgemeines ---------------------------------------------------------------------*/
body { background:#fff; }
  .wrapper { box-sizing:border-box; position:relative; background:#fff; display:block; margin-left:auto; margin-right:auto; }
  .hide { display:none; }
  .no-scroll {height:100%; overflow:hidden; }

  div.csc-textpic-intext-left-nowrap .csc-textpic-imagewrap { margin-right: 20px; }
  .frame-default { margin-bottom:20px; }
  .frame-default caption { font-size:0.7rem; padding:5px 0; font-style:italic; }

  /* Listen */ 
  .frame-default ul { margin-left:15px; }
  .frame-default li { position:relative;  }



  .content_withoutmargin   { margin-bottom:0px !important; }

  .ce-column { margin-bottom:20px; }
  .ce-row { margin-bottom:0; }

  /* Rote Ecke bei Buttons */
  .ecke { 
  -moz-transform: rotate(-30deg);
  -ms-transform: rotate(-30deg);
  -o-transform: rotate(-30deg);
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg); width:50px; height:30px; display:block; background:#990b24; border:3px solid #FFF; position:absolute; bottom:-25px; right:-15px; }

  .more { font-size:0.8em; color:#990b24; display:inline-block; background:#BBB url('../Images/button_pfeil.png') top right no-repeat; line-height:30px; padding:0 50px 0 10px; box-sizing:border-box; }

/* --------- Header ---------------------------------------------------------------------*/
#header{ overflow:hidden; position:relative; z-index:300; }
  #header .wrapper {  }

  /* Streifen */ 
  .streifenverlauf {  background: rgba(255,255,255,0.5);  width: 100%;  height: 40px;  position: absolute;  bottom: 0px; z-index: 40;}
  .streifenverlauf_back { background: rgba(255,255,255,0.3); width: 100%; height: 40px; position: absolute;  bottom: 0; }

  .slidercaption { background: #990b24; }
  .slidercaption .wrapper { background:none; color:#FFF; font-weight:700; line-height:130%; padding:20px 30px; font-size:1.0em; }
  
  /* Logo */ 
  #header .logo { position:absolute; top:40px; left:15px;}
  #header .logo a { border:none; }

  /* Siegel */ 
  #header .siegel { position:absolute; top:-20px; left:30%; }

  /* Servicenavigation */ 
  #servicenav { position:relative; margin-bottom:80px; padding-top:45px; float:right; background:#ababab; font-weight:bold; font-size:0.8em; }
  #servicenav .servicenav_shadow { background:url("../Images/shadow_center.png") center top no-repeat; background-size:contain; width:100%; height:10px; bottom:-10px; left:0; position:absolute; }
  #servicenav ul { list-style-type:none; display:flex;}
  #servicenav ul li { line-height:30px; width:25%; box-sizing: border-box; }
  #servicenav ul li a { color:#fff; border:none; display:block; padding:0 20px; }
  #servicenav ul li.active a { color:#990b24; }
  #servicenav ul li a:hover { color:#990b24; }


/* --------- Hauptnavigation -------------*/ 
#navigation { background:#990b24; position:relative; z-index:600; }
#navigation .wrapper { background:none; }


/* --------- Slider -------------*/ 
#slider { background:#990b24; position:relative;  }
 .subsites #slider { display:none; }
  #slider .wrapper { background:none; }
  #slider .streifen { position:absolute; bottom:0; left:0; width:100%; height:20px; 
  background: rgba(46,46,46,0.7); /* Old Browsers */
  background: -moz-linear-gradient(left, rgba(46,46,46,0.7) 0%, rgba(46,46,46,0.29) 100%); /* FF3.6+ */
  background: -webkit-gradient(left top, right top, color-stop(0%, rgba(46,46,46,0.7)), color-stop(100%, rgba(46,46,46,0.29)));/* Chrome,Safari4+  */
  background: -webkit-linear-gradient(left, rgba(46,46,46,0.7) 0%, rgba(46,46,46,0.29) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(left, rgba(46,46,46,0.7) 0%, rgba(46,46,46,0.29) 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(left, rgba(46,46,46,0.7) 0%, rgba(46,46,46,0.29) 100%); /* IE 10+ */
  background: linear-gradient(to right, rgba(46,46,46,0.7) 0%, rgba(46,46,46,0.29) 100%);/* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2e2e2e', endColorstr='#2e2e2e', GradientType=1 );/* IE6-9 */
  }
  #slider .frame-default { margin-bottom:0px; }
  

/* --------- Main Content -------------*/ 
#main { position:relative; }
  #main .wrapper { padding:0 0 50px; background:#FFF; display:flex; justify-content: space-between; flex-wrap: wrap; }
  #main .wrapper #shadow_left { width:20px; height:100%; position:absolute; top:0; left:-20px; background:url("../Images/shadow_left.png") right top no-repeat; }
  #main .wrapper #shadow_right { width:20px; height:100%; position:absolute; top:0; right:-20px; background:url("../Images/shadow_right.png") left top no-repeat; }


  /* Headline */ 
  #headline { margin-bottom:15px; position:relative; padding:2% 2%; box-sizing: border-box; }
  #headline .headline_shadow { position:absolute; height:15px; width:100%; left:0; bottom:-15px; background:url("../Images/shadow_header.png") left top no-repeat;}
  #headline h1 { font-size:1.8em; line-height:110%; padding-bottom:3px; }
  #headline h2 { color:#333; }
  #headline .frame-default { margin-bottom:0; }

  /* Hotline */ 
  .hotline { box-sizing:border-box; background:url("../Images/icon_telefon.png") left 20px no-repeat; padding:20px 30px 20px 50px; margin-left:2%; }
  .hotline .head { font-size:1.7rem; padding-bottom:15px; }
  .hotline .telefon { font-size:1.7rem; font-weight:bold; color:#990b24; }
  .hotline a{ font-weight:bold; }
  .subsites .hotline { display:none; }


  #content { padding:3% 2%; }
  #content h1 { padding-right:30px;  }
  #content p, #content ul { }
  #content img { max-width:100%; height:auto; }

  .ce-right .ce-gallery { width:32%; }
  .ce-intext.ce-right .ce-gallery { margin-left: 3%; }
  .ce-intext.ce-right .ce-gallery .ce-column { float:none; }
  .ce-intext.ce-right .ce-gallery .ce-column img { width:100%; height:auto; }
  .ce-gallery figure { width: 100%; }



/*------ GoogleMaps ----------------*/
  #map-canvas { height:410px; width:100%; display:block; }
  #map-canvas .map-content h1 { color:#000; font-size:1rem; margin-bottom:1em; }
  #map-canvas .map-content { color:#000; font-size:1rem; }
  #map-canvas img { max-width:none; }

/* --------- Referenzen -------------*/ 
#referenzen { background:#bbb; position:relative; overflow: hidden; }
  #referenzen .wrapper { background:none; padding:40px 0 ; }
  #referenzen h1 { color:#FFF; font-size:1.7rem; margin:0 2%; }

  #referenzen .tx-camaliga { margin:0 2%; }

  /* Streifen */ 
  #referenzstreifen { z-index:300; position:absolute; top:0px; left:0px; background:url("../Images/streifen_white.png") right top no-repeat; height:20px; width:450px; }


/* --------- News -------------*/ 
#news { background:#FFF; position:relative; }
  #news .wrapper { background:none; padding:40px 2%; }
  #news h1 { color:#BBB; font-size:1.7rem; }
  #news .more_news a { display:block; color:#000 !important; line-height:30px; border-top:1px dotted #000; border-bottom:1px dotted #000; text-align:center; width:100%; }

/* --------- Kontakt -------------*/
#kontakt {   
  background: rgba(255,255,255,1);
  /* Old Browsers */background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(187,187,187,1) 100%);
  /* FF3.6+ */background: -webkit-gradient(left top, right top, color-stop(0%, rgba(255,255,255,1)), color-stop(100%, rgba(187,187,187,1)));
  /* Chrome, Safari4+ */background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(187,187,187,1) 100%);
  /* Chrome10+,Safari5.1+ */background: -o-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(187,187,187,1) 100%);
  /* Opera 11.10+ */background: -ms-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(187,187,187,1) 100%);
  /* IE 10+ */background: linear-gradient(to right, rgba(255,255,255,1) 0%, rgba(187,187,187,1) 100%);
  /* W3C */filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#bbbbbb', GradientType=1 );
  /* IE6-9 */
    width:100%; font-size:0.8em; position: relative;
  }
  #kontakt .wrapper { position: relative; line-height:120%; padding:50px 2% 30px; background:url("../Images/shadow_center.png") center top no-repeat; display: flex; flex-wrap: wrap; }

  /* Streifen */ 
  #kontaktstreifen { z-index:300; position:absolute; top:0px; left:0px; background:url("../Images/streifen.png") left top no-repeat; height:20px; width:100%; }

  /* Logo */ 
  #kontakt .logo { padding-left:200px; width:120px; padding-top:8px; padding-bottom:30px; }
  #kontakt .logo img { max-width: 150px; }
  #kontakt .logo a { border:none; }
  
  #kontakt .adresse1  { padding-left:25px; width:300px;}
  #kontakt .adresse2  { padding-left:25px; width:300px; }

  /* Siegel */ 
  #kontakt .siegel { position:absolute; top:-20px; right:2%; z-index:301; }

/* --------- Footer -------------*/
#footer { color:#FFF; background:#990b24 url("../Images/shadow_center.png") center top no-repeat; overflow:hidden; width:100%; font-size:0.8em; }
  #footer .wrapper { background:none; padding:20px 2%; display:flex; justify-content: space-between;}

  /* Copyright */ 
  .copyright{ line-height:40px; }

  /* Footernavigation */ 
  #footernav { padding:10px 0;}
  #footernav ul { list-style-type:none; }
  #footernav ul li { float:left; line-height:14px; border-left:1px solid #FFF; }
  #footernav ul li:first-child { border-left:none; }
  #footernav ul li a { color:#fff; border:none; display:block; line-height:20px; padding:0 10px; text-transform:uppercase; }
  #footernav ul li.active a { text-decoration:underline; }
  #footernav ul li a:hover { text-decoration:underline; }






/* Contain floats: h5bp.com/q */ 
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }
