@charset "utf-8";

/*********
Allgemein
*********/
* {
	font-family: 'Proxima Nova Condensed', Helvetica, Arial, sans-serif;
}

html {
	height: 100%;
}

a:link,
a:visited,
a:hover,
a:active {
	outline: 0;
}

/*********
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: 2.5rem;
	font-weight: normal;
	color: #fff;
	margin: 0;
	padding: 0;
	margin-bottom: 30px;
}

h1 span {
	font-size: 1.75rem;
	color: #535353;
}

h2 {
	font-size: 2rem;
	font-weight: normal;
	color: #535353;
	margin: 0;
	padding: 0;
	margin-bottom: 10px;
	padding-top: 15px;
}

.col-1 h2:first-child, 
.col-2 h2:first-child {
	padding-top: 0px;
}


h3 {
	font-size: 1.25rem;
	color: #535353;
	margin-bottom: 5px;
	font-weight: normal;
}

p {
	font-size: 1rem;
	padding: 0;
	margin: 0;
	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) {
h1 {
	font-size: 2rem;
}
}

img {
	border: 0;
}

img.full {
	width: 100%;
	height: auto;
	display: block;
}

.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.sponsoren {
	overflow: hidden;
	margin-bottom: 25px;
}

.sponsoren li {
	float: left;
	width: 25%;
}

.sponsoren li img {
	border: 10px solid #fff;
	width: 80%;
	margin-right: 5%;
	display: block;
}

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

a:hover {
	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 : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
body {
	font-size: 90%; 
}
}

.content-block-center {
	width: 100%;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding: 40px 0px;
}

.header-raster {
	position: absolute;
	left: 0;
	top: 5%;
	z-index: 10;
}

.header-img {
	z-index: 1;
	overflow: hidden;
}

.mob-nav {
	display: none;
}

#content {

}

footer {
	background: #1E1E1E;
	padding: 15px;
}

@media 
only screen and (min-device-width : 600px) and (max-device-width : 1150px), 
only screen and (min-width : 600px) and (max-width : 1150px) {
.content-block-center  {
	margin-left: 45px;
	margin-right: 45px;
	width: auto;
}
}
@media 
only screen and (min-device-width : 220px) and (max-device-width : 780px), 
only screen and (min-width : 220px) and (max-width : 780px) {
header {
	position: relative;
	left: 0;
	top: 0;
}
.mean-container .mean-nav ul li.logo {
	display: none;
}
.mob-nav {
	background: #000 none repeat scroll 0 0;
    display: block;
    left: 0;
    padding: 15px;
    position: absolute;
    top: 15px;
}
.mob-nav img {
	height: 25px;
	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) {
.content-block-center  {
	margin-left: 15px;
	margin-right: 15px;
	width: auto;
}
}

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

/*********
Mini-Grid
*********/
.grid-container {
	overflow: hidden;
}

.col-1, 
.col-2 {
	width: 47%;
	margin-right: 6%;
	float: left;
}
.col-2 {
	margin-right: 0;
}

.col-dreispalter-1 {
	margin-right: 6%;
	width: 31.33%;
	float: left;
}

.col-dreispalter-2 {
	margin-right: 6%;
	width: 62.66%;
	float: left;
}

.col-dreispalter-3 {
	width: 100%;
	margin-right: 0px;
	clear: both;
}

.col-dreispalter-1:nth-child(3) {
	margin-right: 0px;
}

.col-dreispalter-1.last-child {
	margin-right: 0px;
}

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

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

