@charset "utf-8";

/*********
Allgemein
*********/
* {
	font-family: Arial, sans-serif;
}

html {
	height: 100%;
}

/*********
Allgemeine Responsive Klassen fÌr GerÀte
*********/
/* Desktop */
@media 
only screen and (min-device-width : 880px), 
only screen and (min-width : 880px) {
.desktop-off, 
.tablet-on,
.phone-on {
	display: none;
}
.desktop-on, 
.tablet-off, 
.phone-off {
	display: block;
}
}
/* Tablets */
@media 
only screen and (min-device-width : 600px) and (max-device-width : 879px), 
only screen and (min-width : 600px) and (max-width : 879px) {
.tablet-off,
.desktop-on, 
.phone-on {
	display: none;
}
.tablet-on,
.desktop-off, 
.phone-off {
	display: block;
}
}
/* Mobile */
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
.phone-off,
.desktop-on, 
.tablet-on
 {
	display: none;
}
.phone-on, 
.desktop-off, 
.tablet-off {
	display: block;
}
}

/*********
Allgemeine Content Styles
*********/

h1 {
	font-size: 1.5rem; /* 40px 40/16 = 2.5 */
	font-weight: 700;
	font-style: normal;
	color: #000;
	margin: 0;
	padding: 0;
	margin-bottom: 30px;
}

.index-site h1 {
	font-size: 2em; /* 40px 40/16 = 2.5 */
	font-style: italic;
	color: #4ea025;
	margin-top: 55px;
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
.index-site h1 {
	font-size: 1rem;
}
}

h2 {
	font-size: 1.2rem;
	font-weight: 700;
	color: #333;
	margin: 0;
	padding: 0;
	margin-bottom: 10px;
	padding-top: 10px;
}

.subnav h2 {
	background-color: #b7b8b9;
	padding: 15px;
	color: #4ea025;
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 5px;
}

h3 {
	font-size: 1rem;
	font-weight: 700;
	color: #333;
	margin: 0;
	padding: 0;
	margin-bottom: 5px;
	padding-top: 10px;
}

h2.first, 
h3.first {
	padding-top: 0;
}

p {
	font-size: 0.925rem;
	padding: 0;
	margin: 0;
	margin-bottom: 15px;
}

img {
	border: 0;
}

.ct-head {
	width: 100%;
	border-bottom: 5px solid #fff;
}

.img-right {
	float: right;
	margin-left: 15px;
	margin-bottom: 15px;
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
.img-right {
	float: none;
	display: block;
	width: 100%;
	margin-left: 0px;
}
}

.img-left {
	float: left;
	margin-right: 15px;
	margin-bottom: 15px;
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
.img-right {
	float: none;
	display: block;
	width: 100%;
	margin-right: 0px;
}
}

ul {
	margin: 0;
	padding: 0;
} 

li {
	list-style-type: square;
	font-size: 0.925em;
	padding-bottom: 5px;
	padding-left: 5px;
	margin-left: 20px;
}


/*Links*/
a {
	color: #000;
	text-decoration: underline;
}

a:hover {
	color: #333;
	text-decoration: none;
}

p.link-small a {
	font-size: 0.7rem;
}

p.link-small {
	margin: 0;
	padding: 0;
	text-align: right;
}

p.shop a {
	background: no-repeat left center #79c173;
	background-image: url(../img/layout/icon-shop-weiss.svg);
	background-position: 10px;
	background-size: 18px auto;
	padding: 10px;
	padding-left: 35px;
	text-decoration: none;
	text-align: center;
	color: #fff;
	font-weight: 700;
	display: block;
}

p.shop.small a {
	margin-right: 15px;
	margin-bottom: 15px;
	display: inline-block;
}

p.shop a:hover {
	background: #fff;
	background: url(../img/layout/icon-shop-green.svg) no-repeat #fff;
	background-position: 10px;
	background-size: 18px auto;
	color: #4ca32f;
}
@media 
only screen and (min-device-width : 600px) and (max-device-width : 879px), 
only screen and (min-width : 600px) and (max-width : 879px) {
p.shop a {
	display: inline-block;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
p.shop a {
	text-align: left;
}
p.shop.small a {
	display: block;
}
}

/*********
Raster-Styles
*********/
body {
	font-size: 100%; /* 16px = 1em */
	height: 100%;

	background-color: #f4f4f4;
	background-image: url(../img/layout/background.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	background-attachment: fixed;
	
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;  
	background-size: cover; 
}



body, img, p, tr, td {
	color: #000;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
body {
	font-size: 90%; 
}
}

#header-raster {
	width: 100%;
	height: 170px;
	background: url(../img/layout/bg-header.png) left top;
	border-bottom: 5px solid #fff;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
#header-raster {
	background: #F4F4F4;
    border-bottom: 5px solid #FFFFFF;
    height: 70px;
    width: 100%;
}	
}

