﻿/*---------------------------------------------------
/*  site-general
/*---------------------------------------------------*/
/*remove flash borders at ff 3.6*/
object
{
    outline: none;
}

/*---------------------------------------------------
/*  sitemap
/*---------------------------------------------------*/

.sitemap a
{
    display: block;
    padding: 2px 0;
}
.sitemap ul
{
    padding-left: 30px;
}
.sitemap ul a
{
    font-weight: bold;}
.sitemap ul ul a
{
    font-weight: normal;
}
.sitemap ul ul ul ul a
{
    font-style: italic;
}

/*---------------------------------------------------
/*  jquery popup
/*---------------------------------------------------*/

.ui-widget-overlay
{
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.3;
    filter: Alpha(Opacity=30);
}

.cjq-popup
{
    overflow: hidden;
}

.cjq-popup .ui-dialog-titlebar
{
    height: 30px;
    line-height: 30px;
    font-weight: bold;
    padding-left: 10px;
}

.cjq-popup .ui-dialog-titlebar a
{
    position: absolute;
    top: 5px;
    right: 5px;
    text-decoration: none;
    font-weight: bold;
    padding: 2px 5px;
    line-height: 15px;
    width: 16px;
    height: 16px;
}
.cjq-popup .ui-dialog-titlebar a span
{
    width: 16px;
    height: 16px;
    font-size: 0;
    line-height: 0;
    display: block;
}

/*---------------------------------------------------
/*  body
/*---------------------------------------------------*/

body
{
    text-align: center;
    font-family: Arial;
    font-size: 75%;
    margin-top: 64px;
    margin-bottom: 64px;
    height: 100%;
    line-height: 140%;
}

body.print-body
{
    margin-top: 0px;
    text-align: left;
}

body.body-fotogallery
{
    margin: 0px;
    overflow:hidden;
    padding:5px;
}

body.popup
{
    margin-top: 0px;
    text-align: left;
}

body.print-body div.buttons
{
    margin-bottom: 0px;
    border-bottom: 1px solid #333333;
}

body.popup
{
    padding: 10px 0 10px 10px;
}

.print-body
{
    overflow: auto;
    padding: 10px 0 10px 10px;
}

input, textarea, select
{
    font-family: Arial;
}

a
{
    text-decoration: none;
    font-family: Arial;
}

form, html
{
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
}

li
{
    list-style-image: url(../media/arrow-small-li.png);
}

/*---------------------------------------------------
/*  general
/*---------------------------------------------------*/

#main
{
    text-align: left;
    margin: auto;
    position: relative;
    width: 982px;
}

.relative
{
    position: relative;
}

.clear
{
    clear: both;
    height: 0;
    font-size: :0;
    line-height: 0;
}

/*---------------------------------------------------
/*  language
/*---------------------------------------------------*/

#language
{
    float: right;
    margin: 21px 17px 0px 0px;
    font-size: 90%;
}

/*---------------------------------------------------
/*  search
/*---------------------------------------------------*/

#box-search
{
    float: right;
    margin: 0px 17px 0px 0px;
    width: 240px;
    padding: 14px 0px 11px 18px;
}

#box-search input
{
    border: solid 1px #dadada;
    padding: 2px;
    width: 183px;
}

#box-search div.search-button
{
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(../media/arrow-blue.png);
    background-repeat: no-repeat;
    cursor: hand;
}

/*---------------------------------------------------
/*  line-yellow
/*---------------------------------------------------*/

.line-yellow
{
    height: 6px;
    background-color: #fff500;
    margin: auto;
}

/*---------------------------------------------------
/*  banner
/*---------------------------------------------------*/

#banner
{
    background-image: url(../media/banner.jpg);
    background-repeat: no-repeat;
    height: 353px;
    width: 982px;
    position: relative;
}

#banner .bg-logo
{
    position: absolute;
    top: 0px;
    left: 0px;
    height: 83px;
    width: 512px;
    background-repeat: no-repeat;
}

.lang-de #banner .bg-logo
{
    background-image: url(../media/bg-logo-de.png);
}

.lang-it #banner .bg-logo
{
}

#banner .logo
{
    position: absolute;
    top: -114px;
    left: 54px;
    height: 144px;
    width: 382px;
    z-index: 100;
}

#banner .slogan
{
    position: absolute;
    top: 0px;
    left: 0px;
    height: 85px;
    width: 512px;
    z-index: 80;
}

