@charset "UTF-8";

html { 
	overflow-y: scroll; 
	overflow-x: hidden; /*auto; */
}

body {
	font-family: 'Outfit', sans-serif;
	font-size: 20px; /*1.4vw; */
	line-height: 1.35;
	color: #1d1d1b;
	background-color: #fff;
}
p {
	margin: 0;
	padding-bottom: 1em;
}
.mobile,
img.mobile {
	display: none;
}
.desktop,
img.desktop {
	display: block;
}
a {
	color: #444;	
}
a.orange {
	color: #ff9700;
}
a:hover {
	color: #0e71b8;
}
a[href^="tel"] { text-decoration: none !important; cursor: default !important; }
/* a[href^="tel"]:hover { color: #fff !important } */

a.more, a.less {
	display: inline-block;
}
a.more {
	float: right;
}
a.less {
	float: left;
}
a.more:after {
	content: ' >';
}
a.less:before {
	content: '< ';
}

h1 {
	font-size: 3.5em;
}
h2 {
	font-family: 'Outfit', sans-serif;
  font-size: 32px;
  line-height: 1.1;
  font-weight: normal;
  margin: 0;
  margin-bottom: 1em;
  color: #ff9700;
}
h3 {
	font-family: 'Outfit', sans-serif;
	font-size: 2.3vw;
	font-weight: normal;
	margin: 0;
	margin-bottom: 1vw;
	color: #ff9700;
}

span.nowrap {
	white-space: nowrap;
}
strong.firma,
strong.firma a {
	color: #0e71b8;
}

/*=======================================================================*/

.wrapper {
	position: relative;
  width: 90%;
  max-width: 1650px;
	margin-left: auto;
	margin-right: auto;
}

header {
	position: fixed;
	top: 0px;
	width: 100%;
	height: 150px;
	background-color: #fff;
	z-index: 1000;
	-webkit-transition: height 1s ease-in-out;
	-moz-transition: height 1s ease-in-out;
	-o-transition: height 1s ease-in-out;
	transition: height 1s ease-in-out;
}
header.scrolled {
	height: 80px;
	-webkit-box-shadow: 0px 5px 14px 0px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 5px 14px 0px rgba(0,0,0,0.3);
	box-shadow: 0px 5px 14px 0px rgba(0,0,0,0.3);	
}
.header {
	width: 100%;
	height: 150px;
	-webkit-transition: all 1s ease-in-out;
	-moz-transition: all 1s ease-in-out;
	-o-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}
.header.scrolled {
	height: 80px;
}
header > .wrapper {
	height: 100%;
	background-image: url(../../upload/prj1/layout/menubar.png);
	background-position-x: 100%;
	background-position-y: 100%;
	background-size: 80% 17.5%;
	background-repeat: no-repeat;
	-webkit-transition: all 1s ease-in-out;
	-moz-transition: all 1s ease-in-out;
	-o-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}
header.scrolled > .wrapper {
	background-position-x: 200%;
	background-size: 20% 27%;
}

header.small, .header.small {
	height: 80px;
}
img#logo {
	position: absolute;
	display: inline-block;
	width: auto !important;
	height: 100%;
	bottom: 0%;
	left: 30px;
	z-index: 10000;
	border-right: 90px solid #fff;
	border-bottom: 0px solid #fff;
	-webkit-transition: all 1s ease-in-out;
	-moz-transition: all 1s ease-in-out;
	-o-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}
img#logo.scrolled {
	height: 70%;
	bottom: 0%;
	border-bottom: 14px solid #fff;
}
#social {
	position: absolute;
	display: inline-block;
	vertical-align: middle;
	width: 300px;
	right: 0;
	top: 45px;
	z-index: 10000;
	-webkit-transition: all 1s ease-in-out;
	-moz-transition: all 1s ease-in-out;
	-o-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}
header.scrolled #social {
	top: 14px;
	width: 290px;
}
.social-footer {
	display: none;
}
a.phone {
	float: left;
	line-height: 32px;
	vertical-align: middle;
	color: #0e71b8;
	font-size: 20px;
	-webkit-transition: all 1s ease-in-out;
	-moz-transition: all 1s ease-in-out;
	-o-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}
img.insta {
	float: right;
	vertical-align: middle;
	margin-left: 50px;
	width: 32px;
	-webkit-transition: all 1s ease-in-out;
	-moz-transition: all 1s ease-in-out;
	-o-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}
img.fb {
	float: right;
	vertical-align: middle;
	margin-left: 20px;
	width: 32px;
	-webkit-transition: all 1s ease-in-out;
	-moz-transition: all 1s ease-in-out;
	-o-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}
header.scrolled a.phone {
	font-size: 16px;
	line-height: 20px;
}
header.scrolled img.insta {
	width: 20px;
}
header.scrolled img.fb {
	width: 20px;
}

nav#nav {
	position: absolute;
	bottom: 0%;
	right: 0px;
	-webkit-transition: all 1s ease-in-out;
	-moz-transition: all 1s ease-in-out;
	-o-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
	font-size: 16px;
}
header.scrolled nav#nav {
	bottom: 0%;
	border-left-width: 25px;
}
.responsive_menu.scrolled li.parent > a,
.responsive_menu.scrolled li > label.parent {
/*  padding-bottom: 20px; */
}


.stage {
	position: relative;
  width: 90%;
  max-width: 1650px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 65px;
	overflow: hidden;
}
.stage > img {
	position: relative;
	width: 100%;
	height: auto !important;
}
.stage.home {
	position: relative;
  margin-top: 45px;
  margin-bottom: 80px;  
	height: 0;
	padding-bottom: 30%;
	overflow: hidden;
}
.stage.base {
	position: relative;
  margin-top: 45px;
  margin-bottom: 80px;  
	height: 0;
	padding-bottom: 30%;
	overflow: hidden;
}
.stage.video {
	position: relative;
  width: 100%;
  max-width: 1920px;
  margin-top: 45px;
  margin-bottom: 80px;  
	height: 0;
	padding-bottom: 30%;
	overflow: hidden;
}
.stage.video2 {
	position: relative;
  margin-top: 45px;
  margin-bottom: 80px;  
	height: 0;
	padding-bottom: 36.5%;
	overflow: hidden;
}
#videobanner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.stage.home .stage-img {
	position: absolute;
	width: 100%; height: 100%; left: 0; top: 0;
	background-size: cover;
	background-position: 50% 50%;
}
.rsContent {
	color: #FFF;
}
.pageHeadline {
	background-color: #ff9700;
	color: #fff;
	padding: 13px 16px 11px 30px;
  text-transform: uppercase;
  font-size: 26px;
  line-height: 1.35;
}
.blockHeadline {
	font-weight: 400;
	font-size: 2.5vw;
	line-height: 1.1;
/*	text-shadow: 0 0 20px rgb(0 0 0 / 70%);
	-webkit-text-shadow: 0 0 20px rgba(0,0,0,.70); */
	background-color: #0e71b8;
  padding: 0.5vw 1.2vw 0.8vw 1.2vw;
}
.txtCent {
	text-align: left;
}

