/*------ Cookies ----------------*/
.lightbox .dp--revoke { display: none; }

.cc-revoke { padding: 1em 2em; }
.cc-revoke .dp--hover { padding-left:5px; display: inline-block; }

.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 !important; color:#000 !important; }
.cc-window .cc-btn:hover { background: #FFF !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 div#header_outer,
.dp--cookie-consent div#main,
.dp--cookie-consent div#footer { opacity:0.5; pointer-events: none; }



/*------ Cookie-Tabelle auf Datenschutzseite ----------------*/
.CookieTable { background:#EEE; width:100%; border-collapse:collapse; }
.CookieTable td, .CookieTable th { padding:10px; text-align:left; border:2px solid #FFF; }
.CookieTable td.CookieHead { border-top:20px solid #FFF; }


/*------ Lightbox ----------------*/
body.lightbox { background: #f9f9f9; height: 100%; }
#content_lightbox { height:100%; }
#content_lightbox > div { height:100%; }

/*------ Javascript-Debugger ----------------*/
#output { /* display:none;*/ background:orange; position:fixed; top:200px; left:0; width:300px; z-index:3000; }
#output p{ padding:10px; }


/* --------- Allgemeines ---------------------------------------------------------------------*/
html {height: 100%;
  background: url('../Images/background.jpg') no-repeat center;
  background-size: cover;
  background-attachment: fixed;
}
body { }
  .wrapper { box-sizing:border-box; position:relative; display:block; margin-left:auto; margin-right:auto; }
  .hide { display:none; }

  .shadow_top { opacity:0.8; background:url('../Images/shadow_top.png') center bottom no-repeat; background-size:120% 10px; position:absolute; left:0; top:-15px; width:100%; height:15px; }
  .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; }

  .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 */
  }

  .webview { display:inline; }
  .mobileview { display:none; }

  /* Contain floats: h5bp.com/q */ 
  .clearfix:before, .clearfix:after { content: ""; display: table; }
  .clearfix:after { clear: both; }
  .clearfix { zoom: 1; }

  figcaption { text-align:center; font-size:0.8rem; line-height:140%; padding-top:3px; padding-bottom:5px; }

  .ce-textpic { overflow:hidden; }

  .ce-gallery .ce-row { display:flex; justify-content:space-between; }
  .ce-gallery[data-ce-columns="1"] .ce-column { width:100%; margin-bottom:6%; }
  .ce-gallery[data-ce-columns="2"] .ce-column { margin-bottom:6%; }
  .ce-gallery[data-ce-columns="2"] .ce-column:first-child { margin-right:6%; }
  .ce-gallery[data-ce-columns="4"] .ce-column { width:22%; margin-bottom:4%; }
  .ce-gallery .ce-row:last-child .ce-column { margin-bottom:0; }

  .ce-right .ce-gallery { float:right; margin-left:5%; margin-bottom:5%; }
  .ce-left .ce-gallery { float:left; margin-right:5%; margin-bottom:5%; }

  .ce-gallery img { max-width:100%; height:auto; display:block; }
  .ce-gallery img[alt="logo"] { max-width:50%; height:auto; display:block; margin-bottom:30px; }

  .fsc-default { margin-bottom:5%; }
  .fsc-default:last-child { margin-bottom:0; }


/* --------- Header ---------------------------------------------------------------------*/
#header{ position:relative; padding:0; z-index:600; }
  #header .wrapper { display:flex; justify-content:center; color:#FFF; line-height:50px; }
  #header .wrapper a { color:#FFF; }
    
    /* Logo */ 
    #header .logo { width:15%; min-width:150px; padding:30px 0; box-sizing:border-box; }
    #header .logo img { display:block; width:100%; height:auto; }
    #header .logo a { border:none; }

    #header.fixed { display:none; }

#header2 { position:relative; padding:0; z-index:500; background:#FFF; }
  #header2 .wrapper { padding:0 5%; }
  #header2.fixed { position:fixed; top:0; left:0; width:100%; }

  #header2 .logo2 { display:none; height:60px; width:auto; position:absolute; top:10px; left:6%; background:#FFF; z-index: 1001; }
  #header2 .logo2 img { display:block; width:auto; height:100%; }
  #header2.fixed .logo2 { display:block; }



/* --------- Slider ---------------------------------------------------------------------*/
.headerslider { position:relative; background:#FFF; z-index:100; }
.headerslider .headercaption { z-index:3000; position:absolute; left:5%; bottom:-40px; width:70%; background:#65a5c3; }
.headerslider .headercaption .wrapper { text-transform: uppercase; font-weight:700; color:#FFF; line-height:120%; font-size:3rem; display:block; width:100% !important; height:auto; padding:30px 2%; }
.headerslider img { display:block; width:100%; height:auto; }
.header-slider { height: 100%; }
.slider { position:relative; height:660px; overflow: hidden; }



/* --------- Main Content -------------*/ 
#main { position:relative; z-index:100; background:#FFF; }
  .home #main { background:#FFF url('../Images/background_home.jpg') right bottom no-repeat; background-size:contain;  }
#main .wrapper { padding:0; display:flex; justify-content:space-between; flex-wrap:wrap; align-items:flex-start; }
  #main .wrapper .shadow_bottom { background:url('../Images/shadow_top.png') center bottom no-repeat; background-size: 120% 10px; bottom:0;}

#main .wrapper .mainpfeil_top { display:block; position:absolute; width:0; height:0; top:-40px; left:calc(50% - 100px); border-left:100px solid transparent; border-right:100px solid transparent; border-bottom:40px solid #FFF; }
#main .wrapper .mainpfeil_bottom { display:block; position:absolute; width:0; height:0; bottom:-40px; left:calc(50% - 100px); border-left:100px solid transparent; border-right:100px solid transparent; border-top:40px solid #FFF; }


/*------ Content ----------------*/
.content { padding:5%; box-sizing:border-box; }
  .home .content { padding:10% 5%; }
  .content_inner { height:100%; box-sizing:border-box; }

  .content p, .content ul {  margin:0; padding-bottom:15px; list-style-type:square; }
  .content ul ul {  margin:0; padding-bottom:0px; }
  .content ul li {  padding-bottom:10px; }
 
  .gridelement_content { display:flex; justify-content:space-between; flex-wrap:wrap; }
  .gridelement_content .col8 { width:65%; }
  .gridelement_content .col4 { width:25%; }


/* --------- Pageteaser Content -------------*/ 
#pageteaser { position:relative;  
  background: rgba(255,255,255,1);/* Old Browsers */
  background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(237,237,237,1) 100%); /* FF3.6+ */
  background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(255,255,255,1)), color-stop(50%, rgba(255,255,255,1)), color-stop(100%, rgba(237,237,237,1)));/* Chrome, Safari4+ */
  background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(237,237,237,1) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(237,237,237,1) 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(237,237,237,1) 100%); /* IE 10+ */
  background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(237,237,237,1) 100%);/* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed', GradientType=0 );/* IE6-9 */
}
#pageteaser .wrapper { padding:10% 5%; display:flex; justify-content:center; flex-wrap:wrap; }
#main + #pageteaser .wrapper { padding-top:1%; }

