@charset "utf-8";

/*********
Allgemein
*********/
* {
	font-family: Calibri, Helvetica, 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 : 621px) and (max-device-width : 879px), 
only screen and (min-width : 621px) 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 : 620px), 
only screen and (min-width : 220px) and (max-width : 620px) {
.phone-off,
.desktop-on, 
.tablet-on
 {
	display: none;
}
.phone-on, 
.desktop-off, 
.tablet-off {
	display: block;
}
}

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

h1 {
	font-size: 1.75rem;
	font-weight: normal;
	color: #79c000;
	margin: 0;
	padding: 0;
	margin-bottom: 40px;
	font-weight: 700;
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 620px), 
only screen and (min-width : 220px) and (max-width : 620px) {
h1 {
	font-size: 1.5rem;
	margin-bottom: 20px;
}
}

h2 {
	font-size: 1.25rem;
	font-weight: normal;
	color: #79c000;
	margin: 0;
	padding: 0;
	padding-top: 25px;
	margin-bottom: 20px;
	font-weight: 700;
}

h3 {
	font-size: 1rem;
	color: #79c000;
	margin: 0;
	padding: 0;
	margin-bottom: 15px;
	padding-top: 15px;
	font-weight: 700;
}

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

p.lead {
	font-size: 1.25rem;
	font-weight: 700;
}

p.impressum {
	text-align: right;
	margin-right: 15px;
	font-size: 0.8rem;
}

hr {
	border-top: 3px solid;
	color:#79c000;
	margin-top: 14px;
}

img {
	border: 0;
}

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

img.full {
	width: 100%;
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 620px), 
only screen and (min-width : 220px) and (max-width : 620px) {
.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 : 620px), 
only screen and (min-width : 220px) and (max-width : 620px) {
.img-left {
	float: none;
	display: block;
	width: 100%;
	margin-right: 0px;
}
}

ul {
	padding: 0;
} 

li {
	list-style-type: none;
	font-size: 1rem;
}

/* Listen */
ul.list {
	margin: 0;
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
}

.list li {
	margin: 0;
	padding: 0;
	width: 30%;
	margin-right: 3%;
	margin-bottom: 3%;
}

.list li a {
	display: block;
	text-decoration: none;
}

.list li a img {
	display: block;
	width: 100%;
	height: auto;
}

/* Partner Liste */
.partner-list li {
	width: 23%;
	margin-right: 2%;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 620px), 
only screen and (min-width : 220px) and (max-width : 620px) {
.partner-list li {
	width: 30%;
	margin-right: 3%;
}
}

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

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


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

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

header {
	width: 100%;
	border-bottom: 6px solid #79c000;
}

#service {
	width: 100%;
	background: #313131;
	margin: 0;
	padding: 0;
}

.ct-service, 
#logo-nav, 
#content {
	width: 100%;
	max-width: 1020px;
	margin-left: auto;
	margin-right: auto;	
}
@media 
only screen and (min-device-width : 621px) and (max-device-width : 1120px), 
only screen and (min-width : 621px) and (max-width : 1120px) {
.ct-service, 
#logo-nav, 
#content {
	width: auto;
	margin-left: 45px;
	margin-right: 45px;	
}
	#main-nav ul li:first-child {
		margin-left: -8px !important;
	}
	
	#main-nav ul li ul.sub-nav li:first-child {
		margin-left: 0px !important;
	}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 620px), 
only screen and (min-width : 220px) and (max-width : 620px) {
.ct-service, 
#logo-nav, 
#content {
	width: auto;
	margin-left: 15px;
	margin-right: 15px;
	position: relative;
}
}

.ct-service {
	overflow: hidden;
}

#service-nav {
	float: left;
}

.tel {
	float: right;
	margin-top: 5px;
	margin-bottom: 5px;
}

.tel a {
	display: block;
	height: 30px;
	display: table-cell;
	vertical-align: middle;
	padding-left: 40px;
	background: url(../img/layout/icon-tel.svg) left center no-repeat;
	background-size: 25px 25px;
	text-decoration: none;
}