/*---------------------------------------------------
/*  content-zone
/*---------------------------------------------------*/

#content-zone
{
    margin-top: 1px;
    background-image: url(../media/bg-content.png);
    background-repeat: repeat-y;
}

#content-left
{
    float: left;
}

#content-right
{
    float: left;
}

#content-zone .bottom
{
    height: 17px;
    border-bottom: solid 6px #fff500;
}

.box-title
{
    margin-bottom: 20px;
}

/*---------------------------------------------------
/*  menu-zone
/*---------------------------------------------------*/

#menu-zone
{
    background-image: url(../media/bg-menu.png);
    background-repeat: repeat-x;
    height: 45px;
    padding-left: 50px;
}

#menu-zone .menu
{
    padding-left: 50px;
    position: relative;
    float: left;
}

#menu-zone .menu.item-0
{
    padding-left: 0;
}

#menu-zone .menu a.menu-0
{
    font-size: 160%;
    line-height: 45px;
}

#menu-zone .menu a.menu-1
{
    font-size: 100%;
    color: White;
    border-top: 1px dashed white;
    line-height: 25px;
}

#menu-zone a.menu-1:hover, #menu-zone a.menu-1.active
{
    background-color: #3C4869;
}

#menu-zone div.flyout-container
{
    display: none;
    position: absolute;
    bottom: 45px;
    left: 40px;
    border-bottom: 1px solid white;
}

#menu-zone div.level-1
{
    width: 200px;
    padding: 10px 10px 10px 10px;
}

#menu-zone div.level-1 a
{
    display: block;
}

#menu-zone div.flyout-container.expanded
{
    display: block;
}

/*---------------------------------------------------
/*  content
/*---------------------------------------------------*/

#content
{
    margin-left: 16px;
    border-left: solid 1px #dfe0e1;
    padding: 20px 29px 22px 35px;
    width: 624px;
}

#content a:hover
{
    text-decoration:underline;
}

#content .sitepath a
{
    padding-right: 20px;
    font-size: 90%;
    float: left;
    padding-right: 20px;
}

#content .print a
{
    float: right;
    font-size: 90%;
    cursor: hand;
}

#content .print img
{
    padding-right: 10px;
}

#content .line-gray
{
    height: 3px;
    margin-top: 4px;
}

.h1
{
    font-size: 150%;
    padding-top: 27px;
}

.h2
{
    font-size: 120%;
    padding-top: 15px;
    padding-bottom: 15px;
}

.module-divisor
{
    height: 20px;
    line-height: 20px;
    font-size: 20px;
}

/*---------------------------------------------------
/*  references
/*---------------------------------------------------*/

#references
{
    width: 255px;
    background-image: url(../media/bg-references.png);
    background-repeat: no-repeat;
    background-position: 0px 0px;
    width: 254px;
    min-height: 435px;
    padding-bottom: 30px;
}

#references .top
{
    background-image: url(../media/bg-references-title.png);
    background-repeat: repeat-x;
    height: 45px;
    padding: 0px 10px 0px 20px;
}

#references .top .title
{
    font-size: 160%;
    float: left;
    line-height: 45px;
}

#references .top .arrow
{
    float: right;
    padding: 16px 10px 0px 0px;
    line-height: 45px;
    position: relative;
}

#references .top .arrow .next
{
    right: 10px;
}

#references .top .arrow .back
{
    right: 30px;
}

#references .h1
{
    font-weight: bold;
    font-size: 120%;
    padding-top: 12px;
    padding-left: 20px;
}

#references .h2
{
    font-weight: bold;
    font-size: 120%;
    line-height: 18px;
    padding-left: 20px;
}

#references .description
{
    font-style: italic;
    padding-left: 20px;
    line-height: 16px;
    padding-top: 15px;
}

#references .line
{
    height: 1px;
    margin-left: 20px;
    margin-right: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
}

#references .read-more
{
    float: left;
    margin-left: 20px;
    background-image: url(../media/arrow-small.png);
    background-repeat: no-repeat;
    background-position: 0px 6px;
    padding-left: 15px;
    text-decoration: underline;
}

#references .all
{
    float: left;
    margin-left: 20px;
    background-image: url(../media/arrow-small.png);
    background-repeat: no-repeat;
    background-position: 0px 6px;
    padding-left: 15px;
    text-decoration: underline;
}

#references .slider
{
    position: relative;
    height: 400px;
}

