/* [0] reset all styles from default browser preferences */
html, body, div, span, h1, h2, h3, h4, h5, h6, p, em, img, small, strong {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
}

/* [1] webfont-embedding*/
@font-face {
    font-family: 'RobotoLight';
    src: url('../fonts/Roboto-Light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'RobotoLightItalic';
    src: url('../fonts/Roboto-LightItalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'RobotoMedium';
    src: url('../fonts/Roboto-Medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'RobotoMediumItalic';
    src: url('../fonts/Roboto-MediumItalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* html */
html{
	overflow-y: scroll;
}

/* body */
body {
	display:block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding:0;
	background: rgba(255,255,255,1);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

/* text declarations */
p{
	font-family: 'RobotoLight', sans-serif;
	font-size: 1em;
}
i{
	font-family: 'RobotoLightItalic', sans-serif;
	font-size: 1em;
}
strong, h1{
	font-family: 'RobotoMedium', sans-serif;
	font-size: 1em;
}
h2{
	font-family: 'RobotoMedium', sans-serif;
	font-size: 1em;
}
a{
	color:rgb(0,0,0);
	text-decoration:none;
}
.fullwidth>p, .fullwidth>div>p, .project-text>p{
	margin-bottom:1em;
}
.clearall{
	clear: both;
}

/* header */
header{
	position:relative;
	display:inline-block;
	width:150px;
	height:75px;
	margin: 35px 0px 0px 35px;
	float:left;
}
#logo{
	position:relative;
	display:inline-block;
	width:100%;
	height:100%;
}
#logo img{
	width:100%;
	height:auto;
}

/* navigation */
nav{
	position:relative;
	display:inline-block;
	height:80px;
	margin-left:35px;
	margin-top: 35px;
	text-align: center;
}
nav a{
	font-family: 'RobotoLight', sans-serif;
	font-size: 1em;
	float:left;
	margin-right:1em;
	color:rgb(0,0,0);
	text-decoration:none;
}
nav a.active{
	font-family: 'RobotoMedium', sans-serif;
}
nav:after{
	float:none;
}
#subnav{
	position:relative;
	display:inline-block;
	margin-top:7px;
	text-align: center;
}
#navnav{
	position:relative;
	display:inline-block;
	height:40px;
	width:40px;
	margin: 35px 0px 0px 35px;
}

/* footer */
footer{
	position:relative;
	display:inline-block;
	width:95%;
	margin-left:2.5%;
	margin-right:2.5%;
	margin-top: 25px;
	text-align: end;
}
footer a{
	font-family: 'RobotoLight', sans-serif;
	font-size: 0.75em;
	margin-left:1em;
	color:rgb(0,0,0);
	text-decoration:none;
}
footer a.active{
	font-family: 'RobotoMedium', sans-serif;
}

/* content */
#content{
	position:relative;
	display:block;
	width:100%;
}
#content-project{
	position:relative;
	display:block;
	padding-left:35px;
	padding-right:35px;
}

/* boxes */
.square{
	float: left;
	width: 100%;
	height: auto;
	margin-bottom: 30px;
	text-decoration: none;
}
.square-index{
	float: left;
	width: 100%;
	height: auto;
	margin-bottom: 50px;
	text-decoration: none;
}
.square-team{
	float: left;
	width: 100%;
	height: auto;
	margin-bottom: 50px;
	text-decoration: none;
}
.square div{
	position:absolute;
	display:inline-block;
	width:100%;
	height:100%;
}
.square-index div{
	position:absolute;
	display:inline-block;
	width:100%;
	height:100%;
}
.square-team div{
	position:absolute;
	display:inline-block;
	width:100%;
	height:100%;
}
.square>.headline, .square-index>.headline{
	margin-bottom:-30px;
}
.square-team>.headline-team{
/*	margin-bottom:-70px;*/
}
img.contain { 
	width: 100%; 
	height:100%; 
	object-fit: contain;
}
.desaturate {
    filter: none;
}
a.square, a.square-index, a.square-team{
	color:rgb(0,0,0);		
	-webkit-transition: color 0.5s ease-in-out;
	-moz-transition: color 0.5s ease-in-out;
	transition: color 0.5s ease-in-out;
}