.list li {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

/* NEWS */


/* TEAM & GALLERY ALBEN */
ul.team.list, 
ul.gallery.list {
	padding: 15px 0px; 
}

.team.list li, 
.gallery.list li {
	float: left;
	width: 18%;
	margin-right: 2.5%;
	margin-bottom: 2.5%;
}

.team.list li:nth-child(5n), 
.gallery.list li:nth-child(5n) {
	margin-right: 0;
}

.team.list li h2, 
.gallery.list li h3 {
	margin: 0;
	padding: 0;
	margin-bottom: 2px;
	font-weight: 700;
	font-size: 1.25rem;
}

.gallery.list li h3 {
	font-weight: 500;
	font-size: 1rem;
}

.team.list li p {
	margin-bottom: 5px;
}

/* GALLERY */

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

/* EVENTS & News */
.events li, 
.news li {
	overflow: hidden;
	margin-bottom: 15px;
}

.events li h2, 
.news li h2 {
	margin: 0;
	padding: 0;
	margin-bottom: 5px;
	font-weight: 700;
	font-size: 1.25rem;
}

.events li a.more, 
.news li a.more {
	padding: 3px;
	background: #fff;
	color: #000;
	text-decoration: none;
}

.events li a:hover.more, 
.news li a:hover.more {
	background: #2E2E2E;
	color: #fff;
}

@media 
only screen and (min-device-width : 600px) and (max-device-width : 879px), 
only screen and (min-width : 600px) and (max-width : 879px) {
.team.list li, 
.team.list li:nth-child(5n), 
.gallery.list li, 
.gallery.list li:nth-child(5n){
	width: 31%;
	margin-right: 3.5%;
	margin-bottom: 3.5%;
}

.team.list li:nth-child(3n), 
.gallery.list li:nth-child(3n) {
	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) {
.team.list li, 
.team.list li:nth-child(5n), 
.team.list li:nth-child(3n), 
.gallery.list li, 
.gallery.list li:nth-child(5n),
.gallery.list li:nth-child(3n) {
	width: 48%;
	margin-right: 4%;
	margin-bottom: 4%;
}

.team.list li:nth-child(2n), 
.gallery.list li:nth-child(2n) {
	margin-right: 0;
}
.team.list li h2 {
	font-size: 1rem;
}
.team.list li p {
	font-size: 0.875rem;
}
}

/*********
Navigation
*********/
.main-nav ul, 
.service-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;
	background: #000;
	padding: 15px;
	height: 30px;
	line-height: 30px;
	margin-right: 5px;
	color: #fff;
	font-size: 1rem;
	text-transform: uppercase;
	text-decoration: none;
}

.main-nav li.logo img {
	height: 100%;
	width: auto;
}

.main-nav li a.active, 
.main-nav li a:hover {
}

.service-nav ul {
	text-align: center;
}

.service-nav ul li {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: inline-block;
}

.service-nav li a {
	display: block;
	color: #fff;
	font-size: 0.75rem;
	line-height: 0.75rem;
	text-decoration: none;
	padding: 0 12px;
}

.service-nav li a img {
	height: 20px;
	width: auto;
}

/*********
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
*********/
form {
	overflow: hidden;
}

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

form p {
	padding-bottom: 10px;
}

legend {
	padding: 0;
	margin: 0;
	margin-bottom: 7px;
	font-size: 1rem;
	text-transform: uppercase;
}

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

label.inline {
	display: inline;
}

input, 
select, 
textarea {
	background-color: #fff;
	color: #000;
	border: 0;
	padding: 8px;
	font-size: 1rem; /*vorher 0.75rem*/
	width: 100%;
	margin-bottom: 8px;
}

input, 
textarea {
	width: 90%;
	width: calc(100% - 16px);
}

textarea {
	height: 120px;
}

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

input[type="checkbox"], 
input[type="radio"] {
	width: auto;
	margin-right: 5px;
	border: 0;
}

input[type="checkbox"] {
	border: 0;
	background: #fff;
	padding: 0px;
}

input[type="submit"], 
button[type="submit"] {
	background-color: #fff;
	width: 100%;
}

input[type="submit"]:hover {
}

input.pflicht, 
textarea.pflicht {
	/*border-right: 3px solid #000;*/
}

.validationerror {
	background: #CB0003;
	color: #fff;
	padding: 8px;
	margin-bottom: 1px;
	width: 50%;
	
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 879px), 
only screen and (min-width : 220px) and (max-width : 879px) {
input, 
select,
textarea,
input[type="submit"],
button[type="submit"],
input[type="submit"]:hover, 
.validationerror
 {

}

input, 
select, 
input[type="submit"],
button[type="submit"],
input[type="submit"]:hover {

}
}

/*********
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;
}

/**** 
Anmeldungen
*****/
form.anmeldebox p {
	padding-bottom: 0px;
}

p.teilnahmegebuehr {
	margin-bottom: 0px;
	/*font-weight: bold;*/
	font-size: 1.5rem;
}

form fieldset.form.person.p:last-child {
	margin-bottom: 0px;
	padding-bottom: 0px;
}

fieldset.form.person {
    position: relative;
    border: 2px solid #fff;
    /*border-radius: 20px;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;*/
    padding: 20px;
    margin-right: 5%;
    margin-bottom: 5%;
    /*width: 25%;*/
    /*width: calc(31.33% - 6% - 2px);*/
    float: left;
	
	width: calc(31.33% - 60px);
}

fieldset.form.person:nth-child(3) {
	margin-right: 0px;
}

fieldset.anmeldubsicht {
	position: relative;
    border: 2px solid #fff;
    padding: 20px;
    margin-right: 0%;
    margin-bottom: 5%;
    width: 100%;
    width: calc(100% - 45px);
    /*float: left;*/
	clear: both;
}

fieldset.form.person:nth-child(3n) {
	margin-right: 0px;
}

fieldset.form.person legend,
fieldset.anmeldubsicht legend{
	padding-left: 5px;
	padding-right: 5px;
}

fieldset legend {
	font-size: 1.5rem;
}

#person-add {
	/*width: calc(31.33% - 6% - 2px);*/
	/*width: 31%;*/
	/*width: 30%;*/
	width: 29.9%;
	
	float: left;
	margin-bottom: 40px;
	background-color: #fff;
	color: #000;
	margin-right: 0%;
}


