/*Basic*/
/*////////////////////////////////////////////////////////////////////////////////////////////////////*/
body{
	font-family: 'Kreon', sans-serif !important;
	color: #444;
}

.wrapper{
	width: 1200px;
	height: 100%;
	margin: auto;
	text-align: center;
	position: relative;
	left: -15px;
}

.one-column{
	float: left;
	width: 100%;
	height: 100%;
	padding-left: 30px;
	box-sizing: border-box;
}

.two-column{
	float: left;
	width: 50%;
	height: 100%;
	padding-left: 30px;
	box-sizing: border-box;
}

.four-column{
	float: left;
	width: 25%;
	height: 100%;
	padding-left: 30px;
	box-sizing: border-box;
}

body > div{
	text-align: center;
}

body div h1{
	font-size: 32px;
	color: #92b547;
}

body div h2{
	font-size: 24px;
	padding: 10px;
}

body div h3{
	font-size: 20px;
	color: #92b547;
	display: inline-block;
}

body p,
body table td{
	font-size: 18px;
}

.content-headline{
	position: relative;
	background-color: white;
	padding: 15px 20px 8px 20px;
	display: inline-block;
	margin-top: -35px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px; /* future proofing */
	-khtml-border-radius: 10px; /* for old Konqueror browsers */
}

.cleardiv{
	clear: both;
}

.titel-img{
	background: url("../img/service.jpg") no-repeat center center;
	background-size: cover;
	position: relative;
	width: 100%;
	height: 600px;
	height: 100vh;
	height: calc(100vh - 150px);
	overflow: hidden;
	margin-top: 60px;
}

.contact-img{
	position: relative;
	width: 100%;
	height: 450px;
	overflow: hidden;
}

#home-anchor{
	top: 0px;
	position: absolute;
	left: 0;
	background-color: blue;
	opacity: 0;
	width: 30px;
	height: 3px;
}

#service-anchor{
	top: 100%;
	position: absolute;
	left: 0;
	background-color: blue;
	opacity: 0;
	width: 30px;
	height: 3px;
}

#about-anchor{
	position: relative;
	background-color: blue;
	opacity: 0;
	width: 30px;
	height: 1px;
}

#contact-anchor{
	position: relative;
	background-color: blue;
	opacity: 0;
	width: 30px;
	height: 1px;
}


/*////////////////////////////////////////////////////////////////////////////////////////////////////*/

/*Icons*/
/*////////////////////////////////////////////////////////////////////////////////////////////////////*/
@font-face {
	font-family: 'icomoon';
	src:url('../fonts/icons/icomoon.eot?oo9n1t');
	src:url('../fonts/icons/icomoon.eot?#iefixoo9n1t') format('embedded-opentype'),
		url('../fonts/icons/icomoon.ttf?oo9n1t') format('truetype'),
		url('../fonts/icons/icomoon.woff?oo9n1t') format('woff'),
		url('../fonts/icons/icomoon.svg?oo9n1t#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
	font-family: 'icomoon';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icons{
	font-family: 'icomoon';
	color: #92b547;
}
/*////////////////////////////////////////////////////////////////////////////////////////////////////*/

/*Header*/
/*////////////////////////////////////////////////////////////////////////////////////////////////////*/
#header{
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	height: 60px;
	background-color: white;
	z-index: 3;
	box-shadow: 3px 0px 8px #333;
}

.normal-logo{
	float: left;
	margin-left: -8px;
	width: 300px !important;
	user-drag: none;
	-moz-user-select: none;
	-webkit-user-drag: none;
}

.mobile-logo{
	display: none;
	height: 60px;
	width: auto !important;
	margin-top: 10px !important;
	margin-left: 0px !important;
}

#menu{
	float: right;
	margin-top: 19px;
	display: block;
}

#menu li{
	display: inline;
	list-style: none;
	margin-left: 45px;
	font-size: 16px;
}

#menu li a{
	text-decoration: none;
	color: #444;
}

#menu li a:hover {
    color: #92b547;
}

.active{
	color: #92b547 !important;
}

#phone{
	border-left: solid 2px #ddd;
	padding: 20px 0px 20px 35px;
	font-size: 17px;
}

#phone span{
	font-size: 24px;
	vertical-align: text-top;
}

#mobile-menu{
	display: none;
}

#mobile-menu img{
	width: 40px;
	height: 40px;
	position: absolute;
	top: 20px;
	right: 15px;
}

