/* Common Styles ============================================================ */

html,
body {
	color: #000000;
	background-color: #F6F6F6;
	background-image: url('images/bg');
	background-repeat: repeat;
	background-attachment: fixed;
}

body {
	font-family: verdana, helvetica, arial, sans-serif;
	font-size: 78%;
	margin: 0;
	padding: 0;
}

a {
	font-weight: bold;
	text-decoration: underline;
	color: #33AA33;
	background: transparent;
}

a:visited {
	color: #338833;
	background: transparent;
}

a:hover {
	text-decoration: none;
	color: #33AA33;
	background: transparent;
}

a:visited:hover {
	text-decoration: none;
	color: #338833;
	background: transparent;
}

abbr, acronym, .titleTip {
	border-bottom: 1px dotted #999999;
	cursor: help;
	margin: 0;
	padding: 0 0 0.4px 0;
}

code {
	font-family: "courier new", courier, monospace;
	font-size: 100%;
}

.doNotDisplay {
	display: none;
}

form {
	margin: 0px;
	padding: 0px;
}

img {
	border: none;
}

img.toLeft,
img.toRight {
	clear: right;
	margin: 0 1em 0.5em 3em;
	border: 1px solid #000000;
}

input, option, select, table, textarea {
	font-family: verdana, helvetica, arial, sans-serif;
	font-size: 100%;
}

.small {
	font-size: 90%;
}

.smallCaps {
	font-size: 110%;
	font-variant: small-caps;
}

sub, sup {
	font-size: 70%;
}

table, tr, th, td {
	border: none;
}
th {
	font-weight: bold;
	text-align: center;
}

/* Header =================================================================== */


#header {
	margin-top: 0;
	margin-bottom: 0;
	margin-right: 0;
	margin-left: 22em;
	padding: 0;
	border-left: 0px solid #338833;
}

#mainHeader {
	text-align: center;
	margin: 0;
	padding: 0;
	height: 90px;
	overflow: hidden;
}

img#logo {
	margin-top: 7px;	/* ($headerHeight - logoHeight) / 2 = (90 - 76) / 2 = 7 */
}

/* SideBar / Menu =========================================================== */


#sideBar {
	position: absolute;
	overflow: visible;
	top: 0;
	left: 0;
	width: 22em;
	height: 100%;
	margin: 0;
	padding: 0;
}

html>body #sideBar {	/* ">" : no old browser (incl. Win-IE) */
	position: fixed;
}

#sideBarHeader {
	height: 90px;
	text-align: center;
}

img#sideBarLogo {
	margin-top: 23px;	/* ($headerHeight - logoHeight) / 2 = (90 - 44) / 2 = 23 */
}

#sideBar ul.menu {
	list-style: none;
	margin: 0 1em 1em 1em;
	padding: 0;
	border: 1px solid #000000;
}
#sideBar ul.submenu {
	list-style: none;
	margin: 0;
	padding: 0;
}
.menu-subline {
	display: none;
}
#sideBar ul.submenu .menu-subline {
	color: #338833;
	display: inline-block;
	font-size: 90%;
	font-style: italic;
	padding: 3px 0 2px 0;
}
#sideBar ul.menu a {
	overflow: hidden;
}

#sideBar ul.menu li.title {
	font-weight: bold;
	margin: 0;
	padding: 0;
}
#sideBar ul.menu li.title a {
	display: block;
	font-size: 100%;
	font-weight: bold;
	text-decoration: none;
	margin: 0;
	padding: 0.5ex 0.1ex 0.5ex 0.5ex;
}
/* Workaround for IE: */
* html #sideBar ul.menu li.title a {
	height: 1.45em;	/* all IE */
	he\ight: 1.2em;	/* IE 6(+) */
}
#sideBar ul.menu li.title,
#sideBar ul.menu li.title a {
	color: #FFFFFF;
	background: #338833;
}
#sideBar ul.menu li.title a:hover {
	color: #E5E5E5;
	background: #338833;
}