#person-add:hover,
#person-add:active {
	/*background-color: rgba(242,140,0,0.8);
	background-color: rgba(0,100,163,1);
	color: #ffffff;*/
	background: #2E2E2E;
	color: #fff;
}

.person-remove,
.box-remove {
   /* background: #f28c00;*/
	background: #fff;
	color: #000;
    position: absolute;
    right: 20px;
    top: 0;
    width: auto;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
    .person-remove,
	.box-remove {
		top: 22px;
	}
}

.person-remove:hover,
.box-remove:hover {
	background: #BC0003;
}

.gebuehr {
	display: inline;

}

.endtotal {
	font-size: 2rem;
}

.endtotal small {
	font-size: 1rem;
}

form.anmeldebox .validationerror {
	background: #CB0003;
	color: #fff;
	padding: 8px;
	margin-bottom: 1px;
	width: auto;
	display: block;	
}

input[type="submit"], 
button[type="submit"] {
	background-color: #fff;
	color: #000;
	width: 100%;
}

input[type="submit"]:hover,
input[type="submit"]:active {
	background: #2E2E2E;
	color: #fff;
}

@media 
only screen and (min-device-width : 600px) and (max-device-width : 879px), 
only screen and (min-width : 600px) and (max-width : 879px) {
	fieldset.form.person {
    position: relative;
    /*width: 47%;*/
	width: calc(47% - 44px);
	/*width: calc(45% - 6% - 3px);*/
}
	fieldset.form.person:nth-child(odd) {
		margin-right: 6%;
	}
	
	fieldset.form.person:nth-child(even) {
		margin-right: 0px;
	}
	
	#person-add {
		width: 47%;
	}
}

@media 
only screen and (min-device-width : 220px) and (max-device-width : 599px), 
only screen and (min-width : 220px) and (max-width : 599px) {
	fieldset.form.person {
	width: calc(100% - 44px);
}
	#person-add {
		width: 100%;
	}
}