a[href^="tel"],
a[href^="fax"]{
	color: #fff;
	text-decoration: none;
}

a[href^="tel"]:hover,
a[href^="fax"]:hover{
	color: #79c000;
	text-decoration: none;
}


#logo {
	height: 55px;
	float: left;
	margin-top: 30px;
	margin-bottom: 30px;
}

#logo img {
	width: 100%;
	height: auto;
}

#main-nav {
	float: right;
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 620px), 
only screen and (min-width : 220px) and (max-width : 620px) {
.tel {
	float: none;
	position: absolute;
	top: 25px;
	right: 30px;
}
.tel a {
	background: url(../img/layout/icon-tel.svg) left center no-repeat;
	background-size: 30px 30px;
	height: 30px;
}
	#logo {
		height: auto;
	}
	
	#logo img {
		
	}
}

@media 
only screen and (min-device-width : 621px) and (max-device-width : 1030px), 
only screen and (min-width : 621px) and (max-width : 1030px) {
#logo, 
#main-nav {
	float: none;
	display: block;
}

#logo {
	margin-top: 30px;
	margin-bottom: 15px;
	height: auto;
}

#logo img {
	width: 250px;
	height: auto;
}

header {
	padding-bottom: 8px;
}
.index-site header {
	padding-bottom: 0px;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 620px), 
only screen and (min-width : 220px) and (max-width : 620px) {
#logo img {
	width: auto;
	height: 38px;;
}
}

.headimg {
	clear: both;
}

.headimg img {
	display: none;
}

.headimg .eyecatcher {
	display: none;
}

.index-site .headimg img {
	width: 100%;
	display: block;
}

.index-site .headimg {
	position: relative;
}

.index-site .headimg .eyecatcher {
	background-color: #79c000;
	position: absolute;
	width: auto;
	height: auto;
	top: 75px;
	right: 50px;
	border-radius: 30px 0px;
	/*transform: perspective(9cm) rotateY(-30deg);*/
	transform: skewX(-11.5deg);
	padding: 15px 30px;
	display: flex;
	text-align: left;
	rotate: -11.5deg;
}

.index-site .headimg a {
	text-decoration: none;
	transform: skewX(11.5deg);
}

.index-site .headimg a big {
	font-size: 1.75rem;
	display: inline-block;
	font-weight: 700;
}

.index-site .headimg a:hover big {
	color: #ffffff;
}

.index-site .headimg a p.btn {
	margin-bottom: 0px;
}

#content {
	margin-top: 60px;
	margin-bottom: 60px;
	overflow: hidden;

}

footer {
	position: absolute;
	width: 100%;
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 620px), 
only screen and (min-width : 220px) and (max-width : 620px) {
#content {
	margin-top: 30px;
}
	
.index-site .headimg a big {
	font-size: 1.25rem;
}
	
.index-site .headimg .eyecatcher {
	padding: 10px 20px;
	top: 30px;
	border-radius: 20px 0px;
}
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 500px), 
only screen and (min-width : 220px) and (max-width : 500px) {
.index-site .headimg a big {
	font-size: 1rem !important;
}
	
.index-site .headimg .eyecatcher {
	padding: 5px 10px;
	top: 30px;
	border-radius: 10px 0px;
}
}

@media 
only screen and (min-device-width : 621px) and (max-device-width : 990px), 
only screen and (min-width : 621px) and (max-width : 990px) {
	.index-site .headimg a big {
	font-size: 1.5rem;
}
	
.index-site .headimg .eyecatcher {
	padding: 10px 20px;
	top: 50px;
	border-radius: 20px 0px;
}
}

.skipp {
	position: absolute;
	left: 10px;
	bottom: 10px;
}