#sideBar ul.menu li.entry {
	font-size: 100%;
}
#sideBar ul.menu li.entry li.entry {
	font-size: 100%;
}
#sideBar ul.menu li.entry a {
	display: block;
	font-weight: normal;
	text-decoration: none;
	margin: 0;
	padding: 4px 0.1ex 4px 0.5ex;
	border-width: 1px 0 0 0;
	border-style: solid;
	border-color: #000000;
}
#sideBar ul.menu li.entry a {
	color: #000000;
	background: #FFFFFF;
}
#sideBar ul.menu li.entry a.highlight {
	color: #000000;
	background: #E0FFE0;
}
#sideBar ul.menu li.entry a:hover {
	color: #000000;
	background: #E5E5E5;
}
#sideBar ul.menu li.entry a.highlight:hover {
	color: #000000;
	background: #E5E5E5;
}

#sideBar ul.menu li.subLevel1 a {
	font-weight: normal;
	padding-left: 0.5em;
	border-top-width: 1px;
	border-style: dotted;
	border-color: #999999;
}

#sideBar ul.menu li.subLevel2 a {
	font-weight: normal;
	padding-left: 2.5ex;
	border-top: none;
}

#sideBar ul.menu img.subMenuIcon {
	float: right;
	margin: 0.5ex 0.5ex 0 0;
}

#sideBar ul.menu li.open a {
	font-weight: bold;
}
#sideBar ul.menu li.open li a {
	font-weight: normal;
}
#sideBar ul.menu li.open li.open a {
	font-weight: bold;
}
#sideBar ul.menu li.open li.open li a {
	font-weight: normal;
}

#sideBar ul.menu li.open li a,
#sideBar ul.menu li.open li.open li a {
	border-top-width: 1px;
}
#sideBar ul.menu li.withSeparator a {
	border-top-width: 2px;
	border-top-color: #338833;
}
#sideBar ul.menu li.open li.withSeparator a {
	border-top-style: solid;
	border-top-width: 1px;
	border-top-color: #338833;
}
#sideBar ul.menu li.open li.open li.withSeparator a {
	border-top-width: 1px;
	border-top-style: dotted;
	border-top-color: #33AA33;
}

#sideBar div.text {
	overflow: hidden;
	margin: 0 1em 1em 1em;
	border: 1px solid #000000;
}
#sideBar div.text div.title {
	font-size: 100%;
	font-weight: bold;
	margin: 0;
	padding: 0.5ex 0.1ex 0.5ex 0.5ex;
	color: #000000;
	background: #CCCCCC;
}
#sideBar div.text div.entry {
	display: block;
	font-size: 90%;
	line-height: 1.3em;
	margin: 0;
	padding: 2px 0.5ex 2px 0.5ex;
	border-width: 1px 0 0 0;
	border-style: solid;
	border-color: #000000;
	color: #000000;
	background: #F9F9F9;
}


/* Title ==================================================================== */

#title {
	margin-left: 22em;
	background-color: #FFFFFF;
}
body#help #title {
	margin-left: 0;
}

#title div.toRight {
	font-size: 90%;
	padding: 0.8ex 1.5ex 0 1.5ex;
}
#title div.toRight,
#title div.toRight a {
	color: #FFFFFF;
	background: #338833;
}
#languages {
	font-weight: bold;
}

#title h1,
body#help h1 {
	font-size: 105%;
	font-weight: bold;
	text-align: left;
	margin: 0;
	padding: 0.5ex 1ex 0.5ex 1ex;
	color: #FFFFFF;
	background: #338833;
}

/* Content ================================================================== */

#content {
	line-height: 1.5em;
	text-align: left;
	margin-left: 22em;
	padding-top: 1px;	/* > 0, otherwise the border starts too low */
	padding-bottom: 2ex;
	padding-right: 2.5ex;
	padding-left: 2.5ex;
	border-left: 1px solid #338833;
	background: #FFFFFF;
}
body#help #content {
	margin-left: 0;
	border-left: none;
}

#content p,
#content address {
	margin: 0.5em 0 1em 0;
	padding: 0;
}
#content p.block {
	text-align: justify;
}

#content p.highlight, #content span.highlight {
	font-weight: bold;
	padding: 0 0.5ex 0 0.5ex;
	border: 1px solid;
	color: #338833;
	background: #F0FFF0;
}
#content p.achtung, #content .achtung {
	font-weight: bold;
	color: #338833;
}

