body { 							height: 100%; text-align: center; font-family: 'Helvetica', 'Roboto', sans-serif; font-size: 13px; margin: 0; border: 0; 
								color: #000000; background-color: #ffffff; line-height: 21px; opacity: 0; }
body.sticky {					padding-top: 100px; }

/* allgemeine Struktur */
a,
a:visited { 					color: #aa1418; text-decoration: none; }
a:hover { 						text-decoration: underline; }

.positioner {					text-align: left; overflow: hidden; display: inline-block; width: 100%; }

/* Header & Navi */
header .positioner {			text-align: center; }
header {						padding: 0; z-index: 1000000; background-color: #ffffff; width: 100%; }
header .showmen {				font-size: 18px; cursor: pointer; margin: 10px 0 10px 0; }
.sticky header {				position: fixed; top: -44px; position: fixed; box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.62); }
header .logo {					vertical-align: bottom; width: 80%; margin: 15px 0; }
header a:hover {				text-decoration: none; }


nav {							display: inline-block; padding: 0 0 7px 0; font-size: 14px; font-weight: bold; margin: 0; line-height: 20px; }
select.navigator {				height: 40px; font-size: 20px; display: block; padding: 0 15px; margin: 4px 0 0 0; }
select.navigator {				height: 40px; font-size: 20px; display: block; padding: 0 15px; margin: 4px 0 0 0; }
select.navigator option {		height: 40px; border-top: 1px solid grey; line-height: 40px; }
/*
nav a,
nav .separator {				display: none; }
*/
nav {							display: none; }
nav a,
nav a:visited {					color: #000000; font-size: 17px; line-height: 25px; }
nav a:hover,
nav a.active {					color: #aa1418; text-decoration: none; }
nav .separator {				margin: 0 5px; color: #aaaaaa; }

nav a.energy {					color: #ab1519; }
nav a.energy:hover {			color: #000000; }

.horizontal-nav {				margin: 67px 0 73px 0; }
.horizontal-nav a:visited,
.horizontal-nav a {				font-size: 16px; font-weight: bold; color: #000000; }
.horizontal-nav a:hover,
.horizontal-nav a.active {		color: #ab1518; text-decoration: none; }
.horizontal-nav .separator {	margin: 0 24px; color: #aaaaaa; }

.toggle-box {					text-align: left; overflow: hidden; display: inline-block; width: 94%; margin: 0 12px; }
.toggle-head {					border: 1px solid #9c9e9f; border-radius: 4px; position: relative; cursor: pointer; }
.toggle-head:hover {			border: 1px solid #000000; }
.toggle-head h3 {				font-weight: normal; font-size: 14px; line-height: 43px; margin: 0 38px 0 18px; }
.toggle-head:after {			content: ">"; position: absolute; right: 20px ; top: 0; line-height: 43px; color: #aa1418; font-weight: bold; }
.toggle-head:hover:after {		content: "v"; }
.open .toggle-head:hover:after {content: ">"; }
.open .toggle-head:after {		content: "v"; }

.toggle-content {				display: none; }
.open .toggle-content {			display: block; }
.toggle-content h1,
.toggle-content h2,
.toggle-content h3,
.toggle-content h4 {			font-size: 13px; margin: 15px 18px 15px 18px; }
.toggle-content p {				font-size: 13px; margin: 15px 18px 15px 18px; }

.columns {						width: 94%; margin: 0 3%; }
.columns .column {				width: 100%; float: left; text-align: left; }
.columns .column.third {		width: 100%; }
.columns .column.twothird {		width: 100%; }
.column:first-child .column-chapter { margin: 0 10px; }
.column:first-child .column-chapter img { max-width: 100%; }
.column:last-child .column-chapter { margin: 0 10px; }
.column-chapter h3 {			font-size: 20px; margin: 60px 0 18px 0; font-weight: bold; }
.column-chapter:first-child h3 {margin: 0 0 18px 0; }
.column-chapter h3:after {		content: "_____________"; display: block; margin: 0; color: #aa1418; font-size: 15px; }
.column-chapter h4 {			font-size: 20px!important; margin: 60px 0 18px 0; font-weight: bold!important; }
.column-chapter:first-child h4 {margin: 0 0 18px 0; }
.column-chapter h5 {			font-size: 13px!important; margin: 60px 0 18px 0; font-weight: bold!important; }
.column-chapter:first-child h5 {margin: 0 0 18px 0; }
.column-chapter p {				margin: 0 0 15px 0; }

div.profil-selection a,
div.profil-selection a:visited{ font-size: 17px; line-height: 25px; }

div.project-selection a,
div.project-selection a:visited{ font-size: 17px; line-height: 25px; }


select.profil-selection {		margin: 20px auto; }

.profil-item>h3 {				font-size: 20px!important; margin: 0 0 18px 19px; font-weight: bold!important; }
.profil-item {					text-align: center; }

.download-link:visited,
.download-link:hover,
.download-link {				font-weight: bold; color: #000000; text-decoration: none; }
.download {						border: 1px solid #9c9e9f; line-height: 16px; padding: 14px; border-radius: 4px; margin: 0 0 11px 0; }
.download:hover {				border: 1px solid #000000; }
.download img {					margin: 0 12px 0 0; }
.download .dl-info {			float: right; color: #9c9e9f; }
.download .dl-info img {		float: right; margin: 0 0 0 12px; }

.profildata .profil-item {		display: none; }
.profildata .profil-item.active{display: block; }

.team-member {					text-align: center; width: 98%; margin: 0 1%; float: left; cursor: pointer; position: relative; }
.team-member .img-container {	position: relative; line-height: 0; }
.team-member .info {			position: absolute; top: 0; left: 0; width: 100%; height: 100%; line-height: 21px; display: none; }
.team-member .info .bg {		background-color: #ab1519; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 7000; opacity: .8;
								border-left: 1px solid #ab1519; border-right: 1px solid #ab1519; }
.team-member .info .txt {		z-index: 7001; position: absolute; top: 0px; width: 100%; }
.team-member .info h3 {			font-size: 20px; font-weight: bold; color: #ffffff; margin: 30px 0 0 0; }
.team-member .info p {			color: #ffffff; }
.team-member .info a:visited,
.team-member .info a {			color: #ffffff; }
.team-member img{				border: 1px solid #d8d8da; width: 100%; }
.team-member .name {			color: #ab1519; font-size: 15px; font-weight: bold; line-height: 60px; }

.black .address {				color: #ffffff; }
.black .address .separator {	color: #aa1418; margin: 0 23px; }

.map {							text-align: left; overflow: hidden; display: inline-block; width: 94%; margin: 10px 0 25px 0; border-bottom: 1px solid #9c9e9f; }
.map iframe {					width: 100%; height: 400px; margin: 0 0 21px 0; }

#gallery {						overflow: hidden; position: relative; height: 724px; max-height: 724px; }
#gallery img {					position: absolute; top: 0; left: 0; width: 100%; opacity: 0; }

.section {						overflow: hidden; padding-bottom: 55px; }
.section h2 {					font-size: 30px; text-transform: lowercase; margin: 56px 20px 0 20px; font-weight: bold; color: #000000;
								line-height: initial; }
.section.black h2 {				color: #ffffff; }
.section h2:after {				content: "_____________"; display: block; margin: 0; color: #aa1418; font-size: 15px; }
.section h4 {					font-size: 16px; font-weight: normal; color: #000000; margin: 20px 20px 40px 20px; }
.section p.quote {				font-size: 14px; font-weight: bold; line-height: 24px; margin: 30px 20px; }
.section.white {				background: #ffffff; }
.section.black {				background: #000000; color: #ffffff; }

.news-container {				margin-top: 25px; overflow: hidden; }
.news-item {					background-color: #ffffff; margin: 0; float: left; padding: 0 0 30px 0; color: #000000; }
.news-item h3 {					font-size: 20px; font-weight: bold; margin: 25px 15px 0 15px; }
.news-item p {					margin: 15px 15px 0 15px; }
.news-item a.more:hover,
.news-item a.more:visited,
.news-item a.more {				display: inline-block; background-color: #9c9e9f; color: #ffffff; padding: 0 7px; line-height: 29px; border-radius: 3px; 
								text-transform: uppercase; margin: 15px 15px 0 15px; }
.news-item a.more:hover {		text-decoration: none; background-color: #777777; }
.news-item img {				width: 100%; }
.news-slider {					left: 0; position: relative; margin: 0 auto; }
.news-navi {					text-align: center; margin: 92px 0 61px 0; }
.news-navi .indicator {			background-color: #7f7f7f; width: 20px; height: 20px; display: inline-block; margin: 0 5px; cursor: pointer; }
.news-navi .indicator.act {		background-color: #aa1418; }

select.project-selection {		margin: 20px auto; }

.project {						float: left; line-height: 0; width: 100%; position: relative; }
.project img {					width: 100%; }
.project .info {				display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #000000; opacity: .7; }
.project .info-content {		display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: .9; overflow: hidden; }
.project .info-content h3 {		color: #ffffff; margin: 0; font-weight: bold; font-size: 20px; margin: 20% 10% 5% 10%; line-height: 25px; }
.project a.more:hover,
.project a.more:visited,
.project a.more {				display: inline-block; background-color: #9c9e9f; color: #ffffff; padding: 0 7px; line-height: 29px; border-radius: 3px; 
								text-transform: uppercase; margin: 0 10% 0 10%; }
.project a.more:hover {			text-decoration: none; background-color: #777777; }

.collage-bw {					width: 100%; }

#content .columns {				margin-top: 50px; }
#content .thumbnails {			margin-top: 30px; }
#content .thumbnails .thumbnail{width: 98%; margin: 0 1% 20px 1%; float: left; position: relative; }
#content .thumbnails img {		border: 1px solid #d8d8da; width: 100%; }

#content a.back:hover,
#content a.back:visited,
#content a.back {				display: inline-block; background-color: #ab1518; color: #ffffff; padding: 0 7px; line-height: 29px; border-radius: 3px; 
								text-transform: uppercase; margin: 15px 15px 0 37px; }
#content a.back.imprint {		margin: 15px 15px 0 57px; }
#content a.back:hover {			text-decoration: none; background-color: #851012; }

#content .header-img {			width: 98%; margin: 40px 1% 0 1%; }

#content .project-info {		margin-left: 140px; }


#energy .energy-b1 {			text-align: left; max-width: 33.33%; float: left; margin-top: 40px; }
#energy .energy-b1 h2 {			margin: 15px 0 0 11px; }
#energy .energy-b1 h3 {			margin: 25px 15px 0 11px; }
#energy .energy-b1 p {			margin: 25px 15px 0 11px; }

#energy .energy-b2 {			text-align: right; max-width: 66.66%; float: right; margin-top: 40px; }

#energy hr {					border-left: none; border-right: none; border-top: none; border-bottom: 1px solid #aa1418;
								margin: 30px 0px 30px 11px; }

#energy .third {				float: left; width: 33.33%; }
#energy .third h3 {				margin: 15px 0 0 11px; position: relative; padding: 0 0 0 60px; text-transform: uppercase; }
#energy .third h3 em {			color: #ab1519; font-style: normal; font-weight: normal; font-size: 40px; float: left; position: absolute; top: 0; 
								line-height: 45px; left: 0; }
#energy .third p {				margin: 15px 25px 10px 71px; }

#energy .zertifikat {			margin: 20px 0 0 70px; float: left; color: #888888; font-size: 10px; }
#energy .zertifikat div {		border-left: 2px solid #888888; padding: 0 0 0 50px; }
#energy .zertifikat img {		height: 70px; }

@media all and (max-width: 840px) {
	#energy .third {			float: none; width: 90%; margin: 0 5%; }
	#energy hr {				display: none; }
	#energy hr.first {			display: block; }
	
	#energy .energy-b1 {		max-width: 45%; margin-left: 5%; }
	#energy .energy-b2 {		max-width: 45%; margin-right: 5%; }
	#energy .energy-b2 img {	max-width: 100%; }
}

@media all and (max-width: 630px) {
	#energy .energy-b1 {		max-width: 61.66%; margin-left: 5%; }
	#energy .energy-b2 {		max-width: 28.33%; margin-right: 5%; }
}

@media all and (max-width: 550px) {
	#energy .energy-b1 {		max-width: 90%; margin-left: 5%; }
	#energy .energy-b2 {		display: none; }
}

.footerpics img {				max-width: 100%; }

.footer .separator {			display: none; }

							
							
/* Basics */
div.clean {						clear: both; }
br.clean {						clear: both; }
.left{							float: left; }
.right{							float: right; }
a img{							border: none; }
*:focus { 						outline: none; }
strong {						font-weight: bold; }
.italic {						font-style: italic; }
.nobr {							white-space: nowrap; }

/* clearfix */
.clearfix:after {				content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
.clearfix {						display: inline-block; }
html[xmlns] .clearfix {			display: block; }
* html .clearfix {				height: 1%; }

.abtablet {						display: none; }