#nav-balken {
	width: 40%;
	margin-left: 60%;
	margin-top: 0;
	background: #707173;
	height: 35px;
}

#main {
	width: 100%;
	max-width: 1020px;
	margin-left: auto;
	margin-right: auto;
	margin-top: -175px;
	overflow: hidden;
}

@media 
only screen and (min-device-width : 600px) and (max-device-width : 1040px), 
only screen and (min-width : 600px) and (max-width : 1040px) {
#main {
	margin-left: 3%;
	margin-right: 3%;
	width: auto;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
#main {
	margin-left: 15px;
	margin-right: 15px;
	width: auto;
	margin-top: -80px
}
}

#logo {
	/*background: url(../img/layout/logo.svg) no-repeat;*/
	height: 40px;
	width: 283px;
	margin: 0;
	margin-left: 18px;
	margin-top: 15px;
	margin-bottom: 30px;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
#logo {
    margin: 25px 0;
	height: 30px;
}
}

#logo img {
	width: 283px;
	height: 40px;
}

#content {
	
}

footer {
	width: 100%;
	height: 35px;
	background-color: #b7b8b9;
	boder-top: 5px solid #fff;
}

#logo-balken {
	width: 30%;
	height: 100%;
	background-color: #707173;
}

#logos {
	margin-top: -35px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 1020px;
	height: 35px;
	overflow: hidden;
}
@media 
only screen and (min-device-width : 600px) and (max-device-width : 1040px), 
only screen and (min-width : 600px) and (max-width : 1040px) {
#logos {
	margin-left: 3%;
	margin-right: 3%;
	width: 94%;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
#logos {
	margin-left: 15px;
	margin-right: 15px;
	width: auto;
}
}

#logos ul {
	margin: 0;
	padding: 0;
	height: 35px;
	float: left;
	padding-right: 10px;
	background: url(../img/layout/bg-footer.png) no-repeat top right;
}

#logos ul li {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: block;
	float: left;
	line-height: 35px;
	height: 35px;
	padding-right: 20px;
	background-color: #707173;
}

#logos ul li img {
	height: 15px;
}
@media 
only screen and (min-device-width : 600px) and (max-device-width : 879px), 
only screen and (min-width : 600px) and (max-width : 879px) { 
#logos ul li img {
	height: 10px;
}
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
#logos ul li {
	padding-right: 10px;
}
#logos ul li img {
	height: 6px;
	width: auto;
}
#logos ul {
	background: none;
}
}

/*********
Mini-GRID
*********/
.col-1 {
	width: 72.5%;
	margin-right: 5.5%;
	float: left;
}

.col-2 {
	width: 22%;
	float: left;
}

.col-1-2 {
	width: 100%;
	overflow: hidden;
	margin-bottom: 55px;
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 879px), 
only screen and (min-width : 220px) and (max-width : 879px) {
.col-1, .col-2 {
	display: block;
	width: 100%;
	overflow: hidden;
}
.col-1 {
	margin-bottom: 5%;
}

.col-1-2 {
	margin-bottom: 25px;
}
}

/*********
Standort
*********/
.standort, 
.team-col {
	float: left;
	width: 45%;
	margin-right: 5%;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
.standort,
.team-col {
	float: none;
	display: block;
	width: 100%;
	margin: 0;
	margin-bottom: 5%;
}
}

.standort iframe {
	margin-bottom: 25px;
	width: 100%;
}

/*********
Referenzen, News
*********/
ul.ref-list, 
ul.news-list,
ul.team-list {
	margin: 0;
	padding: 0;
	overflow: hidden;
	width: 100%;
}

.ref-box, 
.news-box, 
.team-box {
	margin: 0;
	padding: 0;
	width: 100%;
	background-color: #B7B8B9;
	border-top: 7px solid #707173;
}

