/* RESET */
* { padding: 0; margin: 0; border: 0;}
input, select, textarea { border: 1px solid black; font-size: 99% }
option { padding-left: 0.4em } /* avoid clipping in select-boxes */
html { height: 100%; }
body { height: 101%; font-size: 100.01%; position: relative; } /* always show vertical scrollbar, correct fontsize, reposition on resize */   
table { border-collapse: collapse; border-spacing: 0; }

/* COMMON SEMANTICS */
acronym, abbr { font-style: italic; border: none; text-decoration: none; }
strong { font-weight: bold; }
em { font-style: italic; }
table { border-collapse: collapse; }
th {  text-align: right; }
th, td { padding: .5em; vertical-align: top; }
dt { margin-top: .5em; font-weight: bold; }
dd { margin-left: 0; padding-left: 0; margin-bottom: 1em; }
p  { margin: 1em 0; }
ul, ol { margin-left: 1em; padding-left: 1em; }
ol ol, ul ul { margin-top: 1em; }
pre, code { display: block; background-color: White; border: 1px solid #999; padding: 0.5em; margin: 1em 0; color: #666; font: 1.2em monospace; }
blockquote { display: block; border-left: 1px dotted #666; }
h1, h2, h3 { margin: 0.5em 0; }

/* COMMON PAGE ELEMENTS */
#map { border: 1px solid #999; }
#map IMG { border: 0 !important; }
#status-indicator { visibility: hidden; position: absolute; top: 304px; left: 50%; width: 16px; height: 16px; background: url(spinner.gif) no-repeat; }
#bread-crumb { padding: 0 ; margin: 0; margin-bottom: 2em; }
#bread-crumb li { float: left; clear: none; background: url(bl_nav.gif) no-repeat 0 .5em; padding: 0 1em; }
.topofpage { display: block; text-align: right; }

/* COMMON LINKS */
a, a:link { color: #AA160C; text-decoration: none; }
a:visited { color: #AA160C; text-decoration: none; }
a:hover   { color: #AA160C; text-decoration: underline; }
a:active  { color: #AA160C; }
a:focus   { outline: none; }
a img     { border: none; }

/* GENERAL CLASSES */
.left   { float: left; margin-right: 1em; }
.right  { float: right; margin-left: 1em; }
.text_center { text-align: center; margin-left: 1em; margin-right: 1em; }
.text_block  { text-align: justify; }
.small  { font-size: smaller; line-height: 1.3em; }
.large  { font-size: larger; line-height: 1.3em; }
.hide   { display: none; }
.clear  { clear: both; }
.nowrap { white-space: nowrap; }

body { background: black; font-size: 11px; font-family: Georgia, Serif; line-height: 1.5em; }

/* AREAS / STRUCTURE */
#wrapper                  {}
#header             { background: url(bg_main.gif) repeat-x; height: 301px; }
#header .inside     { margin: 0 auto; }
#teaser             { height: 200px; background: url(bg_top.gif) no-repeat right bottom; }
#container_wrapper  { width: 100%; background-color: #FFF; padding: 20px 0; }
#container          { margin: 0 auto; background-color: #FFF; }
#left               { float: left; width: 200px; }
#left .inside       { padding: 44px 32px 44px 0; }
#right              { float: right; width: 200px; }
#right .inside      { padding: 44px 0 44px 32px; }
#main               { /* width: auto; */ border-left: 1px dotted #666; border-right: 1px dotted #666; }
#main .inside       { margin: 0 50px; overflow: hidden; }
#footer             { clear: both; height: 54px; background: url(bg_bottom.gif) repeat-x; }
#footer .inside     { margin: 0 auto; }
#footer .inside DIV { padding: 18px 6px; }

/* Page-Size */
#wrapper, #header, #footer { min-width: 800px; }
#header .inside, #container, #footer .inside { width: 780px; padding: 0 10px; }

/* LOGO */
#logo { float: left;  margin-top: 32px; padding: 0; }
#header ADDRESS { display: none; }

/* NAVIGATION */
/* Main */
#mainnav UL { list-style-type: none; float: right; margin: 66px 0 0 0; padding: 0; }
#mainnav LI { margin-left: 23px; float: left; }
#mainnav LI A,
#mainnav LI P { display: block; height: 34px; background-repeat: no-repeat; background-position: 0 0; text-indent: -10000px; margin: 0; }
#mainnav LI A:HOVER, #mainnav LI.trail A, #mainnav LI.active P { background-position: 0 -34px; }
#mainnav .kundenbereich A, #mainnav .kundenbereich P { background: url(bt_kundenbereich.gif); width: 93px; }
#mainnav .unternehmen A, #mainnav .unternehmen P { background: url(bt_unternehmen.gif); width: 84px; }
#mainnav .leistungen A, #mainnav .leistungen P   { background: url(bt_leistungen.gif); width: 68px; }
#mainnav .referenzen A,#mainnav .referenzen P    { background: url(bt_referenzen.gif); width: 69px; }
#mainnav .kontakt A, #mainnav .kontakt P         { background: url(bt_kontakt.gif); width: 48px; }
#mainnav .blog A, #mainnav .blog P               { background: url(bt_blog.gif); width: 27px; }

/* Sub */
#subnav UL { float: right; list-style-type: none; font-size: 1.4em; line-height: 2em; text-align: right; width: 168px; padding: 0; margin: 0; }
#subnav LI { border-bottom: 1px dotted #666; }
#subnav A, #subnav P { display: inline; color: black; font-family: Georgia; font-style: italic; margin: 0 1em; }
#subnav LI.active P, #subnav LI.trail A { background: url(bl_nav.gif) no-repeat 0 .3em; padding-left: 12px; margin-top: 0; margin-bottom: 0; }

/* FootNav */
#footnav A, #footnav P { color: white; padding: 0; margin: 0; }
#footnav UL { list-style-type: none; float: right; line-height: 1em; }
#footnav UL LI { float: left; padding: 0 12px; border-right: 1px solid white; }
#footnav LI.copyright { height: 16px; background: url(bl_copyright.gif) no-repeat 12px -1px; padding-left: 36px; border: 0; }

/* MemberNav */
#nav_member { position: absolute; left: 0; top: 280px; text-align: right; }
#nav_member UL { list-style-type: none; margin: 0; }
#nav_member LI { display: inline; }
#nav_member A, #nav_member P { display: inline; margin: 0 1em 0 0; padding: 0;}

/* Teaser */
#login { padding: 6px 0; float: right; }

/* Content-Styles */
#main { font-size: 1.2em; }
#main a { font-family: Georgia, Serif; }
#main h1 { color: #AA160C; font-size: 1.6em; font-weight: normal; font-style: italic; margin: .5em 0 1em 0; } 
#main ul { list-style-type: none; margin: 1em; }
#main ul li { background: url(bl_content.gif) no-repeat 0 .3em; padding-left: 24px; line-height: 1.6em; }
#main IMG { padding: 1px; border: 1px solid #DDD; }

/* SEARCH */
#search_form { position: absolute; right: 10px; top: 15px; }

/* CONTACTFORM */
#contactform { display: block; margin: 10px auto 50px; width: 320px; line-height: 2em; }
#contactform INPUT:HOVER, TEXTAREA:HOVER, SELECT:HOVER { background-color: #ECECEC; }
#contactform INPUT, TEXTAREA, SELECT { background-color: #F9F9F9; border: 1px solid #888888; float: left; margin: 3px 0; padding: 1px 3px; font-family: Georgia,Serif; font-size: 11px; }
#contactform INPUT.mandatory, TEXTAREA.mandatory, SELECT.mandatory { border-right-color: red; }
#contactform INPUT.text, TEXTAREA { width: 170px; margin: .4em 0; }
#contactform INPUT.radio  { margin: .7em 1em 0 100px; border: none; }
#contactform INPUT.submit { float: right; }
#contactform TEXTAREA  { margin-left: 100px; }
#contactform OPTION { padding-right: 1em; }
#contactform FIELDSET { background-color: #F7F7F7; border: 1px solid #ECECEC; margin: 10px 0pt; padding: 8px 0pt 11px; }
#contactform LEGEND   { font-size: 20px; margin-left: 10px; }
#contactform LABEL    { float: left; font-size: 11px; padding-right: 10px; text-align: right; width: 90px; }
#contactform .radio_container LABEL { clear: none; text-align: left;  }
#contactform .radio_container SPAN { display: block; clear: left; }
#contactform .error  { float: right; width: 16px; height: 16px; background: url(error.png) no-repeat; text-indent: -10000px; margin-right: 10px; margin-top: .4em; }
#contactform .captcha { margin-left: 90px; }
#contactform .captcha_text { display: block; clear: both; margin-left: 90px; }

/* REFERENCES */
.references .reference { padding: 1em 0;}
.references .reference IMG { float: left; }
.references .reference .info { margin: 4px 50px 4px 150px; }
.references .reference .info P { margin: .5em 0; }
.references .reference .info A { font-style: italic; }

#reference .label { font-style: italic; font-weight: bold; }
#reference .name .label,
#reference .description .label,
#reference .img .label,
#reference .url .label { text-indent: -10000px; }
#reference .name .value { font-size:1.1em; margin: 0.5em ;font-weight: bold;}
#reference .category .value { color: #999;}
#reference .description .value { line-height: 1.6em; color: #333; }

/*PAGINATION  */
#main .pagination UL { margin: 0; padding: 0; }
#main .pagination LI { background-image: none; display: inline; padding: 2px; margin: 0; border: 1px solid #DDD; }

/* CONTENT-Styles */
H2 { font-size: 1.1em; }
.captcha_text { display: block; clear: both; }
.error { color: #FF0000; }

/* MICROFORMATS */
/* hcard */
.vcard {}
.vcard .photo {}
.vcard .fn, .vcard .n {}
.vcard .given-name {}
.vcard .additional-name {}
.vcard .family-name {}
.vcard .org {}
.vcard .email {}
.vcard .tel {}
.vcard .adr {}
.vcard .street-address {}
.vcard .postal-code {}
.vcard .locality {}
.vcard .region {}
.vcard .country-name {}
.vcard .url {}
