/* CSS von JS-Baumingenieur */

/*	Inhaltsverzeichnis
			1. GLOBAL
			2. HEADER
				2.1 HEADER > 800px Desktop
					2.1.1 logo
					2.1.2 logotext
					2.1.3 telefontext
					2.1.4 menu
				2.2 HEADER < 799px Mobil
					2.2.1 logo
					2.2.2 logotext
					2.2.3 telefontext
					2.2.4 menu
			3. CONTENT
			4. TEXTFORMATIONEN

/* 1. GLOBAL */
	body {
		padding: 0;
		margin: 0;
		/* Globale Schriftart mit TypeKit */
		font-family: din-2014, sans-serif;
		font-style: normal;
		font-weight: 400;
		font-size: 15px;
		text-transform: none;
		text-decoration: none;
		color: #fff;
		background: url(../media/index.jpg) no-repeat center center fixed;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		-o-background-size: cover;
		background-size: cover;
		height: 100%;
	}
	img	{
		border: none;
	}

	#wrapper {
		width: calc(100% - 30px);
		height: auto;
		padding-left: 15px;
		padding-right: 15px;
	}
@media only screen and (max-width: 799px) {
	#wrapper {
		width: calc(100% - 20px);
		height: auto;
		padding-left: 10px;
		padding-right: 10px;
	}
}

/* 2. HEADER */
/* 2.1 HEADER > 800px Desktop */
	#header {
		position: relative;
		max-width: 1200px;
		height: auto;
		margin-top: 50px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 0px;
		padding-right: 0px;
	}

/* 2.1.1 logo */
	#logo {
		float: left;
		width: 100px;
		height: 100px;
	}
		a.logo:hover {
			opacity: 0.8;
		}
		img.logo {
			width: 100px;
			height: 100px;
		}
/* flex */
.header-flex-r1 {
	display: flex;
	align-items: stretch;
}
/* 2.1.2 logotext */
	#logotext {
		order: 1;
		flex-grow: 1;
		float: left;
		position: relative;
		min-width: 310px;
		height: 103px;
		margin-left: 30px;
	}
		#logotext p:first-child {
			font-style: normal;
			font-weight: 600;
			font-size: 20px;
			letter-spacing: 0.1em;
			line-height: 1.1;
		}
		#logotext p:nth-child(2) {
			font-style: normal;
			font-weight: 300;
			font-size: 20px;
			letter-spacing: 0.14em;
			line-height: 1.1;
		}
		#logotext p:nth-child(3) {
			position: absolute;
			left: 0px;
			bottom: 0px;
			font-style: normal;
			font-weight: 300;
			font-size: 13px;
			letter-spacing: 0.02em;
			line-height: 1.1;
		}

/* 2.1.3 telefontext */
	#telefontext {
		order: 2;
		flex-grow: 4;
		float: left;
		position: relative;
		padding-right: 15px;
		top: 0px;
		right: 0px;
		height: 60px;
		width: auto;
	}
		.box {
			right: 0px;
			top: 0px;
			position: absolute;
			width: auto;
			height: auto;
			padding: 8px;
			border: 1px solid #fff;
		}
			#telefontext p:first-child {
				font-style: normal;
				font-weight: 400;
				font-size: 10px;
				letter-spacing: 0.01em;
				line-height: 1.5em;
				margin-bottom: 3px;
			}
			#telefontext p:nth-child(2) {
				font-style: normal;
				font-weight: 400;
				font-size: 16px;
				letter-spacing: 0.01em;
				line-height: 1.1em;
			}

/* 2.1.4 menu */
	#menu {
		clear: both;
		margin-left: 130px;
		padding-top: 35px;
		padding-right: 0px;
		padding-bottom: 25px;
		letter-spacing: 0.1em;
		font-size: 13px;
		text-transform: uppercase;
	}
		a.menu {
			font-weight: 400;
			color: #ffffff;
		}
		a.menu:hover {
			font-weight: 400;
			color: #e8ece4;
			/*opacity: 0.8;*/
		}
		a.menuon, a.menuon:hover, a.menuon:active, a.menuon:focus, a.menuon:visited {
			font-weight: 600;
			color: #e8ece4;
		}
		.desktopnav nav ul {
			height: auto;
			margin: 0px;
			padding: 0px;
			list-style: none;
		}
		.navigation {
			height: 1.25em;
		}
		.navigation ul {
			height: auto;
			padding: 0px;
			text-align: justify;
		}
		.navigation ul li {
			display: inline-block;
			list-style: none;
		}
		.navigation ul li a {
			height: 18px;
			display: block;
		}
		.navigation li.letztes_listenelement {
			height: 0;
			padding-left: 100%;
		}
		.mobilenav {
			display: none;
		}
		#sidr {
			display: none;
		}
