/*--- general ---*/

    * { padding: 0; margin: 0; border: 0; outline-width: 0; font-family: Arial, sans-serif; }
    html, body { background: #fff; height: 100%; }
    body { background:url(../images/body_bg.gif); }
    .hideme { display: none; }
    .nowrap { white-space: nowrap; }
    .clear { float: none; clear: both; } /* old solution for floating */
    .floatbox { overflow: auto; width: 97%; overflow:hidden;} /* new solution for floating */

    body, textarea, input, select, button { font-size: 12px; color: #333; } /* DON'T MAKE A LINE-HEIGHT ON BODY -> Very strange bugs in IE6 */
    input, select, button { line-height: 16px; }
    #content, textarea { line-height: 21px; }
    h1, h2, h3, h4, h5, h6, legend { margin: 0 0 13px; color: #ad0000; font-weight:normal;}
    h1 { font-size: 16px; font-weight:normal; position:absolute; top:91px; left:255px;}
    h2, legend { font-size: 15px; line-height: 23px; font-family:'Trebuchet MS', Arial; color:#056cb7;}
    h3 { font-size: 14px; line-height: 22px; }
    h4, h5, h6 { font-size: 13px; line-height: 21px; color: #333; }
    a { color: #ad0000; }
    a:hover { text-decoration: none; }
    a img {display:block;}
    ul, ol { list-style: none; }
    address, p { margin: 0 0 13px; font-style: normal; }

    div.zms_graphic { padding: 0 0 13px; }
        div.zms_graphic.floatleft { float: left; margin: 0 20px 0 0; }
        div.zms_graphic.floatright { float: right; margin: 0 0 0 20px; }
        div.zms_graphic.left .graphic { margin: 0 auto 0 0; }
        div.zms_graphic.left .text { margin: 0 auto 0 0; }
        div.zms_graphic.right .graphic { margin: 0 0 0 auto; }
        div.zms_graphic.right .text { margin: 0 0 0 auto; }
        div.zms_graphic.center .graphic { margin: auto; }
        div.zms_graphic.center .text { margin: auto; }

        #flyerdownload{position:absolute; bottom:105px; width:225px;}
            #flyerdownload a{color:#fff; text-decoration:none; display:block;padding-left:16px;}
            #flyerdownload a:hover{background-color:#c64f4f;}

/*--- editor ---*/

    body#epozcontent { padding: 10px; background: #fff; color: #333; line-height: 21px; }
    body#epozcontent a { color: #2b8bd3!important; }
    body#epozcontent a:hover { text-decoration: none!important; }
    body#epozcontent h2, body#epozcontent h3, body#epozcontent h4, 
    body#epozcontent h5, body#epozcontent h6 { margin: 0 0 13px; color: #2b8bd3; }
    body#epozcontent h2 { font-size: 15px; line-height: 23px; }
    body#epozcontent h3 { font-size: 14px; line-height: 22px; }
    body#epozcontent h4, body#epozcontent h5, body#epozcontent h6 { font-size: 13px; line-height: 21px; color: #333; }
    body#epozcontent ul, body#epozcontent ol { padding: 0 0 13px 15px; }
        body#epozcontent ul ul, body#epozcontent ol ul, body#epozcontent ol ol, body#epozcontent ul ol { padding: 0; }
    body#epozcontent li { padding: 0 20px 0 17px; background: url(../images/design/arrow.gif) no-repeat 0 5px; }
    body#epozcontent table { margin: 0 0 13px; }

/*--- list ---*/

    #content ul, #content ol { padding: 0 0 13px 15px; }
        #content ul ul, #content ol ul, #content ol ol, #content ul ol { padding: 0; }
    #content li { padding: 0 20px 0 17px; background: url(../images/design/arrow.gif) no-repeat 0 5px; }

/*--- slimbox ---*/

    #TB_window{font:12px Arial,Helvetica,sans-serif;color:#333333;}
    #TB_secondLine{font:10px Arial,Helvetica,sans-serif;color:#666666;}
    #TB_window a:link{color:#666666;}
    #TB_window a:visited{color:#666666;}
    #TB_window a:hover{color:#000;}
    #TB_window a:active{color:#666666;}
    #TB_window a:focus{color:#666666;}
    #TB_overlay{position:absolute;z-index:100;top:0px;left:0px;background-color:#000;}
    #TB_window{position:absolute;background:#ffffff;z-index:102;color:#000000;border:4px solid #525252;text-align:left;}
    #TB_window img{display:block;margin:15px 0 0 15px;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-top:1px solid #666;border-left:1px solid #666;}
    #TB_caption{height:25px;padding:7px 30px 10px 25px;float:left;}
    #TB_caption br {display:none;}
    #TB_closeWindow{height:25px;padding:11px 25px 10px 0;float:right;}
    #TB_closeAjaxWindow{padding:5px 10px 7px 0;margin-bottom:1px;text-align:right;float:right;}
    #TB_ajaxWindowTitle{float:left;padding:7px 0 5px 10px;margin-bottom:1px;}
    #TB_title{background-color:#e8e8e8;height:27px;}
    #TB_ajaxContent{clear:both;padding:2px 15px 15px 15px;overflow:hidden;text-align:left;line-height:1.4em;}
    #TB_ajaxContent p{padding:5px 0px 5px 0px;}
    #TB_load{position:absolute;display:none;height:100px;width:100px;z-index:101;}
    #TB_HideSelect{z-index:99;position:absolute;top:0;left:0;background-color:#fff;border:none;}
    #TB_iframeContent{clear:both;border:none;margin-bottom:-1px;margin-top:1px;}
    .loadinggif {width:56px; height:21px; background:url(../images/slimbox/loading.gif);}
    .loadinggif span {display:none;}

/*--- general form ---*/

    .section { padding-bottom: 8px; }
        #content .section h3 { margin: 0; float: none; clear: both; }
    form { width: 530px; }
        form br { clear: both; display: none; }
        form label { display: block; padding: 0 0 6px; float: left; width: 170px; }
        form input { width: 155px; }
        form select { width: 161px; }
        form textarea { width: 494px; height: 150px; }
        form span { display: block; padding-bottom: 2px; }
        form label.error span { color: #a5010d; }
        form label.error input, form label.error textarea { border: 1px solid #a5010d; color: #a5010d; }
        form label.error input.focus, form label.error input:focus, form label.error textarea.focus, form label.error textarea:focus { border: 1px solid #a5010d; }
        form label.nofloat { float: none; width: auto; }
        form .text label { width: auto; }
        form .text input { width: 494px; }
        form label.postcode { width: 110px; }
            form label.postcode input { width: 95px; }
        form label.location { width: 230px; }
            form label.location input { width: 215px; }
        form label.email { width: 342px; }
            form label.email input { width: 325px; }
        form label.job { width: auto; }
            form label.job input { width: 495px; }
        form label.antispam { width: auto; }
            form label.antispam input { width: 325px; }
        form label.radio { padding: 0 0 2px 0; }
            form label.radio span { display: inline; }
            form label.radio input { width: auto; background: none; border: 0; }
        form label.google_start { width: 242px; }
            form label.google_start input { width: 225px; }
        form .search { width: auto; }
            form .search input { margin-top: 13px; width: 200px; }
    input.focus, textarea.focus, input:focus, textarea:focus { color: #333; border: 1px solid #3d7ca8; }
    input, select { padding: 2px; background: #fff; color: #333; border: 1px solid #333; }
    select { padding: 1px; }
    textarea { padding: 2px; background: #fff; color: #333; border: 1px solid #333; }
    button { padding: 3px 3px 0; margin: 0 0 13px; cursor: pointer; border: 1px solid #333; background: #ddd; }
    #form_selections { margin: 0 0 13px; }

/*--- general table ---*/

    table { margin: 1px 0 13px 1px; border-collapse: collapse; background: #fff; }
        table tr { background: none; }
        table td, table th { padding: 2px 4px; vertical-align: top; border: 1px solid #000; }
        table thead td, table thead th { font-weight: bold; color: #fff; background: #000; border: 1px solid #000; vertical-align: bottom; }
        table thead tr:hover { background: none; }
        table th { text-align: left; background: #ad0000; color: #fff; }
        table .even { background: none; }
        table .odd { background: none; }
        table tbody tr:hover th, table tbody tr.hover th, table tbody tr:hover td, table tbody tr.hover td { background: #ad0000; color: #fff; }
    .notable table { background: none; }
        .notable table td, .notable table th { padding: 0 30px 0 0; vertical-align: top; border: 0; color: #000; }
        .notable table thead td, .notable table thead th { font-weight: bold; color: #000; background: none; }
        .notable table th { background: none; }
        .notable table tbody tr:hover th, .notable table tbody tr.hover th, .notable table tbody tr:hover td, .notable table tbody tr.hover td { background: none; color: #000; }
    .thead { display: none; }

/*--- address, impressum ---*/

    .address .float { float: left; margin: 0 20px 0 0; }
        .notable .impressum td, .notable .impressum th { padding: 3px 0;}
        .notable .impressum th { padding: 3px 13px 3px 0; }
        .impressum .nopadding { margin: 0; }

/*--- google maps ---*/

    #google_maps_map { height: 700px; }
    .google_maps_map_info img { padding-bottom: 13px; }
    .google_maps_map_info h2 { padding-right: 20px; }
    .google_maps_map_info form { width: auto; padding: 0 20px 5px 0; }
    .google_maps_map_info label { width: auto; float: none; }
        .google_maps_map_info label input { width: 250px; }

/*--- infolisten ---*/

    .download_section table { background: none; margin: 0 0 13px 14px; border: 0; }
        .download_section table td { padding: 2px 0 4px; border: 0; }
        .download_section table tr:hover td, .download_section table tr.hover td { background: none; color: #333; }
    .download_section .download { padding-right: 50px; }
    .download_section img { vertical-align: top; margin-right: 2px; }

    .linksammlung { padding: 0 0 0 32px; background: url(../images/design/arrow.gif) no-repeat 15px 5px; }

    .infolist_toplink { text-align: right; padding: 2px 13px 2px 0; margin-bottom: 15px;}
        .infolist_toplink a { padding-left: 17px; background: url(../images/design/arrow.gif) no-repeat 0 center; font-weight: bold; }
    .overview .entity h3 { margin: 0; padding: 0 20px 0 17px; font-size: 15px; line-height: 23px; background: url(../images/design/arrow.gif) no-repeat 0 center; }
    .overview .entity p { padding: 0 0 0 17px; }
    .disclaimer { color: #333; border: 1px solid #333; padding: 5px 10px; margin-bottom: 13px; }
        .disclaimer p { margin: 0; }

    #content .rss { padding: 0 0 0 21px; background: url(../images/design/rss.gif) no-repeat 0 center; }
    #content.rss_feeds { padding: 0 0 13px 11px; }
        #content .rss_feeds li { padding: 0; background: none; }
    .news_overview li h2, .news_overview li h3 { font-size: 13px; line-height: 21px; margin: 0; }
    .news_overview .footer { text-align: right; }
    #news_selection {position:absolute; top:90px; right:49px;}
    #news_selection option {padding:0 10px;}
    .news_preview { padding: 0; margin: 0 0 13px; }
        .news_preview h3 { margin: 0; padding: 6px 20px 0 22px; font-size: 13px; line-height: 18px; background: url(../images/design/arrow.gif) no-repeat 5px 11px; font-weight:normal;}
        .news_preview p { margin: 0; padding: 0 10px 6px 22px; border-bottom: 1px solid #333; display:none; }
    .news_page .graphic { margin: 0 0 13px 15px!important; float: right; }
        .news_page .graphic img { border: 1px solid #333; padding: 1px; }

/*--- onlinetool ---*/

    #calcdiv {position:absolute; left:0px; top:0px; right:0px; bottom:0px; overflow:auto;}
    #calc {width:100%; height:100%;}
    .popuponlinetool a { padding: 0 0 0 32px; background: url(../images/design/arrow.gif) no-repeat 15px center; }
    .onlinetool_overview { padding: 0; margin: 0 0 13px 0; }
        .onlinetool_overview h3 { margin: 0; padding: 0 20px 0 17px; font-size: 13px; line-height: 18px; background: url(../images/design/calculator.gif) no-repeat 3px center; }
        .onlinetool_overview p { padding: 0 0 0 17px; }

/*--- positionplan ---*/

    .positionplan {margin:0 0 10px 0;}
    .positionplan .picture { float: left; margin: 0 10px 0 0; display: block; }
        .positionplan .picture img { display: block; border: 1px solid #333; margin: 0 0 4px 0; }
        .positionplan .picture span { display: block; background: url(../images/design/zoom.gif) no-repeat 0 2px; padding: 0 0 0 17px; }
    .positionplan .download { margin-top: 13px; }
        .positionplan .download a { padding: 1px 0 0 22px; line-height: 22px; }

/*--- sitemap ---*/

    #content #sitemap { padding: 0; }
    #content #sitemap li { padding: 0 0 13px; background: none; }
    #content #sitemap li a { font-size: 15px; color: #2b8bd3; text-decoration: none; }
    #content #sitemap li li { margin: 0 0 0 17px; padding: 0 0 0 17px; background: url(../images/design/arrow.gif) no-repeat 1px 5px; }
    #content #sitemap li li a { font-size: 13px; font-weight: normal; text-decoration: underline; color: #AD0000; text-decoration: underline; }
    #content #sitemap li li a:hover { text-decoration: none; }
    #content #sitemap li li li { margin: 0; }
    #content #sitemap ul { padding: 13px 0 13px;}
    #content #sitemap ul ul { padding: 10px 0; border: 0; }
    #content #sitemap li li li a {color:black;}

/*--- zope search ---*/

    .search_result .result_entity h2 { margin: 0; }
    .search_result .result_entity p { margin: 0; }
    .search_result .result_entity { display: block; border-top: 1px solid #333; padding: 6px 0; }
    .search_result .result_entity.last { border-bottom: 1px solid #333; margin: 0 0 13px; }

/*--- jobs ---*/

    .jobs_overview { padding: 6px 0 13px 0; }
        .jobs_overview .entity { padding: 6px 0; border-bottom: 1px solid #333; }
        .jobs_overview .entity.first { border-top: 1px solid #333; }
        .jobs_overview h2 { margin: 0; }
        .jobs_overview .detail { float: left; }
        .jobs_overview .date { float: right; text-align: right; }
        .jobs_overview .arrow { padding-left: 17px; background: url(../images/design/arrow.gif) no-repeat 0 center; font-weight: bold; }
        .jobs_overview .pages .left { float: left; }
        .jobs_overview .pages .right { float: right; }

    .job_detail .detail { padding-bottom: 6px; margin-bottom: 13px; border-bottom: 1px solid #333; }
    .job_detail .back { padding: 2px 0; text-align: right; border-top: 1px solid #333; }
    .job_detail .arrow { padding-left: 17px; background: url(../images/design/arrow.gif) no-repeat 0 center; font-weight: bold; }

/*--- events ---*/

    .events_overview { padding: 5px 0 13px; border-top: 1px solid #333; }
        .events_overview h2 { font-size: 15px; padding: 0; }
            .events_overview h2 a { text-decoration: none; }
        .events_overview .info { padding: 0 0 6px; margin-bottom: 5px; border-bottom: 1px solid #333; }
        .events_overview .detail { float: left; padding-bottom: 13px; }
            .events_overview .detail strong { width: 77px; display:block; float:left; }
        .events_overview .date  { float: right; text-align: right; }
        .events_overview .more { text-align: right; padding: 0; }
        .events_overview .arrow { padding: 0 0 0 17px; background: url(../images/design/arrow.gif) no-repeat 0 center; }
        .events_overview .pages .left { float: left; }
        .events_overview .pages .right { float: right; }
    .event_detail .detail { padding-bottom: 6px; margin-bottom: 12px; border-bottom: 1px solid #333; }
        .event_detail .detail strong { width: 70px; display:block; float:left; }
    .event_detail .address { margin-bottom: 6px; border-bottom: 1px solid #333; }
        .event_detail .address .title { color: #2b8bd3; }
    .event_detail .back { text-align: right; }
    .event_detail .arrow { padding: 0 0 0 17px; background: url(../images/design/arrow.gif) no-repeat 0 center; }

/*--- media ---*/

    .media_overview { padding: 5px 0 13px; border-top: 1px solid #333; }
        .media_overview h2 { font-size: 15px; padding: 0; }
        .media_overview .text { padding: 0; }
        #content .media_overview .file ul { margin: 2px 0 0 0; padding: 2px; border: 1px solid #333; }
        #content .media_overview .file li { padding: 0; background: none; display: inline; }
        .media_overview .file { display: block; float: right; }
        .media_overview .file img { padding: 1px 0; display: block; }
        .media_overview .file span { display: none; }
        .media_overview .detail { float: left; }
        .media_overview .info { padding: 0 0 6px; margin-bottom: 6px; border-bottom: 1px solid #333; }
        .media_overview .pages .left { float: left; }
        .media_overview .pages .right { float: right; }

/*--- design ---*/

    #fontsize { display: none; border: 1px solid #333; width: 300px; padding: 10px; background: #fff; text-align: left; }
    
    #box {position:absolute; top:0; bottom:57px; left:50%; background:url(../images/box_bg.jpg); width:905px; margin:0 0 0 -452px;}
    .startpage #box {background:url(../images/box_bg_start.jpg); width:807px; margin:0 0 0 -403px;}
    #inner_box {position:absolute; top:0; right:5px; bottom:0; left:5px;}
    
    #header {height:38px; background:url(../images/header_bg.jpg);}
       #header a {position:absolute; top:6px; right:10px; display:block; color:white; text-decoration:none;}
       #header a span.title {float:left; display:block; padding:4px 40px 0 0; cursor:pointer;}
       #header a span.icon {cursor:pointer; display:block; background:url(../images/functions.gif) -74px -220px; width:26px; height:26px; position:absolute; right:0; top:0;}
       #header a:hover {font-weight:bold;}
       #header a:hover span.icon {background-position:0 -220px;}
    
    #leftbar {position:absolute; top:38px; bottom:0; background:#ad0000 url(../images/leftbar_bg.jpg) repeat-x 0 48px; z-index:10;}
       #logo img {border-top:1px solid white; border-bottom:1px solid white;}
       
       #nav {position:absolute; top:63px; left:-4px;}
       #nav li {margin:0 0 0 3px; padding:0 1px; width:225px; position:relative;  float:left; clear:both; }
       
       #nav li.active, #nav li.activenode {border-right:3px solid black; border-left:3px solid black; margin:0 0 0 0;}
       #nav li.active a, #nav li.activenode a {background:#c64f4f;}
       #nav li a {display:block; color:white; line-height:24px; padding:0 0 0 16px; text-decoration:none;}
       #nav li.activenode a {background:#c64f4f;}
       #nav li a:hover {background:#c64f4f;}
       #nav li ul { visibility:hidden; position:absolute; top:0; left:226px; padding:0 0 0 6px; margin:0; white-space:nowrap;}
       #nav li.hover ul {visibility:visible;}
       #nav li ul li {background:#c64f4f; padding:0; border:none!important; margin:0!important; width:250px;}
       #nav li ul li a:hover, #nav li ul li.active a, #nav li ul li.activenode a {background:#ad0000; width:234px;}
    
       #location_nav {position:absolute; bottom:0; border-top:1px solid white;}
       #location_nav li {clear:both;}
       #location_nav li img {float:left; border-bottom:1px solid white;}
    
    #content {position:absolute; left:255px; top:125px; right:32px; bottom:94px; overflow:auto; padding:0 15px 15px 0;}
    .startpage #content {position:absolute; top:38px; bottom:0; left:0; right:0; overflow:hidden; padding:0;}
    
    #portal .sujet {border-top:1px solid white; display:block;}
    #sujet {position:absolute; right:0; bottom:0;}
    #nvista {position:absolute; top:302px; right:-26px; background:url(../images/nvista_dokumentencenter.jpg); display:block; width:50px; height:91px; border:1px solid #cbcbcb; z-index:100;}
    #simba {position:absolute; top:204px; right:-26px; background:url(../images/samba.gif); display:block; width:50px; height:91px; border:1px solid #cbcbcb;}
    #corp {position:absolute; top:76px; right:-26px; background:url(../images/corporateplanner.gif); display:block; width:50px; height:121px; border:1px solid #cbcbcb;}
    
    #functions {position:absolute; right:10px; bottom:15px; z-index:20;}
    .startpage #functions {right:53px;}
       #functions li {float:left; margin:0 8px 0 0;}
       #functions li a {display:block; width:26px; height:26px;}
       #functions li span {display:none;}
       #functions a.func_1 {background:url(../images/functions.gif) -74px 0;}
           #functions a.func_1:hover {background-position:0 0;}
       #functions a.func_2 {background:url(../images/functions.gif) -74px -44px;}
           #functions a.func_2:hover {background-position:0 -44px;}
       #functions a.func_3 {background:url(../images/functions.gif) -74px -88px;}
           #functions a.func_3:hover {background-position:0 -88px;}
       #functions a.func_4 {background:url(../images/functions.gif) -74px -132px;}
           #functions a.func_4:hover {background-position:0 -132px;}
       #functions a.func_5 {background:url(../images/functions.gif) -74px -176px;}
           #functions a.func_5:hover {background-position:0 -176px;}
       #functions_info {width:200px; position:absolute; top:21px; right:195px; text-align:right; color:white;}
       .startpage  #functions_info {right:239px;}
    
    #portal {position:absolute; top:0; right:0; bottom:0; left:0;}
    #portal ul {padding:0; position:absolute; top:319px; left:0; right:0; height:250px; bottom:0;}
    #portal li {float:left; padding:0; background:none; height:100%; background:white; position:relative;}
    #portal li a {display:block; width:266px; text-decoration:none; height:100%;}
    #portal li img {display:block; border-bottom:1px solid white;}
    #portal li span {display:block; border-right:1px solid #7d7c7d; border-top:1px solid white; padding:15px 12px 30px 12px; cursor:pointer; line-height:18px; font-size:12px; position:absolute; top:54px; left:0; right:0; bottom:0;}
    #portal li.last a {width:265px;}
    #portal li.last img {border-right:none;}
    #portal li.last span {border-right:none;}
    #portal li.area_1 a {color:#ad0000;}
    #portal li.area_1 span.hover {background:#ad0000; color:white;}
    #portal li.area_3 a {color:#7e0101;}
    #portal li.area_3 span.hover {background:#7e0101; color:white;}
    #portal li.area_4 a {color:#5f0000;}
    #portal li.area_4 span.hover {background:#5f0000; color:white;}
    
    .startpage h1 {display:none;}
    
    #author {background:#fff url(../images/byatikon.gif) no-repeat; width:14px; height:80px; display:block; position:absolute; bottom:13px; right:-43px;}
    
    #footer {position:absolute; right:0; bottom:0; left:0; height:57px; background:url(../images/footer_bg.jpg);}
    .footer_center {position:absolute; top:0; bottom:0; left:50%; width:905px; margin:0 0 0 -452px;}

    .staff_member {float:left; margin:0 15px 15px 0; width:250px; border:1px solid red; text-align:center; border:1px solid #525252; padding:10px 10px 0 10px;}
    .staff_member h2 {margin:0 0 2px 0;}

/*--- popup image ---*/

    .popup_image_collection {float:right; margin:0 0 12px 12px;}
    .popup_image {float:right; text-align:center; margin:0 0 12px 12px;}
    .popup_image_collection .popup_image {float:none; display:block;}
    .popup_image img {border:1px solid #c8c8c8;}
    .popup_image .extern_content img {border:none;}
    .popup_image span {display:block; background:url(../images/design/zoom.gif) no-repeat 0 3px; padding:3px 0 0 15px; font-weight:bold; line-height:18px;}

