/*----------------------------------- Deklarierung von HTML_Tags -------------------------------------*/

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }
html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body, button, input, select, textarea, td { font-family: 'Arial', sans-serif; color: #222; }
body { margin: 0; font-size: 12px; line-height: 1.4; background-color: #ffffff; }
a { color: #669607; }
a:hover { color: #f18800; }
a:focus { outline: none; }
a:hover, a:active { outline: 0; }
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }
form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
button[disabled], input[disabled] { cursor: default; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }
table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }
p { margin: 0; padding: 0; }
p + p { margin-top: 15px; }
h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; margin-bottom:15px; }
h1 { font-size: 2.0em; line-height: 1.2em; }
h2 { font-size: 1.6em; line-height: 1.2em; }
h3 { font-size: 1.2em; line-height: 1.2em; }
h4 { font-size: 1.0em; line-height: 1.2em; }
h5 { font-size: 0.9em; line-height: 1.2em; }
h6 { font-size: 0.8em; line-height: 1.2em; }

/*----------------------------------- Deklarierung von IDs -------------------------------------------*/

#header { height: 82px; background-color: #d9e7b7; }
#header > div { width: 980px; margin: 0 auto; position: relative;  }
#logo img { margin-top:4px; margin-left:25px; }
#tnav { position: absolute; top: 0; right: 100px; width: 225px; height: 82px; background: url(../gfx/basic/header_elem.png) no-repeat; }
#tnav > table { width: auto; margin: 0 auto; }
#tnav > table td { height: 82px; width:100%; vertical-align: middle; }
#tnav div { line-height: 1.4em; margin-left: -5px; }
#tnav a { text-decoration: none; color:#222; }
#tnav a:hover { color:#f18800; }
#tnav a.active { font-weight: bold; }
#page { width: 980px; margin: 0 auto 30px auto; background-color: #ffffff; }
#page > div { margin:0 10px 40px 10px; }
#mnav { margin-left:220px; font-size: 1.25em; font-weight:bold;  }
#mnav div { float: left; padding-top:10px; }
#mnav div + div { border-left:solid 1px #d9e7b7; }
#mnav div + div a { margin-left:10px; }
#mnav a { display:inline-block;  padding:3px 10px; margin:0 10px; text-decoration: none; color: #706F6F; background-color:#ffffff; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
#mnav a:hover { background-color:#d9e7b7; color:#000; }
#mnav a.active { background-color:#87bd25; color:#fff; }
#content { margin-top: 35px; }
#col_1 { width: 210px; float: left; border-right: solid 5px #cccccc; background-color: #ececec; }
#col_1  > div { padding:15px; }
#col_1 #snav + .box { margin-top:25px; }
#col_1 .box { padding:0; }
#col_2 { width: 745px; float: left; margin-left:-5px; overflow:auto; border-left: solid 5px #cccccc;  }
#col_2  > div { padding-left:25px; }
#col_2_1 { width: 485px; float: left;  }
#col_2_1  > div {  }
#col_2_2 { width: 210px; float: left; margin-left:25px;  }
#col_2_2  > div { }
#snav li { }
#snav li + li { border-top: solid 1px #ccc; }
#snav li a { display:block; padding:3px 8px; text-decoration:none; color:#222; background-color:#fff; color:#222; }
#snav li ul { border-top: solid 1px #ccc; }
#snav li ul a { padding-left:15px; font-size:11px; background-color:#f9f9f9;}
#snav li a:hover { background-color:#d9e7b7; color:#000; }
#snav li a.active { font-weight:bold; }
#snav li a.active_direct { background-color:#87bd25; color:#fff; font-weight: bold;  }
#breadcrumb { font-size: 0.9em; margin-bottom:5px; } 
#breadcrumb a { margin-right: 3px; margin-left: 3px; }
#breadcrumb a:first-child { margin-left: 0; }
#slideshow { height:300px; overflow:hidden; margin-bottom:15px; }
#footer { position: fixed; left: 0; bottom: 0; width: 100%; height: 17px; background-color: #d9e7b7; }
#footer > div { width: 980px; height: 17px; margin: 0 auto; background: url(../gfx/basic/footer_elem.png) 100px 0 no-repeat; }

/*----------------------------------- Deklarierung von Klassen ---------------------------------------*/

/* Schriftgrößen (m=minus, p=plus) */
.fm1 { font-size: 95%; }
.fm2 { font-size: 90%; }
.fm3 { font-size: 90%; }
.fp1 { font-size: 110%; }
.fp2 { font-size: 120%; }
.fp3 { font-size: 130%; }

/* Meldungen */
.msg.success, .msg.info, .msg.error { border: solid 1px #cccccc; padding: 10px 10px; }
.msg.success { border: solid 1px #a2db90; padding: 10px 10px 10px 30px; color: #000000; background: url(../gfx/misc/accept_green.png) no-repeat 10px 9px #dff3d9; }
.msg.info { border: solid 1px #cccccc; padding: 10px 10px 10px 30px; color: #000000; background: url(../gfx/misc/info.png) no-repeat 10px 9px #fff7cf; }
.msg.error { border: solid 1px #ff9999; padding: 10px 10px 10px 30px; color: #ff0000; background: url(../gfx/misc/warning_16.png) no-repeat 10px 9px #faf3f3; font-weight: bold; }
.msg table { border-spacing: 0; margin: 10px; }
.msg td { padding: 0; }
.msg td + td { padding-left: 15px; }

/* Formulare */
.form_block {  background-color: #ececec; padding:15px; }
.form_block legend { padding:4px 10px; font-weight:bold; }
.form_style { padding: 5px 8px; vertical-align: middle; }
.form_style:hover { }
.form_style:focus { }
.form_style.error { border-color: #ff0000 !important; }
.form_style + .form_style { margin-left:6px; }
.form_row { padding: 3px; } 
.form_row label:first-child { text-align:right; position:relative; float: left; margin: 6px 0 5px 0; padding: 0; position: relative; width:25%; font-weight:bold; }
.form_row label:first-child + div { margin-left:25%; padding-left:30px; width:60%;  }
.form_row label:first-child + div.text {  margin-top:6px; margin-bottom:5px; }
.form_row label:first-child em { position:absolute; right:-20px; top:2px; width: 1em; color:#dd0000; }
.form_row label.error { font-size:0.9em; display:block; padding-top:2px; }
.form_row:before, .form_row:after { content: ""; display: table; }
.form_row:after { clear: both; }
.form_checkboxes td { vertical-align:top; }
.form_checkboxes td + td { padding-left:4px; padding-top:1px; cursor:pointer; }
.form_checkboxes tr + tr td { padding-top:7px; }
.form_hint { display:block; font-size: .85em; color: #777; margin-top:3px; }

/* Formular Layout Simple */
.form_block.layout_simple .form_row label { float:none; width:auto; text-align:left;}
.form_block.layout_simple .form_row label:first-child + div { margin:0; padding:0; margin-top:3px; }

/* Tabellendesign 1 */
.table_layout_1 table { width:100%;}
.table_layout_1 th { background-color:#ccc; border:solid 1px #ccc; border-right:solid 1px #fff; color:#fff; padding:3px 5px; text-align:left; }
.table_layout_1 th + th { border-left:solid 1px #ffffff !important; }
.table_layout_1 th:last-child { border-right:#ccc; }
.table_layout_1 td { padding:3px 5px; border:solid 1px #ccc; }
.table_layout_1 td + td { border-left: solid 1px #ccc; }
.table_layout_1 tr:nth-child(odd) td { background-color: #f0f0f0;  }

/* Tabellendesign 2 */
.table_layout_2 table { width:100%;}
.table_layout_2 th { padding-bottom:5px; text-align:left; }
.table_layout_2 th + th { padding-left:15px; }
.table_layout_2 td { padding:5px 0px; }
.table_layout_2 td + td { padding-left:15px; }
.table_layout_2 tr + tr td { border-top:solid 1px #e0e0e0; }

/* Weitere Klassen */
.error { color: #ff0000; }
.flag_required { color: #ff0000; }
.hz_line { display: block; background: url(../gfx/basic/hz_line.html) repeat-x; height: 1px; line-height: 1px; font-size: 0; margin: 8px 0; }
.arrow_left { display: inline-block; }
.arrow_right { display: inline-block; }
.arrow_top { display: inline-block; background: url(../gfx/misc/arrow_top.png) 0 3px no-repeat; padding-left: 11px; }
.nm { margin: 0; }
.back { margin-bottom: 10px; }
.infospot { display: inline-block; padding-right: 18px; margin-right: 5px; background: url(../gfx/misc/info2.png) right no-repeat; }
.nowrap { white-space: nowrap; }

/* Helper */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }

/*----------------------------------- Deklarierung von Druck-Styles ---------------------------------------*/
 
@media print {
  * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } 
}
