*, *:after, *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

body, html { 
	font-size: 100%; 
	padding: 0; 
	margin: 0;
    background:#eeeced;
    font-family: 'Roboto', sans-serif;
    color:#50504e;	 
}

input, select, button {
        font-family: 'Roboto', sans-serif;
        font-size: 20px;
        padding: 8px;
        outline: 0;
        width: 100%;
		border: 2px solid #ccc;
        border-radius:5px;
		background: #7bb1df;
		color: #fff;
}

.eurobg{
	background-image:url('../img/euro.png');
	background-repeat:no-repeat;	
	background-position: right center; 
}

input:hover, input:focus,
select:hover, select:focus {
    border: 2px solid #78b955;	
}

.submit {
    background: #78b955;
	color: #fff;
	border: 2px solid #fff;
	cursor: pointer;
}


label {
	display: block;
	margin: 0px;
	font-weight: 700;
	text-align: left;
	padding-top: 10px;
	padding-bottom: 4px;
}

a {
	color: #ed1c24;
	text-decoration: none;
    transition: color 1.5s ease;
	cursor: pointer;
}

a:hover {
	color: #929292;
}

a:active {
	color: #ffffff;
    text-decoration: none;
	border-bottom: 2px solid #ed1c24;	
}

i {
	font-style: italic;
}

strong {
     font-weight:700;
}

.red{
	color: #ff0000;
}

h1{
    font-family: 'Roboto', sans-serif;	
	color: #0b6084;	
	font-size: 26px;
	margin: 0px;
	padding: 0px;	
}

h2{
    font-family: 'Roboto', sans-serif;	
	color: #6b6b6c;	
	text-transform: uppercase;
	font-style: italic;
	font-weight:400;
	font-size: 20px;
	margin: 0px;
	padding: 0px;	
}

h3{
    font-family: 'Roboto', sans-serif;	
	color: #7f7f7f;	
	font-weight: 700;
	font-size: 18px;
	margin: 0px;
	padding: 0px;
	padding-top: 15px;
}

h3 small{
	color: #908f8f;	
	font-weight: 700;
	font-size: 14px;
	margin: 0px;
	padding: 0px;	
}

/* container */
.container {
	position: relative;
    max-width: 980px;
    margin: 0 auto;
	padding: 0px;
	background-color: #ffffff;	
	width: 100%;
}

/* header:logo */
.spacer-logo {
	height: auto;
	display: block;
	text-align: left;
	margin: 0px;
	padding: 25px;

	font-family: 'Roboto', sans-serif;
	font-size:15px;
	width: 100%;	
}

/* header:bild */
.spacer-header {
	height: auto;
	display: block;
	text-align: center;
	margin: 0px;
	padding: 0px;
	font-family: 'Roboto', sans-serif;
	font-size:15px;
	width: 100%;	
	background-color: #ffffff;	
}

.infobox {
	position: absolute;
	width: 450px;
	height: 100px;
	top: 140px;
	left: 70px;
}

.infobox h1{
	font-size: 30px;
}

.spacer-menubar {
	height: auto;
	display: block;
	text-align: center;
	margin: 0px;
	padding: 0px;
	font-family: 'Roboto', sans-serif;
	font-size:15px;
	width: 100%;	
	background-color: #0b6084;
	height: 10px;
}



/* content:text */
.text_columns {
    font-family: 'Roboto', sans-serif;
    clear: both;
    width: auto;
    max-width: 900px;
    margin: 0 auto;
	padding: 0px;
	padding-top: 15px;
}

.article_c-all {
    margin: 0px;
    float: left;
    width: 100%;
}

.article_c-all p,
.col_1 p {
	margin: 0px;	
	line-height: 26px;
    font-size: 16px;
	padding-top: 10px;
	padding-bottom: 10px;
}

.col_1 {
	margin: 0px;
	padding: 0px;
	padding-right: 25px;
    float: left;
    width: 600px;
}

.keybox {
	margin: 0px;
	padding: 0px;
	padding-top: 15px;
	padding-bottom: 15px;	
    float: left;
    width: 600px;
}

.kb_1 {
	margin: 0px;
	padding: 0px;
	padding-left: 5px;
	padding-top: 15px;
    float: left;
	height: 50px;
	width: 55px;	
}

