@charset "utf-8";
*{
	margin:0;
	padding:0;
	border:none;
  	-webkit-box-sizing: border-box;
  	-moz-box-sizing: border-box;
  	box-sizing: border-box;
}
html{
	overflow-y: scroll;
  	-webkit-text-size-adjust: 100%;
  	-ms-text-size-adjust: 100%;
}
body{
	color: #404040;
	font-size: 1rem;
	line-height:140%;
	font-family: 'Open Sans', sans-serif;
	font-weight:400;
	width:100%;
	background: #e5e5e5; /* Old browsers */
	background: -moz-linear-gradient(top,  #e5e5e5 0%, #ffffff 25%, #ffffff 75%, #e5e5e5 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e5e5e5), color-stop(25%,#ffffff), color-stop(75%,#ffffff), color-stop(100%,#e5e5e5)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #e5e5e5 0%,#ffffff 25%,#ffffff 75%,#e5e5e5 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #e5e5e5 0%,#ffffff 25%,#ffffff 75%,#e5e5e5 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #e5e5e5 0%,#ffffff 25%,#ffffff 75%,#e5e5e5 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #e5e5e5 0%,#ffffff 25%,#ffffff 75%,#e5e5e5 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e5e5e5', endColorstr='#e5e5e5',GradientType=0 ); /* IE6-9 */
	padding:0 2rem 0 2rem;
}
@-ms-viewport {
  width: device-width;
}
@-o-viewport {
  width: device-width;
}
@viewport {
  width: device-width;
}

::selection {
	background:#e20026;
	color:#ffffff;
}
::-webkit-selection {
	background:#e20026;
	color:#ffffff;
}   
::-moz-selection {
	background:#e20026;
	color:#ffffff;
}
header, main, footer, nav, section, article, menu{
	display:block;
}
article{
	margin-bottom:2rem;
}
section:after{
	content:'';
	display:table;
	clear:both;
}

/* ######################### Tags ######################### */

div{}
span{}

img{
	display:block;
	width:inherit;
}

a{
	color:#404040;
	text-decoration:none;
	cursor:pointer;
}
a:hover{
	color:#e20026;
}
h1{
	font-size:2rem;
	font-weight:400;
	color:#808080;
	margin-bottom:1rem;
	line-height:100%;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
	word-wrap:break-word;
}
h2{
	font-size:1.5rem;
	font-weight:400;
	color:#808080;
	margin-bottom:0.75rem;
	line-height:100%;
}
h3{
	font-size:1.25rem;
	font-weight:600;
	color:#404040;
	margin-bottom:1rem;
	line-height:100%;
}
h4, h5, h6{
	font-size:1rem;
	font-weight:600;
	color:#404040;
	margin-bottom:1rem;
	line-height:120%;
}
p{
	margin-bottom:0.5rem;
	line-height:160%;
}
b{}
strong{
	font-weight:600;
}
i{}
s{}
u{}
small{
	font-size:0.75rem;
}
sub{}
sup{}
br{}
hr{
	width:100%;
	margin:2rem 0 2rem 0;
	clear:both;
	border-top:1px solid #d9d9d9;
}

dl, ol, ul{}
ul{
	list-style:none;
	list-style-position:inside;
}
dl dt{}
ol li{}
ul li{
	margin-bottom:0.24rem;
	background-image:url(images/list-style-image.png);
	background-size:1.4375rem 0.875rem;
	background-repeat:no-repeat;
	background-position:0 0.25rem;
}

table{
	border-spacing: 0;
    border-collapse: collapse;
}
tr{}
td{}

form{}
label{    
	display: inline-block;
    font-weight: 600;
    width:9rem;
}
input{
	width:20rem; 
	height: 2.25rem;
	padding:0 0.625rem 0 0.625rem;
    font-size: 0.813rem;
    font-weight: 600;
	color: #606060;
    overflow: hidden;
	border:1px solid #d9d9d9;   
}
input[type="checkbox"],
input[type="radio"]{
	width:auto;
	height:auto;
}
textarea{
	font-family: 'Open Sans', sans-serif;
	min-width:100%;
	width:100%;
	max-width:100%;
	min-height:10rem;
	height:15rem;
	padding:0.625rem;
    font-size: 0.813rem;
    font-weight: 600;
	color: #606060;
    overflow: hidden;
	border:1px solid #d9d9d9; 
}
select{
	width:20rem; 
	height: 2.25rem;
	padding:0 0.625rem 0 0.625rem;
    font-size: 0.813rem;
    font-weight: 600;
	color: #606060;
    overflow: hidden;
	border:1px solid #d9d9d9; 
	-webkit-border-radius: none;
	border-radius: none;
	cursor:pointer;
}
option{}


.fieldKey{
	width:5rem;
	font-weight:600;
}
.fieldValue{}

/* ############################## Struktur ############################## */

/* -------------------- Header -------------------- */
#header{
	width:100%;
	max-width:75rem;
	margin:0 auto;
	text-align:center;
}
#logo{
	margin:2rem auto 2rem;
	width:10.3125rem;
}
#logo img{
	width:100%;
}
@media only screen and (max-width: 768px) {
	#header{
		margin-top:3.5rem;
	}
}

