* {margin:0; padding:0;}

/*------ Fixes, Workarounds etc. ----- */
.mainclearfix:after {	/*--- Clearfix für das Float-clearing ---*/
    content: "."; display: block; height: 0; clear: both; visibility: hidden;}
/* Hides from IE-mac \*/
* html .mainclearfix {height: 1%;}
/* End hide from IE-mac */
.mainclearfix {display:  inline-block;}

/* ---------- Basic --------- */
html {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 100.1%;
	background-color:#7f7f7f;
    }
body {text-align: center;}
form.xxl {
	font-family: Arial, Helvetica, sans-serif;
	font-size: .75em;
	text-align: left;
	width: 966px;		/* Total-Width: 707px */
	margin: 0 auto;	
	background-color: #fff;
	}
#accesskeys {
	display: inline;
	left: -1000px;
	overflow: hidden;
	width: 0px;
	position: absolute;
	top: -1000px;
	height: 0px }
	
/* ------------ GLOBALE ELEMENTE ------------- */
img {vertical-align: bottom;}
a, a:link, a:visited, a:hover, a:active {text-decoration:none; color:#000099; text-decoration:underline;}

/* ------------ Layout ------------- */
.printheader {display:none;}
#layout {margin: 0 0 0 10px;}
#flashcontent {
	vertical-align:bottom;
	float:left;
	width:560px !important;
	height:86px !important;
	display:block;
	}

/* Hauptcontainer für Layout mit Clearfix */
/* HEADER */
#header {
	font-size: .93em;
	padding: 0;
	margin: 0;
	width: 947px;	
	height: 86px;
	border-bottom:1px solid #003580;
	border-top:7px solid #fff;}
#headerbox-left {
	width: 193px;	
	height: 86px;
	float:left;
	}
#headerbox-left p {padding: 0; margin: 0;}
#headerbox-right {
	padding: 0 0 0 7px;
	margin: 0;
	width: 187px;	
	height: 86px;
	float:left;
	background:#ccc;}
/*	background:url(../images/design/bg_headerbox_right.gif) top left no-repeat; */
#headerbox-right ul {margin: 7px 0 36px 0; float:left; list-style-type:none;}
#headerbox-right ul li {
	padding: 0;
	margin: 0 5px 0 0;
	float:left;
	list-style-type:none;}
#headerbox-right ul li a {color:#000; text-decoration:underline;}

/* MAINNAVIGATION - Listenelement */
#mainnav {
	width: 947px;
	height: 25px;
	padding:0;
	border-top:1px solid #FFF;
	background:#003580 url(../images/design/bg_mainnav_border.gif) bottom left repeat-x;}		
#mainnav ul {
	margin:0; 
	float:left; 
	font-weight:bold;
	display:inline; 
	list-style-type:none;}
#mainnav ul li { 
	list-style-type:none;
	display:block; 
	float:left; 
	height:23px;  
	line-height:1.67em; 
	padding:0 9px;
	border-left:1px solid #fff;}

#mainnav ul li:first-child {margin-right:91px; border-left:none;}

/* MAINNAVIGATION - Navigationselement */
#mainnav ul li a {
	text-decoration:none; 
	float:left; 
	padding:0 10px; 
	margin:0 -10px; 
	display:block; 
	height:25px; 
	color:#fff;}
#mainnav ul li a:hover {color:#003580; background:#fff;}
#mainnav ul li a.aktiv {color:#003580; background:#fff;}

#mainnav ul li a:hover.os-aktiv {background:#fff;}
#mainnav ul li a.os-aktiv {background:#fff;}
		
#breadcrumb {margin:10px 0 0 10px; float:left;}
#breadcrumb ul {   
    margin:0 !important;
    line-height:1.82em;
	font-size: .88em;
    float:left;
	list-style-type:none !important;
	}
#breadcrumb ul li:first-child {
	float:left;
	background:none;
	}
#breadcrumb ul li {    
	padding: 0 0 0 13px;
	float:left;
	background:url(../images/design/bg_listimage_breadcrumb.gif) 0.4em .7em no-repeat;
	}
#breadcrumb a.aktiv {
	color:#000;
	text-decoration:none;
	}
#maincontainer {
	float:left;
	width: 947px;
	padding:0 0 10px 0;	
	background:#BFCCDF;
	}
