/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on February 28, 2024 */



@font-face {
    font-family: 'robotoregular';
    src: url('../fonts/roboto-regular-webfont.eot');
    src: url('../fonts/roboto-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/roboto-regular-webfont.woff') format('woff'),
         url('../fonts/roboto-regular-webfont.ttf') format('truetype'),
         url('../fonts/roboto-regular-webfont.svg#robotoregular') format('svg');
    font-weight: normal;
    font-style: normal;
	font-display: fallback;

}

@font-face {
    font-family: 'robotobold';
    src: url('../fonts/roboto-bold-webfont.eot');
    src: url('../fonts/roboto-bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/roboto-bold-webfont.woff') format('woff'),
         url('../fonts/roboto-bold-webfont.ttf') format('truetype'),
         url('../fonts/roboto-bold-webfont.svg#robotobold') format('svg');
    font-weight: normal;
    font-style: normal;
	font-display: fallback;

}

/*allgemeines*/

* {
	margin: 0px;
	padding: 0px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

:root {
	--highlight: #c2242d;
	--text: #343434;
	--lightback: #e9e9e9;
}

img {
	max-width: 100%;/*  alle img responsive;max. die Breite, die des Fotos selbst hat --- */
	height: auto;
}

header, nav, main, article, section, footer{
	display:block;
}

html{
	scroll-behavior: smooth;
}

body{
    font-family: 'robotoregular', sans-serif;
	font-size:1rem;
	line-height:36px;
	color:var(--text);
	font-weight: normal;
}

p,a {
	font-size:16px;
	color:var(--text);
	  -webkit-hyphens:auto;
       -ms-hyphens:auto;
           hyphens:auto;
}
p {
	margin-bottom: 15px;
}

a{
	color:inherit;
}

h1,h2,h3{
    font-family: 'robotobold';
	font-size:30px;
	font-weight:normal;
	text-transform:uppercase;
	/*  -webkit-hyphens:auto;
       -ms-hyphens:auto;
           hyphens:auto;*/
	color:var(--highlight2); 
	margin:30px 0;
}


h1{
    border-bottom:1px solid var(--highlight);
    padding-bottom:20px;
}

h2,h3{
	font-size:26px;
}

aside {
  text-align: center;
  background-color: var(--text);
  display: none;
}

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

figure{
    margin-bottom:30px;
}

figcaption{
    font-size:14px;
    line-height: 14px;
    font-style:italic;
}

header{
    height:400px;
}

header.js-nav-sticky {
  position: relative;
  top: 50px;
  margin-bottom: 50px;
}


ol {
  list-style-position: inside;
}


ol li::marker{
    font-weight:bold;
}
/*ids und classes*/


.button:link, .button:visited{
    background-color:var(--text);
    color:#fff;
    padding:20px 40px;
    text-transform: uppercase;
    text-decoration: none;
    margin-top:30px;
    display:inline-block;
    font-family: 'robotobold';
    font-size: 20px;
    letter-spacing: 2px;
}

.button:hover, .button:focus, .button:active{
    background-color:var(--highlight);
}

.clearfix:after{
    content:"";
    display:block;
    clear:both;
}
.contentwrapper, .contentwrapper_main{
    max-width:1400px;
    margin:0 auto;
    padding:0 15px;
}

.contentwrapper_main{
    padding:30px 15px;
}

.full{
    width:100%;
}

.full.geflext {
  background-color: gray;
  padding: 50px 0;
}


.geflext{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.drittel, .halb{
    width:100%;
}

.hg_text{
    background-color:var(--text);
    color:#fff;
}

.hg_highlight{
    background-color:var(--highlight);
    color:#fff;
}

.hg_lightback{
    background-color:var(--lightback);
    color:#fff;
}

.hg_text p, .hg_highlight p{
    color:#fff;
}

.icon_aside{
    width:20px;
    height: auto;
}

.liste_pfeil {
  list-style-position: inside;
  list-style-image: url("../img/icon_pfeil.png");
  margin-bottom:15px;
}

.schattiert{
      -webkit-filter: drop-shadow(4px 4px 4px #000);
              filter: drop-shadow(4px 4px 4px #000);
}
.teaser img{
    height:40px;
}

.teaser div {
    padding: 30px 0;
    border-bottom: 1px solid #fff;
    margin: 30px 60px;
  }   
    
.teaser div:last-of-type {
    border-bottom: 0;
  } 
.text_aside{
    padding:15px;
}

#automatiktueren, #safety, #tore{
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center center;
}

#automatiktueren{
    background-image:url("../img/header_automatiktuer.webp");
}


#bundesweit{
    margin-top:20px;
    text-transform:uppercase;
    font-family: 'robotobold';
    font-size:18px;
}

#deutschland{
    display:block;
    margin:30px auto 0 auto;
    max-height:500px;
}
#Layer_1 {
  display: inline-block;
  height: 23px;
  width: auto;
  padding-right: 5px;
  position: relative;
  top: 5px;
}

#logo img{
    height:65px;
    width:auto;
    margin:15px 0 0 15px;
}