/* images */
.fullwidth{
	position: relative;
	display: inline-block;
	width:95%;
	height:auto;
	margin-left:2.5%;
	margin-right:2.5%;
}

.fullwidth-inline{
	position: relative;
	width: 100%;
	height: auto;
	margin:0;
}
.threecolumnwidth{
	position: relative;
	display: inline-block;
	width:33%;
	height:auto;
	margin-right:1px;
	float:left;
}
.profil-item{
	position: relative;
	display: inline-block;
	width:28%;
	margin: 2%;
	float:left;
}
.profil-item::before {
  content: "";
  width: 1px;
  margin-left: -1px;
  float: left;
  height: 0;
  padding-top: 62.5%; /* 8:5 Aspect Ratio */
}
.profil-item::after { /* to clear float */
  content: "";
  display: table;
  clear: both;
}
.profil-item>div{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* projektseite */
.content-left{
	position:relative;
	display:inline-block;
	width:23%;
	margin-left:2%;
	float:left;
}
.content-right{
	position:relative;
	display:inline-block;
	width:75%;
	float:left;
}
#slideshow{
	position:relative;
	display:block;
	width:100%;
	height: 0;
	padding-top: 50%;
	margin-left:0px;
	overflow:hidden;
}
.clearboth{
	clear:both;
}
#project-items{
	position:absolute;
	display:block;
	width:auto;
	height:100%;
	top:0px;
	float:left;
}
.project-item{
	position:relative;
	display:inline-block;
	height:100%;
	min-width:10%;
	float:left;
	margin:0px;
	padding:0px;
	overflow: hidden;
}
.project-item img{
	width: 100%; 
	height:100%; 
	object-fit: contain;
	object-position: center 0; 
}
img.project-icon{
	position:relative;
	display:inline-block;
	width:15%;
	height:auto;
	margin-bottom:1em;
}
#headline-nav{
	position: relative;
	display:inline-block;
	height:30px;
	margin-top:10px;
	margin-bottom:15px;
}
#project-headline{
	position:relative;
	display:block;
	height:30px;
	float:left;
}
#slideshow-nav{
	position:relative;
	display:block;
	height:30px;
	margin-left:50px;
	float:left;
}
.bubble{
	position:relative;
	display:none;
	float:left;
	cursor:pointer;
	margin-right:15px;
}
.bubble-active{
}
.circleicon{
	width:8px;
	height:8px;
	border: solid 1px rgb(0,0,0);
	-moz-border-radius: 5px;
	border-radius: 5px;
	margin-top:5px;
}
.bubble-active>.circleicon{
	color:rgb(0,0,0);
	background-color:rgb(0,0,0);
}
.texticon {
  color: #000;
  position: absolute;
  margin-left: 0px;
  margin-top: 5px;
  width: 15px;
  height: 5px;
  border-top: solid 1px #000;
  border-bottom: solid 1px #000;
}
.texticon:before {
	content: '';
	position: absolute;
	top: 2px;
	left: 0;
	width: 10px;
	height: 5px;
	border-top: solid 1px #000;
	border-bottom: solid 1px #000;
}
.bubble-active>.texticon, .bubble-active>.texticon:before{
	color:rgb(0,0,0);
	background-color:rgb(0,0,0);
}
#imagenav-inside{
	position: absolute;
	top:0px;
	width:100%;
	height:100%;
	z-index:99;
}
.imagenav{
	background:none;
	border:none;
}
#imagenav-inside>.left{
	position:absolute;
	width: 50%;
	left: 0;
	height:100%;
	cursor: url('../images/arrow-left.png'),url('../images/arrow-left.cur'), default;
}
#imagenav-inside>.right{
	position:absolute;
	width: 50%;
	right: 0;
	height:100%;
	cursor: url('../images/arrow-right.png'),url('../images/arrow-right.cur'), default;
}