#mobile-menu ul{
	position: fixed;
	top: 105px;
	left: 0px;
	bottom: 0px;
	right: 0px;
	padding-top: 30px;
	background-color: white;
	z-index: 3;
	display: none;
}

#mobile-menu ul li{
	display: block;
	text-align: center;
	margin-left: 10%;
	margin-right: 10%;
	border-bottom: 1px solid #ccc;
	padding: 20px 0;
}

#mobile-menu a{
	text-decoration: none;
	color: #888;
	font-size: 22px;
}

#mobile-menu .active{
	color: #bf4444;
}

.mobile-menu-sixty{
	display: none;
	background-color: #92b547;
	height: 25px;
	color: white;
	box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.5);
}

.mobile-menu-sixty p{
	line-height: 25px;
}

/*////////////////////////////////////////////////////////////////////////////////////////////////////*/

/*Service*/
/*////////////////////////////////////////////////////////////////////////////////////////////////////*/
#service{
	margin-top: 60px;
	margin-bottom: 60px;
	height: 100%;
	position: relative;
}

#service h1{
	margin-bottom: 0px;
	display: inline-block;
}

#service .content-headline p{
	display: none;
	text-align: center;
	margin-top: 10px;
	margin-bottom: 10px;
}

#seperations-line{
	position: absolute;
	width: 1170px;
	height: 20px;
	top: 0px;
	left: 0px;
	right: 0px;
	margin-left: 30px;
}

#seperations-line div{
	display: inline-block;
	height: 45px;
	width: 2px;
	background-color: #ddd;
}

#service h2{
	margin-bottom: 36px;
	height: 50px;
}

#service span{
	font-size: 150px;
}

#service p{
	text-align: left;
	line-height: 30px;
	margin-top: 25px;
	color: #666;
	height: 230px;
}

#service .first-image{
	border-top: 2px solid #ddd;
	padding-top: 20px;
}

#service .wrapper img{
	width: 100%;
	margin-top: 22px;
}
/*////////////////////////////////////////////////////////////////////////////////////////////////////*/

/*About*/
/*////////////////////////////////////////////////////////////////////////////////////////////////////*/
#about{
	height: 100%;
	margin-bottom: 60px;
	border-top: 2px solid #888;
}

.about-img{
	background: url("../img/about.jpg") no-repeat left center;
	background-size: cover;
	position: relative;
	width: 100%;
	height: 450px;
	overflow: hidden;
}

@media only screen and (max-width: 1576px){
	.about-img{ background: url("../img/about_middle.jpg") no-repeat left center;}
}

@media only screen and (max-width: 1098px){
	.about-img{ background: url("../img/about_small.jpg") no-repeat left center;}
}

@media only screen and (max-width: 534px){
	.about-img{ background: url("../img/about_mobile.jpg") no-repeat center center;}
}

#about-intro{
	line-height: 30px;
	margin-top: 20px;
	margin-bottom: 15px;
	color: #666;
}

#about h4{
	font-size: 20px;
	color: #a5744c;
}

#about h3{
	border-top: 2px solid #ddd;
	margin-top: 35px;
	padding: 8px 30px;
}

#chronik{
	text-align: center;
	margin-top: 40px;
}

#chronik table{
	margin: 0 auto;
	position: relative;
	width: 100%;
}

#chronik table td{
	width: 50%;
	vertical-align: middle;
}

#chronik-top{
	position: absolute;
	top: 0px;
	left: 50%;
	width: 8px !important;
	margin-left: -9px;
	height: 8px;
	font-size: 17px;
}

#chronik-bottom{
	position: absolute;
	bottom: 11px;
	left: 50%;
	margin-left: -12px;
	width: 4px !important;
	height: 8px;
	font-size: 23px;
}

#chronik span{
	color: #a5744c;
}

#chronik table td:first-child{
	border-right: 4px solid #a5744c;
	text-align: right;
	padding: 20px;
}

#chronik table td:nth-child(2){
	width: 0px;
}

#chronik table td:nth-child(3){
	text-align: left;
	padding: 20px;
}

#chronik table tr:first-child td{
	padding-top: 0px !important;
}

#chronik table tr:last-child td{
	padding-bottom: 0px !important;
}

#chronik table tr:nth-child(even){
	background: #eee;
}

#chronik table tr:nth-child(odd){
	background: #FFF
}