#FancyGallery {
	padding-top: 0px;
	padding-bottom: 20px;
	width: 101%;
}
#FancyGallery a {
	display: inline-block;
	width: 11.8%;
  height: 0;
  padding-bottom: 11.8%;
  margin-right: 0.65%;
  margin-bottom: 0.65%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
	cursor: zoom-in;
	opacity: 0.9;
}
#FancyGallery a:hover {
	opacity: 1;
	box-shadow: inset 0 0 0 4px #ff9700;
}
#FancyGallery img {
	width: 11.8%;
	height: 11.8%;
	visibility: hidden;
}
.fancybox-thumbs__list a:before {
	border: 4px solid #ff9700;
}

.map {
	position: relative;
  height: 0;
  padding-bottom: 30%;
  overflow: hidden;
  margin-bottom: 50px;
}
.map iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	border: 0;
}

footer {
	width: 100%;
	line-height: 1.5;
	font-size: 16px;
	margin-bottom: 40px;
}
footer .wrapper {
	position: relative;
	background-color: #005590;
	color: #fff;
}
footer a {
	color: #fff;
}
footer a:hover {
	color: #fff !important;
}
.lpan {
	width: 48%;
	float: left;
}
.rpan {
	width: 48%;
	float: right;	
}
.lpan .pad {
	padding: 25px 32px;
}
.rpan .pad {
	padding: 25px 50px;
}
.imprint {
	float: right;
	margin-left: 30px;
}
.imprint a {
	color: #fff;
}

span.nobr {
	white-space: nowrap;
}
span.uppercase {
	text-transform: uppercase;
}



.respimg {
	position: absolute;
	top: 0; left: 0; width: 100%; height: 100%;
	overflow: hidden;
	background-size: cover;
}
.respimg.top { background-position-y: top; }
.respimg.vcenter { background-position-y: center; }
.respimg.bottom { background-position-y: bottom; }
.respimg.left { background-position-x: left; }
.respimg.right { background-position-x: right; }
.respimg.hcenter { background-position-x: center; }
.respimg img {
	visibility: hidden;
}

.home {
}
.content {
	padding-bottom: 100px;
}
.content.images {
	padding-bottom: 40px;
}
.content.referenzen {
	padding-top: 80px;
	padding-bottom: 80px;
}
.content.headline {
	background-color: #0E71B8;
  color: #fff;
  text-align: center;
  padding-bottom: 0;
	margin-bottom: 80px;
}
.content.flex {
	display: flex;
	align-items: stretch;
  justify-content: space-between;
}
.content .col1 {
	position: relative;
  width: 48%;
  min-height: 100%;
}
.content .col2 {
	position: relative;
  width: 48%;
  min-height: 100%;
}
.content .col1 .pad,
.content .col2 .pad {
	padding-left: 30px;
}

.content.ln .col1 { width: 295px; }
.content.ln .col2 { width: calc(100% - 387px); }

.content.headline .pad {
	padding: 1.5vw 1vw 1vw 1vw;
}
.content.headline h2 {
  font-size: 26px;
	color: #fff;
	margin-bottom: 0.5em;
}
.content.images img {
	width: 100%;
	height: auto !important;
}

.content.contact .col1 { width: 45%; }
.content.contact .col2 { width: 45%; }
.content.contact .col1 > .pad {
	float: left;
}


img.qrcode {
	float: right;
	margin-left: 20px;
	margin-bottom: 20px;
}

.itemcols {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
  margin-bottom: 50px;
}
.itemcol {
	position: relative;
	width: 22%;
	background-repeat: no-repeat;
	background-size: cover;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;	
}
.itemcol .head {
	position: relative;
	background-color: #0e71b8;
	color: #fff;
	width: 100%;
	height: 0;
	padding-bottom: 16%;
	line-height: 1.5;
	text-transform: uppercase;
}
.itemcol .image {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 160%;
	overflow: hidden;
}	
.itemcol .imgbg	{
	position: absolute;
	top:0; left:0; width:100%; height:100%;
	background-image: url(../../upload/prj1/layout/item-zaeune.jpg);
	background-size: cover;
	background-position: center;
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;	
}
.itemcol .imgbg:hover	{
  transform: scale(1.1);
}
.itemcol .image img {
	position: absolute;
	top:0; left:0; width:100%; height:100%;
	opacity: 0;
}
#pfosten .imgbg {
	background-image: url(../../upload/prj1/layout/item-pfosten.jpg);	
}
#tore .imgbg {
	background-image: url(../../upload/prj1/layout/item-tore.jpg);	
}
#zubehoer .imgbg {
	background-image: url(../../upload/prj1/layout/item-zubehoer.jpg);	
}
.itemcol .text {
	position: relative;
	width: 100%;
/*	height: 0;
	padding-bottom: 70%; */
	line-height: 1.3;
	margin-top: 32px;
}
.itemcol .link {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 12%;
}
.itemcol .head > div,
.itemcol .image > div,
.itemcol .link > div {
	position: absolute;
	top:0; left:0; width: 100%; height: 100%;
	overflow: hidden;
}
.itemcol .head > div > div,
.itemcol .image > div > div {
	padding: 15px 20px;	
}
.itemcol .text > div > div,
.itemcol .link > div > div {
	padding: 15px 0;
}
.itemcol .head > div > div {
	text-align: center;
}
.itemcol .link > div > div {
	text-align: right;
}







.prodgrid {
	width: 107.5%;
}

.proditem {
	float: left;
	width: 28%;
	margin-right: 4.5%;
	margin-bottom: 3vw;
}

.proditem .galCut {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	overflow: hidden;
}
.proditem .galImg {
	position: absolute;
	width: 100%; height: 100%; top: 0; left: 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	transition: transform 0.6s ease;
}
.proditem .galCut:hover .galImg {
	transform: scale(1.05);
}
.proditem .galCut > a {
	position: absolute;
	top: 0; left: 0; width: 100%; height: 100%;
	opacity: 0;
}
.proditem .galCut > a > img {
	width: 100%;
	height: 100%;
}
.proditem.list {
	background-color: #575656;
	color: #fff;
}
.proditem.list > div {
	padding: 4vw 10% 6vw 14%;
}
.proditem.list ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.proditem.list li {
	column-break-inside: avoid;
	-webkit-column-break-inside: avoid;
	position: relative;
}
.proditem.list li:first-child {
/*	border-top: 1px solid #fff;
	padding-top: 0.5vw; */
}
.proditem.list li:last-child hr {
/*	display: none; */
}
.proditem.list h3 {
/*	color: #ffed00; */
}
.proditem.list h4 {
	margin: 0;
	font-weight: normal;
	text-transform: uppercase;
	color: #ffed00;
}
.proditem.list hr {
	border: 0;
	border-top: 1px solid #fff;
	height: 1px;
	margin: 0.5vw 0;
	column-break-inside: avoid;
	-webkit-column-break-inside: avoid;
}
.proditem.list a {
	display: block;
	color: #fff;
	text-decoration: none;
}
.proditem.list a h4:after {
	content: ' >';
}
.proditem.list a:hover {
	text-decoration: none;
}
/*
.proditem.list a:hover h4:after {
	content: ' >';
}
*/
.proditem.list .multicol {
	column-count: 2;
	column-gap: 3vw;
	line-height: 1.35;
}
.prodname {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 2% 0;
	text-align: center;	
	color: #fff;
	background-color: #0e71b8;
  -webkit-transition: all .8s ease-in-out;
  -moz-transition: all .8s ease-in-out;
  -o-transition: all .8s ease-in-out;
  -ms-transition: all .8s ease-in-out;
  transition: all .8s ease-in-out;
}
a.goDet {
	display: block;
	text-align: right;
	text-decoration: none;
	padding: 0.5vw 2vw 0 0;
}
a.goDet:hover {
/*	text-decoration: underline; */
}
.proditem a:hover + .projname,
.proditem .prodname:hover {
	opacity: 1;
}