#references.box-references .clipcontainer
{
    line-height: normal;
    font-size: 1em;
    overflow: hidden;
    margin: 0px;
    width: 255px;
}

#references.box-references .itemcontainer .item
{
    float: left;
    width:255px;
}

#references.box-references .filter-main .selection
{
    background-color:#3C4869;
    height:40px;
    line-height:40px;
    padding-left:20px;    
}

#references.box-references .filter-main .item
{
    padding-left:20px;    
    padding-right:20px;
}

#references.box-references .filter-main .link
{
    padding-top:5px;    
    padding-bottom:5px;
}

#references.box-references .filter-main .link a:hover
{
    text-decoration:none;
}

#references.box-references .filter-main .link.active
{
    background-color:#EBECEF;
}

#references.box-references .filter-main .line
{
    margin: 5px 0px 5px 0px;
}

#references.box-references .filter-main .selection select
{
    width:216px;
    height:20px;
    margin-top:10px;
}

#references.box-references .filter-main .filter-image
{
    margin-bottom:10px;
}

/*---------------------------------------------------
/*  footer-zone
/*---------------------------------------------------*/

#footer-zone
{
    margin: 10px 20px 20px 20px;
}

#footer-zone div.address
{
    text-align: left;
}

#footer-zone div.address span
{
    display: inline-block;
    padding-right: 20px;
}

#footer-zone div.address span.last
{
    padding-right: 0;
}

#footer-zone div.address a:hover
{
    text-decoration: underline;
}

#footer-zone .copyright
{
    float: left;
    padding-top: 8px;
}

#footer-zone .credits
{
    float: right;
    padding-top: 8px;
}

/*---------------------------------------------------
/*  contact - base
/*---------------------------------------------------*/

.contact-form .input-row
{
    margin-bottom: 5px;
}
.contact-form .summary
{
    margin-bottom: 10px;
}
.contact-form .summary ul
{
    margin: 5px;
    padding: 5px;
    list-style: none;
}
.contact-form .summary ul li
{
    background-repeat: no-repeat;
    padding-left: 10px;
    background-position: left 5px;
}
.contact-form .separator
{
    height: 1px;
    margin: 10px 0;
    clear: both;
}
.contact-form .input-row span.name
{
    display: block;
    float: left;
    width: 110px;
    text-align: left;
    margin-right: 10px;
}
.contact-form .input-row span.second
{
    width: 60px;
    text-align: right;
    margin-right: 10px;
    margin-left: 20px;
}

.contact-form .input-row input
{
    width: 360px;
}
.contact-form .input-row input.calendar
{
    width: 100px;
}
.contact-form .input-row input.small, .contact-form .input-row.small input
{
    width: 60px;
}
.contact-form .input-row input.medium, .contact-form .medium input
{
    width: 120px;
}
.contact-form .calendar-row img
{
    margin-left: 5px;
    cursor: pointer;
}
.contact-form .input-row textarea
{
    width: 360px;
    height: 160px;
    float: left;
}
.contact-form .textarea span.name
{
    float: left;
}

.contact-form .input-row .textarea span
{
    display: inline-block;
    float: left;
}

.contact-form .privacy span.name
{
    display: block;
    width: 100px;
    float: left;
}
.contact-form .privacy div
{
    float: left;
    width: 520px;
}
.contact-form .privacy .privacy-box input
{
    width: 20px;
}
.contact-form .privacy a
{
    text-decoration: underline;
    cursor: pointer;
}
.contact-form .missingPrivacy
{
    margin: 5px 0;
    display: block;
}

.contact-form .request-button
{
    display: block;
    padding: 3px 15px 3px 15px;
    text-decoration: none;
    margin: 10px;
    float: right;
    font-weight: bold;
    background-repeat: repeat-x;
    line-height: 25px;
}

.contact-form .checkbox-additional
{
    float: left;
    width: 100px;
    padding-left: 3px;
}

.contact-form .privacy .missing-privacy
{
    display: block;
    padding: 5px;
    margin: 5px 0;
    width: 100%;
}
.contact-form .checkboxes input
{
    width: 20px;
}
.contact-form .input-row .checkbox-additional input
{
    width: 20px;
}
.contact-form .input-row .checkbox-additional-input input
{
    width: 300px;
}

.contact-form .input-row .checkbox-additional-input
{
    margin-bottom: 4px;
}

.contact-form .header-text
{
    margin-bottom: 10px;
}

.contact-form .error-message
{
    padding: 5px;
    margin-bottom: 10px;
    font-weight: bold;
}

