

/*allgemeines*/

* {
	margin: 0px;
	padding: 0px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
    scroll-behavior: smooth;

}


:root {
	--highlight:#d0103A;
	--highlight2: #818A8f;
	--textcolor: #37424A;
    --lightback: #eaeff2;
}

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

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

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

p,a, a:visited{
	font-size:16px;
	  -webkit-hyphens:auto;
       -ms-hyphens:auto;
           hyphens:auto;
    color:inherit;
}

p{
    margin-bottom:36px;
}

h1, h2, .fakeh1{
	font-weight: 900;
	text-transform: uppercase;
	font-size:36px;
	margin-bottom: 36px;
}

h2{
	font-size:34px;
}

header {
  position: relative;
  margin-top: 80px;
}

ul{
	text-transform: uppercase;
	list-style: none;
}


ul li{
  padding-left: 15px;
  background-image: url(../img/icon_quadrat.svg);
  background-repeat: no-repeat;
  background-position: left top+13px;
  background-size: 10px;
}



figure img{
	margin:0 auto;
}

figcaption {
  font-style: italic;
  text-align: center;
}
/*classen und ids*/

.bopp_punkt, .bopp_punkt_weiss {
  font-size: 190%;
  color: var(--highlight);
  font-family: Times;
}

.bopp_punkt_weiss {
	color:#fff;
}


.button, .button:visited, #submit {
  background-color: var(--highlight);
  color: #fff;
  text-decoration: none;
  padding: 15px 10px;
  display: inline-block;
  min-width: 90%;
  font-weight: 700;
  text-transform: uppercase;
  transistion:all;
	-webkit-transition-duration: 0.5s;
	     -o-transition-duration: 0.5s;
	        transition-duration: 0.5s;
	-webkit-transition-timing-function: linear;
	     -o-transition-timing-function: linear;
	        transition-timing-function: linear;
	text-align: center;
}

.button:hover, .button:focus, .button:active, #submit:hover, #submit:focus, #submit:active  {
  background-color: var(--textcolor);
  transistion:all;
	-webkit-transition-duration: 0.5s;
	     -o-transition-duration: 0.5s;
	        transition-duration: 0.5s;
	-webkit-transition-timing-function: linear;
	     -o-transition-timing-function: linear;
	        transition-timing-function: linear;
	-webkit-filter:drop-shadow(0px 0px 2px var(--textcolor));
	        filter:drop-shadow(0px 0px 2px var(--textcolor));
}

.clearfix:after{
	content:"";
	display: block;
	clear:both;
}

.contentwrapper, .contentwrapper_nav, .contentwrapper_schmal{
    max-width:1400px;
    margin-left:auto;
	margin-right: auto;
    padding:30px 10px;
}

.contentwrapper_nav{
    padding:10px;
	text-align: right;
}

.contentwrapper_schmal{
    max-width:900px;
    margin-left:auto;
	margin-right: auto;
    padding:30px 10px;
	text-align: center;
}

.full, .halb, .halb_teaser,.halb_form, .viertel, .zweiviertel{
	-ms-flex-preferred-size:100%;
	    flex-basis:100%;
}

.zweiviertel{
 margin-top: 50px;
}

.halb{
	margin: 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;
}


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

.icon {
  height: 20px;
  width: auto;
  display: inline;
  margin: 0 10px 0 0;
  position: relative;
  top: 4px;
}

.nurpadding{
	padding:40px 30px;
}

.stars{
	font-size:20px;
	color:goldenrod;
}

.teaser:first-of-type{
	-ms-flex-preferred-size: 100%;
	    flex-basis: 100%;
}

.teaser{
  height: 400px;
	background-position:center center;
	background-size:cover;
	position:relative;
	overflow:hidden;
}


.teaser_text {
  z-index: 300;
  width:50%;
  background-color: rgba(255,255,255,0.9);
  height:100%;
  padding:30px 10px;
}


.teaser_text h2{
	margin-bottom: 15px;
}


.teaser_text p{
	font-size:16px;
	line-height: 18px
}

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

.zentriert{
	text-align: center;
}
#adresse{
	text-align: center;
}

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

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

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

#t4{
	background-image: url("../img/teaser_werbeteppiche.webp");
}
/*slide in*/

.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;
}

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


/*slider*/

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

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

#safes{
	background-image: url("../img/slider_safe.webp");
	background-position: left center;
}

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

/* Slideshow container */
.slideshow-container {
  position: relative;
  margin: auto;
	height: 450px;
	overflow:hidden;
}

.slideshow-container img{
	width:100%;
}

.slideshow-container p {
	color:var(--textcolor);
	font-size: 18px;
	line-height: 18px;
	margin-bottom: 15px;
	font-weight: 700;

}
.slideshow-container p:first-of-type{
	line-height: 32px;
	margin-bottom: 20px;
	font-weight: 900;
	font-size: 36px;
}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  padding: 16px;
  margin-top: -22px;
  color: white;
  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;
	-webkit-filter:drop-shadow(0px 0px 5px var(--textcolor));
	        filter:drop-shadow(0px 0px 5px var(--textcolor))
}