#logo_aside{
    width:100%;
    padding:20px 60px;
    background-color:var(--highlight);
    margin-bottom:30px;
}

#safety{
    background-image:url("../img/header_safety.jpg");
}


#safetylogo{
  max-width: 250px;
  height: auto;
  margin: 0 auto 30px auto;
  display: block;
}

#servicepartner {
  position: absolute;
  right: 30px;
  top: 440px;
  -webkit-transform: rotate(15deg);
      -ms-transform: rotate(15deg);
          transform: rotate(15deg);
  -webkit-filter: drop-shadow(4px 4px 4px #000);
          filter: drop-shadow(4px 4px 4px #000);
}

#tore{
  background-image:url("../img/header_rolltor.webp");
  background-position-x: 50%;
}

/*formular*/
form{
    margin:30px 0;
}

fieldset{
  border:0;
  border-bottom:1px solid #fff;
  padding-bottom:50px;
}

label {
  display: block;
  line-height: 18px;
  padding-bottom: 10px;
}

input {
  display: block;
  background-color: transparent;
  border: 1px solid #fff;
  padding: 10px 5px;
  width: 100%;
  margin-bottom: 20px;
  color:#fff;
  font-family: 'robotoregular', sans-serif;
}


input[type='radio'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border:none;
  border-radius: 0;
}


input[type='radio']:checked + label::before,
input[type='radio']:not(:checked) + label::before {
    content:' ';
    display:inline-block;
    width: 12px;
    height:12px;
    position: relative;
    top:0;
    border: 1px solid #fff;
    border-radius:50%;
    margin-right: 5px;
}

input[type='radio']:hover  + label::before, input[type='radio']:checked  + label::before {
  background:#fff;
}

select {
  padding: 10px 5px;
  width: 100%;
  border: 1px solid #fff;
  border-radius: 0;
  margin-bottom: 20px;
  appearance: none;
}

select, select option {
  background: var(--text);;
  color: #fff;
}

#cont_kontakt select, #cont_kontakt select option {
  background: var(--highlight);
  color: #fff;
}

label[for="leistung"]{
    margin-top:36px;
}

label[for=webseite], #webseite {
	display:none;
}

.fehler {color: #ff0000;}
.fehlerhome {color: #000000;}

textarea {
  font-family: 'robotoregular', sans-serif;
  width: 100%;
  height: 134px;
  resize: vertical;
  background: transparent;
  border: 1px solid #fff;
  padding:5px;
  color:#fff;
}

#anrede label, #anrede input{
    display:inline;
    width:auto
}

#gender_herr{
    margin-left:30px;
}

#gender_frau {
  padding-left: 0;
}

#submit, #reset{
    max-width:200px;
    display: inline-block;
    color:#fff;
    text-transform: uppercase;
    margin-right: 30px;
}

#submit:hover, #reset:hover{
    background-color:#fff;
    color:var(--text);
}

::placeholder {
  color: rgba(255,255,255,0.6);
  font-family: 'robotoregular';
}

/*navigation*/

.aktiv{
  background-color: rgba(255,255,255,0.3);
}

#burger {
  position: absolute;
  top: 98px;
  right: 12px;
  z-index: 200;
}

#burgerclose, #burgeropen{
    display:inline-block;
    width:30px;
    margin-right:6px;
    margin-top:3px;
}

#topnav{
    position:relative;
}

#topnav:target #burgeropen{
    display: none;
}

#topnav:target #burgerclose{
    display: block;
}

#burgerclose{
    display:none;
}

#topnav:target #menue{
    display: block;
    position:absolute;
    right:0;
    background-color:var(--text);
    top:45px;
    z-index: 500;
}

#kontaktleiste{
    float:right;
}

#kontaktleiste img{
    height: 25px;
    width:auto;
    display: block;
}

#kontakt_fon img{
    margin-bottom:15px;
    margin-top:15px;
    padding-left:5px;
}

#kontaktleiste p{
    display: none;
}

#menueleiste{
    background-color:var(--text);
    width:100%;
    color:#fff;
    padding-right: 15px;
    height: 45px;
    position: relative;
    line-height: 45px;
}

#menueleiste a{
    text-transform:uppercase;
    text-decoration:none;
    display:block;
    text-align:right;
}

#menue{
    display:none;
    text-align:right;
    list-style: none;
}

#menue li{
    padding:15px;
}

#menue li:hover{
    background-color:var(--lightback);
    color:var(--highlight);
}

#menueleiste.js-nav-sticky{
        position:fixed;
        top:0;
        left:0;
        z-index:400;
}

#burger.js-nav-sticky{
        position:fixed;
        top:5px;
        z-index:450;
}

#footernav {
  background-color: var(--text);
  color: #fff;
}

#footernav ul{
  text-align: center;
  padding:15px 0;  
}

#footernav li {
  display: inline-block;
  margin: 0 auto;
  padding: 0 15px;
  text-transform: uppercase;
  border-right:1px solid #fff;  
}

#footernav li:last-of-type {
  border-right:0;  
}