/* -------------------- Mainmenu -------------------- */
#mainMenu{
	width:100%;
	max-width:75rem;
	margin:0 auto;
	margin-bottom:2rem;
	text-align:center;
	position:relative;
	z-index:1;
}
#mainMenu h2{
	display:none;
}
#mainMenu li{
	position:relative;
	display:inline-block;
	margin:0 0.25rem 0 0.25rem;
}
#mainMenu li a{
	font-size:1.25rem;
	display:block;
	line-height:3.5rem;
	padding:0 2.5rem 0 2.5rem;
	white-space: nowrap;
	background:#ffffff;
	-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,0.5);
	box-shadow:inset 0 0 1px 0 rgba(0,0,0,0.5);
	-webkit-transition: all 250ms ease-in-out;
	-moz-transition: all 250ms ease-in-out;
	-ms-transition: all 250ms ease-in-out;
	-o-transition: all 250ms ease-in-out;
	transition: all 250ms ease-in-out;
}
#mainMenu li a:hover,
#mainMenu li a.active{
	color:#ffffff;
	background:#e20026;
	-webkit-box-shadow:inset 0 0 10px 0 rgba(0,0,0,0.2);
	box-shadow:inset 0 0 10px 0 rgba(0,0,0,0.2);
}
#mainMenu li ul{
	display:none;
	min-width:100%;
	top:3.5rem;
}
#mainMenu li:hover ul{
	display:block;
	position:absolute;
}
#mainMenu .parent li{
	margin:0;
	width:100%;
}
#mainMenu .parent li a{
	line-height:2.5rem;
	width:100%;
}
#mainMenu .parent li ul {
	display:none;
}
#mainMenu .parent li:hover ul {
	display:block;
	position:absolute;
	left:100%;
	top:0;
}

@media only screen and (max-width: 1024px) {
	#mainMenu li a{
		font-size:1rem;
		line-height:3rem;
		padding:0 1.5rem 0 1.5rem;
	}
	#mainMenu li ul{
		top:3rem;
	}
}
@media only screen and (max-width: 768px) {
	#mainMenu{
		margin:0 auto 0;
	}
	#mainMenu h2{
		position:fixed;
		display:block;
		top:0;
		left:0;
		right:0;
		margin:0 auto;
		font-size:1rem;
		line-height: 2rem;
		background:#ffffff;
		border-bottom:1px solid #808080;
		z-index:1;
		cursor:pointer;
	}
	#mainMenuList{
		display:none;
	}
	#mainMenuList.mainMenuActive{    
		position: fixed;
		display: block;
		left: 0;
		top: 2rem;
		width: 100%;
	}
	#mainMenuList.mainMenuActive li{
		margin:0;
		width:100%;
		display:block;
	}
	#mainMenuList.mainMenuActive a{
		width:100%;
	}
	#mainMenuList .lvl2{
		display:none!important;
	}
}

/* -------------------- Content -------------------- */
#content{
	width:100%;
	max-width:75rem;
	margin:0 auto 3rem;
}
.banner{
	position:relative;
	width:100%;
	padding:0.625rem;
	margin-bottom:2rem;
	border:1px solid #d9d9d9;
	background:#ffffff;
	-webkit-box-shadow:0.5rem 0.5rem 0.75rem 0 rgba(0,0,0,0.4);
	box-shadow:0.5rem 0.5rem 0.75rem 0 rgba(0,0,0,0.4);
}
.banner img{
	width:100%;
}
.banner h1{
	position:absolute;
	max-height:9.75rem;
	max-width:90%;
	right:0;
	bottom:2rem;
	line-height:100%;
	padding:0.5rem 1rem 0.5rem 0.5rem;
	background:#ffffff;
}
.banner h1:after{
	position:absolute;
	content:'';
	background:url(images/banner-h1-bg.png) top right no-repeat;
	background-size:10.125rem 9.75rem;
	display:block;
	height:100%;
	width:10.125rem;
	left:-9.75rem;
	top:0;
}
.text{}
.tabs{
	width:30%;
	float:left;
}
.tabs ul{
	list-style-image:none;
	list-style:none;
}
.tabs li{
	background-image:none;
	padding:0 1rem 0 2rem;
	margin-bottom:0.5rem;
	cursor:pointer;
}
.tabs li:hover,
.tabs li.tabActiveHeader{
	background:url(images/list-style-image.png) no-repeat left 0.1875rem;
}
.tabscontent{
	width:69%;
	float:right;
}
.tabpage{
	width:100%;
	margin-bottom:2rem;
}
.tabpage:after{
	content:'';
	display:table;
	clear:both;
}
.tabpage h2{
	display:none;
}
.tabscontent img{
	width:100%;
	padding:0.625rem;
	border:1px solid #d9d9d9;
	background:#ffffff;
	-webkit-box-shadow:0.5rem 0.5rem 0.75rem 0 rgba(0,0,0,0.4);
	box-shadow:0.5rem 0.5rem 0.75rem 0 rgba(0,0,0,0.4);
	margin-bottom:2rem;
}
.tabpage .tabpageText{
}
.tabpage ul{
	list-style-position:outside;
}
.tabpage li{
	padding-left:1.75rem;
}
@media only screen and (max-width: 768px) {
	.tabs{
		display:none;
	}
	.tabscontent{
		width:100%;
	}
	.tabpage{
		display:block!important;
	}
	.tabpage h2{
		display:block;
	}
}