.kb_2 {
	text-align: left;
	margin: 0px;
	padding: 0px;
    float: left;
	height: 80px;
	width: 270px;
	line-height: 160%;
	font-weight: 300;
	padding-left: 15px;
}

.col_2 {
	margin: 0px;
	padding: 0px;
    float: left;
    width: 300px;
	border-left: 1px solid #dedede;
}

.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}

.padder-left {
	padding-left: 30px;	
}
.padder-tb {
	padding-top: 30px;	
	padding-bottom: 30px;		
}

.topper {		
	border-top: 1px solid #dedede;
}

ul .side{
    list-style-type: circle;
    padding: 12px 20px;
}

li{
	color: #00000;
	padding-top: 7px;
}


/* FORM */

.form-error {
    border: 2px solid rgb(185, 74, 72);
    border-radius: 10px;
    background: #f8d2d3;	
    padding-left: 15px;
    padding-top: 5px;
    margin-top: 10px;
}
.form-strasse {
    width: 510px;
}

.form-nr {
    width: 60px;
}

.form-plz {
    width: 128px;
}

.form-ort {
    width: 440px;
}

.form-gdm {
    width: 140px;
}

.form-gj {
    width: 285px;
}

.form-xtra{
	display: flex;
}

.cxtra1{
	float: left;
	background: #78b955;
	padding: 13px;
	width: 20px;
	background-image:url('../img/empfehlung.png');
	background-repeat:no-repeat;	
	background-position: center center; 	
}


.cxtra2{
	float: left;
	padding: 20px;
	width: 546px;	
	border: 1px solid #78b955;	
}


.form-xtra .agb{
	display: block;
	padding-top: 15px;	
}

.form-required{
	color: #f8585c;
}


/* Customize the label (the container) */
.rbutton {
	display: block;
	position: relative;
	padding-left: 40px;
	margin-bottom: 12px;
	cursor: pointer;
	font-size: 16px;
	font-weight: 300;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	float: left;
	width: 25%;
}

/* Hide the browser's default radio button */
.rbutton input {
	position: absolute;
	opacity: 0;
}

/* Create a custom radio button */
.checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: 20px;
	width: 20px;
	background-color: #eee;
	border-radius: 50%;
	margin-top: 9px;
	margin-left: 10px;
}

/* On mouse-over, add a grey background color */
.rbutton:hover input ~ .checkmark {
	background-color: #ccc;

}