#maincontainerbox-left {
	float:left;
	margin:0;
	padding:0 0 8px 0;
	width: 193px;
	}
.secnavbox {
	margin:0 0 5px 0;
	background:#FFF;
	}
.secnavbox ul {
	list-style-type:none;
	}	
.secnavbox ul li {
	display:block;
	margin:0 0 1px 0;
	line-height:20px;
	list-style-type:none;
	clear:left; float:none;
	}
.secnavbox ul li a, .secnavbox ul li a:link, .secnavbox ul li a:visited  {
	padding: 0 0 1px 10px;
	text-decoration:none;
	color:#000;
	font-weight:normal;
	background:#BFCCDF;
	display:block;
	list-style-type:none;
	}
.secnavbox ul li a:hover {
	color:#000;
	background:#fff;
	}
.secnavbox ul li.first {
	width: 193px;
	background:#F42941; 
	float:left;
	}
.secnavbox ul li a.back {
	background:#F42941 !important; 
	color:#FFF !important; 
	font-weight:bold; 
	width:161px; 
	min-height:20px; 
	border-right:1px solid #fff; 
	float:left;
	}
.secnavbox ul li a.aktiv {
	color:#fff !important;
	background:#F42941 !important;
	}	
.secnavbox ul li a.aktivActTabId {
	color:#fff !important;
	background:#ff8190 !important;
	}
.secnavbox ul li a.aktivActTabId:hover {
	background:#209c46;
	color:#fff;
	}
#maincontainerbox-center, #front-maincontainerbox-center {
	float:left;
	padding:0 0 8px 0;
	width: 555px;
	background:#fff;
	}
.containerbox-center {
	min-height:340px;
	background:#fff;
	padding:10px 14px 0 10px; 
	width:531px;	
	float:left;	
	display:block;	
	}
.front-containerbox-center {
	margin:0;
	padding:10px 14px 0 10px; 
	width:531px;
	float:left;		
	background:#FFF;}	
	
/* FOOTER */	
.footer {
    border-top:1px solid #999999;
	font-size:.95em;
	float:left;
	padding:18px 0 20px 0;
	margin:0 0 0 10px;
	display:inline;		
	width:532px;}	
.footer p {
    float:left;
	display:block;
	padding:0 8px 0 0;
	}

/* MAINCONTAINER -  */
.maincontainerbox-right {
	font-size:1em;
	background:none;
	float:left;
	margin:0 0 10px 4px;
	width: 194px;}
.containerbox-right {background:#fff; float:left; width:184px; padding:4px 3px 7px 7px; margin:0 0 5px 0;}
.containerbox-right ul {margin: 0 0 0 2px; list-style-type:none;}
.containerbox-right ul li {	
	padding: 0;
	margin: 0 0 1px 0;
	list-style-type:none;}
.containerbox-right ul li a, 
.containerbox-right ul li a:link, 
.containerbox-right ul li a:visited {text-decoration:underline;}
.containerbox-right ul li a:hover, 
.containerbox-right ul li a:active {text-decoration:underline;}	

.sitemap {list-style-type:none;}
.sitemap li {	
	padding: 0 0 0 12px;
	margin: 0 0 1px -18px;
	list-style-type:none;	
	background:url(../images/design/bg_listimage_gennav.gif) top left no-repeat;}	

/* Bildpositionierungen */
#header img {
	vertical-align:top;  
	float:left;}

/* Suche */
.searchbox {float:left;}
.errorText {color:red;}	
input.searchfield {
	float:left;
	color:#757575;
	font-size: 0.88em;
	height: 15px;
	width: 144px;
	border: 1px solid #757575;	
	background: #FFF;
	padding: 3px 4px 0 4px;
	margin:0 4px 0 0;}
img.search-button {float:left; border:none;}

.maincontainerbox-right h1 {
	margin:0;
	padding:0;
	font-size:1em;
	display:block;}
.maincontainerbox-right div.content {padding:1px 3px; width:152px; font-size:1em;}	
	
#HomeBannerLinks{text-align:center;}		
#HomeBannerLinks img{display:block;}
	
#maincontainerbox-center h1, #front-maincontainerbox-center h1 {
	margin:0 0 6px 0;
	padding:0 0 4px 0;
	font-size:1.2em;
	display:block;
	border-bottom:1px solid #999999;}

#maincontainerbox-center p, #front-maincontainerbox-center p {
	margin:5px 0 !important;
	}

