body {
	background-color: #FFFFFF;
	margin: 0px;
}

header {
	position: fixed;
	padding-left: 2%;
	padding-right: 2%;
	width: 96%;
	height: 130px;
	background-color: #FFFFFF;
	background-image: url(../img/header_bg.png);
	background-repeat: repeat;
	background-position: top left;
	border: 0px green solid;
	z-index: 15;
}

:target::before {
  content: "";
  display: block;
  height: 135px; /* fixed header height*/
  margin: -135px 0 0; /* negative fixed header height */
}

.nav_logo {
	max-width: 1200px;
	width: 100%;
	height: 130px;
	background-image: url(../img/header_logo.png);
	background-repeat: no-repeat;
	background-position: top left;
	background-size: auto 102px;
	border: 0px blue solid;
}

.nav_quickcontact {
	margin-left: 437px;
	height: 65px;
	max-width: 760px;
	text-align: right;
	border: 0px blue solid;
}

.nav_quickcontact_img {
	height: 40px;
	margin: 6px;
	margin-top: 12px;
}

.nav_quickcontact_img:hover {
	background-color: rgb(0,0,0,0.1);
}


main {
	padding-top: 130px;
	background-image: url(../img/bg_start_04.jpg);
	background-position: 0px 130px;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.main_header_conatiner {
	margin-top: 14vw;
	max-width: 1200px;
	padding-left: 2%;
	padding-right: 2%;
	width: 96%;
	text-align: left;
}

.main_headline {
	background-color: #005B94;
	padding: 12px;
	padding-left: 12px;
	margin-left: 0px;
	width: 27vw;
	border-left: #FB9A12 9px solid;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2.3vw;
	font-weight: bold;
	color: #FFFFFF;
}

.main_header_line {
	background-color: #DFDDDD;
	width: 100%;
	height: 1.2vh;
}

.main_cnt_container {
	background-color: #FFFFFF;
	padding-left: 2%;
	padding-right: 2%;
	width: 96%;
	min-height: 50vh;
}

.main_cnt {
	background-color: #FFFFFF;
	max-width: 1200px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.cnt_headline {
	max-width: 1200px;
	padding-top: 0.5%;
	padding-left: 2%;
	text-align: left;
}

h2 {
	font-family: Arial, Helvetica, sans-serif;	
}

.cnt {
	flex: 2 1 40%;
	padding: 1.5%;
	padding-top: 0%;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: normal;
	color: #000000;
	text-align: left;
}

.textbox_headline {
	background-color: #808285;
	border-left: #FB9A12 6px solid;
	padding: 10px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: bold;
	color: #FFFFFF;
	text-align: left;
}

.textbox_cnt {
	background-color: #DCDDDE;
	border-left: #DCDDDE 6px solid;
	padding: 10px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: normal;
	color: #000000;
	text-align: left;
	margin-bottom: 30px;
}

.textbox_link {
	background-color: #005B94;
	padding: 3px;
	padding-left: 10px;
	padding-right: 10px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: bold;
	text-decoration: none;
	color: #FFFFFF;
}

.textbox_cnt > a, .textbox_cnt > p > a {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: normal;
	color: #005B94;
	text-decoration: none;
}

.textbox_cnt > a:hover, .textbox_cnt > p > a:hover {
	background-color: rgb(255,255,255,0.3);
}

.textbox_headline_s2sm {
	background-color: #808285;
	border-left: #009434 6px solid;
	padding: 10px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: normal;
	color: #FFFFFF;
	text-align: left;
}

.textbox_link_s2sm {
	background-color: #009434;
	padding: 3px;
	padding-left: 10px;
	padding-right: 10px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: normal;
	text-decoration: none;
	color: #FFFFFF;
}

.cnt_img > img {
	width: 100%;
	height: auto;
}

.cnt_img > div {
	background-color: #DCDDDE;
	padding: 10px;
	margin-bottom: 15px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11pt;
	font-weight: normal;
	color: #000000;
	text-align: left;

}

.cnt_pic_grid {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
}

.cnt_img_grid > img {
	width: 100%;
	height: auto;
}

.cnt_pic_grid > div {
	flex: 35%;
	min-width: 200px;
	max-width: 250px;
	background-color: #DCDDDE;
	padding: 10px;
	margin-bottom: 15px;
	margin-left: 15px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11pt;
	font-weight: bold;
	color: #000000;
	text-align: center;
}

input[type=text], input[type=email], input[type=tel], textarea {
	background-color: #DCDDDE;
	border: 2px solid #808285;
	outline: none;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: normal;
	width: 100%;
	padding: 12px 20px;
	margin: 8px 0;
	box-sizing: border-box;
	resize: none;
}

input[type=date], input[type=checkbox], input[type=radio], input[type=time], input[type=file] {
	background-color: #DCDDDE;
	border: 2px solid #808285;
	outline: none;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: normal;
	padding: 12px 20px;
	margin: 8px 0;
	box-sizing: border-box;
	resize: none;
}

input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus, textarea:focus, input[type=date]:focus, input[type=checkbox]:focus, input[type=radio]:focus, input[type=time]:focus, input[type=file]:focus {
	background-color: lightblue;
}

input[type=submit], input[type=button] {
	background-color: #FB9A12;
	border: 2px solid #FB9A12;
	outline: none;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: bold;
	color: #FFFFFF;
	width: auto;
	padding: 12px 20px;
	margin: 8px 0;
	box-sizing: border-box;
	resize: none;
}

input[type=submit]:hover, input[type=button]:hover {
	background-color: #DCDDDE;
	cursor: pointer;
}

input:invalid + span::after {
  position: relative;
  content: "Mo. - Fr. zwischen 07:30 und 14:00 Uhr";
  padding-left: 5px;
}

input:valid + span::after {
  position: relative;
  content: "";
  padding-left: 5px;
}

.weiter_container {
	display: none;
	background-color: rgb(255,255,255,0.4);
	position: fixed;
	z-index: 20;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	border: 0px solid black;
	cursor: progress;
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

.weiter_cnt {
	background-color: #FB9A12;
	border: 2px solid #FB9A12;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: bold;
	color: #FFFFFF;
	width: auto;
	padding: 12px 20px;
	cursor: progress;
}

.faktura_container {
	display: none;
	background-color: rgb(255,255,255,0.4);
	position: fixed;
	z-index: 21;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	border: 0px solid black;
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

.faktura_cnt {
	background-color: #FB9A12;
	border: 2px solid #FB9A12;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: normal;
	color: #FFFFFF;
	width: auto;
	max-width: 80%;
	padding: 12px 20px;
}

.cnt_sendmail {
	background-color: #8DEB77;
	padding: 10px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: normal;
	color: #000000;
	text-align: left;	
}

.cnt_formcheck {
	background-color: #FB9A12;
	padding: 10px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: normal;
	color: #000000;
	text-align: left;	
}

.team_container {
	display: flex;
	background: #DCDDDE;
	padding: 8px;
	min-width: 400px;
}

.team_picture {
	flex: 0 0 40%;
	background: #FFFFFF;
	width: 200px;
	min-height: 250px;
	margin-right: 8px;
	background-image: url("../img/team_gogr.jpg");
	background-size: cover;
	background-position: top center;
}

.team_addcontact {
	height: calc(100% - (200px));
	text-align: left;
	padding-left: 8px;
	padding-top: 200px;
}

.team_addcontact > a > img {
	width: 40px;
	border-radius: 5px;
	background-color: rgb(255,255,255,1);
}

.team_addcontact > a > img:hover {
	background-color: rgb(255,255,255,0.9);
}

.team_details {
	flex: 1 1 60%;
	background: #DCDDDE;
}

.team_name {
	display: block;
	width: auto;
	padding: 5px;
	background: #005B94;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: bold;
	color: #FFFFFF;
	text-align: center;
	line-height: 3;
	border-left: 9px #FB9A12 solid;
}

.team_pos {
	display: block;
	width: auto;
	padding: 5px;
	background: #808285;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11pt;
	font-weight: normal;
	color: #FFFFFF;
	text-align: center;
	line-height: 1.6;
	border-left: 9px #FB9A12 solid;
}

.team_contact {
	display: block;
	width: auto;
	padding: 5px;
	background: #005B94;
	text-align: center;
	border-left: 9px #FB9A12 solid;
}

.team_contact a:hover {
	background: rgb(255,255,255, 0.1);
}

.team_contact a {
	display: block;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11pt;
	font-weight: normal;
	color: #FFFFFF;
	text-decoration: none;
	line-height: 1.6;
}

.cnt {
	flex: 2 1 25%;
	padding: 1.5%;
	padding-top: 0%;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: normal;
	color: #000000;
	text-align: left;
}

.pro_container {
	background-image: url("../img/img_hor_01.jpg");
	background-size: cover;
/* 	border: 1px black solid; */
	width: 350px;
	height: 220px;
	margin-bottom: 25px;
}

.pro_container > div > a {
	background-color:  rgb(255,255,255,0.0);
	display: block;
	height: 220px;
}

.pro_container > div > a:hover {
	background-color:  rgb(255,255,255,0.2);
}

.pro_leistung {
	background-color: rgb(255,255,255,0.5);
}

.pro_leistung > img {
	padding-left: 8px;
	padding-top: 8px;
	padding-bottom: 8px;
	width: 40px;
}

.pro_container > div > a > p {
	position: relative;
	z-index: 5;
}

.pro_container > div > a > p > img {
	position: absolute;
	padding: 5px;
	right: 0px;
	top: 104px;
	background-color:  rgb(255,255,255,0.3);
}

.pro_fsrc_container {
	position: fixed;
	z-index: 20;
	top: 0;
	left: 0;
	width: 96%;
	height: 96%;
	background-color: rgb(0,0,0,0.8);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2%;
}

.pro_fsrc {
	max-width: 1200px;
	display: block;
	background-color: rgb(0,0,0,0.8);
}

.pro_fsrc_img {
	position: relative;
}

.pro_fsrc_img > img {
	width: 100%;
		max-height: 675px;
}

.pro_fsrc_close {
	position: fixed;
	z-index: 21;
	top: 0;
	right: 0;
	padding: 25px;
}

.pro_fsrc_info_btn {
	position: absolute;
	z-index: 2;
	top: 25px;
	left: 25px;
	padding: 8px;
	background-color: rgb(255,255,255,0.2);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14pt;
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: none;
	line-height: 1.6;
	border: solid white 3px;
}

.pro_fsrc_info_btn:hover {
	background-color: rgb(255,255,255,0.4);
	cursor: pointer;
}

.pro_fsrc_info {
	position: absolute;
	z-index: 2;
	top: 25px;
	left: 25px;
	padding: 8px;
	background-color: rgb(0,0,0,0.8);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14pt;
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: none;
	line-height: 1.6;
	border: solid black 3px;
	width: calc(96% - 25px);
}

.pro_fsrc_info > div {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: normal;
	color: #FFFFFF;	
}

.pro_fsrc_info:hover {
	cursor: pointer;
}

.pro_fsrc_slide {
	display: none;
}

.btn_left {
	position: absolute;
	left: 0px;
	top: 50%;
	background-color: rgb(255,255,255,0.7);
	border: none;
	width: 30px;
	height: 50px;
	font-size: 22px;
}

.btn_right {
	position: absolute;
	right: 0px;
	top: 50%;
	background-color: rgb(255,255,255,0.7);
	border: none;
	width: 30px;
	height: 50px;
	font-size: 22px;
}

.btn_left:hover, .btn_right:hover {
	background-color: rgb(255,255,255,1);
	cursor: pointer;
}

footer {
	background-color: #DFDDDD;
	padding-left: 2%;
	padding-right: 2%;
	width: 96%;
}

.ftr_container {
	max-width: 1200px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 15px;
}

.ftr_cnt {
	flex: 2 1 auto;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11pt;
	font-weight: normal;
	color: #808285;
	text-align: center;
	padding-top: 15px;
}

.ftr_cnt > a {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11pt;
	font-weight: normal;
	color: #005B94;
	text-decoration: none;
}

.ftr_cnt > a:hover {
	background-color: rgb(255,255,255,0.3);
}

nav {
	margin-left: 437px;
	height: 65px;
	max-width: 760px;
	text-align: center;
	border: 0px red solid;
	display: flex;
	justify-content: center;
	align-items: stretch;
}

.menu_btn {
	flex: 1 1 auto;
}

.menu_btn > a {
	height: 45px;
	display: block;
	padding-left: 1vw;
	padding-right: 1vw;
	padding-top: 20px;
	position: relative;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	color: #005B94;
	font-weight: bold;
	text-decoration: none;
}

.menu_btn:hover, .menu_btn:hover > a {
	background-color: #005B94;
	color: #FFFFFF;
}

.menu_btn:hover .menu_dropdown {
	display: block;
}

.menu_dropdown {
	display: none;
	position: absolute;
	background-color: #005B94;
	width: auto;
	min-width: 200px;
}

.menu_dropdown > div {
	text-align: left;
}

.menu_dropdown > div > a {
	padding-top: 10px;
	padding-left: 1.5vw;
	padding-right: 1.5vw;
	height: 35px;
	display: block;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: normal;
	color: #FFFFFF;
	text-decoration: none;

}

.menu_dropdown > div > a:hover {
	color: #FFFFFF;
	background-color: rgb(255,255,255,0.2);
}

@media screen and (max-width: 1050px) {

	header {
		padding-left: 1%;
		padding-right: 1%;
		width: 98%;
		height: 100px;
		background-color: #FFFFFF;
		background-image: url(../img/header_bg.png);
		background-repeat: repeat;
		background-position: top left;
		background-size: 100px 100px;
	}

	.nav_logo {
		max-width: 1200px;
		height: 100px;
		background-image: url(../img/header_logo.png);
		background-repeat: no-repeat;
		background-position: top left;
		background-size: auto 68px;
	}

	.nav_quickcontact {
		margin-left: 290px;
		height: 50px;
		max-width: 760x;
		text-align: right;
	}

	.nav_quickcontact_img {
		height: 34px;
		margin: 4px;
		margin-top: 8px;
	}
	
	nav {
		margin-left: 300px;
		height: 50px;
		max-width: 760px;
	}

	.menu_btn > a {
		height: 35px;
		padding-top: 15px;
		font-size: 12pt;
	}

	.menu_dropdown > div > a {
		padding-top: 10px;
		height: 35px;
		font-size: 12pt;
	}

	main {
		padding-top: 100px;
		background-position: 0px 100px;
	}
	.cnt {
		flex: 2 1 40%;
	}
	
}

@media screen and (max-width: 850px) {

	header {
		padding-left: 1%;
		padding-right: 1%;
		width: 98%;
		height: 125px;
		background-color: #DFDDDD;
		background-image: url(../img/header_bg.png);
		background-repeat: repeat-x;
		background-position: top left;
		background-size: 100px 100px;
	}

	.nav_logo {
		max-width: 1200px;
		height: 125px;
		background-image: url(../img/header_logo.png);
		background-repeat: no-repeat;
		background-position: top left;
		background-size: auto 68px;
	}

	.nav_quickcontact {
		margin-left: 290px;
		height: 75px;
		max-width: 760x;
		text-align: right;
	}

	.nav_quickcontact_img {
		height: 34px;
		margin: 4px;
		margin-top: 8px;
	}

	nav {
		margin-left: 0px;
		height: 50px;
		max-width: 760px;
	}

	.menu_btn > a {
		height: 35px;
		padding-top: 15px;
		font-size: 13pt;
	}

	.menu_dropdown > div > a {
		padding-top: 10px;
		height: 35px;
		font-size: 13pt;
	}
	main {
		padding-top: 125px;
		background-position: 0px 125px;
	}
}

@media screen and (max-width: 650px) {

	header {
		padding-left: 1%;
		padding-right: 1%;
		width: 98%;
		height: 100px;
		background-color: #DFDDDD;
		background-image: url(../img/header_bg.png);
		background-repeat: repeat-x;
		background-position: top left;
		background-size: 75px 75px;
	}

	.nav_logo {
		max-width: 1200px;
		height: 100px;
		background-image: url(../img/header_logo.png);
		background-repeat: no-repeat;
		background-position: top left;
		background-size: auto 51px;
	}

	.nav_quickcontact {
		margin-left: 218px;
		height: 60px;
		max-width: 760px;
		text-align: right;
	}

	.nav_quickcontact_img {
		height: 25px;
		margin: 4px;
		margin-top: 6px;
	}
	
	nav {
		margin-left: 0px;
		height: 40px;
		max-width: 760px;
	}

	.menu_btn > a {
		height: 30px;
		padding-top: 10px;
		font-size: 11pt;
	}

	.menu_dropdown > div > a {
		padding-top: 10px;
		height: 35px;
		font-size: 11pt;
	}

	main {
		padding-top: 100px;
		background-position: 0px 100px;
	}
	.cnt {
		flex: 2 1 auto;
	}
}