.skipp img {
	display: block;
	
	/* 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;
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 620px), 
only screen and (min-width : 220px) and (max-width : 620px) {
.skipp {
	display: none;
}
}

/*********
MiniGRID
*********/
.col-1 {
	width: 65%;
	margin-right: 8%;
	float: left;
	margin-bottom: 55px;
}

.col-2 {
	width: 27%;
	margin-bottom: 55px;
	float: left;
}

.col-1.halb, 
.col-2.halb {
	width: 46%
}

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

.ct-boxen {
	width: 100%;
	overflow: hidden;
}

.box {
	width: 45%;
	margin-right: 5%;
	float: left;
}

@media 
only screen and (min-device-width : 621px) and (max-device-width : 1030px), 
only screen and (min-width : 621px) and (max-width : 1030px) {
.col-1 {
	width: 62%;
	margin-right: 5%;
}

.col-2 {
	width: 33%;
}
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 620px), 
only screen and (min-width : 220px) and (max-width : 620px) {
.col-1, 
.col-2, 
.col-1.halb, 
.col-2.halb {
	width: 100%;
	margin-right: 0px;
}
}

/*********
Box rechte Spalte
*********/
.rbox {
	margin-bottom: 55px;
	padding-left: 60px;
	min-height: 45px;
}

.rbox.opentime {
	background: url(../img/layout/icon-opentime.svg) left top no-repeat;
}
.rbox.downloads {
	background: url(../img/layout/icon-downloads.svg) left top no-repeat;
}
.rbox.video {
	background: url(../img/layout/icon-video.svg) left top no-repeat;
}

iframe {
	border-top: rgba(121,192,0,0.25) 1px solid;
  border-right: rgba(121,192,0,0.25) 1px solid;
  border-left: rgba(121,192,0,0.25) 1px solid;
  border-bottom: rgba(121,192,0,0.25) 1px solid;
}

.rbox.links {
	background: url(../img/layout/icon-links.svg) left top no-repeat;
}

.rbox h2 {
	padding-top: 0;
}

/*********
Tools
*********/
ul.news-list  {
	margin: 0;
	padding: 0;
	overflow: hidden;
	
	display: flex;
	flex-flow: wrap;
}

.news-list li {
	float: left;
	width: 30%;
	margin-right: 5%;
	margin-bottom: 5%;
	background: #c5c5c5;
}

.news-list li:nth-child(3) {
	margin-right: 0;
}

.index-site .news-list li {
	width: 45%;
	margin-right: 5%;
}

.news-detail img {
	width: 100%;
	height: auto;
}
@media 
only screen and (min-device-width : 451px) and (max-device-width : 900px), 
only screen and (min-width : 451px) and (max-width : 900px) {
.news-list li {
	width: 45%;
	margin-right: 5%;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 450px), 
only screen and (min-width : 220px) and (max-width : 450px) {
.news-list li, 
.index-site .news-list li {
	display: block;
	width: 100%;
	margin-right: 0px;
	margin-bottom: 5%;
}
}

.news-list li a {
	display: block;
	margin: 10px;
	text-decoration: none;
	background: url(../img/layout/icon-plus.svg) right top no-repeat;
}

.news-list p, 
.news-list h3 {
	color: #000;
}

.news-list p.datum {
	font-size: 0.875rem;
}
.news-list h3 {
	margin-bottom: 0px;
}

.news-list img, 
.team-detail img {
	width: 100%;
}

.team-detail p.mail {
	margin-top: -15px;
}

.team-list div.name {
	padding: 10px;
	border: 1px solid #79c000;
	border-top: 0;
}

.team-list h3 {
	margin: 0;
	padding: 0;
	font-size: 1.25rem;
	font-weight: 500;
	text-align: center;
	background: url(../img/layout/icon-plus.svg) no-repeat;
	background-position: right center;
}

.team.detail h2 {
	padding-top: 0px;
	margin-bottom: 5px;
}

.download-list {
	margin: 0;
	padding: 0;
}

.download-list li {
	background: url(../img/layout/icon-downloads-small.svg) left top no-repeat;
	background-size: 15px auto;
	padding: 0 0 10px 25px;
}

@media 
only screen and (min-device-width : 451px) and (max-device-width : 900px), 
only screen and (min-width : 451px) and (max-width : 900px) {
.team-list li {
	width: 47%;
	margin-right: 3%;
	margin-bottom: 3%;
}
.team-list li h3 {
	font-size: 1rem;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 450px), 
only screen and (min-width : 220px) and (max-width : 450px) {
.team-list li {
	width: 100%;
	margin-right: 0;
	margin-bottom: 5%;
}
}

/*********
RoyalSlider
*********/
#main .royalSlider {
  width: 100%;
  height: 442px;
  margin-bottom: 55px;
}
@media 
only screen and (min-device-width : 620px) and (max-device-width : 850px), 
only screen and (min-width : 620px) and (max-width : 850px) {
#main .royalSlider {
  height: 250px;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 410px), 
only screen and (min-width : 220px) and (max-width : 410px) {
#main .royalSlider {
  height: 250px;
}
}

#main .rsABlock {
	position: absolute;
	top: auto;
	left: 10px;
	bottom: 30px;
	padding: 10px;
	background: #79c000;
	color: #fff;
}

