@charset "utf-8";
/* CSS Document */
.stellenanzeige {
	background-image:url(images/stellenanzeige.jpg);
	background-size: cover;
	margin:4rem 0;
	padding:10rem 1rem;
	text-align: center;
}
.stellenanzeige p {
	color:white;
	font-size:4rem;
	font-weight:400;
	line-height: 2.5rem;
	padding:0;
}
.stellenanzeige a {
	color:white;
	text-decoration:none;
	font-size:2rem;
	font-weight:400;
	display: inline-block;
	padding: 8px 16px;
	background: rgba(255,0,0,0.7);
	color: #fff;
	text-transform: uppercase;
	margin:0 auto;
}

* {
	margin:0;
	padding:0;
	box-sizing:border-box;
	position:relative;
}
/* roboto-300 - latin */
@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 300;
	src: local('Roboto Light'), local('Roboto-Light'), url('fonts/roboto-v18-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('fonts/roboto-v18-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
	font-display: swap;
}
/* roboto-300italic - latin */
@font-face {
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 300;
	src: local('Roboto Light Italic'), local('Roboto-LightItalic'), url('fonts/roboto-v18-latin-300italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('fonts/roboto-v18-latin-300italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
	font-display: swap;
}
/* roboto-regular - latin */
@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	src: local('Roboto'), local('Roboto-Regular'), url('fonts/roboto-v18-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('fonts/roboto-v18-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
	font-display: swap;
}
/* roboto-italic - latin */
@font-face {
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 400;
	src: local('Roboto Italic'), local('Roboto-Italic'), url('fonts/roboto-v18-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('fonts/roboto-v18-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
	font-display: swap;
}
body {
	font-family: 'Roboto', sans-serif;
	font-size:1.3rem;
	font-weight:300;
	color:rgba(0, 0, 0, 0.8);
	line-height:1.4;
	cursor:default;
}
p.prelist {
	padding-bottom:.3rem;
}
.bulllist {
	margin-left:2rem;
	padding-bottom:1rem;
	list-style-type:square;
}
.semibold {
	font-weight:400;
}
.regular {
	font-weight:300;
}
.smaller {
	font-size:1rem;
}
.red {
	color:#ed1c24;
}
.wrap {
	max-width:1200px;
	margin:0 auto;
}
header, nav, footer {
	padding:0 30px;
}
a {
	text-decoration:none;
	color: #388676;
}
/* Apple Iphone telephone numbers CSS override */
#banner a[href^=tel], .banner a[href^=tel]{ color:#fff; text-decoration:none;}
h2 a[href^=tel]{ color:#ed1c24; text-decoration:none;}

#toggle {
	display:none;
}
nav {
	font-family: 'Roboto Condensed', sans-serif;
	max-height: 0;
	transition: max-height 1s ease-in-out;
	overflow: hidden;
}
nav a {
	text-decoration:none;
	color:#666;
}
nav a:hover {
	color:#ed1c24;
	font-weight:400;
}
ul {
	list-style-type:none;
}
.firstlevel {
	display:flex;
	justify-content:space-between;
}
.firstlevel > li {
	width:23%;
	padding:30px 0 30px 18px;
	font-weight:500;
}
.firstlevel > li:first-child {
	padding:30px 0;
}
.secondlevel {
	font-weight:300;
	padding:12px 0 0;
}
.secondlevel li {
	padding:7px 0;
	line-height:1.2;
}
.header {
	background-color:rgb(251,251,251);
}
header {
	height:104px;
	display:flex;
	justify-content:space-between;
}
header > a > img {
	height:48px;
	transform:translateY(67%);
}
header label svg {
	height:26px;
	transform:translateY(23%);
	padding-left:18px;
}
header label:hover {
	cursor:pointer;
}
header label:hover span {
	color:#ed1c24;
}
header span {
	line-height:104px;
	font-weight:400;
}
header input {
	display:hidden;
	height:0;
}
.landing {
	width:100%;
	position:absolute;
	top:50%;
	left:0;
	transform:translateY(-50%);
	z-index:1;
}
.landing h1 {
	position:relative;
	transform:none;
	animation: 0.8s linear 0s 1 slideInFromTop;
}
@keyframes slideInFromTop {
 0% {
 transform: translateY(-50%);
 opacity:0;
}
 50% {
 opacity:0.3;
}
 100% {
 transform: translateY(0);
 opacity:1;
}
}
@keyframes slideInFromBottom {
 0% {
 transform: translateY(+33%);
 opacity:0;
}
 50% {
 opacity:0.3;
}
 100% {
 transform: translateY(0);
 opacity:1;
}
}
.call {
	display:flex;
	justify-content:center;
	padding:1rem;
	animation: 0.8s linear 0s 1 slideInFromBottom;
}
.number {
	padding: 12px 18px;
	background: rgba(255,0,0,0.7);
	color:white;
	text-align:center;
	font-weight:500;
	text-transform:uppercase;
}
.number:first-of-type {
	margin-right:1rem;
}
.number span:nth-child(1) {
	display:block;
	letter-spacing:0.2rem;
	font-size:1.2rem;
}
.number span:nth-child(2) {
	font-size:2.5rem;
}
#banner img, .banner img {
	width:100%;
	vertical-align: top;
	margin-bottom:8px;
}
input[type=checkbox]:checked ~ nav {
 max-height: 300px;
}
main {
	display:block;
	padding-bottom:2em;
}
h1 {
	width:100%;
	font-size:3.5rem;
	color:white;
	font-weight:600;
	position:absolute;
	top:50%;
	transform:translateY(-75%);
	text-align:center;
	z-index:1;
	text-transform:uppercase;
	text-shadow:0 0 10px rgba(0,0,0,0.3);
	animation: 0.8s linear 0s 1 slideInFromTopH1;
}
@keyframes slideInFromTopH1 {
 0% {
 transform: translateY(-100%);
 opacity:0;
}
 50% {
 opacity:0.3;
}
 100% {
 transform: translateY(-75%);
 opacity:1;
}
}
h2 {
	padding:1.7em 0 1.1em;
	font-size:1.4rem;
	color:#388576; /*grüne Version */
	color:#ed1c24;
	font-weight:500;
}
h3 {
	font-weight:500;
	padding:1em 0 0 0;
}
h4 {
	font-weight:400;
	color:#eee;
}
p {
	padding:0 0 1.8rem;
}
footer {
	padding:10px 30px;
	font-size:1.1rem;
	display:flex;
	justify-content:space-between;
	color: white;
}
.footer {
	width:100%;
	background-color:rgba(0,0,0,0.8);
}
footer hr {
	border:rgba(255,255,255,0.5) 1px solid;
	background-color:rgba(255,255,255,0.5);
	margin:0.2rem 0 1rem 0;
}
footer ul {
	padding:0 0 1rem;
}
footer li {
	padding:2px 0;
}
footer > div {
	width:24%;
	padding:18px 18px 18px 0;
}
footer a {
	color:white;
	text-decoration:none;
}
/* Startseite */
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
* html .clearfix {
	zoom: 1;
} /* IE6 */
*:first-child+html .clearfix {
	zoom: 1;
} /* IE7 */
.overview {
	margin-top:50px;
}
.overview section {
	width:31%;
	margin-right:3.5%;
	float:left;
	margin-bottom:3.5%;
}
.overview section h1 {
	padding:24px 18px;
	background-color:#ed1c24;
	color:white;
	font-size:1.3rem;
}
.overview section p {
	padding:24px 18px;
	font-size:1.2rem;
}
.overview section:nth-child(3n) {
	margin-right:0;
}
.overview section img {
	width:100%;
	display:block;
}
.overview a {
	display:block;
	opacity:0.9;
	transition:.3s ease-in-out;
}
.overview section:hover a {
	opacity:1;
}
.redsquare {
	padding:0 0 1rem;
}
.redsquare li {
	padding:0 0 0.5em 1.3em;
}
.redsquaresecond {
	padding-top:0.5em;
}
.redsquaresecond li {
	padding:0 0 0.5em 1.3em;
}
.redsquaresecond li:last-of-type {
	padding-bottom:0;
}
.redsquare li:before {
	content: "■";
	padding-right: 8px;
	transform:translate(-100%, -8%);
	color: #ed1c24;
	position:absolute;
}
.redsq {
	color:#ed1c24;
	font-size:1.8rem;
	padding:0 0.1em 0 0.05em;
}
.columns {
	-webkit-column-count: 2; /* Chrome, Safari, Opera */
	-moz-column-count: 2; /* Firefox */
	column-count: 2;
	-moz-column-gap: 3em;
	-webkit-column-gap: 3em;
	column-gap: 3em;
	-webkit-column-rule-style: solid; /* Chrome, Safari, Opera */
	-moz-column-rule-style: solid; /* Firefox */
	column-rule-style: solid;
	-webkit-column-rule-width: 1px; /* Chrome, Safari, Opera */
	-moz-column-rule-width: 1px; /* Firefox */
	column-rule-width: 1px;
	-webkit-column-rule-color: #993333; /* Chrome, Safari, Opera */
	-moz-column-rule-color: #993333; /* Firefox */
	column-rule-color: #993333;
	word-wrap: normal;
	text-align:justify;
	transform:translateZ(0);
}

.columns p:first-of-type {
	padding-top:0;
}
.columns p:last-of-type {
	padding-bottom:0;
}

.keepTogether{
	display: inline-block;
    width: 100%;
}
.content_block {
	padding:0px 30px;
	max-width:1200px;
	margin:0 auto;
}
.parallax_banner {
	margin:3em 0;
	height: 500px;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size:cover;
	background-position: 100% auto;
	position:relative;
}
.parallax_section {
	margin:2em 0;
	height: 460px;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size:cover;
	background-position: 100% auto;
	position:relative;
}
.parallax_image_bgva3_banner {
	background-image:url(images/bgva3-parallax-0.jpg);
}
.parallax_image_bgva3_first {
	background-image:url(images/bgva3-parallax-1.jpg);
}
.parallax_image_bgva3_second {
	background-image:url(images/bgva3-parallax-2.jpg);
}
.parallax_image_fest_banner {
	background-image:url(images/feststellanlagen-parallax-0.jpg);
}
.parallax_image_fest_first {
	background-image:url(images/feststellanlagen-parallax-1.jpg);
}
.parallax_image_fest_second {
	background-image:url(images/feststellanlagen-parallax-2.jpg);
}
.parallax_image_eingang_first {
	background-image:url(images/eingangssysteme-parallax-1.jpg);
}
blockquote {
	font-style:italic;
}
.download {
	width:100%;
	display:flex;
	margin:92px 0 48px;
}
.linksec {
	width:100%;
	display:flex;
	margin:12px 0 48px;
}
.downloaditem, .linksecitem {
	width:50%;
	margin:16px;
	padding:16px 24px;
	background-color:rgb(244,244,244);
}
.linksecitem img {
	width:100%;
}
.downloaddesc {
	margin-bottom:48px;
}
.downloadicon {
	position:absolute;
	bottom:16px;
	left:50%;
	transform:translateX(-50%);
}
.downloadicon svg {
	width: 238.733px;
	height: 56.733px;
	cursor:pointer;
}
.infodesc p {
	text-align:justify;
}
.infoimg img {
	padding-top:24px;
	width:100%;
}
.svglightgrey {
	fill:#E6E7E8;
}
.svgred {
	fill:#ed1c24;
}
.svgwhite {
	fill:#FFFFFF;
}
.svgdarkgrey {
	fill:#6D6E71;
}
.spacertop {
	padding:60px 0 36px;
	text-align:center;
}
.spacertop2 {
	margin-top:36px;
}
.centered {
	text-align:center;
	display:block;
	width:100%;
}
.numberhighlight {
	background-color:rgba(255,0,0,0.7);
	padding:0.2em 0.5em;
	margin:0 auto;
	color:white;
	text-transform:uppercase;
	font-weight:600;
	position:absolute;
	font-size:3.5rem;
	top:64%;
	left:50%;
	transform:translate(-50%, -75%);
	z-index:1;
}
/* Tiles Landing Page */
.tiles {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
}
.tile {
	overflow: hidden;
	margin-bottom:8px;
	color: #fff;
	text-align: center;
}
.tile1 {
	width:calc((100% - 16px) / 3);
}
.tile2 {
 width:calc((((100% - 16px) / 3) * 2) + 8px);
}
.spaceright {
	margin-right:8px;
}
.tile img {
	width:100%;
	vertical-align: top;
	transform: scaleY(1);
	transition: all .7s ease-in-out;
}
.tile:hover img {
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
.tile .mask {
	width: 100%;
	height: 100%;
	position: absolute;
	overflow: hidden;
	top: 0;
	left: 0
}
.tile .content {
	width: 90%;
	height: auto;
	position: absolute;
	overflow: hidden;
	top: 50%;
	left: 50%;
	transform:translate(-50%, -50%);
	padding:32px;
}
.tile .mask {
	background-color: rgba(0,0,0, 0.5);
}

.tile .mask_white {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0
}

.tile .mask_white{
	background-color: rgba(0,0,0, 0.1);
}
.mask h2 {
	text-transform: uppercase;
	color: #fff;
	padding: 8px;
	border-bottom: 1px solid rgba(255,255,255, 0.4);
	background: transparent;
	font-size:1.7rem;
}
.tile p {
	margin: 18px 0.5% 0 0.5%;
	font-size:1.5rem;
}
.tile a.info {
	display: inline-block;
	font-weight:500;
	text-decoration: none;
	padding: 8px 16px;
	background: rgba(255,0,0,0.7);
	color: #fff;
	text-transform: uppercase;
	margin:0 auto;
}
.tile a.info {
}
/* .tile:hover .mask {
	opacity: 1;
}
.tile:hover h2, .tile:hover p, .tile:hover a.info {
	transform: scale(1);
	opacity: 1;
} */

/* Referenzen */
.imagedesc {
	position:absolute;
	bottom:0;
	text-align:center;
	color:white;
	background:rgba(0,0,0,0.75);
	padding:0.5em;
	width:100%;
	font-size:90%
}
/* Kontakt */

.kontaktwrap {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	padding:1rem;
	animation: 0.8s linear 0s 1 slideInFromBottom;
}
.kontaktinfo {
	padding: 12px 18px;
	background: rgba(255,0,0,1);
	color:white;
	text-align:center;
	font-weight:400;
	width:49%;
	margin-bottom:1em;
}
.kontaktinfo a {
	color: white
}

.kontaktinfo:nth-child(2n+1) {
	margin-right:2%;
	text-color:white;
}
.kontaktinfo span:nth-child(1) {
	display:block;
	letter-spacing:0.2rem;
	font-size:1.1rem;
	text-transform:uppercase;
}
.kontaktinfo span:nth-child(2) {
	font-size:1.6rem;
}
.liame {
	direction:rtl;
	unicode-bidi:bidi-override;
	text-align:left
}
.messagebox {
	text-align:center;
	padding:2.5em 1em;
	font-size:2em;
	margin-bottom:8px;
}
.xmascolor {
	background-color:rgb(255,0,0);
	color:white;
}
.eastern {
	background-color:white;
	color:violett;
}
.emptyinfo {
	background-color:white;
}
 @media (max-width: 1024px) {
.tile .content {
	width:95%;
	padding:2%;
}
.tile p {
	font-size: 1rem;
}
.mask h2 {
	font-size:1.1rem;
}
.number span:nth-child(2) {
	font-size: 1.5rem;
}
.number span:nth-child(1) {
	letter-spacing: 0.1rem;
	font-size: 1rem;
}
.kontaktinfo {
	width:96%;
	text-color:white;
}
.kontaktinfo:nth-child(2n+1) {
	margin-right:0%;
}
.kontaktinfo span:nth-child(1) {
	font-size:0.8rem;
	letter-spacing:0.1rem;
}
.kontaktinfo span:nth-child(2) {
	font-size:1.2rem
}
.columns {
	-webkit-column-count: 1; /* Chrome, Safari, Opera */
	-moz-column-count: 1; /* Firefox */
	column-count: 1;
}
footer {
	flex-wrap: wrap;
	font-size:1em;
}
h1 {
	font-size:2rem;
}
body {
	font-size:1em;
}
footer > div {
	width: 49%;
}
footer > div:nth-child(2n+1) {
	padding-right:0;
}
.parallax_section {
	height: 360px;
}
.content_block img {
	max-width:100%;
}
.messagebox {
	font-size:1em;
}
}
@media (max-width: 699px) {
.kontaktinfo span:nth-child(1) {
	font-size:0.8rem;
	letter-spacing:0rem;
}
.kontaktinfo span:nth-child(2) {
	font-size:1.1rem
}
.columns {
	text-align:left;
	-webkit-column-count: 1;
	-moz-column-count: 1;
	column-count: 1;
}
h1 {
	font-size:1.3rem;
}
h2, .mask h2 {
	font-size:1.2rem;
}
html, body, .tile p {
	font-size:1em;
}
footer > div {
	width: 100%;
	padding-right:0;
}
.parallax_section {
	height: 260px;
}
.firstlevel {
	flex-wrap:wrap;
	font-size:1.1em;
}
.firstlevel > li:first-child, .firstlevel > li {
	width:100%;
	padding:18px 0;
}
 input[type="checkbox"]:checked ~ nav {
	max-height:1000px;
}
header {
	height:auto;
	margin:12px 0;
}
header span {
	display:none;
}
header > a > img {
	height: 40px;
	transform: translateY(10%);
}
header label svg {
	height: 22px;
	transform:translateY(50%);
}
.call {
	flex-wrap:wrap;
}
.number {
	width:100%;
}
.number:first-of-type {
	margin-right:0;
	margin-bottom:1rem;
}
.number span:nth-child(1) {
	letter-spacing:0;
	font-size:1.2rem;
}
.number span:nth-child(2) {
	font-size:1.6rem;
}
.number span:nth-child(1):active {
	color:white;
	}
.redsq {
	font-size:0.8rem;
}
.tile1, .tile2 {
	width:100%;
	height:calc(100vw * 0.70);
	margin-right:0px;
}
.tile2 img {
	height:100%;
	width:calc(100vw * 2);
	left:-50%;
}
.banner {
	padding-bottom:8px;
}
.banner img {
	height:100%;
	width:calc(100vw * 2.6);
	left:-50%;
}
.tile .mask {
	opacity:1;
}
.mask h2, .tile p, .tile a.info {
	opacity:1;
	transform:scale(1);
}
header, nav, footer, .content_block, .tile .content {
	padding-left:12px;
	padding-right:12px;
}
.tile .content {
	width:100%;
}
.spaceright {
	padding-right:0;
	margin-right:0;
}
.banner {
	overflow-x:hidden;
}
.download {
	flex-wrap:wrap;
}
.downloaditem {
	width:100%;
}
.downloaddesc {
	margin-bottom: 60px;
}
.downloaditem, .linksecitem {
	padding:12px;
}
}
.corona {
	padding-top:1rem;
	margin-bottom:0;
	padding-bottom:0.8rem;
	color:white;
	text-align:center;
	font-size:2rem;
}
.contact_green {
	color:rgba(56,133,118,0.9);
	font-size:2rem;
	font-weight:400; 
	position:absolute;
}
.img_row_container{
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
}
.img_row_3{
	width:33.3%;
}
.img_row_3 img{
	width:96%;
}

.img_row_center{
	margin:auto;
}



.referenz_container{
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
}

.referenz{
	width:33.3%;
	margin:auto;
	
}
.referenz img{
	width:96%;
	margin-bottom:-0.5rem;
}

.referenz span{
	background-color:rgba(0,0,0,0.8);
	bottom:0;
	text-align:center;
	color:white;
	padding:0.5em;
	width:96%;
	display: block;
	font-size:90%;
	height: 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

 @media (max-width: 699px) {
.corona {
	font-size:1rem;
}
.stellenanzeige p {
	font-size:2rem;
	line-height:1.3rem;
	margin-top:0.7rem;
}
.stellenanzeige a {
	font-size:1rem;
}
.stellenanzeige {
	padding:1rem;
	margin:1rem 0;
}
}

.inputform {
	font-weight: 400;
	color: rgba(0, 0, 0, 0.9);
}
.inputform input {
	font-size: 90%;
	color: rgba(0, 0, 0, 0.7);
	padding: 3px;
}
.inputform select {
	padding: 3px;
}
.inputform textarea {
	width: 100%;
	font-size: 90%;
	font-family: 'Roboto', sans-serif;
	color: rgba(0, 0, 0, 0.7);
}