/* werkverzeichnis */
#table-head{
	font-family: 'RobotoMedium', sans-serif;
	font-size: 1em;
	height:1em;
	margin-bottom:1em;
}
.table-row{
	font-family: 'RobotoLight', sans-serif;
	font-size: 1em;
	min-height:1.2em;
	margin-bottom:0.75em;
}
.column-1{
	width:33%;
	float:left;	
}
.column-2{
	width:5%;
	float:left;
}
.column-3{
	width:15%;
	float:left;
}
.column-4{
	width:15%;
	float:left;
}
.column-5{
	width:22%;
	float:left;
}

/* Media Queries */
/* :hover-effects only on non-touch devices */
@media not all and (pointer: coarse) {
	a:hover{
		color:rgb(120,120,120);
	}
	nav a:hover{
		color:rgb(120,120,120);
	}
	footer a:hover{
		color:rgb(120,120,120);
	}
	a.square, a.square-index{
		color:rgb(255,255,255);	
		-webkit-transition: color 0.5s ease-in-out;
		-moz-transition: color 0.5s ease-in-out;
		transition: color 0.5s ease-in-out;
	}
	a.square-team{
		color:rgb(0,0,0);
	}
	a.square:hover, a.square-index:hover, a.square-team:hover{
		color:rgb(0,0,0);
	}
}

/* Column Control Media Queries */

@media screen and (min-width:300px) {
	body {	
		max-width: 1600px;
		width:100%;
		margin: 0 auto;
		box-sizing: border-box;
		padding: 10px;
		overflow: hidden;
	}
	a div.headline {
		display: inline-block;
/*		background-color: rgba(255,255,255,1);*/
		text-align:center;
		height:25px;
		bottom:0px;
	}
	a div.headline-team {
		display: inline-block;
/*		background-color: rgba(255,255,255,1);*/
		text-align:center;
		height:66px;
		bottom:-70px;
	}
	.square{
		position: relative;
		top: 0;
	}
	.square-index{
		position: relative;
		top: 0;
	}
	.square-team{
		position: relative;
		top: 0;
	}
	.threecolumnwidth{
		width:100%;
		height:auto;
		margin-right:0;
		margin-top:10px;
		float:none;
	}
	.profil-item{
		position: relative;
		display: inline-block;
		width:100%;
		height:auto;
		margin: 0;
		float:none;
		margin-bottom:25px;
	}
	.profil-text p{
		font-size: 1em;
	}
	.profil-item::before, .profil-item::after {
		clear:inherit;
	}
}
/* one column */
@media screen and (min-width:300px) {
	.square, .square-team{
		width: 100%;
		margin: 0 5% 70px 0;
		padding-bottom: 90%;
	}
	.square-team{
		margin-bottom: 110px;
	}
	#content-project{
		padding-left:15px;
		padding-right:15px;
	}
	img.project-icon{
		width:33%;
	}
	#slideshow{
		padding-top:50%;
	}
	.table-row{
		margin-bottom:25px;
	}
	.column-1, .column-2, .column-3, .column-4, .column-5{
		position:relative;
		display:inline-block;
		font-size:0.5em;
	}
	.column-1{
		width:33%;
		float:left;
	} 
	.column-2{
		width:9%;
		float:left;
	}
	.column-3{
		width:17%;
		float:left;
	}
	.column-4{
		width:13%;
		float:left;
	}
	.column-5{
		width:28%;
		float:left;
	}
}
/* Two Column */
@media screen and (min-width:500px) {
	.square, .square-team {
		width: 45%;
		margin: 0 5% 60px 0;
		padding-bottom: 45%;
	}
	.square-team{
		margin-bottom:100px;
	}
	#slideshow{
		padding-top:50%;
	}
	.column-1, .column-2, .column-3, .column-4, .column-5{
		position:relative;
		display:inline-block;
		font-size:0.75em;
	} 
	.column-2{
		width:6%;
		float:left;
	}
	.column-5{
		width:31%;
		float:left;
	}
}