/* When the radio button is checked, add a blue background */
.rbutton input:checked ~ .checkmark {
  background-color: #78b955;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the indicator (dot/circle) when checked */
.rbutton input:checked ~ .checkmark:after {
  display: block;
}

/* Style the indicator (dot/circle) */
.rbutton .checkmark:after {
  top: 6px;
  left: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: white;
}

.checkb {
	display: block;
	position: relative;
	padding-left: 35px;
	margin-bottom: 12px;
	cursor: pointer;
	font-size: 16px;
	font-weight: 300;  
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	width: 80%;
	margin-top: 15px;
	margin-left: 10px;  
}

.checkb100 {
	width: 95%;
}

/* Hide the browser's default checkbox */
.checkb input {
	position: relative;
	opacity: 0;
	cursor: pointer;
}

/* Create a custom checkbox */
.checkbmark {
	position: absolute;
	top: 12px;
	left: 0;
	height: 20px;
	width: 20px;
	background-color: #eee;
}

/* On mouse-over, add a grey background color */
.checkb:hover input ~ .checkbmark {
	background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.checkb input:checked ~ .checkbmark {
	background-color: #78b955;
}

/* Create the checkbmark/indicator (hidden when not checked) */
.checkbmark:after {
	content: "";
	position: absolute;
	display: none;
}

/* Show the checkbmark when checked */
.checkb input:checked ~ .checkbmark:after {
	display: block;
}

/* Style the checkbmark/indicator */
.checkb .checkbmark:after {
	left: 7px;
	top: 5px;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}


.slick-prev:before, .slick-next:before {
    color: #cccccc !important;
}

.slick-slide {
    padding-left: 10px;
	padding-right: 10px;
}


.header {
    background-color: #fff;
	border-bottom:3px solid #ed1c24; 
	height: 130px;
	width: 100%;
	position: fixed;
	z-index: 115;
}

.header_ch1 {
    margin: 0px;
    float: left;
    width: 230px;
}

.header_ch2 {
    margin: 0px;
	margin-top: 45px;
    float: left;
    width: 750px;
}

.article_c1 {
    margin: 0px;
    float: left;
    width: 660px;
}

.article_c1 p {
	margin: 0px;	
    margin-left: 0px;
	margin-right: 30px;
	
}

.article_c1 h3 {	
	color: #ff0000;
	font-weight: 700;
	font-size: 15px;
	padding: 0px;
	margin: 0px;
	padding-top: 20px;
}

.article_c2 {
    margin: 0px;
    float: left;
    width: 315px;
	border-left: 3px solid #cecccc;
}

.article_c2 p {	
    margin-left: 0px;
	padding-left: 30px;
	margin: 0px;
}

.article_c2 h3 {
	padding-left: 20px;
	color: #908f8f;
	margin: 5px;
}

.text_columns article.column1, .column1, .text_columns .column2 {
    margin: 0px;
	line-height: 26px;
    font-size: 15px;
    float: left;
    width: auto;
}

.text_columns .column2 {
    margin: 0px;
	max-width: 355px;
}

.spacer {
    width: auto;
    height: auto;
    background-color:#faf8f9;
    font-family: 'Roboto', sans-serif;
    color:#545454;
    font-size:18px;
	margin-top: 15px;
	border-top: 1px solid #dedede;
	border-bottom: 1px solid #dedede;
}

.spacer-lg{
    height: 400px;	
}

.spacer-frame {
    clear:both;
	width:auto;
    max-width:980px;
    margin:0 auto;	
	padding:  20px;
	padding-right: 45px;
	padding-left:  45px;
    font-family: 'Roboto', sans-serif;
	font-weight: 300;
	font-size: 15px;
	line-height: 26px;
	text-align: left;
}

.spacer-block {
	display: inline-block;
	
}


.spacer span{
	background: #000000;
}


.menue-frame {
	text-align: center;
    clear:both;
	width:auto;
    max-width:980px;
    margin:0 auto;	
	font-size: 1.8em;
    font-family: 'Roboto', sans-serif;
	font-weight: 400;
	border:0px solid red;
}

.menue-block {
	display: inline-block;
	padding: 5px;
	margin-right: 15px;
	margin-left: 15px;
	border:0px solid blue;
}

/* content:products */


.article-box {
	text-align: center;
    width: 320px;
	height: auto;
	padding-right: 20px;
	padding-left: 20px;
	padding-top:0px;
	margin-top:10px;
	border: 0px solid red;

}

.outer {
    text-align: center;
	display: inline-flex;
	max-width: 980px;
	justify-content: center;
	flex-wrap: wrap;
}

.article-box p{
	line-height: 26px;
    font-size: 16px;
	text-align: justify;
}

.article-box ul{
	line-height: 26px;
    font-size: 15px;
	text-align: left;
	list-style-type: square;
	color: #ff0000;
	border: 0px solid blue;
}

.black span{
	background: #ffffff;
}

.black {
    background-color:#000000;
    color:#f58220;
}

.contact {
        line-height:25px;
        font-family: 'Roboto', sans-serif;
        clear:both;
        width:auto;
        max-width:980px;
        margin:0 auto;
}

.contact h3 {
        font-family: 'Roboto', sans-serif;
        font-size:26px;
		font-weight: 700;
        border-bottom: 1px solid #D6D0C1;
        padding: 20px 0;
        margin-bottom: 20px;

}

.contact-left, .contact-right{
        margin: 0px;
        font-size:16px;
        float:left;
        width:auto;
        width: 500px;
		text-align: justify;
}

.contact-right {
    margin: 90px 0px 0px 70px;
	max-width: 350px;
	text-align: left;
}

.contact-right p{
    margin-left: 20px;
}

#contact-map {
	border: 0px;
	width: 330px;
	height: 270px;
}


/* FOOTER */

footer	{
	margin-top: 40px;
    position: relative;
    clear: both;
    width: auto;
    height: 50px;
    background: #333333;
	color: #dad8d8;
	text-align: center;
	font-size: 15px;
}

footer a {
	color: #ffffff;
	text-decoration: none;
    transition: color 1.5s ease;
	cursor: pointer;
}

footer a:hover {
	color: #929292;
}

footer a:active {
	color: #ffffff;
    text-decoration: none;
	border-bottom: 2px solid #ed1c24;	
}

  
#menuToggle
{
  display: block;
  position: absolute;
  top: 25px;
  left: 25px;
  
  z-index: 1;
  
  -webkit-user-select: none;
  user-select: none;
}

#menuToggle input
{
  display: block;
  width: 40px;
  height: 32px;
  position: absolute;
  top: -7px;
  left: -5px;
  
  cursor: pointer;
  
  opacity: 0; /* hide this */
  z-index: 2; /* and place it over the hamburger */
  
  -webkit-touch-callout: none;
}

/*
 * Just a quick hamburger
 */
#menuToggle span
{
  display: block;
  width: 33px;
  height: 4px;
  margin-bottom: 5px;
  position: relative;
  
  background: #cdcdcd;
  border-radius: 3px;
  
  z-index: 1;
  
  transform-origin: 4px 0px;
  
  transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
              background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
              opacity 0.55s ease;
}

#menuToggle span:first-child
{
  transform-origin: 0% 0%;
}

#menuToggle span:nth-last-child(2)
{
  transform-origin: 0% 100%;
}

/* 
 * Transform all the slices of hamburger
 * into a crossmark.
 */
#menuToggle input:checked ~ span
{
  opacity: 1;
  transform: rotate(45deg) translate(-2px, -1px);
  background: #232323;
}

/*
 * But let's hide the middle one.
 */
#menuToggle input:checked ~ span:nth-last-child(3)
{
  opacity: 0;
  transform: rotate(0deg) scale(0.2, 0.2);
}

/*
 * Ohyeah and the last one should go the other direction
 */
#menuToggle input:checked ~ span:nth-last-child(2)
{
  transform: rotate(-45deg) translate(0, -1px);
}

/*
 * Make this absolute positioned
 * at the top left of the screen
 */
#menu
{
  position: absolute;
  width: 190px;
  margin: -100px 0 0 -50px;
  padding: 50px;
  padding-top: 125px;
  
  background: #ffffff;
  list-style-type: none;
  -webkit-font-smoothing: antialiased;
  /* to stop flickering of text in safari */
  box-shadow: 5px 4px 5px -1px rgba(204,204,204,0.73);
  transform-origin: 0% 0%;
  transform: translate(-100%, 0);
  
  transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
}

#menu li
{
  padding: 10px 0;
  font-size: 22px;
  font-weight: 300;
}

/*
 * And let's slide it in from the left
 */
#menuToggle input:checked ~ ul
{
  transform: none;
}

/* MISC */
.clear{
    clear:both;
	
}
.hidden {
	position:absolute;
	clip: rect(1px 1px 1px 1px); /* IE6 & 7 */
	clip: rect(1px, 1px, 1px, 1px);
}

.mobilshow{
	display: none;
}


/* MEDIA QUERIES*/

@media (max-width: 1215px) {
	.container {
		width: 100%;		
	}
	
	.spacer-header img{
		width: 100%;	
	}	

	.spacer-header img{
		width: 100%;	
	}		
	
	.text_columns {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}
	.col_1{
		width: 100%;		
	}
	
	.mobilhide{
		display: none;
	}	
	/* FORM */
	.form-strasse {
		width: 60%;
	}

	.form-nr {
		width: 38%;
	}

	.form-plz {
		width: 42%;
	}

	.form-ort {
		width: 55%;
	}

	.form-gdm {
		width: 26%;
	}

	.form-gj {
		width: 44%;
	}	
	.cxtra2 {
		width: auto;
	}
	
}


@media (max-width: 915px) {
}

@media (max-width: 765px){
	
}

@media (max-width: 550px) { 
	h1 {
		font-size: 20px;
	}
	.mobilhidebig{
		display: none;
	}		
	.mobilshow{
		display: block;
		padding: 20px;
	}	
}