.prodmenu {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.prodmenu > a,
.prodmenu > h2 {
	position: relative;
	display: block;
	width: 100%;
  margin-bottom: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;	
	color: #222;
	padding: 2px 16px 2px 30px;
  text-transform: uppercase;
  font-size: 26px;
  line-height: 1.35;
  text-decoration: none;
}
.prodmenu > a {
	background-color: #eee;
}
.prodmenu a:after {
/*	content: ' >' */
}
.prodmenu > h2 {
	background-color: #ff9700;
	color: #fff;
}
.prodmenu > h2 > a {
	background-color: #ff9700;
	color: #fff;
	padding: 0;
	text-decoration: none;
}
.prodmenu > h2 > a:after {
	content: ''
}
.prodmenu > h2.first {
	margin-top: 0;
}

.prodnav {
	padding-top: 40px;
}
a.back2ov {
	float: left;
	text-decoration: none;
}
a.back2ov:before {
	content: '< '
}
a.nextprod {
	float: right;
	text-decoration: none;
}
a.nextprod:after {
	content: ' >'
}

.section.refdet .col1 .prodnav {
	display: none;
}



.emailform {
	
}
.emailform .col1 {
	float: left;
	width: 60% !important;
}
.emailform .col2 {
	float: right;
	width: 35% !important;
}
.emailform input[type="button"] {
	background-color: #0e71b8;
	color: #fff;
	padding: 12px;
}
.txtrow label {
	display: none;
}
.txtrow > div {
	width: 90%;
	border-bottom: 1px solid #222;
	padding: 0;
	margin-bottom: 12px;
}
.txtrow.but > div {
	border: 0;
}
.txtrow > div > input,
.txtrow > div > textarea {
	width: 100%;
	border: 0;
	padding: 4px 0 0 0;
}
.chkrow {
	margin-bottom: 12px;
}
.chkrow label {
	margin-left: 10px;
}





.base .headline {
	padding-top: 23px;
	margin-bottom: 65px;
	border-top: 7px solid #202020;
	border-bottom: 7px solid #202020;
}
.base .headline h2 {
	color: #222;
	font-size: 1.85vw;
	font-weight: bold;
	line-height: 1.25;
	margin-bottom: 20px;
	width: 56.3%;
	float: right;
}
.base .headline.center h2 {
	width: 100%;
	float: none;
	text-align: center;
}
.base .cont,
.bs360 .cont {
	margin-bottom: 35px;
}

.cont h2 {
	font-weight: bold;
	font-size: 1.5em;
	margin-bottom: 0.5em;
	line-height: 1.1;
}
.cont h3 {
	font-size: 1.25em;
	line-height: 1.1;
	margin-bottom: 0.25em;
	font-weight: bold;
}
.cont ul {
	margin: 0 0 2em 0;
}
.sidebar-block {
	border-top: 7px solid #202020;
	padding-top: 23px;
	margin-bottom: 90px;
}
.sidebar-block h2 {
	color: #222;
	font-size: 1.85vw;
	line-height: 1.25;
	margin-bottom: 20px;
}


.cont-block {
	display: table;
}
.cont-block.spacer {
	height: 80px;
}
.cont-block.col2 {
	display: table-row;
	vertical-align: top;
	margin-bottom: 60px;
}
.cont-block.col2 .col {
	position: relative;
	display: table-cell;
	width: 50%;
	vertical-align: top;
}
.cont-block.col2 .col .pad {
	padding-left: 0;
	padding-right: 5%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.cont-block.col2 .col .pad.center {
	text-align: center;
}
.cont-block.col2 .borderT {
	border-top: 7px solid #222;
	padding-top: 25px;
}
.cont-block.col2 .col .pad.img {
	position: absolute;
	width: 95%; height: 100%; left: 0; top: 0;
	padding: 0 !important;
}
.cont-block.col2 .col .pad img {
	width: 100%;
	height: 1%;
	visibility: hidden;
}
.cont-block.col2 .col:nth-child(2) .pad {
	padding-left: 5%;
	padding-right: 0;
}
.cont-block.col2 .col:nth-child(2) .pad.img {
	left: 5%;
}
.cont-block h2 {
	font-weight: bold;
}
.cont-block a.pdf {
	display: inline-block;
}
.cont-block a.pdf:hover {
	text-decoration: underline;
}


.termine-short {
	
}
.termine-short .item {
	padding-bottom: 32px;
}
.termine-short .item-title {
	font-weight: bold;
}
.termine-short .item-cont {
	
}
.termine-long {
	
}
.termine-long .item {
	padding-bottom: 32px;
}
.termine-long .item-title {
	float: left;
	width: 48.5%;
	text-align: right;
	border-top: 2px solid #222;
	padding-top: 10px;
	font-size: 2em;
}
.termine-long .item-cont {
	float: right;
	width: 48.5%;
	border-top: 2px solid #222;
	padding-top: 30px;
}

#terminekurz a.more,
#terminekurz2 a.more {
	display: block;
	text-align: right;
}
#terminekurz2,
#impressionen2 {
	display: none;
}