#pageteaser h2 { width:100%; text-align: center; margin-bottom:30px}

.gridelement_pageteaser { display:flex; /*justify-content:space-between;*/ justify-content:space-evenly; flex-wrap:wrap; width:90%; }
.gridelement_pageteaser .col { position:relative; width:30%; box-sizing:border-box; background:#FFF; box-shadow:3px 3px 10px rgba(0,0,0,0.5); display:flex; flex-direction: column; justify-content:flex-start; }

.gridelement_pageteaser .col1 {  }
.gridelement_pageteaser .col2 {  }
.gridelement_pageteaser .col3 { background:#c9dfeb; }

.gridelement_pageteaser h3 { font-weight:300; padding:10% 10% 5%; }
.gridelement_pageteaser .bodytext { padding-bottom:20px }
.gridelement_pageteaser p, .gridelement_pageteaser ul { padding:5% 10% 0; margin:0; }
.gridelement_pageteaser p:last-child { padding-bottom:5% }
.gridelement_pageteaser img { width:100%; height:auto; display:block; }
.gridelement_pageteaser .teaser-neu { position:absolute; right:-20px; top:20px; padding:20px; font-size:3rem; color:#FFF; font-weight:900; background:#00376f; }

.gridelement_pageteaser .full-col { margin-top:100px; padding:5% 3%; width:100%; background:#c9dfeb; justify-content:space-between; flex-direction: row; }
.gridelement_pageteaser .subcol { position:relative; width:26%; box-sizing:border-box; }
.gridelement_pageteaser .subcol ul { padding:5% 0; }

.gridelement_pageteaser .col3 .pfeil {
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  bottom: -80px;
  left: calc(50% - 140px);
  border-left: 140px solid transparent;
  border-right: 140px solid transparent;
  border-top: 60px solid #65a5c3;
}

/* --------- Stellenangebote Content -------------*/ 
#stellenangebote { background: #65a5c3;  }
#stellenangebote .wrapper { color:#FFF; padding:5% 5% 7%; }
  #stellenangebote .wrapper .fsc-default { margin-bottom:0; width: 100%; }
  #stellenangebote .shadow_bottom { background:url('../Images/shadow_top.png') center bottom no-repeat; background-size: 120% 10px; bottom:0;}
  #stellenangebote h2 { color:#FFF; padding:0; }

  #stellenangebote .button-more { margin-top:3%; font-weight:300; }

  .tx-jobliste.show h2 { margin-top:3%; }
  .tx-jobliste.show h3 { margin-top:3%; }
  .tx-jobliste.show .job-abspann { margin:3% 0; position:relative; background:#c9dfeb; display:block; padding:20px; box-sizing:border-box; }
  .tx-jobliste.show .job-abspann .button { background:#6a8aae; color:#FFF; }
  .tx-jobliste.show .job-abspann .button:hover { background-color: #00376f; }

/*------ GoogleMaps ----------------*/
#map-canvas { height:100%; width:100%; display:block; }
  #map-canvas .map-content h1 { text-transform:none; font-size:1rem; margin-bottom:0.4em; padding:0; }
  #map-canvas .map-content { font-family: 'Rajdhani', sans-serif; color:#000; font-size:0.9rem; line-height:140%; }
  #map-canvas img { max-width:none; }

  .lightbox #header_outer { display:none; }
  .lightbox #kontakt { display:none; }
  .lightbox #footer { display:none; }
  .lightbox .tx-cf-cookiemanager { display:none; }
  
  .lightbox #main { height:100%; width:100%; }
  .lightbox #main > div { height:100%; width:100%; }
  #googleMap { height:100%; width:100%; display:block; }


/*------ Kontaktformular ----------------*/
.form-element { display:flex; overflow: hidden; position:relative; }
.form-element .form-label { padding:0; font-size:1rem; width:25%; display:inline-block; vertical-align:top; line-height:40px; }
.form-element input { font-size:1rem; font-family: 'Roboto', Arial, sans-serif; box-sizing:border-box; background:#DDD; outline:none; width:75%; position:relative; border:none; margin-bottom:15px; height:40px; padding:0 2%; }
.form-element input:focus, .form-element textarea:focus{ background:#CCC; }
.form-element textarea { font-size:1rem; font-family: 'Roboto', Arial, sans-serif; box-sizing:border-box; background:#DDD; outline:none; width:75%; position:relative; border:none; margin-bottom:15px; height:140px; padding:10px 2%; }
.form-element input[type="file"] { padding:5px 2%; line-height:25px;}
#bewerbungsformular-21-fileupload-1-preview { position:absolute; top:5px; right:2%; }
#bewerbungsformular-21-fileupload-2-preview { position:absolute; top:5px; right:2%; }
#bewerbungsformular-21-fileupload-3-preview { position:absolute; top:5px; right:2%; }
.form-element .form-check { margin-left:25%; }
.form-element .form-check .form-check-label { display:flex; }
.form-element .form-check .form-check-label input { width:auto; background:#DDD; padding:0 2%; }
.form-element .form-check .form-check-label > span { padding:7px 10px; }

.radioButton > .form-check { width:100%; display:flex; }
.radioButton > .form-check > .form-check { width:75%; }
.radioButton .form-label { padding:0; font-size:1rem; width:25%; display:inline-block; vertical-align:top; line-height:40px; }
.radioButton .form-check #bewerbungsformular-21-radiobutton-1 { width:100%; background:#DDD; margin-bottom:15px; height:40px; padding:0 2%; box-sizing:border-box; }
.radioButton .form-check #bewerbungsformular-21-radiobutton-1 .form-group { display:flex; }
.radioButton .form-check #bewerbungsformular-21-radiobutton-1 .form-check { display:flex; margin-right:20px; }
.radioButton .form-check #bewerbungsformular-21-radiobutton-1 .form-check input { width:30px; line-height:30px; margin-bottom: 0; }
.radioButton .form-check #bewerbungsformular-21-radiobutton-1 .form-check label { line-height:40px; padding-left:10px; }

.staticText { margin-left:25%; display:block; }

#bewerbungsformular-21-text-8 { font-weight:700; font-size:1.4rem; background:none; }

#kontaktformular > .clearfix p { margin-left:25%; font-size:0.8rem; line-height:140%; margin-top:20px; }
.row { display:flex; }
.row > div { width:25%; }
.row > div:first-child { width:25%; }
.row > div:first-child p { line-height:40px; padding-bottom:0; }
.row > div:last-child { margin-left:1%; width:49%; }
.row .form-label { display:none; }
.row .input { width:100%; }


.invalid-feedback { position:absolute; right:20px; top:5px; background:#fff; border:1px solid #000; color:#000; font-size:0.8rem; padding:5px 10px; box-sizing:border-box; border-radius:5px; box-shadow:3px 3px 7px rgba(0,0,0,0.5); }


.actions button.btn-primary { border:none; cursor:pointer; width:auto; float:right; background:#00376f; color:#FFF; opacity:0.5; text-decoration:none; font-size:1.25rem; text-align:left; line-height:50px; height:50px; padding:0 10%; margin:20px 0 0; 
  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 */
}
.actions button.btn-primary:hover { opacity:1; }

.actions button.btn-outline-primary { border:none; cursor:pointer; outline:none; position:relative; text-decoration:none; margin:20px 0 0; background:#c9dfeb; display:inline-block; font-size:1.25rem; line-height:50px; padding:0 5%; box-sizing:border-box; 
  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 */
}
.actions button.btn-outline-primary:hover { text-decoration:none; color:#fff !important; background-color:#00376f; }

fieldset { border:none; background:#EEE; position:relative; padding:30px; padding-top:70px;  }
fieldset legend { position: absolute; top:0; left:0; padding:30px; font-weight:700; text-transform: uppercase; }
fieldset p { margin-bottom:30px;}
fieldset .row { display:flex; margin:0;}
fieldset .row dt { display:block; width:25%; padding:5px 0; margin-bottom:5px;}
fieldset .row dd { width:75%; font-weight:500; padding:5px 2%; margin-bottom:5px; }



/* --------- Kontakt -------------*/
#kontakt { color:#555555; position:relative; width:100%; font-size:0.8rem; background:#FFF url('../Images/background_kontakt.jpg') center no-repeat; background-size: cover; }
  #kontakt .wrapper { display:flex; position:relative; justify-content:flex-end; padding:100px 5% 0; z-index:100; flex-wrap:wrap; }

  .adresse { width:25%; font-size:1.2rem; padding:20px; background:#FFF; }
  .adresse  p { margin:0 0 5px; }
  .adresse  p:nth-of-type(1) { margin:20px 0 10px; }
  .adresse  p .servicenummer { font-size:2rem; color:#00376f; font-weight:900; display:block; }
  .adresse  p:nth-of-type(2) { margin:0 0 5px; color:#00376f; font-weight:900; }
  .adresse img.anfahrt { width:100%; display:block; padding:10px 0 30px; }


/* --------- Footer -------------*/
#footer { color:#555555; position:relative; width:100%; font-size:0.8rem; z-index:50; background:#FFF; }
  #footer .wrapper { display:flex; position:relative; padding:25px 5% 20px; }

  /* --------- Copyright -------------*/
  .copyright { color:#00376f; line-height:100%; }

  /* --------- Footernavigation -------------*/
  .footernav { position:relative; }
  .footernav ul { list-style-type:none; margin:0; padding:0 0 0 20px; }
  .footernav ul li { float:left; line-height:100%; }
  .footernav ul li a { text-transform:uppercase; color:#555; display:inline-block; padding:0 10px;
    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 */
  }
  .footernav ul li:last-child a { padding-right:0; }
  .footernav ul li:first-child a { padding-left:0; }
  .footernav ul li.active a { color:#555; }
  .footernav ul li a:hover { color:#555; }


