@charset "utf-8";

/*********
Allgemein
*********/
* {
	font-family: 'SourceSansPro-Light', 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 : 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-family: 'SourceSansPro-Semibold';
	font-size: 1.5625rem;
	font-weight: normal;
	text-transform: uppercase;
	color: #dc2615;
	margin: 0;
	padding: 0;
	margin-bottom: 40px;
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
h1 {
	font-size: 2rem; /* 30px 32/16 = 2 */
}
}

h2 {
	font-family: 'SourceSansPro-Semibold';
	font-size: 1.25rem;
	font-weight: normal;
	text-transform: uppercase;
	color: #dc2615;
	margin: 0;
	padding: 0;
	padding-top: 20px;
	margin-bottom: 20px;
}

h2.top {
	padding-top: 0px;
}

h3 {
	font-family: 'SourceSansPro-Semibold';
	font-size: 1rem; /* 20px 20/16 = 1.25 */
	color: #000;
	margin: 0;
	padding: 0;
	margin-bottom: 5px;
}

p {
	font-size: 0.9375rem;
	padding: 0;
	margin: 0;
	margin-bottom: 10px;
}

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

img {
	border: 0;
}

.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-left {
	float: none;
	display: block;
	width: 100%;
	margin-right: 0px;
}
}

ul {
	padding: 0;
	margin: 0;
} 

li {
	list-style-type: none;
	font-size: 0.75rem; /* 12px 12/16 = 0.75 */
}

ul.downloadlist {
	margin-bottom: 15px;
}

ul.list.klassen {
	margin: 0;
	padding: 0;
	overflow: hidden;
}

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

ul.list.klassen li a {
	display: block;
	padding: 10px;
	background: #009640;
	color: #fff;
	font-size: 1rem;
	text-decoration: none;
	text-align: center;
}

ul.list.klassen li a:hover {
	background: #dc2615;
}


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

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

/*Fakten*/
.fakten {
	width: 150px;
	height: 150px;
	display: block;
	float: left;
	margin-right: 15px;
	margin-bottom: 15px;
	background: url(../img/layout/kreis.svg) left top no-repeat;
	text-align: center;
}

.fakten span {
	color: #dc2615;
	font-size: 30px;
	font-weight: 700;
	display: block;
	padding-top: 30px;
}

.fakten h3 {
	color: #000;
}


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

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%; 
}
}

.logo-nav, 
#content,
.footer-ct {
	width: 100%;
	max-width: 1020px;
	margin-left: auto;
	margin-right: auto;
	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) {
.logo-nav, 
#content,
.footer-ct {
	width: auto;
	margin-left: 45px;
	margin-right: 45px;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
.logo-nav, 
#content,
.footer-ct {
	width: auto;
	margin-left: 15px;
	margin-right: 15px;
}
}

header {
	border-bottom: 5px solid #009640;
	height: 275px;
	background: url(../img/content/header/schule.jpg) top center no-repeat;
}

.index-site header {
	height: 683px;
	background: url(../img/content/header/home.jpg) top center no-repeat;
}

.logo-nav {
	overflow: hidden;
}

#logo {
	float: left;
}

nav.main-nav {
	float: right;
	text-align: right;
	padding-top: 90px;
}

#content {
	padding: 60px 0px;
}

footer {
	position: relative;
	background-color: #009640;
	padding: 10px;
	z-index: 100;
}

footer .footer-ct {
	text-align: right;
}

footer .footer-ct a {
	color: #fff;
	text-decoration: none;
	font-size: 0.8125rem;
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
#logo img {
	width: 70%;
	height: auto;
}

header, 
.index-site header {
	height: auto;
	background: url(../img/content/header/home.jpg) top center no-repeat;
	background-size: 100% auto;
}
}

.skipp {
	position: absolute;
	left: 10px;
	bottom: 10px;
	z-index: 500;
}

.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 : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
.skipp {
	display: none;
}
}

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

.col-2 {
	width: 65%;
	margin-right: 5%;
	float: left;
}

.col-3 {
	width: 100%;
	display: block;
	overflow: hidden;
	margin-right: 0;
}

.col-1, 
.col-2, 
.col-3 {
	margin-bottom: 15px;
}

.col-last {
	margin-right: 0;
}

/*.col-1-2 {
	width: 100%;
	overflow: hidden;
	margin-bottom: 55px;
}*/
@media 
only screen and (min-device-width : 600px) and (max-device-width : 879px), 
only screen and (min-width : 600px) and (max-width : 879px) {
.col-1, 
.col-2 {
	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) {
.col-1, 
.col-2 {
	display: block;
	width: 100%;
	overflow: hidden;
	float: none;
}	
}

/*********
Tools
*********/
ul.list {
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.list li {
	padding: 0;
	margin: 0;
	margin-bottom: 30px;
	overflow: hidden;
}

.list li:hover {
	background: #e5f4ec;
}

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

.list.news img {
	width: 30%;
	height: auto;
	margin-right: 5%;
	float: left;
}

.list.news h2 {
	padding-top: 5px;
	margin-bottom: 5px;
}

.news.detail .media img {
	width: 100%;
	height: auto;
	margin-bottom: 10px;
	display: block;
}

.team .mail {
	width: 28px;
	height: auto;
	margin-top: 15px;
}

/*********
Navigation
*********/
.main-nav ul {
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.main-nav ul li {
	margin: 0;
	padding: 0;
	list-style-type: none;
	float: left;
}

.main-nav li a {
	display: block;
	padding: 0px;
	margin-left: 30px;
	color: #fff;
	font-family: 'SourceSansPro-Semibold';
	font-size: 1rem;
	text-decoration: none;
}

.main-nav li a.active, 
.main-nav li a:hover {
	color: #dc2615;
}

@media 
only screen and (min-device-width : 599px) and (max-device-width : 950px), 
only screen and (min-width : 599px) and (max-width : 950px) {
.main-nav li a {
	margin-left: 20px;
	font-size: 0.875rem;
}
}

/*********
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: 1rem; /* 16px 16/16 = 1 */
	color: #000;	
	text-transform: uppercase;
}

label {
	display: block;	
	font-size: 1rem;
	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.8rem;
	display: block;
	margin-top: -10px;
	margin-bottom: 15px;
}

input, 
select, 
textarea {
	background-color: #DBDBDB;
	border: 1px solid #333;
	padding: 4px;
	font-size: 0.8rem;
	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;
}