.aktuell-front {
	border-top: 7px solid #222;
	padding-top: 23px;	
}
.aktuell-front h2 {
	color: #222;
	font-size: 1.85vw;
	line-height: 1.25;
	margin-bottom: 20px;
	width: 55%;
	float: right;
}
.aktuell-items {
	display: table;
}
.aktuell-short {
	display: table-row;
	background-color: #ececec;
}
.aktuell-short-previmg {
	display: table-cell;
	width: 40%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.aktuell-short-previmg > img {
	visibility: hidden;
	width: 100%;
}
.aktuell-short-text {
	display: table-cell;
	width: 60%;
	vertical-align: top;
}
.aktuell-short-text > div {
	position: relative;
	padding: 0 9%;
}
.aktuell-short-pad {
	width: 100%;
	padding-bottom: 8%;
}
.aktuell-short h3 {
	color: #222;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.25;
	margin-bottom: 20px;
}
.aktuell-short-date {
	font-size: 16px;
	font-style: italic;
	margin-bottom: 20px;
}
.aktuell-short-cont {
/*	font-size: 20px; */
}
.aktuell-short-cont a {
	display: block;
	text-align: right;
	color: #296EB8;
}
.aktuell-short-spacer {
	display: table-row;
	height: 68px;	
}

.aktuell {
	
}
.aktuell-nav {
	float: left;
	width: 20%;
/* border-top: 7px solid #202020; */
	padding-top: 23px;
}
.aktuell-nav h2 {
	font-size: 1.5em;
	margin-bottom: 1em;
	font-weight: bold;
}
.aktuell-nav a {
	display: block;
	font-size: 1.5em;
	font-weight: bold;
}
.aktuell-nav a.active {
	color: #0081db;
}
.aktuell-list {
	float: right;
	width: 80%;
/* border-top: 7px solid #202020; */
	padding-top: 23px;
}
.aktuell-list .aktuell-short-previmg {
	width: 23%;
}
.aktuell-list .aktuell-short-text {
	width: 77%;
}
.aktuell-list .aktuell-short-text > div {
	padding: 0 4%;
}
.aktuell-list .aktuell-short-pad {
	padding-bottom: 4%;
}

.aktuell-long-item {
	display: table-row;	
}
.aktuell-long-col1 {
	display: table-cell;
}
.aktuell-long-item-title {
}
.aktuell-long-item-title h3 {
	color: #222;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.25;
	margin-bottom: 20px;
}
.aktuell-long-item-date {
	font-size: 16px;
	font-style: italic;
	margin-bottom: 20px;
}
.aktuell-long-item-cont {
	padding-bottom: 12px;
}
.aktuell-long-item-back a {
	color: #0081db;
}


.ytvideo {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.5%;
	margin-bottom: 35px;
}
.ytvideo > div {
	position: absolute;
	width: 100%;
	height: 100%;
}
.block4th {
	margin-bottom: 35px;	
}
.block5th {
	margin-bottom: 35px;
}
img.w100 {
	width: 100%;
	height: auto !important;
}
img.w50 {
	width: 50%;
	height: auto !important;
}
img.w33 {
	width: 33%;
	height: auto !important;
}




p.more {
	text-align: right;
	padding-top: 1em;
}
p.more a {
	text-decoration: none;
}
p.more a:hover {
	text-decoration: underline;
}
.section.header {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.section.txtimg .col1 > div > div a,
.section.imgtxt .col2 > div > div a {
	text-decoration: none;
}
/*
.section.txtimg .col1 > div > div a:before,
.section.imgtxt .col2 > div > div a:before {
	content: '> ';
}
*/
.section.txtimg .col1 > div > div h2 > a,
.section.imgtxt .col2 > div > div h2 > a {
	color: #ffed00 !important;
}




/* ===== HOME ================================================================================================= */

.section.home {
	margin: 6vw 0;
}
main.home.first .section.home {
	margin: 6vw 0 2vw 0;
}
main.home.first .section.home.header {
	margin-top: 0;
}
.section.home .col1 {
	position: relative;
	float: left;
	width: 48.8%;
}
.section.home .col2 {
	position: relative;
	float: right;
	width: 48.8%;
}
.section.home .col1 > div,
.section.home .col2 > div {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 68%;
}
.section.home .col1 > div > div,
.section.home .col2 > div > div {
	position: absolute;
	top: 0; left:0; right: 0; bottom: 0;
	display: flex;
  align-items: center;
  justify-content: center;
	background-repeat: no-repeat;
	background-size: cover;  
	background-position: center center;
}
.section.home .col1 > div > div {
	justify-content: flex-end;
}
.section.home .col2 > div > div {
	justify-content: flex-start;
}

.section.home .col1 .pad,
.section.home .col2 .pad {
	padding: 0 5%;
}
.section.home h2 {
	line-height: 1;
	margin-bottom: 0;
}
.section.home h3 {
	line-height: 1.2;
	margin-bottom: 2vw;	
}

.section.home.header {
	position: relative;
	width: 100%;
	height: 0;
	margin-top: 0;
	padding-bottom: 60%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
#LogoHome {
	position: absolute;
	width: 22.4%;
	height: auto !important;
	top: 17.4%;
	right: 11%;
}
.section.home.txttxt {
	position: relative;
	width: 100%;
	background-color: #575656;
}
.section.home.txttxt .col1,
.section.home.txttxt .col2 {
	color: #fff;
}
.section.home.txttxt .col1 > div > div {
	text-align: right;
}
.section.home.txttxt h2 {
	color: #ffed00;
}
.section.home .col2 .pad {
	width: 85%;
}
.section.home.txttxt .col2 .pad {
	width: 65%;
	padding-left: 7%;
}

.section.home.txtimg .col1 > div > div {
	color: #fff;
	background-color: #575656;
	text-align: right;
}
.section.home.txtimg .col1 > div > div a {
	color: #fff;
	text-decoration: none;
}
.section.home.txtimg .col1 > div > div a:hover {
	color: #fff;
	text-decoration: underline;
}
.section.home.txtimg h2 {
	color: #ffed00;
}

.section.home.imgtxt .col2 > div > div {
	color: #fff;
	background-color: #575656;
	text-align: left;
}
.section.home.imgtxt .col2 > div > div a {
	color: #fff;
	text-decoration: none;
}
.section.home.imgtxt .col2 > div > div a:hover {
	color: #fff;
	text-decoration: underline;
}
.section.home.imgtxt h2 {
	color: #ffed00;
}


/* ===== AKTUELLES ============================================================================================ */
main.aktuell {
	padding-bottom: 6vw;
}
main.aktuell.home {
	padding-bottom: 0;
}

.section.aktuell {
	padding-top: 0;
	margin-bottom: 6vw;
}
.section.aktuell .col1 {
	position: relative;
	float: left;
	width: 48.8%;
}
.section.aktuell .col2 {
	position: relative;
	float: right;
	width: 48.8%;
}
.section.aktuell .col1 > div,
.section.aktuell .col2 > div {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 68%;
	overflow: hidden;
}
.section.aktuell.open .col2 > div {
	height: auto;
	overflow: unset;
	padding-bottom: unset;
}
.section.aktuell .col1 > div > div,
.section.aktuell .col2 > div > div {
	position: absolute;
	top: 0; left:0; right: 0; bottom: 0;
	display: flex;
  align-items: center;
  justify-content: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	overflow: hidden;
	transition: transform 0.6s ease;
}
.section.aktuell .col1 > div > a {
	position: absolute;
	top: 0; left:0; right: 0; bottom: 0;
	overflow: hidden;
}
.section.aktuell .col1 > div img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
}
.section.aktuell .col1.text > div > div {
	transform-origin: center right;
}
.section.aktuell .col1:hover > div > div {
/*	transform: scale(1.02); */
}
.section.aktuell.nolink .col1:hover > div > div {
	transform: none;
}
.section.aktuell .col1 > div > div {
	justify-content: flex-end;
}
.section.aktuell .col2 > div > div {
	justify-content: flex-start;
}
.section.aktuell.open .col2 > div > div {
	position: relative;
	display: block;
	overflow: unset;
}

.section.aktuell .col1 {
	text-align: right;
	background-color: #ffed00;
}
.section.aktuell.header .col1 {
	background-color: transparent;
}
.section.aktuell .col1 .pad,
.section.aktuell .col2 .pad {
	width: 79%;
	line-height: 1.2;
	padding: 0 14% 0 7%;
}
.section.aktuell .col1 .pad {
	float: right;
  padding: 0 4%;
}
.section.aktuell h2 {
	line-height: 1;
	margin-bottom: 0;
}
.section.aktuell h3 {
	line-height: 1.2;
	margin-bottom: 0;	
}

.section.aktuell.header {
	position: relative;
	width: 100%;
	padding-top: 0;
	margin-top: 0;
	background-color: #575656;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.section.aktuell.header .col1,
.section.aktuell.header .col2 {
	color: #fff;
}
.section.aktuell.header h2 {
	margin-bottom: 0vw;
	line-height: 1;
	color: #ffed00;
}
.section.aktuell.header .col2 .pad {
	width: 85%;
}

/* ===== AKTUELLES DETAIL ======================================================================================= */
.section.aktdet {
	padding-top: 4vw;
	margin-bottom: 2vw;
}
.section.aktdet .col1 {
	position: relative;
	float: left;
	width: 48.8%;
	height: auto !important;
	padding-bottom: 0 !important;
	background-color: #fff;
}
.section.aktdet.header .col1 {
	background-color: transparent;
}
.section.aktdet .col2 {
	position: relative;
	float: right;
	width: 48.8%;
	height: auto !important;
	padding-bottom: 0 !important;
}
.section.aktdet .col1 > div, 
.section.aktdet .col2 > div {
	height: auto;
	padding-bottom: 0;
}
.section.aktdet.header .col1 > div,
.section.aktdet.header .col2 > div {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
}
.section.aktdet.header.gray .col1 > div,
.section.aktdet.header.gray .col2 > div {
	padding-bottom: 68%;
}
.section.aktdet.header .col1 > div > div,
.section.aktdet.header .col2 > div > div {
	position: absolute;
	top: 0; left:0; right: 0; bottom: 0;
	display: flex;
  align-items: center;
  justify-content: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.section.aktdet.header .col1 > div > div {
	justify-content: flex-end;
}
.section.aktdet.header .col2 > div > div {
	justify-content: flex-start;
}
.section.aktdet .col1 .pad,
.section.aktdet .col2 .pad {
	width: 75%;
	line-height: 1.55;
	padding: 2vw 15% 0 10%;
}
.section.aktdet .col1 > div > div, 
.section.aktdet .col2 > div > div {
	display: block;
	position: relative;
	top: unset;
	left: unset;
	right: unset;
	bottom: unset;
	align-items: initial;
	justify-content: initial;
}
.section.aktdet .col1 > .img {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 63.4%;
	margin-bottom: 2vw;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.section.aktdet .col1 > .img > img {
	position: absolute;
	width: 100%; height: 100%; top: 0; left: 0;
	opacity: 0;	
}
.section.aktdet h2 {
	line-height: 1;
	margin-bottom: 0;
}
.section.aktdet h3 {
	line-height: 1.2;
	margin-bottom: 0;	
}
.section.aktdet.header {
	position: relative;
	width: 100%;
	padding-top: 0;
	margin-top: 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.section.aktdet.header.gray {
	background-color: #575656;
}
.section.aktdet.header.gray h2 {
	color: #ffed00;
}
.section.aktdet.header.gray h3 {
	color: #fff;
}
.section.aktdet.text .col2 .pad {
	padding-top: 0;
}

/* ===== ANSPRECHPARTNER ======================================================================================== */
main.team {
	padding-bottom: 6vw;
}
.section.team {
	padding-top: 4vw;
	margin-bottom: 2vw;
}
.section.team .col1 {
	position: relative;
	float: left;
	width: 48.8%;
}
.section.team .col2 {
	position: relative;
	float: right;
	width: 48.8%;
}
.section.team .col1 > div,
.section.team .col2 > div {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 68%;
}
.section.team .col1 > div > div,
.section.team .col2 > div > div {
	position: absolute;
	top: 0; left:0; right: 0; bottom: 0;
	display: flex;
  align-items: center;
  justify-content: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.section.team .col1 > div > div {
	justify-content: flex-end;
}
.section.team .col2 > div > div {
	justify-content: flex-start;
}
.section.team .col1 {
	text-align: right;
	background-color: #ffed00;
}
.section.team.header .col1 {
	background-color: transparent;
}
.section.team .col1 .pad,
.section.team .col2 .pad {
	line-height: 1.2;
	padding: 0 14% 0 7%;
}
.section.team .col1 .pad {
	float: right;
  padding: 0 4%;
}
.section.team h2 {
	line-height: 1;
	margin-bottom: 0;
}
.section.team h3 {
	line-height: 1.2;
	margin-bottom: 0;	
}
.section.team.header {
	position: relative;
	width: 100%;
	padding-top: 0;
	margin-top: 0;
	background-color: #575656;
}
.section.team.header .col1,
.section.team.header .col2 {
	color: #fff;
}
.section.team.header h2 {
	margin-bottom: 0vw;
	line-height: 1;
	color: #ffed00;
}
.section.team.header .col2 .pad {
	width: 85%;
}
.section.team.teamgal {
	position: relative;	
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.section.team.teamgal .galitem {
	position: relative;
	width: 30.5%;
	margin-bottom: 5vw;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;	
}
.section.team.teamgal .galitem:after {
  content: '';
  display: block;
  height: 0;
	padding-bottom: 117%;
}
.section.team.teamgal .galitem > div:first-child {
	position: absolute;
  width: 100%;
	height: 0;
	padding-bottom: 66%;
	background-repeat: no-repeat;
	background-size: cover;
}
.section.team.teamgal .galitem > div:nth-child(2) {
	position: absolute;
	top: 57%;
  width: 100%;
	height: 0;
	padding-bottom: 50.7%;
}
.section.team.teamgal .galitem > div:nth-child(2) div {
	line-height: 1.2;
	padding: 1.5vw 1vw 1vw 4.85vw;
}

/* ===== GESCHICHTE ============================================================================================ */
main.gesch {
	padding-bottom: 6vw;
}
.section.gesch {
	padding-top: 4vw;
	margin-bottom: 2vw;
}
.section.gesch .col1 {
	position: relative;
	float: left;
	width: 48.8%;
}
.section.gesch .col2 {
	position: relative;
	float: right;
	width: 48.8%;
}
.section.gesch.header .col1 > div,
.section.gesch.header .col2 > div {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 68.5%;
}
.section.gesch.header .col1 > div > div,
.section.gesch.header .col2 > div > div {
	position: absolute;
	top: 0; left:0; right: 0; bottom: 0;
	display: flex;
  align-items: center;
  justify-content: center;
	background-repeat: no-repeat;
	background-size: cover;  
}
.section.gesch.header .col1 > div > div {
	justify-content: flex-end;
}
.section.gesch.header .col2 > div > div {
	justify-content: flex-start;
}

.section.gesch .col1 {
	text-align: right;
}
.section.gesch .col1 .pad,
.section.gesch .col2 .pad {
	width: 77%;
	line-height: 1.2;
	padding: 0 2%;
}
.section.gesch .col1 .pad {
	float: right;
	padding: 0 8%;
}
.section.gesch h2 {
	line-height: 1;
	margin-bottom: 0;
}
.section.gesch h3 {
	line-height: 1.2;
	margin-bottom: 0;	
}
.section.gesch.header {
	position: relative;
	width: 100%;
	padding-top: 0;
	margin-top: 0;
	background-color: #575656;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.section.gesch.header .col1,
.section.gesch.header .col2 {
	color: #fff;
}
.section.gesch.header h2 {
	margin-bottom: 0vw;
	line-height: 1;
	color: #ffed00;
}
.section.gesch.header .col2 .pad {
	width: 85%;
}


/* ===== OFFENE STELLEN ============================================================================================ */
main.stellen {
	padding-bottom: 6vw;
}
.section.stellen {
	padding-top: 4vw;
	margin-bottom: 2vw;
}
.section.stellen .col1 {
	position: relative;
	float: left;
	width: 48.8%;
}
.section.stellen .col2 {
	position: relative;
	float: right;
	width: 48.8%;
}
.section.stellen.header .col1 > div,
.section.stellen.header .col2 > div {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 68.5%;
}
.section.stellen.header .col1 > div > div,
.section.stellen.header .col2 > div > div {
	position: absolute;
	top: 0; left:0; right: 0; bottom: 0;
	display: flex;
  align-items: center;
  justify-content: center;
	background-repeat: no-repeat;
	background-size: cover;  
}
.section.stellen.header .col1 > div > div {
	justify-content: flex-end;
}
.section.stellen.header .col2 > div > div {
	justify-content: flex-start;
}

.section.stellen .col1 {
	text-align: right;
}
.section.stellen .col1 .pad,
.section.stellen .col2 .pad {
	width: 77%;
	line-height: 1.2;
	padding: 0 2%;
}
.section.stellen .col1 .pad {
	float: right;
	padding: 0 8%;
}
.section.stellen h2 {
	line-height: 1;
	margin-bottom: 0;
}
.section.stellen h3 {
	line-height: 1.2;
	margin-bottom: 0;	
}
.section.stellen.header {
	position: relative;
	width: 100%;
	padding-top: 0;
	margin-top: 0;
	background-color: #575656;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.section.stellen.header .col1,
.section.stellen.header .col2 {
	color: #fff;
}
.section.stellen.header h2 {
	margin-bottom: 0vw;
	line-height: 1;
	color: #ffed00;
}
.section.stellen.header .col2 .pad {
	width: 85%;
}


/* ===== LEISTUNGEN ============================================================================================ */
.section.leist {
	padding-top: 0;
	margin-bottom: 6vw;
}
.section.leist .col1 {
	position: relative;
	float: left;
	width: 48.8%;
}
.section.leist .col2 {
	position: relative;
	float: right;
	width: 48.8%;
}
.section.leist .col1 {
	text-align: right;
}
.section.leist .col1 .pad,
.section.leist .col2 .pad {
	width: 80%;
	line-height: 1.2;
	padding: 0 5%;
}
.section.leist .col1 .pad {
	float: right;
}
.section.leist h2 {
	line-height: 1;
	margin-bottom: 0;
}
.section.leist h3 {
	line-height: 1.2;
	margin-bottom: 0;	
}

.section.leist.header {
	position: relative;
	width: 100%;
	padding-top: 0;
	margin-top: 0;
	background-color: #575656;
	background-repeat: no-repeat;
	background-size: cover;
}
.section.leist.header .col1 > div,
.section.leist.header .col2 > div {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
}
.section.leist.header .col1 > div > div,
.section.leist.header .col2 > div > div {
	position: absolute;
	top: 0; left:0; right: 0; bottom: 0;
	display: flex;
  align-items: center;
  justify-content: center;
	background-repeat: no-repeat;
	background-size: cover;  
}
.section.leist.header .col1 > div > div {
	justify-content: flex-end;
}
.section.leist.header .col2 > div > div {
	justify-content: flex-start;
}

.section.leist.header .col1,
.section.leist.header .col2 {
	color: #fff;
}
.section.leist.header h2 {
	margin-bottom: 1vw;
	line-height: 1.3;
	color: #ffed00;
}
.section.leist.header .col2 .pad {
	width: 85%;
}


.section.leist.slider {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 31.5%;
	overflow: hidden;
	margin-top: 6vw;
	margin-bottom: 2vw;
}
.slider.carousel {
	position: absolute;
	top:0; left:0; right:0; bottom:0;
}
.slick-slide {
	overflow: hidden;
}
.slick-slide .image {
	margin: 0 1vw;
}
.slick-slide img {
	width: 100%;
	height: auto !important;
}

.slick-prev, 
.slick-next {
	top: 46%;
	width: 6vw;
	height: 6vw;
	z-index: 100;
}
.slick-prev {	left: 5vw; }
.slick-next {	right: 5vw; }
/*
.slick-prev:before, 
.slick-next:before {
	font-size: 6vw;
	opacity: .5;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: .8;
}
*/
.slick-prev:before, 
.slick-next:before {
	font-size: 0;
	opacity: 0;
	content: '';
}
.slick-prev,
.slick-next {
	background-image: url(../../upload/prj1/layout/arrL.png);
	background-repeat: no-repeat;
	background-size: contain;
	opacity: .65;
}
.slick-next {
	background-image: url(../../upload/prj1/layout/arrR.png);
}
.slick-prev:hover,
.slick-next:hover {
	opacity: .85;
}


/* ===== REFERENZEN ============================================================================================ */

.section.ref {
	margin-bottom: 4vw;
	position: relative;
}
.section.ref .galCut {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 63.44%;
	overflow: hidden;
}
.section.ref .galImg {
	position: absolute;
	width: 100%; height: 100%; top: 0; left: 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	transition: transform 0.6s ease;
}
.section.ref .galCut:hover .galImg {
/*	transform: scale(1.02); */
}
.section.ref .galCut > a {
	position: absolute;
	top: 0; left: 0; width: 100%; height: 100%;
	opacity: 0;
}
.section.ref .galCut > a > img {
	width: 100%;
	height: 100%;
}
.section.ref.list {
	background-color: #575656;
	color: #fff;
}
.section.ref.list > div {
	padding: 4vw 10% 6vw 14%;
}
.section.ref.list ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.section.ref.list li {
	column-break-inside: avoid;
	-webkit-column-break-inside: avoid;
	position: relative;
}
.section.ref.list li:first-child {
/*	border-top: 1px solid #fff;
	padding-top: 0.5vw; */
}
.section.ref.list li:last-child hr {
/*	display: none; */
}
.section.ref.list h3 {
/*	color: #ffed00; */
}
.section.ref.list h4 {
	margin: 0;
	font-weight: normal;
	text-transform: uppercase;
	color: #ffed00;
}
.section.ref.list hr {
	border: 0;
	border-top: 1px solid #fff;
	height: 1px;
	margin: 0.5vw 0;
	column-break-inside: avoid;
	-webkit-column-break-inside: avoid;
}
.section.ref.list a {
	display: block;
	color: #fff;
	text-decoration: none;
}
.section.ref.list a h4:after {
	content: ' >';
}
.section.ref.list a:hover {
	text-decoration: none;
}
/*
.section.ref.list a:hover h4:after {
	content: ' >';
}
*/
.section.ref.list .multicol {
	column-count: 2;
	column-gap: 3vw;
	line-height: 1.35;
}
.projname {
display: none;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3.466vw;
	text-align: center;	
	line-height: 3.466vw;
	background-color: #ffed00;
	opacity: 0;
  -webkit-transition: all .8s ease-in-out;
  -moz-transition: all .8s ease-in-out;
  -o-transition: all .8s ease-in-out;
  -ms-transition: all .8s ease-in-out;
  transition: all .8s ease-in-out;
}
a.galDet {
	display: block;
	text-align: right;
	text-decoration: none;
	padding: 0.5vw 2vw 0 0;
}
a.galDet:hover {
/*	text-decoration: underline; */
}
.section.ref a:hover + .projname,
.section.ref .projname:hover {
	opacity: 1;
}

/* ===== REF DETAIL ============================================================================================ */

.section.refdet {
	margin-bottom: 2vw;
}
.section.refdet .col1 {
	position: relative;
	float: left;
	width: 49%;
}
.section.refdet .col2 {
	position: relative;
	float: right;
	width: 46%;
}
.section.refdet.header {
	background-repeat: no-repeat;
	background-size: cover;	
}
.section.refdet.header.L2,
.section.refdet.header.L3 {
	display: none;
}
.section.refdet.header .col1 > div,
.section.refdet.header .col2 > div {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 130%;
}
.section.refdet.header .col2 > div > img {
	position: absolute;
	width: 100%; height: 100%; top: 0; left: 0;
	opacity: 0;
}
.section.refdet .img,
.section.refdet .col2.next > div {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 67.44%;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center top;
}
.section.refdet .img > img {
	position: absolute;
	width: 100%; height: 100%; top: 0; left: 0;
	opacity: 0;	
}
.section.refdet .col1 .img {
	margin-bottom: 2vw;
}
.section.refdet .col1 .img:last-child {
	margin-bottom: 0;
}
.section.refdet.cont .col2 > div,
.section.refdet.cont .col2.L2 > div {
	position: relative;
	width: 100%;
/*	height: 0;
	padding-bottom: 139%; */
}
.section.refdet.cont .col2.L3 > div {
	padding-bottom: 210.5%;
}
.section.refdet .col2.vcenter > div > div {
/*	position: absolute;
	top: 0; left:0; right: 0; bottom: 0;
	display: flex;
  align-items: start;
  justify-content: flex-start; */
}
.section.refdet .col2.hright > div > div {
	justify-content: flex-end;
}
.section.refdet .col2.next {
	color: #fff;
	background-color: #575656;
}
.section.refdet .col2.next a {
	display: block;
	color: #fff;
	text-decoration: none;
}
.section.refdet .col2.next a:hover {
	text-decoration: underline;
}
.section.refdet.cont .col2 .pad {
/*  width: 58%;
	padding: 0 28% 0 14%; */
}
.section.refdet.cont .col2 .pad h3 {
	line-height: 1.3;
}
.section.refdet .col2.next .pad {
	text-align: right;
	line-height: 4;
	padding-right: 6vw;
}

/* ============================================================================================================= */
input.hidden {
	display: none;
	float: right;
}
label.tab {
	float: right;
}
label.tab:hover {
	text-decoration: underline;
	cursor: pointer;
}
label.tab.less {
	margin-top: 1vw;
}
.tab-cont {
  width: 100%;
  height: 100%;
  max-height: 0;
  opacity: 0;
  overflow: hidden;	
  -webkit-transition: all .8s ease-in-out;
  -moz-transition: all .8s ease-in-out;
  -o-transition: all .8s ease-in-out;
  -ms-transition: all .8s ease-in-out;
  transition: all .8s ease-in-out;
}
#chk01:checked ~ label.tab.chk01,
#chk02:checked ~ label.tab.chk02,
#chk03:checked ~ label.tab.chk03,
#chk04:checked ~ label.tab.chk04,
#chk05:checked ~ label.tab.chk05,
#chk06:checked ~ label.tab.chk06,
#chk07:checked ~ label.tab.chk07,
#chk08:checked ~ label.tab.chk08,
#chk09:checked ~ label.tab.chk09,
#chk10:checked ~ label.tab.chk10
{
/*	display: none; */
	visibility: hidden;
}
#chk01:checked ~ .tab-cont.chk01,
#chk02:checked ~ .tab-cont.chk02,
#chk03:checked ~ .tab-cont.chk03,
#chk04:checked ~ .tab-cont.chk04,
#chk05:checked ~ .tab-cont.chk05,
#chk06:checked ~ .tab-cont.chk06,
#chk07:checked ~ .tab-cont.chk07,
#chk08:checked ~ .tab-cont.chk08,
#chk09:checked ~ .tab-cont.chk09,
#chk10:checked ~ .tab-cont.chk10
{
  max-height: 1000px;
  opacity: 1;
  -webkit-transition: all .8s ease-in-out;
  -moz-transition: all .8s ease-in-out;
  -o-transition: all .8s ease-in-out;
  -ms-transition: all .8s ease-in-out;
  transition: all .8s ease-in-out;
}




/*==============================================================================================*/

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after {
    clear: both;
}
.clearfix {
    *zoom: 1;
}




/*==============================================================================================*/

@media only screen and (max-width: 639px) {
	body, h1 {
		font-size: 4vw;
		line-height: 1.4;
	}	
	.wrapper {
	  width: 95%;
	}
	header {
		height: 90px;
	}
	header.scrolled {
		height: 90px;
	}
	.header {
		height: 90px;
	}
	.header.scrolled {
		height: 90px;
	}
	header > .wrapper {
		background-image: none;
		width: 100%;
	}
	header.scrolled > .wrapper {
    width: 100%;
	}
	img#logo {
		height: 71%;
		bottom: 0%;
		left: 6vw;
		border-right: 0;
		border-bottom: 14px solid #fff;
	}
	img#logo.scrolled {
		height: 71%;
		bottom: 0%;
		border-bottom: 14px solid #fff;
	}
	.responsive_menu_container .toggle_menu_label {
    margin-bottom: 30px;
    margin-right: 6vw;
	}
	.toggle_menu:checked + .responsive_menu {
    top: 74px;
	}
	.responsive_menu > li,
	.responsive_menu > li:first-child,
	.responsive_menu > li:last-child {
    margin-left: 6vw;
	}
	#social {
		display: none;
	}
	.social-footer {
		display: block;
		float: right;
		padding-top: 20px;
	}
	img.fb {
    margin-left: 20px;
    width: 20px;
    border: 2px solid #fff;
	}
	img.insta {
    margin-left: 10px;
    width: 20px;
    border: 2px solid #fff;
	}
	nav#nav {
		font-size: 16px;
	}
	.stage {
	  width: 95%;
	}
	.stage.base {
    margin-top: 20px;
    margin-bottom: 8vw;
    padding-bottom: 50%;
	}
	.stage.video {
    margin-top: 3.5vw;
    margin-bottom: 3.5vw;
	}
	.stage.home {
    margin-top: 20px;
    margin-bottom: 8vw;
    padding-bottom: 40%;
	}
	.content.headline {
    margin-bottom: 3.5vw;
	}
	.content.headline h2,
	.blockHeadline {
    font-size: 4vw;
    line-height: 1.4;
	}
	.content.headline .pad {
		padding: 3vw 2vw 2vw 2vw;
	}	
	.pageHeadline {
		font-size: 4vw;
		padding: 2vw 0 1vw 3.2vw;
	}
	.mob-txt-center {
		text-align: center;
	}
	.map {
	  margin-bottom: 6vw;
    padding-bottom: 70%;
	}
	footer {
		margin-bottom: 5vw;
	}
	.lpan {
		width: 60%;
	}
	.rpan {
		width: 39%;
	}
	.lpan .pad {
		padding: 4vw 5vw;
	}
	.rpan .pad {
		padding: 4vw 5vw;
	}
	footer .rpan .pad {
		padding: 4vw 5vw 0 0;
	}
	.mobile,
	img.mobile {
		display: block;
	}
	.desktop,
	img.desktop {
		display: none;
	}	
	.imprint {
		margin-left: 4vw;
	}	
	.itemcol {
    width: 100%;
    margin-bottom: 15vw;
	}
	.itemcol:last-child {
    margin-bottom: 0;
	}
	.itemcol .head {
    padding-bottom: 10vw;
	}
	.itemcol .head > div > div{
		padding: 1.4vw 0 0 0;
    font-size: 5vw;
	}
	.itemcol .image {
    padding-bottom: 100%;
	}
	.itemcol .text {
    margin-top: 5vw;
	}
	.itemcol .text > div > div, 
	.itemcol .link > div > div {
    padding: 0 3vw;
	}
	.stage.video2 {
    position: relative;
    margin-top: 3.5vw;
    margin-bottom: 6vw;
    height: 0;
    padding-bottom: 40%;
	}
	.content.flex {
    display: block;
	}
	.content {
    padding-bottom: 3.5vw;
	}
	.content.images {
		padding-bottom: 3.5vw;
	}
	.content.itemcols {
    padding-bottom: 0;
	}
	.content .col1,
	.content .col2 {
    width: 100%;
	}
	.content .col1 {
		margin-bottom: 8vw;	
	}
	.content.ln .col1,
	.content.ln .col2 {
		width: 100%;
	}
	.content.contact .col1,
	.content.contact .col2 {
    width: 100%;
	}
	.content.contact .col1 > .pad {
		float: none;
		padding-bottom: 8vw;
	}
	.content.referenzen {
    padding-top: 3.5vw;
    padding-bottom: 3.5vw;
	}
	.content .col1 .pad,
	.content .col2 .pad {
    padding-left: 3vw;
    padding-right: 3vw;
	}
	.mob-img-square {
		height: 0;
    padding-bottom: 100%;
	}
	img.qrcode {
    float: none;
    margin-left: 3vw;
    margin-bottom: 2vw;
	}
	#FancyGallery {
    padding-top: 0;
	}
	#FancyGallery a {
    width: 31%;
    padding-bottom: 31%;
    margin-right: 2.3%;
    margin-bottom: 2.3%;
	}
	.emailform {
    padding: 10vw 3vw 0 4vw;
	}
	.emailform .col1,
	.emailform .col2 {
    float: none;
    width: 100% !important;
	}
	.emailform .col1 {
		padding-top: 4vw;
	}
	.txtrow > div {
    width: 100%;
	}
	.prodmenu {
    padding-bottom: 8vw;
	}
	.prodmenu > a,
	.prodmenu > h2 {
		width: 49%;
    margin-bottom: 1.5vw;
		padding: 2vw 3vw 1.5vw 3vw;
    font-size: 4vw;
    line-height: 1;
    text-align: center;
	}
	.prodgrid {
    width: 100%;
	}
	.proditem {
    float: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: 8vw;
	}
	.section.refdet .col1
	.section.refdet .col2 {
    float: none;
	}
	.section.refdet .col2 {
    padding-bottom: 6vw;
	}
	.section.refdet .col1 .prodnav {
		display: block;
	}
	.section.refdet .col2 .prodnav {
		display: none;
	}
}

@media only screen and (min-width: 640px) and (max-width: 1023px) {
	.wrapper {
	  width: 95%;
	}
	header {
		height: 80px;
	}
	header.scrolled {
		height: 80px;
	}
	.header {
		height: 80px;
	}
	.header.scrolled {
		height: 80px;
	}
	header > .wrapper {
		background-image: none;
	}
	img#logo,
	img#logo2 {
		height: 82%;
		bottom: 0%;
		border-right: 0;
		border-bottom: 14px solid #fff;
	}
	img#logo2 {
		display: none;
	}
	img#logo.scrolled {
		height: 82%;
		bottom: 0%;
		border-bottom: 14px solid #fff;
	}
	#social {
		right: 25%;
    left: 40%;
    width: auto;
    top: 28px;
	}
	header.scrolled #social {
		right: 25%;
    left: 40%;
    width: auto;
		top: 28px;
	}
	a.phone {
    line-height: 20px;
    font-size: 16px;	
  }
	img.insta {
		margin-left: 0;
		width: 20px;
	}
	img.fb {
		margin-left: 20px;
		width: 20px;
	}
	header.scrolled img.insta {
		margin-left: 0;
		width: 20px;
	}
	header.scrolled img.fb {
		width: 20px;
	}
	nav#nav {
		font-size: 16px;
	}
	.stage {
	  width: 95%;
	}
	.stage.home {
    margin-top: 20px;
	}
	.content.product.flex {
    display: block;
	}
	.content.referenzen, 
	.content.downloads, 
	.content.product {
		padding-top: 0;
	}
	.content.product .col1,
	.content.product .col2 {
    width: 100%;
	}
	.prodmenu > a, 
	.prodmenu > h2 {
    width: 24%;
    margin-bottom: 5vw;
    text-align: center;
    padding: 2px 16px 2px 16px;
    font-size: 2.5vw;
	}
	.proditem {
    width: 45%;
    margin-right: 4.5%;
    margin-bottom: 4.5vw;
	}
	.prodnav {
    padding-top: 2vw;
	}
	.content.product .col1 {
		padding-top: 5vw;
	}
}