@media only screen and (min-width: 569px) and (max-width: 750px){
}

/* Three Column */
@media screen and (min-width:800px) {
	.square, .square-team {
		width: 30%;
		margin: 1.5% 1.5% 6.5% 1.5%;
		padding-bottom: 28%;
	}
	.square-team{
		margin-bottom: 70px;
	}
	#slideshow{
		padding-top:50%;
	}
	.threecolumnwidth{
		width:48%;
		height:auto;
		margin-right:1%;
		float:left;
	}
	.profil-item{
		position: relative;
		display: inline-block;
		width:45%;
		height:auto;
		margin: 2%;
		float:left;
	}
	div.table-row{
		margin-bottom:25px;
		min-height:2.5em;
	}
	.column-1, .column-2, .column-3, .column-4, .column-5{
		position:relative;
		display:inline-block;
		font-size:0.8em;
	} 
	.project-text{
		font-size:0.8em;
	}
	#content-project{
		padding-left:35px;
		padding-right:35px;
	}
	img.project-icon{
		width:15%;
	}
	.column-1{
		width:37%;
		float:left;
	} 
	.column-2{
		width:7%;
		float:left;
	}
	.column-3{
		width:17%;
		float:left;
	}
	.column-4{
		width:18%;
		float:left;
	}
	.column-5{
		width:21%;
		float:left;
	}
}

@media screen and (min-width:1024px) {
	.square, .square-team {
		width: 15%;
		margin: 2.5% 2.5% 3% 2.5%;
		padding-bottom: 15%;
		margin-bottom:70px;
	}
	.profil-item{
		position: relative;
		display: inline-block;
		width:28%;
		margin: 2%;
		float:left;
	}
	.profil-text p{
		font-size: 0.8em;
	}
	div.table-row{
		font-size:1em;
		margin-bottom:5px;
		min-height:2.5em;
	}
	.column-1, .column-2, .column-3, .column-4, .column-5{
		position:relative;
		display:inline-block;
		font-size:1em;
	} 
	.project-text{
		font-size:1em;
	}
}
	
/* Five Columns */
@media screen and (min-width:1200px) {
	.square, .square-team {
		width: 15%;
		margin: 2.5% 2.5% 3% 2.5%;
		padding-bottom: 15%;
	}
	.square-team{
		margin-bottom: 70px;
	}
	#slideshow{
		padding-top:45%;
	}
	.threecolumnwidth{
		width:32%;
		height:auto;
		margin-right:2%;
		float:left;
	}
	.profil-item{
		position: relative;
		display: inline-block;
		width:28%;
		margin: 2%;
		float:left;
	}
	.profil-text p{
		font-size: 1em;
	}
	div.table-row{
		font-size:1em;
		margin-bottom:5px;
		min-height:1.2em;
	}
	.column-1, .column-2, .column-3, .column-4, .column-5{
		position:relative;
		display:inline-block;
		font-size:1em;
	} 
	.project-text{
		font-size:1em;
	}
}

/* Startpage*/
/* One Column */
@media screen and (min-width:300px) {
	.square-index{
		width: 100%;
		margin: 0 5% 50px 0;
		padding-bottom: 90%;
	}
}
@media screen and (min-width:500px) {
	.square-index{
		width: 100%;
		margin: 5px 5px 50px 0px;
		padding-bottom: 90%;
	}
}
/* Three Column */
@media screen and (min-width:800px) {
	.square-index {
		width: 30%;
		margin: 1.5% 1.5% 6.5% 1.5%;
		padding-bottom: 29%;
	}
}
@media screen and (min-width:1200px) {
	.square-index{
		width: 30%;
		margin: 1.5% 1.5% 6.5% 1.5%;
		padding-bottom: 29%;
	}
}