/* 2.2 HEADER < 799px Mobil */
@media only screen and (max-width: 799px) {
	#header {
		position: fixed;
		top: 0px;
		max-width: 779px;
		width: calc(100% - 20px);
		height: auto;
		margin-top: 0px;
		margin-left: 0px;
		margin-right: 0px;
		padding-left: 0px;
		padding-right: 10px;
		z-index: 999999;
	}

/* 2.2.1 logo */
	#logo {
		width: 40px;
		height: 40px;
		padding: 10px 10px 10px 0px;
	}
	a.logo:hover {
		opacity: 0.8;
	}
	img.logo {
		width: 40px;
		height: 40px;
	}
/* flex */
	.header-flex-r1 {
		display: flex;
		align-items: stretch;
	}
/*2.2.2 logotext  */
	#logotext {
		order: 1;
		flex-grow: 1;
		min-width: 200px;
		max-width: 719px;
		height: 40px;
		margin-left: 0px;
		padding-top: 10px;
		padding-bottom: 10px;
		width: auto;
	}
		#logotext p:first-child {
			font-style: normal;
			font-weight: 600;
			font-size: 20px;
			letter-spacing: 0.1em;
			line-height: 1.1;
		}
		#logotext p:nth-child(2) {
			font-style: normal;
			font-weight: 300;
			font-size: 20px;
			letter-spacing: 0.14em;
			line-height: 1.1;
		}
		#logotext p:nth-child(3) {
			display: none;
		}
/*2.2.3 telefontext */
	#telefontext {
		display: none;
	}
/*2.2.4 menu */
	#menu {
	display: none;
	}
	.mobilenav {
		order: 2;
		flex-grow: 1;
		display: block;
		position: relative;
		width: 40px;
		height: 40px;
		padding: 10px 0px 10px 10px;
	}
	#mobilemenu {
		position: absolute;
		right: 0px;
	}
	#sidr {
		position: relative;
	}
	.menu-button {
		 display: block;
		 background: url(../media/menu_w.svg) no-repeat;
		 overflow: hidden;
		 width: 40px;
		 height: 40px;
		 text-indent: -9999px;
	}
	.desktopnav {
		display: none;
	}
}

/* 3. CONTENT */
#content {
	position: relative;
	top: 100px;
	max-width: 1070px;
	height: auto;
	padding-left: 130px;
	padding-right: 0px;
	margin-left: auto;
	margin-right: auto;
}
#content section {
	font-size: 14px;
}
	#content p:first-child {
		font-style: normal;
		font-weight: 600;
		font-size: 3.8em;
		letter-spacing: 0.07em;
		line-height: 1.2;
		margin-bottom: 1.5rem;
	}
	#content p:nth-child(2) {
		font-style: normal;
		font-weight: 600;
		font-size: 1.8em;
		letter-spacing: 0.07em;
		line-height: 1.2;
		margin-bottom: 1.5rem;
	}
	#content p:nth-child(3) {
		display: none;
	}

@media only screen and (max-width: 799px) {
#content {
	position: relative;
	top: 150px;
	max-width: 779px;
	padding-left: 0px;
	padding-right: 0px;
	margin-left: auto;
	margin-right: auto;
}
	#content section {
		font-size: 14px;
	}
		#content p:first-child {
			font-style: normal;
			font-weight: 600;
			font-size: 2.5em;
			letter-spacing: 0.07em;
			line-height: 1.2;
			margin-bottom: 1.5rem;
		}
		#content p:nth-child(2) {
			font-style: normal;
			font-weight: 600;
			font-size: 1.2em;
			letter-spacing: 0.07em;
			line-height: 1.2;
			margin-bottom: 1.5rem;
		}
		#content p:nth-child(3) {
			display: block;
			font-style: normal;
			font-weight: 300;
			font-size: 0.9em;
			letter-spacing: 0.02em;
			line-height: 1;
		}
}
/* 4. TEXTFORMATIONEN */
	a:link, a:visited, a:active, a:focus {
		text-decoration: none;
		color: #ffffff;
	}
	a:hover {
		text-decoration: none;
		color: #1a682c;
	}
@media only screen and (max-width: 799px) {
	a:link, a:visited, a:hover, a:active, a:focus {
		text-decoration: none;
		color: #1a682c;
	}
	a:hover {
		text-decoration: none;
		color: #a7b799;
	}
}
	p {
		font-size: 1em;
		line-height: 1.4em;
		font-style: normal;
		margin:0px;
		padding: 0px;
	}