h2 {
	font-size: 115%;
	font-weight: bold;
	font-style: italic;
	text-align: left;
	margin: 1em 0 1em 0;
	padding: 0;
	color: #000000;
	background: transparent;
}

h3 {
	font-size: 105%;
	font-weight: bold;
	text-align: left;
	margin: 1em 0 1em 0;
	padding: 0;
	color: #000000;
	background: transparent;
}

h4 {
	font-size: 100%;
	font-weight: bold;
	text-align: left;
	margin: 1.5em 0 0.5em 0;
	padding: 0;
	color: #000000;
	background: transparent;
}

h5 {
	font-size: 100%;
	font-weight: bold;
	font-style: italic;
	text-align: left;
	margin: 1.5em 0 0.5em 0;
	padding: 0;
	color: #000000;
	background: transparent;
}

h6 {
	font-size: 90%;
	font-weight: bold;
	text-align: left;
	margin: 1.5em 0 0.5em 0;
	padding: 0;
	color: #000000;
	background: transparent;
}

h1.box, h2.box, h3.box, h4.box, h5.box, h6.box {
	clear: both;
	margin: 2em -0.5ex 0.5em -0.5ex;
	padding: 0.25ex 1ex 0.25ex 1ex;
	color: #FFFFFF;
	background: #338833;
}


dl {
}
dt {
	font-weight: bold;
	margin: 0;
	padding: 0 0 0.5ex 0;
}
dt.subLevel1 {
	margin-left: 2em;
}
dt.subLevel2 {
	margin-left: 4em;
}
dt.subLevel3 {
	margin-left: 6em;
}
dl.menu dt {
	font-size: 110%;
}
dl.menu dt.subLevel1 {
	margin-left: 1.818em;	/* 2em / 110% */
}
dl.menu dt.subLevel2 {
	margin-left: 3.636em;	/* 4em / 110% */
}
dl.menu dt.subLevel3 {
	margin-left: 5.454em;	/* 6em / 110% */
}
dt.withSeparator {
	padding-top: 1ex;
	border-top: 1px solid #CCCCCC;
}
dd {
	margin: 0 0 1em 2em;
	padding: 0;
}
dd.subLevel1 {
	margin-left: 4em;
}
dd.subLevel2 {
	margin-left: 6em;
}
dd.subLevel3 {
	margin-left: 8em;
}

dl.compact dt {
	clear: left;
	float: left;
	font-size: 100%;
	padding: 0;
	margin-right: 0.5em;
}
dl.compact dd {
	margin: 0;
}
dl.compact5 dd { margin-left: 5em; }
dl.compact6 dd { margin-left: 6em; }
dl.compact7 dd { margin-left: 7em; }
dl.compact8 dd { margin-left: 8em; }
dl.compact9 dd { margin-left: 9em; }
dl.compact10 dd { margin-left: 10em; }
dl.compact11 dd { margin-left: 11em; }
dl.compact12 dd { margin-left: 12em; }
dl.compact13 dd { margin-left: 13em; }
dl.compact14 dd { margin-left: 14em; }
dl.compact15 dd { margin-left: 15em; }
dl.compact16 dd { margin-left: 16em; }
dl.compact17 dd { margin-left: 17em; }
dl.compact18 dd { margin-left: 18em; }
dl.compact19 dd { margin-left: 19em; }
dl.compact20 dd { margin-left: 20em; }

ul {
	padding-left: 0;
	margin-left: 2em;
}

hr.separator {
	margin: 1em 0 1em 0;
	border: 1px solid;
	border-color: #338833;
	color: #338833;
	background: #338833;
}