.contact-form .separator
{
    clear: both;
    height: 1px;
    font-size: 1px;
    line-height: 1px;
    margin: 10px 0;
}

.contact-form input.captcha
{
    width: 200px;
}

.contact-form img.captcha-image
{
    padding-left: 120px;
}

/*---------------------------------------------------
/*  base module
/*---------------------------------------------------*/

.base-module .item.list
{
    display: block;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #ECECEC;
}


.base-module .item .module-title
{
    color: #667BB4;
    font-weight: bold;
}

.base-module .item .paths
{
    margin-bottom: 4px;
    font-size: 90%;
}

.base-module .item a:hover
{
    text-decoration: underline;
}

.base-module .item a.link-path
{
}

.base-module .detail-link
{
    padding-left: 16px;
    padding-right: 16px;
    background-image: url(/media/arrow-small.png);
    background-repeat: no-repeat;
    background-position: 0px 5px;
}

/*******************************************ajax postback*****************************************/

#ajaxpb
{
    background-color: #666666;
    position: absolute;
    z-index: 10000;
    top: 0;
    left: 0;
    opacity: 0.3;
}

/*******************************************print*****************************************/

.print-button
{
    display: inline-block;
    padding: 2px 15px 2px 15px;
    text-decoration: none;
    margin-bottom: 10px;
    font-weight: bold;
    background-repeat: repeat-x;
    line-height: 22px;
}

/*******************************************modul-references*****************************************/

#modul-references div.item.list .image
{
    float: left;
    width: 220px;
}

#modul-references div.item.list img, #modul-references div.item.detail img
{
    border: 2px solid #BEC2CC;
}

#modul-references div.box-filled
{
    border: 1px solid #DDDFE3;
    background-color: #ECEDF0;
    padding:10px
}

#modul-references div.item.detail .top
{
    position:relative;
}

#modul-references div.item.detail .top .image
{
    float:left;
}

#modul-references div.item.detail .works
{
    position:absolute;
    left:256px;
    bottom:0px;
}

#modul-references div.item.detail .works li
{
    list-style-image:url(../media/arrow-reference.png);
    line-height:180%;
    list-style-position:inside;
}

#modul-references div.item.detail .description
{
    display:block;
    margin-top:15px;
    margin-bottom:15px;
}

#modul-references div.item.detail .gallery
{
    margin-top:15px;
}

#modul-references div.item.detail .gallery .title
{
    font-weight:bold;
}

#modul-references div.item.detail .gallery .title span.text
{
    font-weight:normal;
}

#modul-references div.item.detail .gallery div.image
{
    float:left;
    padding-top:13px;
    padding-right:13px;
}

#modul-references div.item.detail .gallery div.image.last
{
    padding-right:0px;
}

#modul-references div.item.detail .downloads
{
    margin-top:15px;
    margin-bottom:15px;
}

#modul-references div.item.detail .downloads .item
{
    float:left;
    padding-right:16px;
}

#modul-references div.item.detail .downloads .item img
{
    border:0px;
    float:left;
    padding-right:5px;
}

/*******************************************popup*****************************************/

#popup-image .position
{
    border:2px solid white;
}

/*---------------------------------------------------
/*  route planner
/*---------------------------------------------------*/

#route-planner
{
    margin-top:16px;
    padding-top:16px;
    border-top:3px solid #ECECEC;
    margin-bottom:16px;
    padding-bottom:16px;
    border-bottom:3px solid #ECECEC;
}

#route-planner .container
{
}

#route-planner .title
{
    font-weight: bold;
    padding: 20px 0px 10px 0px;
}

#route-planner .row
{
    clear: both;
    padding: 2px 0px 2px 0px;
}

#route-planner .row .label
{
    float: left;
    width: 130px;
}

#route-planner .row .value
{
    margin-left: 130px;
}

#route-planner .address
{
    width: 310px;
}

#route-planner .country
{
    width: 20px;
}

#route-planner .zipcode
{
    width: 60px;
}

#route-planner .place
{
    width: 212px;
}

#route-planner .row.button
{
    width:445px;
    text-align:right;
}

#route-planner .button input
{
    padding: 5px 20px 5px 20px;
    margin: 5px 0px 5px 0px;
}

#google-map
{
    width: 625px;
    height: 350px;
}
#google-route
{
}

#google-routebox
{
    margin-top:16px;
    padding-top:16px;
    border-top:3px solid #ECECEC;
}