#main .rsDefault .rsBullet.rsNavSelected span {
	background-color: #79c000;
}

#main .rsDefault .rsBullet span {
	background-color: #79c000;
	background: rgba(121,192,0,0.5);
}

#main .rsDefault .rsBullets {
	/*background: rgba(0,121,45,0.5);*/
	background: rgba(121,192,0,0.25);
}

#main .rsDefault .rsArrowIcn {
	background-color: rgba(121,192,0,0.5);
	color: #000;
}


/*********
Navigation
*********/

#service-nav ul, 
#main-nav ul {
	margin: 0;
	padding: 0;
}

#main-nav ul li, 
#service-nav ul li {
	float:left;
	position: relative;
}

#main-nav {
	z-index: 50;
}

#main-nav ul {
	margin-top: 38px;
}

#main-nav ul li a {
	display: block;
	font-size: 1.25rem;
	text-decoration: none;
	padding: 8px;
	margin-left: 5px;
}

#main-nav ul li a:hover, 
#main-nav ul li a.active {
	background: #79c000;
	color: #000;
}

#main-nav ul.sub-nav {
	display: none;
}

#main-nav ul li:hover ul.sub-nav 
 {
	display: block;
	position: absolute;
	left: 5px;
	top: 0px;
	width: auto;
	height: auto;
	margin-top: 0px;
	margin-top: 40px;
	padding-top: 10px;
	z-index: 500;
	/*border-top: 6px solid #79c000;
	background: #313131;
	padding-bottom: 16px;
	padding-top: 8px;*/
	
}

#main-nav .sub-nav li {
	float: none;
	display: block;
	background: #313131;	
}

#main-nav .sub-nav li:first-child {
	border-top: 6px solid #79c000;
	padding-top: 8px;
}

#main-nav .sub-nav li:last-child {
	padding-bottom: 16px;
}

#main-nav .sub-nav li a {
	color: #fff;
	display: block;
	padding: 8px 8px 0px 8px;
	margin: 0;
	font-size: 0.9375rem;
}

#main-nav .sub-nav li a:hover, 
#main-nav .sub-nav li a.active {
	background: none;
	color: #79c000;
}

#service-nav ul {
	margin-top: 10px;
}

#service-nav ul li a {
	display: block;
	font-size: 0.9375rem;
	text-decoration: none;
	color: #fff;
	margin-right: 25px;
}

#service-nav ul li a:hover, 
#service-nav ul li a.active {
	color: #79c000;
}

@media 
only screen and (min-device-width : 621px) and (max-device-width : 1030px), 
only screen and (min-width : 621px) and (max-width : 1030px) {
#main-nav ul {
	margin-top: 0px;
}

#main-nav ul li a {
	margin-left: 0px;
	margin-right: 5px;
}

#main-nav ul li:hover ul.sub-nav {
	left: 0px;
}
}
@media 
only screen and (min-device-width : 621px) and (max-device-width : 720px), 
only screen and (min-width : 621px) and (max-width : 720px) {
#main-nav ul li a {
	font-size: 1rem;
}
}

/*********
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 : 620px), 
only screen and (min-width : 220px) and (max-width : 620px) {
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 : 620px), 
only screen and (min-width : 220px) and (max-width : 620px) {
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;
}

nav.main-nav ul li a.active {
    color: red;
}
