
* {
	box-sizing: border-box;
	-webkit-text-size-adjust: none; /* iOS Schriftvergrößerung verhindern */ 
	/* hyphens *//*
   	-moz-hyphens: auto;
   	-o-hyphens: auto;
   	-webkit-hyphens: auto;
   	-ms-hyphens: auto;
   	hyphens: auto;
   	*/
}

body, html {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

body.mobile {
	min-height: 100vh;
	width: 100vw;
}

body {
	overflow-x: hidden;
	min-height: 100vh;
}

body.compensate-for-scrollbar {
	overflow: visible;
	overflow-x: hidden;
}

body.fancybox-active {
    /*height: 100%;*/
   height: 100vh;
}



.section.full {
	/*width: 100%;
	height: 100%;*/
	width: 100vw;
	height: 100vh;
}



.rotate {
  	-moz-transform: rotate(-179.9deg);
	-o-transform: rotate(-179.9deg);
	-webkit-transform: rotate(-179.9deg);
	-ms-transform: rotate(-179.9deg) !important;
	transform: rotate(-179.9deg);
	background-color: transparent;
	filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
	zoom: 1;
	z-index: 1;
}

h2 {
	font-weight: bold;
	line-height: 1.25;
	/*color: #303436;*/
}

header.h100p, header .hmax {
	/*height:100%;*/
	height:100vh;
	width: 100vw;
}
	
.vmiddle {
	display: -ms-flexbox; /* IE 10 */
	-ms-flex-direction: column; /* IE 10 */
	-ms-flex-pack: center; /* IE 10 */
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#los {
	font-size: 1rem;
	line-height: 1;
	height: 1rem;
	display: block;
}

header .bigfont h2, h1 {
	/*font-size:4em;*/
	/*font-size: 2.25em;*/
	font-size: 3.6rem;
	margin-bottom:4em;
	font-weight:bold;
}

h3 {
	font-size: 1rem;
	font-weight: normal;
}


/* ************************************* SLIDER ************************************* */

.slidebox {
	padding-top: 40px;
	padding-bottom: 40px;
	/*background-color: #324050;*/
	/*color: #fff;*/
}

.slidebox nav {
	/*width: 5%;
	display: inline-block;*/
}

.slidebox .vor,
.slidebox .zurueck {
	width: 100%;
	cursor: pointer;
	position: relative;
}

.slidebox .vor {
	text-align: left;
}
.slidebox .vor i {
	left: 5px;
}

.slidebox .zurueck {
	text-align: right;
}

.slidebox .zurueck i {
	right: 5px;
}

.slidebox .vor i,
.slidebox .zurueck i {
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
}


.slidebox .slidewrap {
	width: 100%;
	overflow: hidden;
	height: auto;
	display: inline-block;
}

.slidebox .slidewrap .slide {
	display: inline-block;
}


/* ******************* FADE *************** */

.slidebox.fade_ani .slider{
	position: relative;
}

.slidebox.fade_ani .slide {
	position: absolute;
	left: 0;
	top: 0;
	display: none;
}

.slidebox.fade_ani .slide.aktiv {
	display: inline-block;
} 

/* ******************* INFINITE *************** */

.slidebox.infinite_ani .slider{
	
}

.slidebox.infinite_ani .slide {
	
}

.slidebox.infinite_ani .slide.aktiv {
	
} 


/* ********************************** TEILEN ********************************** */

.smi ul, .smi ul li {
	padding: 0;
	margin: 0;
	list-style: none;
}

.smi ul {
	display: block;
	/*text-align: right;*/
}

.smi ul li {
	display: inline-block;
}

.smi ul li a {
	display: block;
	padding: 10px;
}

/* ********************************** PROJEKTKACHEKN ********************************** */


.projekt {
	/*display: inline-block;
	width: 33.333%;*/
	position: relative;
	margin-bottom: 0;
}

.projekt .img {
	width: 100%;
	height: auto;
}

/*.projekt:hover img {
	filter: brightness(50%);
}*/

.projekt .img img {
	width: 100%;
	height: auto;
	/*-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	transition: all .5s ease;*/
	display: inline-block;
}

.projekt .titel {
	position: absolute;
	/*top: 50%;*/
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/*height: auto;*/
	/*padding: 10px;*/
	background-color: rgba(48, 52, 54, 0); /*#303436;*/
	color: rgba(255,255,255,0);
	font-size: 1.5em;
	text-align: center;
	font-weight: bold;
	/*transform: translateY(-50%);*/
	/*opacity: 0;*/
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	transition: all .5s ease;
}

.projekt .titel span {
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	width: 100%;
	height: auto;
	transform: translateY(-50%);
}

.pc .projekt .titel:hover {
	background-color: rgba(48, 52, 54, .6); /*#303436;*/
	color: rgba(255,255,255,.8);
}

@media screen and (max-width: 768px) {
	a.projekt {
    	color: #000;
	}
	
	.projekt .titel {
    	background-color: rgba(48, 52, 54, .6);
    	color: rgba(255,255,255,.8);
    	font-size: 1.15em;
    }
    
    .projekt .titel br {
    	display: none;
    }
}


/* ************************************* Sprungmarker ************************************* */

.container.introContainer {
	position: relative;
}

.row.sprungpfeil {
	text-align: center;
	position: absolute;
	width: 100%;
	bottom: 5%;
	left: 0;
	font-size: .65em;
}

.mobile .row.sprungpfeil {
	bottom: 16%;
}

@media screen and (max-width:768px) {
	.row.sprungpfeil {
		font-size: 0.9rem;
	}
}


.row.sprungpfeil a:hover {
	color: inherit;
}


/* ************************************* Partner ************************************* */

.partner {
	width: 25%;
	display: inline-block;
	padding: 0 50px;
	overflow: hidden;
}

.partner > div {
	position: relative;
	overflow: hidden;
}

.container-fluid .textwrap.partners {
	margin: 0 -50px;
	padding-top: 35px;
}





@media screen and (max-width: 768px) {
	.partner {
		width: 50%;
	}
	
	.partners .partner:nth-child(odd) {
		padding-right: 25px;
	}
	.partners .partner:nth-child(even) {
		padding-left: 25px;
	}
}

.partner img {
	display: block;
	position: absolute;
	top: 0;
	left: 0
}

.partner img + img {
	/*top: 100%;*/
	top: 100vh;
}

.partner .ph img {
	position: static;
}

/*.plogos .small {
	font-size: .65em;
	line-height: 1.25;
	font-weight: bold;
}*/



/* ************************************* Blog ************************************* */


.newstexte {
	font-size: .65em;
	line-height: 1.25;
}

.pc .newsbox:hover .newsbild,
.pc .projekt:hover .img,
/*.pc figure.image:hover .img,*/
.pc .img.zoom:hover {
	background-size: 115% 115%;
}

.newsbox .newsbild,
.projekt .img,
figure.image .img,
.img.zoom {
	background-size: 100% 100%; 
	background-position: center; 
	transition: background-size .25s ease;
	background-repeat: no-repeat;
}

.container .newss .news,
.container-fluid .newss .news {
	margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
	.container .newss .news,
	.container-fluid .newss .news {
		margin-bottom: 10px;
	}
}

.kfilter a {
	/*font-size: .65em;*/
	color: #ccc;
	font-weight: 300;
} 

.kfilter .active a {
	color: #303436;
}

#projekte_wrap .projekt {
	margin-bottom: 0;
}


