/* Contao Reset */
body{margin:0;padding:0;text-align:left;position:relative;}
form{margin:0;padding:0;}
img, img a {border:0;}
input, select { vertical-align: middle; }
.inside{position:relative;text-align:left;}
.block{overflow:hidden;}
.clear,#clear{height:0.1px;font-size:0.1px;line-height:0.1px;clear:both;}
.invisible{width:0px;height:0px;left:-1000px;top:-1000px;position:absolute;overflow:hidden;display:inline;}

/********************************* BASICS *********************************/

* { padding: 0; margin: 0; }
html, body { min-height: 101%; height: auto !important; height: 100%; }
body { color: #000102; font-family: Arial, Helvetica, Sans-Serif; background: #fff url("images/bodyback.png") repeat-x center top; text-align: center; overflow-x: hidden; color: #000102; }
#headprint { position: absolute; top: 0; left: 0; height: 0px; width: 0px; overflow: hidden; }
.clr { clear: both; }

/* Links */
a:link { color: #798D12; text-decoration: none; outline: none; }
a:visited { color: #798D12; text-decoration: none; }
a:focus { color: #798D12; text-decoration: none; font-weight: bold; }
a:hover { color: #798D12; text-decoration: none; font-weight: bold; }
a:active { color: #798D12; text-decoration: none; font-weight: bold; }
.downloadlink { color: #798D12; background: url("images/bullets.gif") no-repeat 0px -1501px; padding-left: 19px; }

/* Farben */
span.gruen , span.rot , span.magenta { color: #fff; padding: 3px 5px; font-size: 15px; font-weight: bold; line-height: 26px; }
span.gruen { background: #7B8E15; }
span.rot { background: #C1171B; }
span.magenta { background: #C54A87; }


/********************************* CONTAINER *********************************/

#page { width: 960px; text-align: left; margin: 0 auto; }
#header { height: 148px; position: relative; font-size: 13px; line-height: 17px; }
#header .logo { position: absolute; top: 0; right: 37px; width: 172px; height: 58px; }
#main { float: left; width: 660px; background: url("images/verlauf.png") repeat-x left top; margin: 2px 0 0; padding: 30px 30px 20px; font-size: 14px; line-height: 20px; }
#right { float: right; width: 210px; margin: -4px 0 0; font-size: 13px; line-height: 17px; }
#footer { display: block; margin: 30px 0 0; padding: 7px 240px 50px 0; font-size: 11px; line-height: 14px; color: #666; background: url("images/dotted-line.gif") repeat-x center top; }

/* Header */
body.impressum #header, body.kontakt #header { height: 118px; }
body.home #header { height: 109px; }

/* Rechte Spalte */
body.home #right { margin: 48px 0 0; }
body.impressum #right, body.kontakt #right { width: 210px; margin: 0; }
body.detail #right { margin: 2px 0 0; width: 216px; }

/* Main */
body.home #main { background: transparent; width: 720px; margin: 8px 0 0; padding: 0; }
body.gruender #main { padding: 30px 27px 20px 30px; }
body.impressum #main  { margin: 6px 0 0; }
body.kontakt #main { width: 615px; background: url("images/backkontakt.png") no-repeat left top; height: 756px; margin: 6px 0 0; padding: 0 0 0 106px; }
body.auswahl #main, body.liste #main, body.detail #main, body.profil #main { width: 720px; padding: 0; }

/* Main Container */
body.home #main .mainleft { margin: 0; float: left; width: 320px; }
body.home #main .mainright { margin: 6px 0 0; float: right; width: 369px; font-size: 16px; }
body.auswahl #main .mainleft { float: left; width: 360px; }
body.auswahl #main .mainright { float: right; width: 360px; }
body.detail #main .mainleft { margin: 0; padding: 6px 0 23px 20px; float: left; width: 316px; }
body.detail #main .mainright { margin: 0; padding: 6px 40px 23px 0; float: right; width: 304px; }
body.detail #main .mainboth, body.detail #main .mainplus { clear: both; width: 720px; background: #fff; padding: 20px 0 0; margin: 0; }
body.gruender #main .mainleft { float: left; width: 397px; }
body.gruender #main .mainright { float: right; width: 203px; }

/* Main Artikel + Inhaltselemente */
#main .mod_article { padding: 0 0 10px; }
#main .ce_text, #main .ce_accordion { padding: 0 60px 0 0; }
#main .ce_image { margin: 0 0 19px; }
body.auswahl #main .mod_article { padding: 0 0 23px; }
body.liste #main .mod_article { padding: 0 0 20px; }
body.detail #main .mod_article { padding: 0; }
body.kontakt #main .mod_article { margin: 47px 0 0; }
body.auswahl #main .ce_text { position: relative; height: 125px; overflow: hidden; margin: 10px 10px 25px; padding: 9px 9px 0; background: #fff; -webkit-box-shadow: 0 3px 4px #9a9a9a; -moz-box-shadow: 0 3px 4px #9a9a9a; -khtml-box-shadow: 0 3px 4px #9a9a9a; box-shadow: 0 3px 4px #9a9a9a; border: 1px solid #000102; }
body.home #main .ce_text { padding: 0; }
body.home #main .mod_flash { padding: 19px 0 0; }
body.auswahl #main .ce_text .image_container { margin: 0 8px 25px 0; padding: 0 0 20px; float:left; height: 116px; }
body.detail #main #kunde, body.detail #main .kunde { line-height: 16px; margin: 0 0 8px; padding: 0 40px 0 20px; }
body.detail #main .mainright .ce_hyperlink { margin: 10px 0 0; line-height: 16px; }
body.profil #main .ce_text, body.profil #main .ce_headline { padding: 0 90px 0 30px; }

/********************************* HEADER *********************************/

#header .mod_navigation { overflow: visible; }

/* Hauptmenue */
ul#level_1 { margin: 0; padding: 0; list-style: none; position: absolute; top: 33px; left: 0px; }
ul#level_1 li { float: left; margin: 0; padding: 0; line-height: 15px; }
ul#level_1 li a { display: block; height: 45px; padding: 12px 0 0; font-weight: bold; position: relative; }
ul#level_1 li a span { color: #000102; background: #fff; padding: 3px 11px 4px; }
ul#level_1 li a:hover span { background: #000102; color: #fff !important; }

ul#level_1 li.home a, ul#level_1 li.activehome a { width: 75px; padding: 12px 0 0 18px; }
ul#level_1 li.submenureferenzen a, ul#level_1 li.activesubmenureferenzen a, ul#level_1 li.submenureferenzentrail a { width: 129px; text-align: center; }
ul#level_1 li.submenuleistungen a, ul#level_1 li.activesubmenuleistungen a, ul#level_1 li.submenuleistungentrail a  { width: 126px; text-align: center; }
ul#level_1 li.submenugruender a, ul#level_1 li.activesubmenugruender a, ul#level_1 li.submenugruendertrail a  { width: 166px; text-align: center; }
ul#level_1 li.profil a, ul#level_1 li.activeprofil a  { width: 91px; text-align: center; }
ul#level_1 li.kontakt a, ul#level_1 li.activekontakt a  { width: 96px; padding: 12px 0 0 19px; }

ul#level_1 li.activehome a, ul#level_1 li.activesubmenureferenzen a, ul#level_1 li.submenureferenzentrail a, ul#level_1 li.activesubmenuleistungen a, ul#level_1 li.submenuleistungentrail a, ul#level_1 li.activesubmenugruender a, ul#level_1 li.submenugruendertrail a, ul#level_1 li.activeprofil a, ul#level_1 li.activekontakt a { background: url("images/mainnavback.png") no-repeat center top; }

ul#level_1 li.activehome a span, ul#level_1 li.activesubmenureferenzen a span, ul#level_1 li.submenureferenzentrail a span, ul#level_1 li.activesubmenuleistungen a span, ul#level_1 li.submenuleistungentrail a span, ul#level_1 li.activesubmenugruender a span, ul#level_1 li.submenugruendertrail a span, ul#level_1 li.activeprofil a span, ul#level_1 li.activekontakt a span { background: #000102; color: #fff !important; }

/* Submenue */
ul#level_1 li ul { display: none; margin: 0; }
ul#level_1 li.activesubmenureferenzen ul, ul#level_1 li.submenureferenzentrail ul, ul#level_1 li.activesubmenuleistungen ul, ul#level_1 li.submenuleistungentrail ul, ul#level_1 li.activesubmenugruender ul, ul#level_1 li.submenugruendertrail ul, ul#level_1 li.activesubmenuprofil ul, ul#level_1 li.submenuprofiltrail ul { list-style: none; display: inline; width: 500px; position: absolute; top: 58px; }
ul#level_1 li.activesubmenugruender ul, ul#level_1 li.submenugruendertrail ul { padding: 0 0 0 3px; }

ul#level_1 li ul li { float: left; width: auto !important; padding: 0 0 0 20px; }
ul#level_1 li ul li a { display: inline !important; background: none !important; color: #000102; width: auto !important; font-weight: normal;}
ul#level_1 li ul li a:hover { font-weight: bold; }
ul#level_1 li.activesubmenureferenzen ul span, ul#level_1 li.submenureferenzentrail ul span, ul#level_1 li.activesubmenuleistungen ul span, ul#level_1 li.submenuleistungentrail ul span, ul#level_1 li.activesubmenugruender ul span, ul#level_1 li.submenugruendertrail ul span { visibility: visible; }
ul#level_1 li ul li.activeauswahl a, ul#level_1 li ul li.activeliste a, ul#level_1 li ul li.activeinternet a, ul#level_1 li ul li.activecms a, ul#level_1 li ul li.activestrategie a, ul#level_1 li ul li.activegruender a, ul#level_1 li ul li.activestandard a { font-weight: bold; width: auto !important; }


/********************************* MAIN *********************************/

/* Allgemein */
#main hr { border-color: transparent; background:url("images/dotted-line.gif") repeat-x left top; margin: 0 0 15px; }
#main .linie, #linie { background: url("images/dotted-line.gif") repeat-x center bottom; }
.tool .tip-title { width: auto; padding: 6px; line-height: 15px; text-align: left; background-color: #525252; color:#fff; }
.tool .tip-text { display: none; }
/* Absatz ohne Abstand danach */
.pnospace { margin: 0 0 4px !important; }
.hnospace { margin: 0 0 15px !important; }


/* Überschriften */
#main h1 { font-size: 23px; line-height: 34px; color: #fff; margin: 0 0 25px; }
#main h1 span { padding: 2px 5px; background: #000102; }
#main h2 { font-size: 18px; line-height: 24px; color: #000102; margin: 0 0 10px; }
#main p + h2 { margin: 30px 0 10px; }
#main h3 { font-size: 14px; color: #000102; margin: 15px 0 8px; }
#main h2 + h3 { margin: 0 0 8px; }
#main p + h3 { margin: 20px 0 8px; }

body.home #main .mainleft h1 { color: #000102; font-size: 21px; line-height: 25px; margin: 0 0 16px; }
body.home #main .mainright h1, body.home #main .mainright h2, body.home #main .mainright h3 { display: block; margin: 0 0 11px; font-size: 15px; color: #fff; text-transform: uppercase; }
body.home #main .mainright h1 span, body.home #main .mainright h2 span, body.home #main .mainright h3 span   { background: #000102; padding: 2px 4px; }
body.auswahl #main h1, body.auswahl #main h2, body.auswahl #main h3 { display: block; font-size: 13px; line-height: 14px; color: #fff; margin: 0 0 8px 186px; padding: 2px 5px 3px; background-color: #000102; }
body.auswahl #main h1 a, body.auswahl #main h2 a, body.auswahl #main h3 a { color: #fff !important; text-decoration: none; }
body.detail #main .ce_text h1, body.detail #main .ce_text h2, body.detail #main .ce_text h3 { color: #000102; font-weight: bold; font-size: 14px; line-height: 17px; margin: 0 0 1px; }
body.detail #main .kunde h1, body.detail #main .kunde h2, body.detail #main .kunde h3 { margin: 0 0 8px; }
body.detail #main h1 { font-size: 15px; line-height: 18px; margin: 17px 0 43px 20px; color: #fff; }
body.detail #main h1 span { background: #000102; padding: 2px 5px; }
body.detail #main .ce_headline + .ce_image { margin: -17px 0 19px; }
body.internet #main h1 span { background: #7B8E15; }
body.cms #main h1 span { background: #C54A87; }
body.strategie #main h1 span { background: #C1171B; }
body.gruender #main h1 span { background: #f4ad05; }
body.gruender #main h2 { margin: 15px 0 10px; }


/* Absätze */
#main p { margin: 0 0 15px; }
body.home #main p { font-size: 14px; line-height: 18px; margin: 0 0 5px; }
body.auswahl #main p { font-size: 13px; margin: 0 0 5px0; line-height: 16px; }
body.liste #main td { font-size: 12px; line-height: 16px; line-height: 12px; }
body.detail .mainleft p, body.detail .mainright p, body.detail .mainleft ul, body.detail .mainright ul { line-height: 17px; margin: 0 0 5px; }
body.detail p.back { clear: both; padding: 20px; }
body.kontakt #main p { margin: 0 0 17px; }

/* Listen */
#main ul { list-style-type: none; list-style-image: none; margin: 0 0 15px; padding: 0; }
#main ul li { margin: 0 0 2px; padding: 0 0 0 14px; background: url("images/bullets.gif") no-repeat 1px -496px; }
#main ul.check { margin: 15px 0 22px; }
#main ul.check li  { margin: 0 0 8px; padding: 0 0 0 30px; background: url("images/bullets.gif") no-repeat 10px -996px;  }
#main ol { list-style-type: decimal; margin: 0 0 15px 17px; padding: 0; }
#main ol li { margin: 0; padding: 0; }

/* Links + Sonstiges */
body.home #main .mainleft a { color: #000102; font-weight: bold; }
body.auswahl .detailslink { position: absolute; top: 112px; left: 195px; font-size: 13px; line-height: 16px; }
body.auswahl #main .image_container img { border: none !important; }
body.gruender #main .mainright img { margin: 22px 0 0; }

/* Akkordeon */
#main .toggler { padding: 3px 12px 0 8px; height: 22px; line-height: 19px; overflow: hidden; background: #000102 url("images/toggler.gif") no-repeat left top; color: #fff; font-weight: bold; cursor: pointer; }
#main .toggler.active { background-position: 0px -25px; }
#main .ce_accordion { margin: 0 0 18px; }
#main .ce_text + .ce_accordion { margin: 5px 0 18px; }
#main .accordion div { margin: 0 0 -15px; }
#main .accordion div > ul { margin: 22px 0; }
#main .accordion div > p { margin: 20px 0 15px; }
#main .accordion div p > ul { margin: 0 0 22px; }

/* Boxen */
#main .box { margin: 45px 0 0; padding: 17px 0 5px !important; border: 1px solid #b8b8b8; -webkit-border-radius: 3px; -khtml-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; background: #f9f9f9; position: relative; }
#main .box p { padding: 0 25px; margin: 0 0 13px !important; }
#main .box p.trenner { background: url("images/dotted-line.gif") repeat-x left top; margin: 0 -25px 5px; padding: 15px 25px 0 !important; }
#main .box a.button { position: absolute; top: 16px; right: 25px; }

/* Referenzen > Liste */
.mod_articlefilter { overflow: hidden; margin: 10px 0 20px 10px; }
.mod_articlefilter h1 { float: left; line-height: 22px; font-weight: normal; margin: 0 10px 0 0; }
.mod_articlefilter label { padding: 0 7px 0 0; }
.mod_articlefilter select { font-family: Arial, Verdana, Sans-Serif; font-size: 13px; }
.mod_articlefilter select option { padding: 0 10px 0 0; }
.mod_articlefilter_results { overflow: hidden; margin: 10px 0 0 10px; }
.mod_articlefilter_results table a:hover { font-weight: normal; }
.mod_articlefilter_results table tr.leer td { height: 10px; }
.mod_articlefilter_results table tr.item td { vertical-align: middle; background: #fff; overflow: hidden; empty-cells: show; }
.mod_articlefilter_results table tr.item td.kunde { width: 235px; }
.mod_articlefilter_results table tr.item td.kunde a { color: #fff; text-decoration: none; font-weight: normal !important; }
.mod_articlefilter_results table tr.item td.kunde span { display: inline-block; float: left; background: #000102; font-size: 18px; line-height: 30px; height: 30px; padding: 0 5px; }
.mod_articlefilter_results table tr.item td.kunde img { float: left; border-left: 1px solid #fff; height: 30px; }
.mod_articlefilter_results table tr.item td.beschreibung { width: 177px; line-height: 12px; }
.mod_articlefilter_results table tr.item td.branche { width: 118px; line-height: 12px; }
.mod_articlefilter_results table tr.item td.kategorie { width: 170px; line-height: 12px; }

/* Referenzen > Details */
.ce_gallery { background: url("images/galerie-back.gif") repeat-x 0px 62px; height: 355px; }
.ce_gallery table { margin: 0 0 0 45px; }
.ce_gallery .col_0 { width: 325px; }
.ce_gallery .pagination { display: block; padding: 36px 0 0 512px; }
.ce_gallery .pagination p { display: none; }
#main .ce_gallery .pagination ul { list-style: none; font-size: 15px; font-weight: bold; }
#main .ce_gallery .pagination ul li { background: transparent; padding: 0; display: inline; float: left; line-height: 24px; }
#main .ce_gallery .pagination ul li a, .ce_gallery .pagination ul li span { display: block; padding: 0 4px; }
#main .ce_gallery .current { color: #798D12; }
body.detail #main ul { list-style-type: none; list-style-image: none; margin: 0 0 15px; padding: 0; }
body.detail #main ul li {  margin: 0 0 2px; padding: 0 0 0 12px; background: url("images/bullets.gif") no-repeat 1px 2px;}


/* Kontaktseite */
body.kontakt #main div.colleft { float: left; width: 173px; }
body.kontakt #main div.colright { float: left; padding: 12px 0 0; }
body.kontakt #main div.colleft p, body.kontakt #main div.colright p, body.kontakt #main .clr p  { margin: 0 0 9px; }
body.kontakt #main a.button { font-size: 13px; }
body.kontakt #main .clr { background: url("images/dotted-line.gif") repeat-x left top; width: 510px; padding: 20px 0 0; margin: 0; }

/* Kontaktformular */
body.kontakt #main .mod_form, body.kontakt #main .ce_form { margin: 4px 0 0; padding: 0; line-height: 15px; }
body.kontakt #main .mod_form p, body.kontakt #main .ce_form p { margin: 0; }
body.kontakt div.formleft { float: left; width: 320px; }
body.kontakt div.formright { float: right; width: 215px; padding: 0 60px 0 0; position: relative; }
body.kontakt label { font-weight: bold; }
body.kontakt div.formleft label { display: block; height: 15px; }
body.kontakt div.formright label { display: block; height: 25px; }
body.kontakt div.formmail { float: left; width: 165px; overflow: hidden; }
body.kontakt div.formtel { float: right; width: 136px; padding: 0 3px 0 0; }
body.kontakt p.hinweis { clear: both; }

.mod_form .text, .mod_form .textarea, .ce_form .text, .ce_form .textarea { color: #000102; font-family: Helvetica, Geneva, Arial, SunSans-Regular, sans-serif; font-size: 12px; background-color: #e7e7e8; border: solid 2px #e7e7e8; height: 15px; }
.mod_form .checkbox, .mod_form .submit, .ce_form .checkbox, .ce_form .submit { border-style: none; }
#ctrl_12 { width: 315px; margin: 3px 0 9px; }
#ctrl_13 { width: 315px; margin: 3px 0 9px; }
#ctrl_14 { width: 315px; margin: 3px 0 9px; height: 93px; }
#ctrl_15  { width: 160px; margin: 3px 18px 9px 0; }
#ctrl_16  { width: 134px; margin: 3px 0 9px; }
body.kontakt .checkbox_container label { display: inline !important; font-weight: normal !important; padding: 0 !important; font-size: 12px; }
body.kontakt .checkbox_container span { display: block; margin: 0 0 5px; }
body.kontakt .submit_container { position: absolute; top: 229px; left: 0px; }
body.kontakt .error { display: inline; color: #798D12; }

/* Submit + Button */
#main .submit, #main a.button { background: #7d9118 url("images/buttonback.png") repeat-x left top; color: #fff; padding: 3px 10px 5px; -webkit-border-radius: 3px; -khtml-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; width: auto; overflow: visible; }
#main a.button { padding: 3px 10px 5px; }
#main .submit { overflow: visible; height: 26px; vertical-align: top; }
#main .submit, #main a.button:focus, #main a.button:hover, #main a.button:active { font-weight: normal; }

/* Spalten Impressum */
body.impressum .colleft { float: left; width: 150px; margin: 0 0 15px; line-height: 16px; }
body.impressum .colright { float: left; line-height: 16px; }


/******************************** RECHTE SPALTE ********************************/

/* Adresse */
#right .adresse { border-bottom: 1px solid #B8B8B8; margin: 0 0 24px; padding: 12px 9px 9px; background: url("images/kasten.gif") no-repeat -250px 0px; }
#right h1, #right h2 { display: block; margin: 3px 0 12px; font-size: 14px; line-height: 19px; color: #fff; text-transform: uppercase; font-weight: normal; }
#right h1 span, #right h2 span  { background: #000102; padding: 2px 5px; }

#right .info { font-weight: bold; }
#right p.adress1 { font-weight: bold; margin: 0 0 3px; }
#right p.adress2 { margin: 0; }
#right p.adress3, #right p.adress4 { display: block; background: url("images/dotted-line.gif") repeat-x left 3px; }
#right p.adress3 { padding: 7px 0 1px; }
#right p.adress4 { padding: 7px 0 0; }

/* Nachrichten */
#right .mod_newslist { border-bottom: 1px solid #B8B8B8; margin: 0 0 24px; padding: 12px 9px 9px; background: url("images/kasten.gif") no-repeat -250px 0px; }

/* Leistungen Menue */
#right .leistungen { border-bottom: 1px solid #B8B8B8; margin: 0 0 24px; padding: 12px 9px 7px; background: url("images/kasten.gif") no-repeat -250px 0px; }
#right .leistungen ul { clear: both; margin: 0; padding: 0; }
#right .leistungen ul li { list-style-image: url("images/spacer.gif"); margin: 0 0 2px; padding: 0 0 6px; background: url("images/dotted-line.gif") repeat-x center bottom; }
#right .leistungen ul li.strategie { padding: 0; background: url("images/spacer.gif") repeat-x center bottom; }
#right .leistungen ul li a { font-size: 13px; text-decoration: none; font-weight: bold; text-transform: uppercase; line-height: 18px; }
#right .leistungen ul li.internet a { color: #7D9119; }
#right .leistungen ul li.cms a { color: #C54A87; }
#right .leistungen ul li.strategie a { color: #BC0408; margin: 0 !important; padding: 0 0 4px; }
#right .leistungen ul li a:hover { text-decoration: none; }

/* Projekte Menue rechts */
#right .projekte { padding: 9px 0 0; background: url("images/kasten.gif") no-repeat left top; line-height: 17px; }
#right .projekte h1, #right .projekte h2 { margin: 0 0 10px; padding: 0 0 0 15px; }
#right .projekte ul { clear: both; margin: 0; padding: 0; }
#right .projekte ul li { list-style-image: url("images/spacer.gif"); margin: 3px 0 0; background: url("images/referenzennav.gif") no-repeat left top; height: 22px; color: #000102; }
#right .projekte ul li.active { background-position: 0px -22px; }
#right .projekte ul li a { color: #000102; font-size: 12px; padding: 5px 0 5px 15px; text-decoration: none; }
#right .projekte ul li a:hover { color: #798D12; text-decoration: none; font-weight: bold; }
#right .projekte ul li a:active { color: #798D12; text-decoration: none; font-weight: bold; }
#right .projekte ul li span { color: #798D12; font-size: 12px; font-weight: bold; padding: 0 0 0 15px; }
#right .projekte #detaillast { background: url("images/referenzennav.gif") no-repeat 0px -100px; height: 30px; color: #000102; width: 216px; }
#right .projekte #detaillast.active { background-position: 0px -130px; }

/******************************** FOOTER ********************************/

#footer .footleft { float: left; }
#footer .footright { float: right; }
#footer a { color: #000102; text-decoration: none; }
#footer a:hover { color: #000102; text-decoration: none; }