li.ref-box, 
li.news-box, 
li.team-box {
	float: left;
	margin-right: 5%;
	margin-bottom: 5%;
	width: 21.25%;
	list-style-type: none;
}
li:nth-child(4n).ref-box, 
li:nth-child(4n).news-box, 
li:nth-child(4n).team-box {
	margin-right: 0;
}
@media 
only screen and (min-device-width : 600px) and (max-device-width : 879px), 
only screen and (min-width : 600px) and (max-width : 879px) {
	li.ref-box, 
	li.news-box,
	li.team-box {
		width: 47.5%;
	}
	li:nth-child(2n).ref-box, 
	li:nth-child(2n).news-box, 
	li:nth-child(2n).team-box {
		margin-right: 0;
	}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
	li.ref-box, 
	li.news-box,
	li.team-box {
		margin-right: 0;
		width: 100%;
	}
}

.ref-box a, 
.news-box a,
.team-box a {text-decoration: none;}

.ref-box img, 
.news-box img, 
.team-box img {
	width: 100%;
	height: auto;
}

.ref-box h3, 
.news-box h3, 
.team-box h3 {
	margin: 15px;
	margin-bottom: 2px;
	color: #000;
	font-size: 0.75rem;
	font-weight: bold;
}

.team-box h3 {
	margin-bottom: 5px;
	margin-top: 5px;
	padding: 0;
}

.ref-box p, 
.news-box p {
	margin: 0;
	padding: 15px;
	padding-top: 0;
	font-size: 0.7rem;
}

.news-front {
	margin-top: 55px;
}

.news-front li.news-box {
	display: block;
	width: 100%;
	margin: 0px;
	margin-bottom: 25px;		
}
@media 
only screen and (min-device-width : 600px) and (max-device-width : 879px), 
only screen and (min-width : 600px) and (max-width : 879px) {
.news-front li.news-box {
    margin: 0 2.5% 2.5% 0;
    width: 47.5%;	
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
.news-front li.news-box {
    margin: 0 0 2.5% 0;
    width: 100%;	
}
}

.img-yt {position: relative;}
.img-yt img {
	width: 100%;
}
.img-yt img.play {
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -20px;
	margin-top: -20px;
	width: 40px;
	height: auto;
}

.ref-detail ul.bilder {
	margin: 0;
	padding: 0;
	list-style-type: none;
	margin-bottom: 15px;
	overflow: hidden;
}

.ref-detail ul.bilder li {
	margin: 0;
	padding: 0;
	list-style-type: none;
	float: left;
	margin-right: 5%;
	margin-bottom: 5%;
	width: 45%;
}

.ref-detail ul.bilder li img {
	width: 100%;
	display: block;
}

.team-detail h1 .funktion {
	font-size: 0.925rem;
}
.team-detail h1 {
	margin-bottom: 10px;
}
.team-detail .funktionsbox {
	overflow: hidden;
}
.team-detail .funktionsbox .team-col {
	margin-bottom: 0;
}
.team-detail .funktionsbox h3 {
	padding-top: 0;
}
.team-detail .jahre {
}
/*
.teamhead {
	border-bottom: 5px solid #fff;
	max-height: 335px;
}

.teamhead img {
	overflow: hidden;
}*/

@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
	.team-detail .jahre {
		float: none;
	}
}

/*********
Navigation
*********/
.ct-nav {
	overflow: hidden;
}
.ct-nav ul {
	margin: 0;
	padding: 0;
	margin-right: 0px;
	width: auto;
	text-align: right;
	float: right;
	height: 35px; 
	line-height: 35px;
	background: url(../img/layout/bg-ct-nav-left.png) left top no-repeat;
	padding-left: 10px;
}

.ct-nav ul li {
	margin: 0;
	padding: 0;
	list-style-type: none;
	float: left;
	padding-left: 15px;
	background-color: #707173;
}

.ct-nav li a {
	font-size: 0.8rem;
	color: #b7b8b9;
	font-weight: normal;
	text-decoration: none;
}

.ct-nav li a.shop {
	color: #b3dcaf;
	background: url(../img/layout/icon-shop-green.svg) left center no-repeat;
	background-size: 14px auto;
	padding-left: 20px;
}

.ct-nav li a.shop:hover {
	color: #79c173;
}

.ct-nav li a:hover, 
.ct-nav li a.active {
	color: #fff;
}

.ct-nav li.social img {
	height: 17px;
	width: auto;
	margin-top: 9px;
	display: block;
}

.dl-nav ul {
	margin: 0;
	padding: 0;
	margin-bottom: 5px;
	overflow: hidden;
	height: 50px;
	line-height: 50px;
}