.toLeft {
	float: left;
}
.toRight {
	float: right;
}
.colLeft, .colLeftWithSep {
	float: left;
	width: 49%;
	margin-bottom: 0.5em;
}
.colRight, .colRightWithSep {
	float: right;
	width: 49%;
	padding-left: 0.75%;
	margin-bottom: 0.5em;
}
.colLeftWithSep {
	padding-right: 0.75%;
	border-right: 1px solid;
}
.colRightWithSep {
	border-left: 1px solid;
}
.colLeft h4, .colLeftWithSep h4,
.colRight h4, .colRightWithSep h4,
.toLeft h4, .toRight h4 {
	margin-top: 1ex;
}
.toRight h3 {
	margin-top: 0;
}
.clearLeft, .toLeftEnd {
	clear: left;
}
.clearRight, .toRightEnd {
	clear: right;
}
.clear, .colEnd {
	clear: both;
}
div.colEnd {
	height: 1px;
}
/* Workaround for IE: */
* html div.colEnd {
	height: 0;		/* all IE */
	he\ight: auto;	/* IE 6(+) */
}

/* Message Boxes ---------------------------------------- */

#content span.error {
	font-size: 100%;
	padding: 0 0.25ex 0 0.25ex;
	border: 1px solid;
}

#content p.error,
#content p.warning,
#content p.status,
#content p.info {
	font-size: 110%;
	text-align: left;
	margin: 1em 0 0.5em 0;
	padding: 0.5ex 1ex 0.5ex 1ex;
	border: 1px solid;
}

#content span.error,
#content p.error {
	font-weight: bold;
	border-color: #CC0000;
	color: #CC0000;
	background: #FFFFCC;
}

#content p.warning {
	font-weight: bold;
	border-color: #000000;
	color: #EE7700;
	background: #FFFFFF;
}

#content p.status {
	font-weight: bold;
	border-color: #008800;
	color: #008800;
	background-color: #F6F6F6;
}

#content p.info {
	font-weight: normal;
	border-color: #000000;
	color: #000000;
	background-color: #F6F6F6;
}

/* Content Boxes ---------------------------------------- */

h1.content-box, h2.content-box, h3.content-box,
h4.content-box, h5.content-box, h6.content-box {
	margin: 2em 0 0 0;
	padding: 0.25ex 1ex 0.25ex 1ex;
	border-width: 1px 1px 0 1px;
	border-style: solid;
	border-color: #000000;
	color: #FFFFFF;
	background: #338833;
}

div.content-box,
div.border-box {
	margin: 0 0 1em 0;
	padding: 0 1em 0 1em;
	border: 1px solid;
	border-color: #000000;
}

div.content-box {
	color: #000000;
	background: #F6F6F6;
}

/* Labels ----------------------------------------------- */

input[type="checkbox"],
input[type="radio"],
input[type="checkbox"] + label,
input[type="radio"] + label {
	vertical-align: middle;
}
/* Workaround for IE: */
input.checkbox,
input.radio,
label.FormRowCheckBoxDesc,
label.FormRowRadioDesc {
	vertical-align: middle;
}

table#kontaktformular input[type="text"],
table#kontaktformular textarea,
table#kontaktformular select {
	width: 300px;
}

/* Footer =================================================================== */

#footer {
	clear: both;
	margin-left: 22em;
	padding: 0.7ex 1ex 0.7ex 1ex;
	color: #FFFFFF;
	background: #338833;
}

/* Workaround for IE 5.x: */
* html #footer {
	height: 3ex;	/* all IE  */
	he\ight: auto;	/* IE 6(+) */
}

#footer div {
	font-size: 82%;
}

#footer .left {
	float: left;
}

#footer .right {
	float: right;
	text-align: right;
}

#footer .middle {
	text-align: center;
}

#footer a {
	font-weight: normal;
	text-decoration: underline;
	color: #FFFFFF;
	background: #338833;
}
#footer a:hover {
	text-decoration: none;
}

/* Specials ================================================================= */

div.galleryBox {
	float: left;
	text-align: center;
	margin: 0.5em;
}
div.galleryDia {
	width: 210px;
	height: 210px;
	background: #F6F6F6;
	border: 1px solid #000000;
}
div.galleryDia img {
	margin: 5px;
}
div.galleryText {
	width: 210px;
	height: 3.5em;
}
p.tag_leistung {
	font-style: italic;
}

span.preis {
	font-weight: bold;
}

div.termine-box {
	float: right;
	margin-top: 1ex;
	margin-left: 3em;
	padding: 1ex;
	border: 1px solid #338833;
	background: #F0FFF0;
}
div.termine-box h3 {
	margin-top: 0;
	color: #338833;
}