#footernav li:hover, #footernav li:focus, #footernav li:active{
  background-color:var(--highlight);
}

#footernav a {
  text-decoration:none;
}
/*slide ins*//*slide ins*//*slide ins*//*slide ins*//*slide ins*//*slide ins*//*slide ins*//*slide ins*//*slide ins*//*slide ins*//*slide ins*//*slide ins*//*slide ins*//*slide ins*//*slide ins*//*slide ins*/
.module {
  position: relative;
}

.come-in {
  -webkit-transform: translateY(150px);
      -ms-transform: translateY(150px);
          transform: translateY(150px);
  -webkit-animation: come-in 0.8s ease forwards;
          animation: come-in 0.8s ease forwards;
}


.come-in:nth-child(odd) {
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
}

.already-visible {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-animation: none;
          animation: none;
}

.module.sechstel:last-of-type::after {
  content: "";
}

@keyframes come-in {
  to { transform: translateY(0);}
}

@-webkit-keyframes come-in {
  to { -webkit-transform: translateY(0); }
}






/*slider*//*slider*//*slider*//*slider*//*slider*/

/* Slideshow container */
.slideshow-container {
  width: 100%;
  height: 400px;
  position: relative;
  margin:0 auto;
  overflow:hidden; 
}

.slideshow-container img {
  max-width: none;
  height: 500px;
  object-fit: cover;
  width: 800px;
}


/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: calc((100% - 30px)/2);
  width: auto;
  padding: 16px;
  color: #fff;
  font-weight: bold;
  font-size: 36px;
  -webkit-transition: 0.6s ease;
  -o-transition: 0.6s ease;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
}

/* Caption text */


/* Number text (1/3 etc) */

/* The dots/bullets/indicators */
.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active, .dot:hover {
  background-color: #717171;
}

#dotter{
    text-align:center;
    position: relative;
    z-index:20;
}

/* Fading animation */
.fade {
  -webkit-animation-name: fade;
          animation-name: fade;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
}

@-webkit-keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}
@keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}

/* On smaller screens, decrease text size */
@media only screen and (max-width: 300px) {
  .prev, .next,.text {font-size: 11px}
}


 
/*scrolltotop*/
#myBtn {
	display: none;
	position: fixed;
	bottom: 20px;
	left:calc(100% - 60px);
	z-index: 99;
	font-size: inherit;
	border:0;
	background-color: var(--text);
	color: var(--highlight);
	cursor: pointer;
	padding: 15px;
	border-radius:50%;
}

#myBtn:hover {
	background-color:var(--highlight);
	color: #fff;
	-webkit-user-select: none; 
	-webkit-touch-callout: none;
}

/*tablet*//*tablet*//*tablet*//*tablet*//*tablet*//*tablet*//*tablet*//*tablet*//*tablet*//*tablet*//*tablet*//*tablet*//*tablet*//*tablet*//*tablet*//*tablet*//*tablet*//*tablet*/

@media screen and (min-width: 760px){
 
aside{
   display:block;
}  
    
header {
  height: 600px;
}
 
.dreiviertel{
      -ms-flex-preferred-size:70%;
          flex-basis:70%;
}   
    
.drittel{
       -ms-flex-preferred-size:32%;
           flex-basis:32%;
}    
  
.halb{
       -ms-flex-preferred-size:48%;
           flex-basis:48%;
    }     
    
.teaser div {
    padding: 0 60px;
    border-right: 1px solid #fff;
    border-bottom:0;
    margin: 30px 0;
  }  
   
.teaser div:last-of-type {
    border-right: 0;
  }  
    
.viertel{
    -ms-flex-preferred-size:24%;
        flex-basis:24%;
} 
    
#servicepartner {
  right: 10%;
  top: 620px;
}
   
    
 /*formula*/   
    
 fieldset {
    border-bottom:0;
    padding-bottom:0;
}   
    
#teiler{
        width:1px;
        heigght:auto;
        background-color: #fff;
}
/*slider*/
.slideshow-container {
  height: 600px;
}
 
.slideshow-container img {
  height: 700px;
  width: 100%;
}  
  
    
/*navigation*/    
    
 #kontakt_fon img, #kontakt_mail img {
  display: none;
}   
    
#kontaktleiste{
  margin-top:15px;
}    
    
#kontaktleiste p{
  display: block;
  margin:0;
  line-height: 30px;
  text-align: right;
}       

#logo {
    display: inline-block;
    margin-left: calc((100% - 141px)/2);
  }
    
#burger{
        display:none;
    }   
    
#menue{
    display: block;
    position:static;
    text-align: center;
} 
    
#menue li, #menue a{
    display:inline-block;
    position: static;
    padding:0 5px;
}    

#menue li{
    border-left:1px solid #fff;
}    
  
#menue li:first-of-type{
    border-left:0;
}     
    
#menue li:hover{
    background-color:transparent;
}     
    

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


/*classes und ids*/   


    
/*navigation*/  



}

/*desktop*/
@media screen and (min-width: 1200px){

	#tore{
  		background-position-x: 0%;
	}
/*navigation*/   
}	