html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; outline: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; background: transparent; }
:focus { outline: 0; }
body { line-height: 1; color: black; background: white; }
ol, ul { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }

a {  }
html { height: 100%; background: #6a0609; }
body { height: 100%; display: block; background: #6a0609 url(../img/bodybg.png) repeat-x 0 100px; font: 1em 'Trebuchet MS', Verdana, Arial, sans-serif; }
#header { display: block; width: 100%; height: 168px; background: url(../img/headerbg.png) repeat-x; }
#header h1 {  }
#header h1 a { display: block; width: 100%; height: 168px; background: url(../img/logobg.jpg) no-repeat; text-indent: -200%; }
#menu { background: #f8fbf9; width: 220px; position: absolute; top: 216px; left: 595px; }
#menu li { border-bottom: 1px solid #d7d7d7; width: 214px; }
#menu li.lastnode { border-bottom: 0; }
#menu li a { display: block; color: #585858; text-decoration: none; font-size: 1.1em; padding: 7px 2px; font-variant: small-caps; }
#menu li a:hover { color: #000000; }
#menu li strong a, #menu li strong a:hover { color: #cf3b3e; }
#menu li ul { margin: 0 10px 15px 10px; }
#menu li ul li { font-size: 0.8em; width: 204px; }

#menu li address { font-size: 0.7em; color: #585858; padding: 172px 2px 0 2px; }
#menu li address.peter { background: #f8fbf9 url(../img/peter-thalmeier.jpg) no-repeat 50% 0; }
#menu li address.thalmeier { background: #f8fbf9 url(../img/thalmeiers.jpg) no-repeat 50% 0; padding: 122px 2px 0 2px; }
#menu li address span { display: block; clear: both; }
#menu li address span span { float: right; }
#menu li address span.who { padding: 0 0 10px 0; font-size: 0.9em; }
#menu li address strong { display: block; font-weight: bold; padding: 10px 0 0 0; border-top: 1px solid #d7d7d7; }
#menu li address span.tel { padding: 10px 0 0 0; }
#menu li address a { float: right; font-size: 1em; font-variant: normal; padding: 0; }

#content { background: #f8fbf9; width: 780px; margin: 0 0 0 40px; }
#content h2 { padding: 10px 20px 10px 20px; color: #737373; }
#content h2 a { text-decoration: none; color: #cf3b3e; }
#content div.text { padding: 20px 240px 20px 20px; min-height: 200px; color: #3e3e3e; font-size: 0.8em; background: #f8fbf9 url(../img/contentbg.png) no-repeat; }
#content div.text h3 { color: #cf3b3e; font-size: 1.1em; padding: 0 0 0.8em 0; }
#content div.text h4 { padding: 0.8em 0 0.5em 0; font-weight: bold; font-size: 1.1em; }
#content div.text h5 { padding: 0.8em 0 0.5em 0; font-weight: bold; font-size: 1.1em; }
#content div.text p { padding: 0.5em 0; }
#content div.text strong { font-weight: bold; }
#content div.text ul { padding: 0.2em 0 1em 0; list-style-type: square; margin: 0 0 0 20px; }
#content div.text hr { clear: both; float: none; border: none; border-color: #ffffff; background: #ffffff; color: #ffffff; height: 0; }
#content div.text dl { padding: 0.2em 0 1em 0.5em; }
#content div.text dl dt {  }
#content div.text dl dd { padding: 0.3em 0 0.7em 0.5em; font-weight: bold; }
#content div.text a { color: #3e3e3e; }
#content div.text a:hover, #content div.reftext a:hover { color: #cf3b3e; }
#content div.text img.leftimg { float: left; margin: 10px 25px 0 0; }
#content div.text img.rightimg { float: right; }

#dirform { display: block; margin: 1em 0 0 0; text-align: center; }
#map { margin: 4em 0 0 0; width: 98%; height: 400px; display: block; }
#txtdiv { display: block; }

#map h3 { padding: 40px 0 20px 0; text-align: center; }
#map p { text-align: center; }
#map img { width: 80px; height: 80px; }

#footer { clear: both; background: #f8fbf9 url(../img/footerbg.png) repeat-x 0 100%; width: 780px; margin: 0 0 0 40px; font-size: 0.8em; position: relative; }
#footer p { padding: 20px 10px; color: #585858; }
#footer a { color: #cf3b3e; }
#footer a:hover { color: #000000; }
#footer a.hit { position: absolute; top: 15px; right: 6px; display: block; background: url(../img/hitsm.png) no-repeat; width: 35px; height: 22px; opacity: 0.5; }
#footer a.hit span { display: none; }
#footer a:hover.hit { opacity: 1.0; }

#content div.text dl.references { width: 98%; }
#content div.text dl.references dt { clear: both; padding: 10px 0 5px 0; }
#content div.text dl.references dt a { color: #3e3e3e; text-decoration: none; font-weight: bold; }
#content div.text dl.references dt a span { font-weight: normal; color: #9e9e9e; }
#content div.text dl.references dt a:hover {  }
#content div.text dl.references dd { clear: both; background: url(../img/refbg.png) no-repeat; height: 84px; }
#content div.text dl.references dd a.teaser { height: 82px; float: right; border: 1px solid #d7d7d7; }
#content div.text dl.references dd a:hover.teaser { border: 1px solid #cf3b3e; }
#content div.text dl.references dd a.teaser img { width: 80px; height: 80px; border: 1px solid #d7d7d7; }
#content div.text dl.references dd p { padding: 8px 18px; }

#content div.text #imglist { list-style-type: none; margin: 0; padding: 0; width: 500px; }
#content div.text #imglist li { float: left; padding: 5px 5px 5px 0; }
#content div.text #imglist li a { display: block; height: 52px; border: 1px solid #d7d7d7; }
#content div.text #imglist li a img { width: 50px; height: 50px; border: 1px solid #d7d7d7; }
#content div.text #imglist li a:hover { border: 1px solid #cf3b3e; }
#content div.text #imglist li.active a {  }
#content div.text #imglist li.active a img { border: 1px solid #fff; }

#content div.text a.imgnum { margin: 0 0 0.5em 0; display: block; }
#content div.text a.imgpreview { height: 130px; float: right; margin: 0 10px 10px 10px; border: 1px solid #d7d7d7; }
#content div.text a:hover.imgpreview { border: 1px solid #cf3b3e; }
#content div.text a.imgpreview img { border: 1px solid #d7d7d7; }

#content div.text p.bigimg { display: block; clear: both; width: 98%; text-align: center; overflow: hidden; }
#content div.text p.bigimg img { margin: 20px 0 0 0; }

#content div.text a.maplink { background: url(../img/mapicon.png) no-repeat; padding: 0 0 5px 15px; display: block; }
#content div.text a.contactlink { background: url(../img/contact.png) no-repeat; padding: 0 0 5px 15px; display: block; }

#content div.text ul.pageing { list-style-type: none; padding: 0; margin: 1em 0 3em 0; }
#content div.text ul.pageing li { float: left; width: 20%; text-align: center; font-weight: bold; }
#content div.text ul.pageing li span { color: #9e9e9e; font-weight: normal; }
#content div.text ul.pageing li a { text-decoration: none; color: #3e3e3e; font-weight: normal; }
#content div.text ul.pageing li a:hover { color: #cf3b3e; }

p.clear { clear: both; }

p.success { width: 98%; color: #407736; font-size: smaller; display: block; background: url(../img/validbg.png); margin: 0 0 2em 0; }
p.success span { padding: 9px 9px 9px 24px; display: block; background: url(../img/valid.png) no-repeat 4px; }
p.error { width: 98%; color: #9b0000; font-size: smaller; display: block; background: url(../img/errorbg.png); margin: 0 0 2em 0; }
p.error span { padding: 9px 9px 9px 24px; display: block; background: url(../img/error.png) no-repeat 4px 6px; }

form { width: 98%; float: left; padding: 0 0 2em 0; }
form fieldset label { width: 28%; float: left; }
form fieldset label span { display: block; font-size: 0.9em; color: #7D7D7D; padding: 0.5em; }
form fieldset { clear: both; padding: 0.5em 0 1em 0; }
form fieldset input { width: 70%; float: right; }
form fieldset textarea { width: 70%; height: 10em; float: right; }
form fieldset.button input { width: auto; cursor: pointer; }
form span.error { width: 70%; float: right; color: #9b0000; font-size: smaller; display: block; background: url(../img/errorbg.png); }
form span.error span { padding: 0.8em 0.5em; display: block; }