.year{
	color: #92b547;
	font-size: 20px;
}
/*////////////////////////////////////////////////////////////////////////////////////////////////////*/

/*Contact*/
/*////////////////////////////////////////////////////////////////////////////////////////////////////*/
#contact{
	height: 100%;
	border-top: 2px solid #888;
	margin-bottom: 60px;
}

#contact .wrapper{
	text-align: left;
	margin-top: 20px;
}

#info-column p:first-child{
	margin-bottom: 30px;
	line-height: 25px;
}

#info-column span{
	font-size: 22px;
	margin-right: 20px;
	vertical-align: text-top;
}

#info-column p{
	margin-bottom: 15px;
}

#contact input,
#contact textarea{
	background-color: #eee;
	width: 100%;
	border: none;
	margin-top: 5px;
	margin-bottom: 15px;
}

#contact input{
	height: 30px;
}

#contact textarea{
	height: 120px;
}

#contact h3{
	margin-bottom: 20px;
}

#disable-map{
	width: 100%;
	height: 450px;
	background-color: red;
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	opacity: 0;
}

#telefon{
	float: left;
	margin-right: 12px !important;
}

#contact table td{
	padding: 5px;
}

#contact table td:first-child{
	width: 60px;
}

#contact .two-column{
	padding-left: 50px;
}

#contact .wrapper{
	left: -25px;
}

#submit{
	background-color: #92b547 !important;
}
/*////////////////////////////////////////////////////////////////////////////////////////////////////*/

/*Contact*/
/*////////////////////////////////////////////////////////////////////////////////////////////////////*/
#footer{
	height: 60px;
	width: 100%;
	background-color: #92b547;
}

#footer img{
	position: absolute;
	margin: auto 0px auto -20px;
	bottom: 5px;
	left: 50%;
}

#footer h4{
	margin: 22px 40px;
	display: inline-block;
}

#footer a{
	position: absolute;
	right: 12px;
	top: 21px;
	color: white;
	text-decoration: none;
}

#footer .wrapper:last-child{
	padding-left: 84px;
}

.impressum .wrapper{
	text-align: left;
	margin: 96px auto;
	line-height: 22px;
	padding: 0 50px;
}
/*////////////////////////////////////////////////////////////////////////////////////////////////////*/

@media only screen and (max-width: 1465px){
	.about-img img{
		height: 100%;
		width: auto;
	}
}

@media only screen and (max-width: 1200px){
	.wrapper{
		width: 960px;
	}
}

@media only screen and (max-width: 960px){
	.wrapper{
		width: 100%;
	}

	.four-column{
		width: 50%;
	}

	#normal-logo img{
		width: 300px;
	}

	#service p{
		height: 170px;
	}

	.space-below{
		margin-bottom: 60px;
	}

	#phone{
		display: none !important;
	}

	#menu{
		margin-top: 21px;
	}

	#menu li{
		margin-left: 5px;
		margin-right: 20px;
	}

	#normal-logo img{
		margin-top: 6px;
	}

	#footer h4{
		font-size: 13px;
	}

	#footer .wrapper{
		text-align: left;
	}

	#footer img{
		left: 253px;
	}

	#footer .wrapper:last-child{
		padding-left: 0;
	}
}

@media only screen and (max-width: 676px){
	.wrapper{
		width: 100%;
	}

	.four-column{
		width: 100%;
	}

	#menu{
		display: none;
	}

	#mobile-menu{
		display: block;
	}

	.normal-logo img{
		width: 250px;
	}

	.two-column{
		width: 100%;
	}

	#service p{
		height: 100%;
	}

	#contact h3{
		margin-top: 60px;
	}

	#footer{
		height: 100%;
	}

	#footer img{
		display: none;
	}

	#footer h4:nth-child(3){
		display: block;
		margin-top: 0;
	}

	.impressum .wrapper{
		margin: 32px auto;
		padding: 0 35px;
	}

	.normal-logo{
		display: none;
	}

	.mobile-logo{
		display: block;
	}

	#header{
		height: 80px;
	}

	.mobile-menu-sixty{
		display: block;
	}

	#service .content-headline p{
		display: block;
	}

	#service a{
		pointer-events: none;
   		cursor: default;
	}

	body p,
	body table td{
		font-size: 14px;
	}

	#chronik table td:first-child{
		padding: 10px;
	}

	#chronik table td:nth-child(3){
		padding: 10px;
	}
}