/* 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: var(--highlight);
}

/* Caption text */
.text {
  color: #f2f2f2;
  font-size: 15px;
  padding: 50px;
  position: relative;
  top: 15%;
  width: 80%;
  text-align: center;
  background-color: rgba(255,255,255,0.5);
  margin: auto;
}

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

#dots{
	position:absolute;
	bottom:10px;
	width: 100%;
}

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

/* Fading animation */
.fade {
  -webkit-animation-name: fade;
          animation-name: fade;
	height: 450px;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
}


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


/*formular*/

form {
  background-color: rgb(255, 255, 255);
  color: var(--textcolor);
  padding: 20px;
}

fieldset{
	border:none;
}

input[type="text"], input[type="email"], textarea{
	width:100%;
	line-height: 36px;
}

textarea{
	resize: vertical;
}

#submit{
	border:none;
}

/*scrolltotop*/
#myBtn {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 0;
  z-index: 99;
  font-size: inherit;
  border: 0;
  background-color: var(--highlight);
  color: #fff;
  cursor: pointer;
  padding: 15px;
}

#myBtn:hover {
  background-color:var(--textcolor);
}


/*navigation*/
nav{
	font-size:14px;
	background-color: #fff;
	position: fixed;
	top:0;
	left:0;
	width:100%;
	height: 80px;
	z-index: 500;
}

#logo{
	float:left;
}

#logo img{
	height: 60px;
	width: auto;
}

#kontaktzeile {
  line-height: 30px;
  display:block;
  float: right;
  text-align: left;
}


#kontaktzeile a{
	background-repeat: no-repeat;
	background-size:20px;
}

#icon_fon{
	background-image: url("../img/icon_fon.svg");
	background-position:left top 5px;
}

#icon_mail{
	background-image: url("../img/icon_mail.svg");
	background-position:left top 7px;
}


#icon_fon:hover, #icon_fon:focus, #icon_fon:active{
	background-image: url("../img/icon_fon_rot.svg");
}

#icon_mail:hover, #icon_mail:focus, #icon_mail:active{
	background-image: url("../img/icon_mail_rot.svg");
}

#kontaktzeile a, #kontaktzeile a:visited {
  text-decoration: none;
  font-weight: 700;
  padding-left:30px;
  display: inline-block;
}

#kontaktzeile a:hover, #kontaktzeile a:focus, #kontaktzeile a:active {
  color:var(--highlight);
}

#footer{
	position:static;
	height: auto;	
	text-align: center
}

#footer a, #footer a:visited{
	text-decoration: none;
}

#footer a:hover, #footer a:focus, #footer a:active{
	color:var(--highlight);
}
/*tablet*/

@media screen and (min-width: 480px){
  
 /*classe und ids*/   

}


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


	
  /*classe und ids*/  
.button, .button:visited, #submit {
  min-width: 200px;
}
	
.contentwrapper_schmal{
	text-align: left;
}	
	

.viertel{
	-ms-flex-preferred-size:48%;
	    flex-basis:48%;
}   

/*navigation*/
nav{
	font-size:14px;
	background-color: #fff;
	position: fixed;
	top:0;
	left:0;
	width:100%;
	height: 120px;
	z-index: 500;
}


#logo img{
	height: 100px;
	width: auto;
	margin-bottom: 0;
}

	
	#kontaktzeile {

  margin-top: 20px;
}
/*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*//*desktop*/
	

@media screen and (min-width: 900px) {
	
	
figure {
  text-align: center;
	float: right;
}


	
/* Slider*/
.slideshow-container, .fade {
	height: 550px;
}
	
.text {
  top: 25%;
}	
	
.slideshow-container p {
	font-size: 22px;
	line-height: 22px;
}
	
/* Classes und ids */
	
	
.teaser:after{
  background-color: transparent;
}	

.drittel, .drittel:last-of-type{
		-ms-flex-preferred-size:33.33%;
		flex-basis: 33.33%;
}
	
.halb, .halb_form, .zweiviertel{	
	-ms-flex-preferred-size:49%;
	    flex-basis:49%;
}

.viertel{
		-ms-flex-preferred-size:24%;
	flex-basis:24%;
    margin-top: 50px;
}  
	
.zweiviertel{
 margin-top: 50px;
	}	
	
.teaser_text p{
		font-size: 20px;
		line-height: 25px;
}
	
#adresse{
	text-align: left;
}	
	
	
}  	
/*navigation*/	

	
	
}


@media screen and (min-width: 1000px){
	
 .teaser {
  height: 400px;
  text-align: center;
} 

.teaser_text{
		padding-top: 50px
}
	
 /*classes und ids*/

  
.halb_teaser{
	-ms-flex-preferred-size:50%;
	    flex-basis:50%;
}
		
	
 /*navigation*/   
    
    
        

} 

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

	
/*classen ids*/	

	
/*formular*/    
    
  
    
}   