.contentCategories{
	display:none;
	margin-bottom:2rem;
	border-bottom:1px solid #d9d9d9;
}
.contentCategories article{
	margin:0 4% 4% 0;
	width:48%;
	float:left;
	position:relative;
	border:1px solid #d9d9d9;
	background:#ffffff;
	-webkit-box-shadow:0.5rem 0.5rem 0.75rem 0 rgba(0,0,0,0.4);
	box-shadow:0.5rem 0.5rem 0.75rem 0 rgba(0,0,0,0.4);
	-webkit-transition: all 250ms ease-in-out;
	-moz-transition: all 250ms ease-in-out;
	-ms-transition: all 250ms ease-in-out;
	-o-transition: all 250ms ease-in-out;
	transition: all 250ms ease-in-out;
}
.contentCategories article:nth-child(2n){
	margin-right:0;
}
.contentCategories img{
	width:100%;
	padding:0.625rem;
}
.contentCategories article:hover{
	-webkit-box-shadow:0.125rem 0.125rem 0.25rem 0 rgba(0,0,0,0.4);
	box-shadow:0.125rem 0.125rem 0.25rem 0 rgba(0,0,0,0.4);
}
.contentCategories .categoryName{
	position:absolute;
	bottom:15%;
	right:1%;
	background:#ffffff;
	padding:0.5rem 0.625rem 0.5rem 0.5rem;
	max-width:90%;
	font-size:1rem;
}
.contentCategories .categoryName:after{
	position:absolute;
	content:'';
	background:url(images/banner-h1-bg.png) top right no-repeat;
	background-size:10.125rem 9.75rem;
	display:block;
	height:100%;
	width:10.125rem;
	left:-9.75rem;
	top:0;
}
@media only screen and (max-width: 768px) {
	.contentCategories{
		display:block;
	}
}
@media only screen and (max-width: 480px) {
	.contentCategories article{
		margin:0 0 2rem 0;
		width:100%;
		float:left;
		position:relative;
	}
}

/* -------------------- Footer -------------------- */
#footer{
	width:100%;
	max-width:75rem;
	margin:0 auto;
	padding:1rem;
	font-size:0.75rem;
	text-align:center;
	border-top:1px solid #d9d9d9;
}

/* ############################## Seiten ############################## */

/* -------------------- Imprint -------------------- */
.imprintName{
	font-weight:600;
}
.imprintAddress{
	margin-bottom:1rem;
}
.imprintOwner{
	margin-bottom:2rem;
}
.imprintTelephone{}
.imprintFax{}
.imprintEmail{}

/* ############################## Galerie ############################## */

#dhtmlgoodies_slideshow{
	width:100%;
}
#previewPane{
	margin-bottom:2rem;	
	text-align:center;
	vertical-align:middle;
	position:relative;
	height: 32rem;
}
#previewPane img{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	max-height:100%;
	max-width:100%;
	display:inline;
	width:auto;
	padding:0.625rem;
	border:1px solid #d9d9d9;
	background:#ffffff;
	-webkit-box-shadow:0.5rem 0.5rem 0.75rem 0 rgba(0,0,0,0.4);
	box-shadow:0.5rem 0.5rem 0.75rem 0 rgba(0,0,0,0.4);
}
#previewPane #largeImageCaption{	/* CSS styling of image caption below large image */
	display:none!important;
}
#galleryContainer{
	height:6.4rem;
	position:relative;
	overflow:hidden;
}
#arrow_left,
#arrow_right{
	position:absolute;
	z-index:10;
	padding:1px;
	cursor:pointer;
}
#arrow_right{
	right:0px;	
}
#arrow_left{
	left:0px;	
}
#theImages{
	position:absolute;
	height:100%;
	left:3rem;
	width:100000px;
}
#theImages #slideEnd{
	float:left;
}
#theImages img{
	float:left;
	padding:0 0.125rem 0 0.125rem;
	filter: alpha(opacity=50);
	opacity: 0.5;
	cursor:pointer;
	border:0px;
	max-height:100%;
	-webkit-transition: all 150ms ease-in-out;
	-moz-transition: all 150ms ease-in-out;
	-ms-transition: all 150ms ease-in-out;
	-o-transition: all 150ms ease-in-out;
	transition: all 150ms ease-in-out;
}
#waitMessage{
	display:none;
	position:absolute;
	left:200px;
	top:150px;
	background-color:#FFF;
	border:3px double #000;
	padding:4px;
	color:#555;
	font-size:0.9em;
	font-family:arial;	
}
#theImages .imageCaption{
	display:none;
}