.dl-nav ul li {
	margin: 0;
	padding: 0;
	list-style-type:none;
	float: left;
	background: url(../img/layout/bg-dl-nav-1.png) no-repeat;
	width: 26%;
	margin-right: -12px;
}

.dl-nav ul li.gk {background: url(../img/layout/bg-dl-nav-2.png) no-repeat;}
.dl-nav ul li.et {background: url(../img/layout/bg-dl-nav-3.png) no-repeat; width:27%;}

.dl-nav ul li a {
	display: block;
	text-align: center;
	text-decoration: none;
	font-size: 1rem;
	text-transform: uppercase;
	color: #000;
}
@media 
only screen and (min-device-width : 600px) and (max-device-width : 879px), 
only screen and (min-width : 600px) and (max-width : 879px) {
.dl-nav ul li, 
.dl-nav ul li.et {
	width: 33%;
}
.dl-nav ul li a {
	font-size: 0.9rem;
}
}

.subnav ul {
	margin: 0;
	padding: 0;
}

.subnav li {
	margin: 0;
	padding: 0;
	list-style-type: none;
	padding: 10px 15px;
	background-color: #b7b8b9;
}

.subnav li:hover, 
.subnav li.active {
	background-color: #87bb84;
}

.subnav li a {
	display: block;
	text-decoration: none;
	font-size: 0.8rem;
	text-transform: uppercase;
	color: #000;
}

/*********
Tabellen
*********/
table, tbody, thead {
	width: 100%;
	padding: 0;
	margin: 0;
	border: 0px;
	margin-bottom: 10px;
}

tr, td, th {
	border: 0px;
}

/*tr:nth-child(even) {
	background-image:url(../img/layout/bg_weiss60.png);
}*/

tr {
	padding: 0px;
	margin: 0px;
}

tr:hover {
	background-color: #e3b2b3;
}

th {
	padding: 2px;
	border-bottom: 1px solid #333;
	vertical-align: top;
	text-align: left;
	color: #fff;
	font-weight: bold;
	background-color: #C00;
}


td {
	margin: 0;
	padding: 2px;
	border-bottom: 1px dotted #333;
	vertical-align: top;
	text-align: left;
}

/*********
Formulare
*********/
fieldset {
	border: 0;
}

legend {
	padding: 0;
	margin: 0;
	margin-bottom: 7px;
	font-size: 1em; /* 16px 16/16 = 1 */
	color: #000;	
	text-transform: uppercase;
}

label {
	display: block;	
	font-size: 1em;
	margin-bottom: 5px;
}

label.cb {
	display: inline;
}

label.rd {
	display: inline;
	margin-right: 20px;
}

label.cb.pdf {
	display: inline-block;
	width: 50px;
}

.input-desc {
	font-size: 0.8em;
	display: block;
	margin-top: -10px;
	margin-bottom: 15px;
}

input, 
select, 
textarea {
	background-color: #DBDBDB;
	border: 1px solid #333;
	padding: 4px;
	font-size: 0.8em;
	width: 50%;
	margin-bottom: 15px;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
input, 
select {
	width: 90%;
}
}

input:focus {
	border-color: #2A8E01;
}

input.checkbox, input.radio {
	width: auto;
	margin-right: 5px;
	border: 0;
}

input[type="submit"] {
	background-color: #DBDBDB; 
}

input[type="submit"]:hover {
	background-color: #fff;
	width: 50%;
}

.filter input[type="submit"] {
	width: inherit;
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
input[type="submit"]:hover {
	width: 90%;
}
textarea {
	width: 90%;
}
div.halb {
	width: 46%;
}
}

input.pflicht {
	border-right: 3px solid #2A8E01;
}

div.halb input.text {
	width: 90%;
}

/*********
Transparenzen
*********/
.opac70 {
	/* IE 8 */
	  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
	  /* IE 5-7 */
	  filter: alpha(opacity=70);
	  /* Netscape/FireFox */
	  -moz-opacity: 0.7;
	  /* Safari 1.x */
	  -khtml-opacity: 0.7;
	  /* aktuelle Browser */
	  opacity: 0.7;
}

.opac100 {
	/* IE 8 */
	  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	  /* IE 5-7 */
	  filter: alpha(opacity=100);
	  /* Netscape/FireFox */
	  -moz-opacity: 1.0;
	  /* Safari 1.x */
	  -khtml-opacity: 1.0;
	  /* aktuelle Browser */
	  opacity: 1.0;
}