#maincontainerbox-center div.galerie-content {padding:0 0 0 6px; width:567px;}
	
.copyrightbox {float:left; color:#999; font-size:0.95em; width:947px; height:15px; padding:2px 0;}
img.previewimg {float:left; margin:0 5px 5px 0; border:1px solid #999999;}

.galerie {margin:0 0 0 -6px; width:579px;}
.galerie-liste {FLOAT: left; MARGIN: 0px 6px; OVERFLOW: hidden; WIDTH: 181px;}
.galerie-liste p {height:15px; display:block; width:181px;}

/* #########################################
				Textbausteine
###########################################*/

.tmpl-portrait {
	display: block; 
	float: left; 
	width: 90px
}

/************** 2 Spalten 33% - 67% **************/
.col2-33-67 {
	width: 531px;
	margin: 0;
}
.col2-33-67 .left {
	float: left;
	width: 169px;
	margin:0;
}
.col2-33-67 .right {
	float: left;
	width: 350px;
	margin: 0 0 0 12px;
}

/************** 2 Spalten 67% - 33% **************/
.col2-67-33 {
	width: 531px;
	margin: 0;
}
.col2-67-33 .left {
	float: left;
	width: 350px;
	margin:0;
}
.col2-67-33 .right {
	float: left;
	width: 169px;
	margin: 0 0 0 12px;
}

/************** 3 Spalten 33% - 33% - 33% **************/
.col3-33-33-33 {
	width: 531px;
	margin: 0;
}
.col3-33-33-33 .left {
	float: left;
	width: 169px;
	margin:0;
}
.col3-33-33-33 .middle {
	float: left;
	width: 169px;
	margin: 0 0 0 12px;
}
.col3-33-33-33 .right {
	float: left;
	width: 169px;
	margin: 0 0 0 12px;
}

/************** Portrait **************/
.portrait p {
	margin: 0; padding:0;
}
.portrait {
	width: 531px;
	margin: 0;
}
.portrait .left {
	float: left;
	width: 120px;
	margin:0;
}
.portrait .middle 
{
	float: left;
	width: 100px;
	margin: 0 0 0 12px;
}
.portrait .right 
{
	float: left;
	width: 287px;
	margin: 0 0 0 12px;
}

/************** Ämter **************/
.adress p {
	margin: 0; padding:0;
}
.adress {
	width: 531px;
	margin: 0;
}
.adress .left {
	float: left;
	width: 120px;
	margin:0;
}
.adress .right {
	float: left;
	width: 399px;
	margin: 0 0 0 12px;
}

/************** Bild mit Textumfluss **************/
.textflow {width:531px; margin: 0 0 18px 0;}
.textflow div.imgfloat-left {float:left; margin:2px 10px 3px 0;}
.textflow div.imgfloat-right {float:right; margin:2px 0 3px 10px;}	


/* ###################################### */
/* FORMULARE / TEXTFELDER ############### */

div.formular {
	width:531px;
	padding:0;
}
div.formular p {
	/*height:2px;*/
	clear:both;
	display:block;
	margin:0;
	padding:22px 0 22px 0;
}
div.formular br {
	clear: both;
}
fieldset {
	border: 1px solid #FFF;
	margin: 10px 0 0 0;
	padding: 5px;
	width:551px;
}
input.txtfield {
	float: left;
	width: 260px;
	height: 16px;
	border: 1px solid #666666;
	background:#fff;
	margin: 2px 0;
	padding:0 0 0 4px;
	font-size: .9em;
}
.txtfieldError {
	float: left;
	width: 260px;
	height: 16px;
	border: 1px solid #ff0000;
	background-color: #ffeeee;
	margin: 2px 0;
	padding:0 0 0 4px;
	font-size: .9em;
}
input.txtfield.plz {
    border: 1px solid #666666 !important;
	background:#fff !important;
	width: 90px;
	margin-right: 4px;
}
input.txtfield.ort {
	border: 1px solid #666666 !important;
	background:#fff !important;    
	width: 160px;
}
input.txtfield.year {
	border: 1px solid #666666;
	background:#fff;    
	width: 52px;
}
input.txtfield.short {
    float:left;
	border: 1px solid #666666;
	background:#fff;    
	width: 35px;
}
input.txtfieldError.plz {
	width: 90px;
	margin-right: 4px;
	border: 1px solid #ff0000;
	background-color: #ffeeee;	
}
input.txtfieldError.ort {
	width: 160px;
	border: 1px solid #ff0000;
	background-color: #ffeeee;		
}
.formtext {font-size:0.91em; line-height:17px;}
.middle {float:left; margin:0 5px 0 10px;}
label {
	float: left;
	width: 155px;
	margin: 2px 10px 2px 0;
	padding: 0 0 3px 0;
	border-bottom:1px dotted #000;
	clear: left;
	font-size:.9em;
}
legend {
	font-size: .9em;
	font-weight: bold;
	margin: 0 0 8px 0;
	padding: 0 3px;
	color: #000;
}
/* Select-Boxen */
select {
	float: left;
	font-size: .9em;
	margin: 2px 0;
	width: 267px;
}
select.day {width: 40px;}
select.month {width: 100px;}

/* Checkboxen */
span.checkbox {
	float: left !important;
}
span.checkbox input {
	float: left !important;
	margin: 5px 5px 5px 0;
	clear: none;
}

span.checkbox label {
	float:left !important;
	border-bottom:none;
	font-size:0.91em;
	width: auto;
	clear: none;
}

/* Radiobuttons */
span.radiobutton {
	float: left;
}
span.radiobutton input {
	float: left !important;
	margin: 5px 5px 5px 0;
	clear: none;
}
span.radiobutton label {
	float:left !important;
	border-bottom:none;
	font-size:0.91em;
	width: auto;
	clear: none;
}
span.radiobutton br {display: none;}

/* Trennpunkt */
span.dot {
	margin: 2px 1px 2px -1px;
	float: left;
}
/* Submit */
input.button,
input.submit {
	border: 1px solid #666666;
	background: #e7e7e7;
	color:#000;
	font-weight: bold;
	font-size: .9em;
	height: 22px;
	cursor: pointer;
}
input.submit {
	margin: 0 0 10px 165px;
	width: 266px;
}

/* Textarea */
textarea {
    float:left;
	border: 1px solid #666666;
	margin: 2px 0;
	width: 260px;
	height: 100px;
	font-size: .9em;
	padding:0 0 0 4px;	
	font-family: Arial, Helvetica, sans-serif;
}

/* Seite weiterempfehlen */
.empfehlen {
	text-align: right;
	z-index: 10;
	position: absolute;
	margin: -1px 0 0 192px;
	width: 320px;
	text-decoration: none;
	color: black;
}

div.empfehlen a span, div.empfehlen a:link span {
	display: block;
	padding: 0 10px 0 0;
}

div.empfehlen #empfehlenFormular fieldset legend {
	font-size: 1.1em;
}
#empfehlenFormular {
	border-top:1px solid #999999;
	border-left:1px solid #999999;	
	border-right:1px solid #999999;	
	text-align: left;
	background: #BFCCDF;
	display: none;
	margin: 0 0 0 10px;
	padding: 0 0 0 20px;
	width:510px !important;
}
div.empfehlen label {
	width: 150px;
	margin: 0 0 0 10px;
}
#empfehlenFormular input.submit {
	margin: 10px 0 0 165px;
	width: 266px;
}

/* ###################################### */

table {
	width: 100%;
	font-size: 1em;
	border: none;
}
	
tr.odd {
	background-color: #e7e7e7; }
td {padding:3px 6px;}


/* ###################################### */
/* Formatierungen Contentbereich ######## */

h2 {font-size:1.2em; color:#000; margin-bottom:8px;}
h3 {font-size:1.1em; margin-bottom:8px;}
#maincontainerbox-center ul {display:list-item; list-style:square; margin:10px 0 10px 20px;}
#maincontainerbox-center ul li p {margin:0;}
#maincontainerbox-center ol {display:list-item; list-style-position:inside; margin:10px 0 10px 4px;}

.separator {display: block; margin: 8px 0px; border-bottom: #999999 1px solid; width: 531px;}

table.calendar td,
table.calendar th,
table.calendar_range td,
table.calendar_range th {
    padding-left:1px;
    padding-right:1px;
    padding-top: 2px;
    padding-bottom: 2px;
    margin:0px;
}
table.calendar_range span.label,
table.calendar_range label {
    width: auto;
}
table.calendar_range input,
table.calendar_range submit {
    width: 90px;
}
