@font-face {
    font-family: FontL;
    src: url("Roboto-Light.ttf");
    font-display: swap;
}
@font-face {
    font-family: FontR;
    src: url("Roboto-Regular.ttf");
    font-display: swap;
}
@font-face {
    font-family: FontB;
    src: url("Roboto-Bold.ttf");
    font-display: swap;
}
p {
	padding: 0px; margin: 0px;
}
* {
	font-family: FontL;
	-webkit-backface-visibility: hidden;
}
.MobileTop, .ShowOnMobile {
	display: none!important;
}
.Pflicht {
	color:#AC0D10;
}
.error {
	border: 1px solid #AC0D10;
}
.M_Logos div {
	text-align: center;
}
.M_Logos .row_flex {
    justify-content: center;
    align-items: center;
}
.M_Logos .row_flex div {
     width: auto;
    padding-left: 40px;
    padding-right: 40px;
}
.M_Logos img {
	display: inline-block;
	width: 150px;
}
.M_Logos .col_table_1_1 img {
	width: 180px;
	margin-bottom: 50px;
}
body, html {
	padding: 0px;
	margin: 0px;
	width: 100%;
	height: 100%;
	font-family: 'Roboto', sans-serif;
}
.MaxBreite {
	width: 100%;
	max-width: 1400px;
	padding-left: 30px;
	padding-right: 30px;
	margin: auto;
}
.Top {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	z-index: 51;
}
.Top .Logo {
	width: 180px;
	float: right;
	
	-webkit-transition: all 100ms ease-in-out;
	-moz-transition: all 100ms ease-in-out;
	-ms-transition: all 100ms ease-in-out;
	-o-transition: all 100ms ease-in-out;
	transition: all 100ms ease-in-out;
}
.LogoFIXED {
	display: none!important;
}
.Top .Navigation {
	float: left;
	padding-top: 7px;
	padding-left: 20px;
}
.Top .Menu, .Top .MenuClose {
	float: left;
	width: 40px;
	cursor: pointer;
	display: none!important;
	
	-webkit-transition: all 100ms ease-in-out;
	-moz-transition: all 100ms ease-in-out;
	-ms-transition: all 100ms ease-in-out;
	-o-transition: all 100ms ease-in-out;
	transition: all 100ms ease-in-out;
}
.Top .MenuClose {
	transform: scale(0);
	margin-left: -40px;
}
.Top .Menu:hover, .Top .MenuCloseFIXED:hover {
	transform: scale(1.1)!important;
}
.MenuFIXED, .Top .MenuFIXED:hover {
	transform: scale(0)!important;
}
.Top .MenuCloseFIXED {
	transform: scale(1)!important;
}
.bg1, .bg2, .bg3 {
background: rgba(255,255,255,0.15);
background: -moz-linear-gradient(left, rgba(255,255,255,0.15) 0%, rgba(246,246,246,0.08) 47%, rgba(255,255,255,0) 100%);
background: -webkit-gradient(left top, right top, color-stop(0%, rgba(255,255,255,0.15)), color-stop(47%, rgba(246,246,246,0.08)), color-stop(100%, rgba(255,255,255,0)));
background: -webkit-linear-gradient(left, rgba(255,255,255,0.15) 0%, rgba(246,246,246,0.08) 47%, rgba(255,255,255,0) 100%);
background: -o-linear-gradient(left, rgba(255,255,255,0.15) 0%, rgba(246,246,246,0.08) 47%, rgba(255,255,255,0) 100%);
background: -ms-linear-gradient(left, rgba(255,255,255,0.15) 0%, rgba(246,246,246,0.08) 47%, rgba(255,255,255,0) 100%);
background: linear-gradient(to right, rgba(255,255,255,0.15) 0%, rgba(246,246,246,0.08) 47%, rgba(255,255,255,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff', GradientType=1 );
	position: fixed;
	left: -100px;
	top: -180px;
	width: 150%;
	height: 200px;
	z-index: 10;
	transform: rotateZ(-7deg);
	pointer-events: none!important;
	
	-webkit-transition: all 250ms ease-in-out;
	-moz-transition: all 250ms ease-in-out;
	-ms-transition: all 250ms ease-in-out;
	-o-transition: all 250ms ease-in-out;
	transition: all 250ms ease-in-out;
	-webkit-box-shadow: 2px 2px 12px 1px rgba(0,0,0,0.20);
	box-shadow: 2px 2px 12px 1px rgba(0,0,0,0.20);
}
.bg1FIXED, .bg2FIXED {	
	transform: rotateZ(0deg);
	top: -142px;
	background: transparent;
	background-color: rgba(255,255,255,1);
}
.bg2 {
	top: -160px;
	margin-top: 0px;
	transform: rotateZ(-3deg);
	-webkit-transition: all 300ms ease-in-out;
	-moz-transition: all 300ms ease-in-out;
	-ms-transition: all 300ms ease-in-out;
	-o-transition: all 300ms ease-in-out;
	transition: all 300ms ease-in-out;
}
.bg3 {
	bottom: -100px;
	top: inherit;
	z-index: 3;
}
.bg2FIXED {
	opacity: 0;
}
.bgdark {
background: rgba(0,0,0,0.7);
background: -moz-linear-gradient(top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(0,0,0,0.7)), color-stop(100%, rgba(0,0,0,0)));
background: -webkit-linear-gradient(top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
background: -o-linear-gradient(top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
background: -ms-linear-gradient(top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
background: linear-gradient(to bottom, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#000000', GradientType=0 );
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	z-index: 2;
	height: 150px;
}
.Navigation {
	margin-left: 0px;
	opacity: 1;
	-webkit-transition: all 100ms ease-in-out;
	-moz-transition: all 100ms ease-in-out;
	-ms-transition: all 100ms ease-in-out;
	-o-transition: all 100ms ease-in-out;
	transition: all 100ms ease-in-out;
}
.Navigation ul {
	list-style: none;
	padding: 0px;
	margin: 0px;
}
.Navigation ul li {
	float: left;
	margin-right: 20px;
}
.Navigation ul li ul {
	position: absolute;
	width: 200px;
	text-align: left;
	padding: 10px;
	padding-top: 10px;
	display: none;
	margin-left: -10px;
}
.Navigation ul li:hover ul {
	display: inherit;
}
.Navigation ul li ul li {
	float: inherit;
	padding-top: 10px;
	display: block;
}
.NavigationFIXED ul li ul {
	background-color: #FFF;
}
.Navigation a {
	text-decoration: none;
	color: #FFF;
	font-size: 14px;
	font-weight: lighter;
	letter-spacing: 2px;
	padding-bottom: 5px;
	border-bottom-color: #FFF;
	
	-webkit-transition: all 100ms ease-in-out;
	-moz-transition: all 100ms ease-in-out;
	-ms-transition: all 100ms ease-in-out;
	-o-transition: all 100ms ease-in-out;
	transition: all 100ms ease-in-out;
}
.Navigation a:hover , .NavAKTIV {
	color: #FFF!important;
	border-bottom: 1px solid #FFF;
}
.NavigationFIXED a {
	color: #444;
}
.NavigationFIXED a:hover , .NavigationFIXED .NavAKTIV {
	color: #444!important;
	border-color: #444!important;
}
.Footer {
	background-color: #FFF;
	border-top: 1px solid #EFEFEF;
	margin-top: 20px;
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: right;
	z-index: 50;
	position: fixed;
	bottom: 0px;
}
.Footer a {
	color: #444;
	text-decoration: none;
}
.Footer .row .col_1_3:nth-child(3) {
	padding-top: 21px;
}

.Down {
	display: none;
	position: fixed;
	bottom: 80px;
	left: 50%;
	margin-left: -30px;
	width: 60px;
	z-index: 3;
	cursor: pointer;
	background-color: #FFF;
	border-radius: 50%;
	padding: 10px;
	padding-bottom: 5px;
	transform: scale(0.9);
	-webkit-transition: all 100ms ease-in-out;
	-moz-transition: all 100ms ease-in-out;
	-ms-transition: all 100ms ease-in-out;
	-o-transition: all 100ms ease-in-out;
	transition: all 100ms ease-in-out;
}
.Down:hover {
	transform: scale(1);
}

.Photos {
	z-index: 0;
	position: fixed!important;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.Photos img {
	display: block;
	height: 100%;
}
.Photos .t {
	display: table;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	-webkit-transition: all 100ms ease-in-out;
	-moz-transition: all 100ms ease-in-out;
	-ms-transition: all 100ms ease-in-out;
	-o-transition: all 100ms ease-in-out;
	transition: all 100ms ease-in-out;
}
.tFIXED {
	opacity: 0;
}
.Photos .t .c {
	display: table-cell;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	vertical-align: middle;
	text-align: center;
}
.Photos h1 {
	color: #FFF;
    font-family: FontB;
	font-size: 36px;
	margin-bottom: 10px;
	letter-spacing: 10px;
}
.Photos h2 {
	color: #FFF;
	font-size: 20px;
    font-family: FontB;
	letter-spacing: 10px;
}


a {
	color: #333;
}

.Box {
	background-color: #FFF;
	z-index: 40;
}
.Box .Buttons {
	position: absolute;
	margin-bottom: 50px;
	margin-top: 10px;
}
.Box .Buttons a {
	background-color: #222;
	border-radius: 50%;
	float: left;
	color: #FFF;
	width:40px;
	height: 40px;
	margin-right: 5px;
	padding: 7px;
	
	-webkit-transition: all 100ms ease-in-out;
	-moz-transition: all 100ms ease-in-out;
	-ms-transition: all 100ms ease-in-out;
	-o-transition: all 100ms ease-in-out;
	transition: all 100ms ease-in-out;
}
.Box .Buttons a:hover {
	background-color: #111;
}
.Box .Details {
	text-align: right;
}
.Box .Details a {
	color: #D20041;
}
.Box h1 {
	font-weight: lighter;
	margin: 0px;
	padding: 0px;
	font-size: 21px;
	background-color: #D20041;
	color: #FFF;
	padding: 5px;
	padding-left: 10px;
	padding-right: 10px;
}
.Box .Text {
	padding: 5px;
	padding-left: 10px;
	padding-right: 10px;
	position: relative;
	padding-bottom: 30px;
}
.BProjekte {
	position: absolute;
	left: 30px;
	width: 300px;
	bottom: 100px;
}

h1,h2,h3,h4 {
	margin: 0px;
	padding: 0px;
	font-weight: lighter;
}
h1, h2 {
	color: #444444;
	font-size: 30px;
	margin-bottom: 30px;
}
h3 {
	color: #444;
	font-size: 22px;
	margin-bottom: 15px;
    font-family: FontR;
}

.BoxGrau {
	background-color: #EFEFEF;
	padding-top: 30px;
	padding-bottom: 50px;
	margin-top: 30px;
}

.Content {
	background-color: #FFF;
	position: absolute;
	top: 100%;
	left: 0px;
	width: 100%;
	padding-top: 40px;
	color: #444444;
	font-size: 15px;
	line-height: 23px;
	z-index: 5;
	min-height: 60%;
	padding-bottom: 70px;
}

fieldset {
	margin: 0px;
	padding: 0px;
	border: 0px;
	width: 100%;
	margin-bottom: 10px;
}
label {
	float: left;
	width: 20%;	
}
input, textarea {
	float: left;
	width: 80%;
	border: 1px solid #CCC;
	padding: 4px;
	font-size: 16px;
	color: #666;
	outline: none;	
	font-family: 'Abel', sans-serif;
}
input[type='submit'] {
	width: auto;
	padding-left: 20px;
	padding-right: 20px;
	background-color: #111;
	color: #FFF;
	border: 0px;
	cursor: pointer;
}


.ButtonBack, .ButtonNext, .Button {
	background-color: #222;
	display: inline-block;
	padding: 5px;
	padding-left: 34px;
	padding-right: 20px;
	color: #FFF;
	text-decoration: none;
	background-image: url(img/left.svg);
	background-repeat: no-repeat;
	background-position: 5px 6px;
	background-size: 20px;
	
	-webkit-transition: all 100ms ease-in-out;
	-moz-transition: all 100ms ease-in-out;
	-ms-transition: all 100ms ease-in-out;
	-o-transition: all 100ms ease-in-out;
	transition: all 100ms ease-in-out;
}
.Button {
	background-image: none;
	padding-left: 20px;
}
.ButtonNext {
	background-image: url(img/right.svg);
	padding-right: 34px;
	padding-left: 20px;
	background-position: 97% 50%;
}
.ButtonBack:hover, .ButtonNext:hover {
	background-color: #444;
}
.Trennung {
	border-bottom: 1px solid #CCC;
	height: 1px;
	width: 100%;
	margin-bottom: 30px;
	padding-top: 30px;
}


#map {
	width: 100%;
	height: 400px;
	display: block;
	margin-top: 0px;
	opacity: 1;
	
	-webkit-transition: all 100ms ease-in-out;
	-moz-transition: all 100ms ease-in-out;
	-ms-transition: all 100ms ease-in-out;
	-o-transition: all 100ms ease-in-out;
	transition: all 100ms ease-in-out;
}
#map:hover {
	opacity: 1;
}
.M_Kontakt .col_2_3 {
	padding-right: 90px;
}


.ProjektDetail .col_2_3 {
	padding-right: 90px;
}
.ProjektDetail .col_1_4 div {
	overflow: hidden;
}
.ProjektDetail .col_1_4 img {
	display: block;
	transform: scale(1);
	opacity: 0.6;
	-webkit-transition: all 150ms ease-in-out;
	-moz-transition: all 150ms ease-in-out;
	-ms-transition: all 150ms ease-in-out;
	-o-transition: all 150ms ease-in-out;
	transition: all 150ms ease-in-out;
}
.ProjektDetail .col_1_4 img:hover {
	transform: scale(1.05);
	opacity: 1;
}
.Tabelle .col_table_1_3, .Tabelle .col_table_2_3 {
	border-bottom: 1px solid #CCC;
	padding-bottom: 5px;
	padding-top: 10px;
}
.Tabelle .row_table:last-child .col_table_1_3, .Tabelle .row_table:last-child .col_table_2_3 {
	border: 0px;
}


.M_Team {
	background-color: #EFEFEF;
	padding-top: 20px;
	padding-bottom: 20px;
	margin-top: 30px;
}
.M_Team .col_table_1_3 {
	padding-right: 40px;
}
.M_Team .col_table_2_3 {
	vertical-align: bottom;
}
.M_Team .row_table {
	margin-bottom: 0px;
}

.M_Projekte .row_table {
	display: flex;
	flex-wrap: wrap;
}
.M_Projekte .col_table_1_3 {
	padding-right: 0px;
	width: 50%;
	padding: 20px!important;
	margin: 0px!important;
}
.M_Projekte .row_table {
	margin-bottom: 30px;
}
.M_Projekte .col_table_1_3:nth-child(3n+1) {
	padding-right: 20px;
}
.M_Projekte .col_table_1_3:nth-child(3n+2) {
	padding-left: 10px;
	padding-right: 10px;
}
.M_Projekte .col_table_1_3:nth-child(3n+3) {
	padding-left: 20px;
}
.M_Projekte .col_table_1_3 div {
	background-color: rgba(255,255,255,0.8);
	padding: 10px;
	-webkit-transition: all 150ms ease-in-out;
	-moz-transition: all 150ms ease-in-out;
	-ms-transition: all 150ms ease-in-out;
	-o-transition: all 150ms ease-in-out;
	transition: all 150ms ease-in-out;
	cursor: pointer;
}
.M_Projekte .col_table_1_3 div:hover {
	background-color: rgba(255,255,255,1);
}
.M_Projekte .col_table_1_3 div .ButtonNext {
	float: right;
}

.M_LetztesProjekt img {
	display: block!important;
	transform: scale(1);
	opacity: 0.6;
	-webkit-transition: all 150ms ease-in-out;
	-moz-transition: all 150ms ease-in-out;
	-ms-transition: all 150ms ease-in-out;
	-o-transition: all 150ms ease-in-out;
	transition: all 150ms ease-in-out;
}

.M_LetztesProjekt img:hover {
	transform: scale(1.05);
	opacity: 1;
}

.M_LetztesProjekt .Daten .row {
	margin-bottom: 10px;
	border-bottom: 1px solid #EFEFEF;
	padding-bottom: 3px;
}
.M_LetztesProjekt .col_1_2 a {
	display: block;
}
.M_LetztesProjekt .col_1_2 div {
	overflow: hidden;
	display: block;
}
.M_LetztesProjekt .col_1_3 a {
	display: block;
}
.M_LetztesProjekt .col_1_3 div {
	overflow: hidden;
	display: block;
}

.M_Textblock2 .col_table_1_2:nth-child(1) {
	padding-right: 30px;
	text-align: justify;
}
.M_Textblock2 .col_table_1_2:nth-child(2) {
	padding-left: 30px;
	text-align: justify;
}