.footer_gap {
	/*height: 100%;*/
	height: 100vh;
}

/* ************************************* IPHONE ************************************* */

/* 
   Remove telephone style on iphones 
   https://stackoverflow.com/questions/3736807/how-do-i-remove-the-blue-styling-of-telephone-numbers-on-iphone-ios
*/
a[x-apple-data-detectors] {
	color: inherit !important;
	text-decoration: none !important;
	font-size: 1em !important;
	font-family: inherit !important;
	font-weight: 400 !important;
	line-height: inherit !important;
}

#footer a[href^=tel] {
	color: #fff !important;
}


/* ********************** FOCUS OUTLINE ********************* */

body:not(.user-is-tabbing) button:focus,
body:not(.user-is-tabbing) input:focus,
body:not(.user-is-tabbing) select:focus,
body:not(.user-is-tabbing) textarea:focus,
body:not(.user-is-tabbing) a:focus,
body:not(.user-is-tabbing) img:focus,
body:not(.user-is-tabbing) a img {
	outline: none;
}


/* ************************ Bild / Link / Text / Video 4-spalt ********************** */

.container-fluid.buttonback .row h2 {
    -moz-hyphens: auto;
    -o-hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

.container-fluid.buttonback .row h2 {
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    text-shadow: 0 0 2px #666;
    /*font-weight: 300;*/
    padding-left: 10px !important;
    padding-right: 20px !important;
    text-align: center !important;
    z-index: 200;
}

.buttonback .row a h2 {
    opacity: 1;
}

.pc .buttonback .row a:hover h2,
.pc .buttonback .row div div:hover h2 {
    opacity: 0;
}

.row a figure, .row div div figure, .buttonback .row a h2 {
    position: relative;
}

.buttonback .row a figure,
.buttonback .row div div figure  {
    z-index: 100;
}

figure {
    margin: 0;
}

.container-fluid figure img {
    width: 100%;
}

.container-fluid.buttonback .row > div {
    text-align: center;
}

.row a figure .moimg, 
.row div div figure .moimg,
.buttonback .row a h2 {
    -webkit-transition: opacity .3s ease-in;
    -moz-transition: opacity .3s ease-in;
    -o-transition: opacity .3s ease-in;
    -ms-transition: opacity .3s ease-in;
    transition: opacity .3s ease-in;
}

.row a figure .moimg,
.row div div figure .moimg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

.pc .row a:hover figure .moimg,
.pc .row div div:hover figure .moimg {
    opacity: .85;
}


.pc figure.image:hover .etext-wrap, 
.pc h2:hover + figure.image .etext-wrap {
    max-height: 100%;
    padding: 10px;
    opacity: 1;
}

figure.image .etext-wrap {
    padding: 10px;
    max-height: 0;
    transition: all 1s;
    overflow: hidden;
    opacity: 0;
}


.etext-wrap {
    position: absolute;
    bottom: 0;
    background-color: RGBA(255,255,255,.90);
    width: 100%;
}

.container-fluid.buttonback .row .fas, .ytlinkwrap .fas {
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 50%;
    color: #fff;
    z-index: 2000;
}





.projektnav {
	padding: 20px 0;
}




/* ************** KLICK-EFFECT ********** */
/*
a[href^="/"], a[href^="http"], a[href^=".."] {
	position: relative;
}

a[href^="/"]:before,
a[href^=".."]:before,
a[href^="http"]:before {
  content: '';
  background-color: #000;
  border-radius: 50%;
  display: block;
  width: 1px;
  height: 1px;
  position: absolute;
  top: 50%;
  right: 50%;
  /*bottom: 0;
  left: 0;*/
  -webkit-transform: scale(0.001, 0.001);
          transform: scale(0.001, 0.001);
}
a[href^="/"]:focus,
a[href^=".."]:focus,
a[href^="http"]:focus {
  outline: 0;
  color: #fff;
}

a[href^="/"]:focus:before,
a[href^=".."]:focus:before,
a[href^="http"]:focus:before {
  -webkit-animation: effect_dylan 1.5s ease-out;
          animation: effect_dylan 1.5s ease-out;
}
*/
@-webkit-keyframes effect_dylan {
  50% {
    -webkit-transform: scale(1000, 1000);
            transform: scale(1000, 1000);
    opacity: 0;
  }
  99% {
    -webkit-transform: scale(0.001, 0.001);
            transform: scale(0.001, 0.001);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(0.001, 0.001);
            transform: scale(0.001, 0.001);
    opacity: 1;
  }
}
@keyframes effect_dylan {
  50% {
    -webkit-transform: scale(1000, 1000);
            transform: scale(1000, 1000);
    opacity: 0;
  }
  99% {
    -webkit-transform: scale(0.001, 0.001);
            transform: scale(0.001, 0.001);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(0.001, 0.001);
            transform: scale(0.001, 0.001);
    opacity: 1;
  }
}
