/* html-tags */
body {
	margin: 0;
	padding: 0;
	color: #fff;
	background: #000 no-repeat fixed center bottom;
}

img {
	border-style: none;
}

a:link, a:visited, a:focus, a:active {
	color: #ffffff;
	font-weight: bold;
	text-decoration: underline;
}

a:hover {
	color: #666666;
}

h1, h2, h3, h4, h5, h6 {
	margin-top: 2em;
	margin-bottom: 0.5em;
}

ul, ol {
	margin-top: 2em;
}

li {
	margin-bottom: 1em;
}

li p {
	margin: 0;
}

td, th {
	margin: 0;
	padding: 0 15px 5px 0;
	text-align: left;
	border: none;
}

td p, th p {
	margin: 0;
}

td p.bodytext, th p.bodytext {
	margin: 0 10px 5px 0;
}

input, textarea, password {
	border: 1px solid #fff;
	background-color: #000;
	margin-bottom: 10px;
	color: #fff;
}

label, #submitSpacer {
	display: block;
	float: left;
	width: 8em;
	text-align: right;
	margin-right: 10px;
}

form br {
	clear: both;
}

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

/* general styles */
.clr {
	clear: both;
}

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

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

.imgFloatMargin {
	margin-top: 2em;
}

.imgFloatMargin img {
	margin-right: 20px;
}

.imgRightAlign {
	text-align: right;
	display: block;
	margin-bottom: 15px;
}

.floatLeftWide {
	float: left;
	margin-right: 50px;
}

.justifyNoMargin {
	text-align: justify;
	margin: 0;
}

.noMargin, .noLineSpacing li{
	margin: 0;
}

.newsEntry {
	clear: both;
	margin-bottom: 20px;
}

.errorMsg, .successMsg {
	background-color: red;
	font-weight: bold;
	padding: 10px;
	margin: 20px 10px;
}

.successMsg {
	background-color: green;
}

.blacktext {
	color: #000;
	text-shadow: 1px 1px 4px white;
}

/* layout */
#main {
	font: 10pt "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
	position: relative;
	margin: 0 auto;
	width: 100%;
	min-width: 900px;
	max-width: 1920px;
	color: #fff;
	overflow: hidden;
}

#main_head {
	height: 160px;
	background: #000 url(../img/template/head_bg.png) repeat-y right top;
	overflow: hidden;
}

#main_foot {
	clear: both;
	font-size: 66%;
	text-align: center;
	padding: 25px 0;
}

#logo {
	background: url(../img/template/logo.png) no-repeat left top;
	width: 235px;
	height: 75px;
	top: 20px;
	left: 50px;
	position: absolute;
	z-index: 2;
}

#logo a {
	display: block;
	width: 470px;
	height: 150px;
	text-indent: -1999px;
	overflow: hidden;
}

#banner {
	background: url(../img/template/mhm_zeichnung.png) no-repeat right top;
	height: 70px;
	width: 450px;
	top: 20px;
	right: 20px;
	position: absolute;
}

#banner #kontakt a {
	position: absolute;
	top: 20px;
	right: 364px;
	color: #fff;
	text-decoration: none;
	font-size: 12pt;
}

#welle {
	background: url(../img/template/welle.png) no-repeat right 0;
	height: 141px;
	width: 100%;
	position: absolute;
	top: 80px;
}

#welle div {
	background: url(../img/template/welle_links.png) repeat-x 0 0;
	height: 141px;
	margin-right: 330px;
}

#content {
	line-height: 1.5em;
	text-shadow: 1px 1px 4px black;
}

#main_cont {
	width: 100%;
	margin-right: -447px;
	float: left;
}

#main_cont .wrap {
	margin: 60px 447px 0 47px;
}

#main_cont2 {
	font-size: 9pt;
	width: 310px;
	float: right;
}

#main_cont2 .wrap {
	margin: 60px 47px 0 0;
}

/* drop-down menu */
#menu {
	position: absolute;
	top: 129px;
	left: 20px;
}

#menu, #menu li, #menu ul {
	list-style: none;
	float: left;
	margin: 0;
	padding: 0;
}

#menu li {
	height: 30px;
	line-height: 30px;
	z-index: 5;
	position: relative;
}

#menu a, #menu span.separator {
	display: block;
	color: #fff;
	text-decoration: none;
	font-weight: normal;
	padding: 0 16px 0 2px;
	margin-left: 6px;
}

#menu span.separator {
	cursor: default;
}

#menu ul a, #menu ul span.separator {
	width: auto;
	color: #fff;
	text-decoration: none;
	font-weight: normal;	
	padding: 0 10px;
	margin-left: 0;
}

#menu a span, #menu span.separator span {
	text-align: center;
	font-size: 14pt;
	padding: 0 5px 0 13px;
}

#menu ul a span, #menu ul span.separator span {
	font-size: 10pt;
	padding: 0 5px;
}

#menu li.active a span, #menu li.active span.separator span {
	border-left: 8px solid #22357b;
	padding-left: 5px;
}

#menu li.active li a span, #menu li.active li span.separator span {
	border-left-style: none;
}

#menu ul {
	position: absolute;
	top: 30px;
	left: -9999em;
	background: url(../img/template/menu_dropdown.png) no-repeat center bottom;
	padding-bottom: 11px;
}

#menu ul li {
	clear: both;
	width: 185px;
	height: 25px;
	line-height: 25px;
	border: 1px solid #ccc;	
	border-bottom-style: none;
	background: #182442;
	padding: 0;
}

#menu li:hover, #menu li.hover {
	background: url(../img/template/menu_tab_l.png) no-repeat left top;
}

#menu li:hover a, #menu li:hover span.separator,
#menu li.hover a, #menu li.hover span.separator {
	background: url(../img/template/menu_tab_r.png) no-repeat right top;
}

#menu li:hover li, #menu li:hover li a, #menu li:hover li span.separator,
#menu li.hover li, #menu li.hover li a, #menu li.hover li span.separator {
	background-image: none;
}

#menu li:hover ul, #menu li.sfhover ul {
	left: auto;
	z-index: 100;
}

#menu ul li:hover a, #menu ul li:hover span.separator,
#menu ul li.hover a, #menu ul li.hover span.separator {
	background-color: #000;
}