@media only screen and (min-width: 1024px) and (max-width: 1279px) {
	.responsive_menu li.parent a, 
	.responsive_menu li > label.parent {
    padding: 5px 10px 5px 10px;
	}
	.responsive_menu > li:first-child {
    margin-left: 10px;
	}
	.responsive_menu > li:last-child {
    margin-right: 10px;
	}
	ul.responsive_menu > li.parent > ul > li > a, 
	ul.responsive_menu > li.parent > ul > li.active > a.active {
    padding: 5px 10px 5px 10px;
	}
	ul.responsive_menu > li.parent > ul > li:first-child > a, 
	ul.responsive_menu > li.parent > ul > li.active:first-child > a.active {
    padding: 12px 10px 5px 10px;
	}
	ul.responsive_menu > li.parent > ul > li:last-child > a, 
	ul.responsive_menu > li.parent > ul > li.active:last-child > a.active {
    padding: 6px 10px 8px 10px;
	}
	.responsive_menu ul {
    min-width: 104px;
	}
	.proditem {
    width: 44%;
    margin-right: 4.5%;
    margin-bottom: 3vw;
	}
	.section.refdet .col1,
	.section.refdet .col2 {
    float: none;
    width: 100%;
	}
	.prodnav {
    padding-top: 0;
	}
	.section.refdet .col1 {
    padding-top: 40px;
	}
}

@media only screen and (min-width: 640px) and (max-width: 1279px) {
	.emailform .col1,
	.emailform .col2 {
    float: none;
    width: 100% !important;
	}
	.emailform .col1 {
		padding-top: 3vw;
	}
	.emailform .col2 {
		padding-top: 1vw;
	}
	.content.contact .col1 > .pad {
		float: none;
		padding-bottom: 3vw;
	}
	.content.headline {
    margin-bottom: 3.5vw;		
	}
	.content,
	.content.images {
    padding-bottom: 3.5vw;
	}
	.stage.video {
    margin-top: 3.5vw;
    margin-bottom: 3.5vw;
	}
	img.qrcode {
		float: none;
	}
}

@media only screen and (min-width: 1024px) and (max-width: 1649px) {
}

@media only screen and (min-width: 1650px) {
}
