/*******************************************GENERAL****************************************/
body, input, textarea
{
    font-family: "Trebuchet MS";
}

a
{
    text-decoration: none;
}

a.email
{
    text-decoration: underline;
}

.body_content
{
    text-align: center;
    background-repeat: no-repeat;
    background-position: center top;
    margin: 0px 0px 0px 0px;
}

a img
{
    border: 0;
}

input.checkbox
{
    padding: 5px 5px 0 0;
    width: 20px;
    display: inline-block;
    vertical-align: sub;
}

textarea.textarea
{
    overflow: auto;
}

.right
{
    float: right;
    padding-left: 10px;
}

.left
{
    float: left;
    padding-right: 10px;
}

.inline
{
    display: inline-block;
}

/*******************************************ajax postback*****************************************/

#ajaxpb
{
    background-color: #666666;
    position: absolute;
    z-index: 10000;
    top: 0;
    left: 0;
    opacity: 0.3;
}

#ajaxpb .loader
{
    background-image: url(../media/loader.gif);
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 100%;
}

/*******************************************top*****************************************/

#top
{
    text-align: center;
    margin: auto;
    background-position: bottom;
}

#top .top-innen
{
    height: auto !important;
    height: 18px;
    min-height: 18px;
    width: 978px;
    margin: 0px auto;
    position: relative;
}

#top .top-innen .buttons-container
{
    position: absolute;
    right: 25px;
    bottom: -13px;
    z-index: 10;
}

#top .top-innen .buttons-container .button
{
    width: 96px;
    height: 31px;
    position: relative;
    text-align: center;
    float: left;
    background-repeat: no-repeat;
    margin-left: 23px;
    padding-top: 0px;
}

#top .top-innen .buttons-container .button a
{
    background-repeat: no-repeat;
    background-position: right center;
    padding-right: 15px;
}

#top .search-panel
{
    height: 50px;
}

.search-box
{
    text-align: left;
    padding-right: 30px;
    width: 330px;
    height: 35px;
}

.search-box div.action
{
    display: inline-block;
    cursor: hand;
    height: 18px;
    width: 18px;
    background-repeat: no-repeat;
    background-image: url(../media/bg-search.png);
}

.search-box input
{
    width: 300px;
    color: #888888;
}

.search-box input.focused
{
    color: #333333;
}

#top .search-box
{
    margin-top: 4px;
    float: right;
}

/*******************************************main****************************************/

#main
{
    width: 978px;
    vertical-align: top;
    text-align: left;
    margin: auto;
    position: relative;
}

#main .footer-end
{
    background-position: top center;
    background-repeat: no-repeat;
    width: 980px;
    height: 18px;
    position: relative;
    margin: auto;
    clear: both;
}

.relative
{
    position: relative;
}

.clear
{
    clear: both;
    height: 0;
}

a img
{
    border: 0;
}

/*******************************************header-zone****************************************/

#header-zone-spacer
{
    height: 495px;
}

#header-zone-placer
{
    position: absolute;
    left: 0;
    top: 0;
}

#header-zone .logo
{
    float: left;
    background-repeat: repeat-x;
    padding: 12px 0px 16px 42px;
    text-decoration: none;
}

/*******************************************mainmenu****************************************/

#menu-top
{
    display: block;
    position: relative;
    padding-right: 20px;
    padding-top: 69px;
    float: right;
    z-index: 10;
}

#menu-top .corner-left
{
    position: absolute;
    display: block;
    top: 0px;
    left: 0px;
    width: 8px;
    height: 37px;
    background-repeat: no-repeat;
}

#menu-top .corner-right
{
    position: absolute;
    display: block;
    top: 0px;
    right: 0px;
    width: 8px;
    height: 37px;
    background-repeat: no-repeat;
}

#menu-top .level-0
{
    float: left;
    position: relative;
    height: 37px;
}

#menu-top .level-0 a
{
    padding-bottom: 0px;
    padding-left: 14px;
    padding-right: 12px;
    display: block;
    padding-top: 10px;
    line-height: 22px;
    font-size: 17px;
}

#menu-top .flyout
{
    position: absolute;
    top: 37px;
    left: 0;
    min-width: 180px;
    display: none;
    z-index: 10;
}

#menu-top .flyout a
{
    font-size: 13px;
    line-height: 17px;
    padding: 2px 10px 2px 26px;
    text-transform: uppercase;
    text-decoration: none;
    background-repeat: no-repeat;
    background-position: 14px 6px;
}

#menu-top .corner-top, #menu-top .corner-bot
{
    height: 6px;
    line-height: 6px;
    font-size: 6px;
    margin-left: 10px;
    margin-right: 10px;
    background-color: #FEFEFE;
    width: 210px;
    position: relative;
}

#menu-top .flyout .corner-left, #menu-top .flyout .corner-right
{
    width: 10px;
    height: 6px;
}

#menu-top .flyout div.corner-top div.corner-left
{
    position: absolute;
    top: 0;
    left: -10px;
}

#menu-top .flyout div.corner-top div.corner-right
{
    position: absolute;
    top: 0;
    right: -10px;
}

#menu-top .flyout div.corner-bot div.corner-left
{
    position: absolute;
    bottom: 0;
    left: -10px;
}

#menu-top .flyout div.corner-bot div.corner-right
{
    position: absolute;
    bottom: 0;
    right: -10px;
}

/*******************************************Content-zone****************************************/

#header-zone
{
    position: absolute;
    top: 0;
    border-left: 1px solid #e4e4e4;
    border-right: 1px solid #e4e4e4;
    width: 978px;
}

#header-zone .banner
{
    padding-left: 1px;
    height: 387px;
    position: relative;
    background-repeat: no-repeat;
    background-position: 1px top;
    z-index: 5;
}


#content-zone
{
    background-repeat: repeat-y;
    margin-top: 0px;
    width: 978px;
    border-left: 1px solid #e4e4e4;
    border-right: 1px solid #e4e4e4;
    padding-top: 10px;
    height: auto !important;
    height: 730px;
    min-height: 730px;
}

#contentleft
{
    float: left;
}

#content
{
    padding: 0px 35px 0px 52px;
    margin-left: 327px;
}

#content .text a:hover
{
    text-decoration: underline;
}

.facebook
{
    margin-left: 20px;
    margin-top: 5px;
}

.top
{
    height: 6px;
}

.bottom
{
    height: 7px;
}

/*-----------------------------------------------
/*      menu left
/*-----------------------------------------------*/

#menu2
{
    width: 270px;
    margin: 15px 0px 25px 19px;
}

.menutitle
{
    padding: 16px 0px 0px 27px;
}

#menu2 ul
{
    padding: 0px 0px 0px 27px;
    list-style: none;
}

#menu2 ul li.aktiv a, #menu2 ul li a
{
    padding: 2px 0px 4px 14px;
    text-decoration: none;
    display: block;
    text-transform: uppercase;
    background-repeat: no-repeat;
    background-position: 0px center;
}

#contentleft #menu2 .menu-1
{
    margin: 0px 0px 0px 0px;
    text-decoration: none;
}

/*******************************************References****************************************/

#references .reference
{
}

#references .reference
{
    width: 270px;
    margin: 8px 0px 8px 19px;
}

#references .reference .img
{
    margin: 4px 5px 2px 5px;
    display: block;
}

#references .reference .box
{
    margin: 4px 6px 2px 8px;
}

#references .reference .title
{
    font-weight: bold;
}

#module-references .item-detail .columns ul, #module-testimonials .item-detail .columns ul
{
    min-height: 0px;
}

/*******************************************References****************************************/

#events .event
{
}

#events .event
{
    width: 270px;
    margin: 8px 0px 8px 19px;
}

#events .event .img
{
    margin: 4px 5px 2px 5px;
    display: block;
}

#events .event .box
{
    margin: 4px 6px 2px 8px;
}

#events .event .title
{
    font-weight: bold;
}

/*-----------------------------------------------
/*      box banner
/*-----------------------------------------------*/

#banner-menu
{
    position: absolute;
    left: 20px;
    bottom: 17px;
    width: 283px;
}

#banner-menu .reference-button-on, #banner-menu .reference-button-over, #banner-menu .testimonial-button-on, #banner-menu .testimonial-button-over
{
    height: 65px;
    width: 283px;
}
#banner-menu .spacer
{
    height: 6px;
}

#banner-menu .title1
{
    padding: 14px 0px 0px 25px;
    display: block;
}

#banner-menu .title2
{
    padding: 0px 0px 0px 25px;
    display: block;
}
/*-----------------------------------------------
/*      box banner - base
/*-----------------------------------------------*/
.banner-box
{
    position: absolute;
    left: 303px;
    bottom: 0px;
    width: 674px;
    height: 218px;
}
.banner-box .item
{
    float: left;
    width: 652px;
}
.banner-box .clipcontainer
{
    line-height: normal;
    font-size: 1em;
    overflow: hidden;
    margin: 0 10px 0 10px;
    width: 652px;
}
.banner-box .next
{
    right: 0px;
}
.banner-box .back
{
    right: 24px;
}
.banner-box .links a
{
    font-weight: bold;
    padding-left: 10px;
    background-repeat: no-repeat;
    background-position: 2px center;
}
/*-----------------------------------------------
/*      box banner - references
/*-----------------------------------------------*/
#reference-open
{
    display: block;
}

#reference-open .img
{
    float: left;
    padding: 20px 0px 0px 15px;
}
#reference-open .img img
{
    margin-right: 5px;
}
#reference-open .box
{
    padding: 105px 10px 10px 440px;
}

#reference-open .arrow
{
    position: absolute;
    top: 10px;
    right: 10px;
}

#reference-open .text
{
    padding: 0px 0px 10px 0px;
}



/*-----------------------------------------------
/*      box banner - testimonials
/*-----------------------------------------------*/
#testimonial-open
{
    display: block;
    bottom: 1000px;
}

#testimonial-open .img
{
    float: right;
    margin: 15px 15px 0px 20px;
    width: 205px;
}

#testimonial-open .item
{
    height: 217px;
    position: relative;
}
#testimonial-open .box
{
    padding-left: 25px;
    padding-top: 25px;
}

#testimonial-open .text
{
    padding: 5px 0px 10px 0px;
}

#testimonial-open .links
{
    text-align: right;
    font-weight: bold;
    position: absolute;
    bottom: 23px;
    right: 110px;
}

#testimonial-open .arrow
{
    position: absolute;
    right: 10px;
    bottom: 45px;
}
/*-----------------------------------------------
/*     sitepath
/*-----------------------------------------------*/
.sitepath
{
    padding: 5px 0px 5px 0px;
    margin: 0px 0px 15px 0px;
    color: #000000;
}
.sitepath .separator
{
    padding: 0 10px;
}
/*******************************************Content****************************************/


#content h1
{
    margin-top: 0px;
    margin-bottom: 5px;
}

#content h2
{
}

#content .text
{
    display: block;
    width: 100%;
}

#content .text img
{
}

/*******************************************Content-zone****************************************/

#contentright
{
    float: right;
}

#contentright .calender
{
    margin: 14px 9px 16px 0px;
}

#contentright #events
{
    margin: 0px 9px 18px 0px;
}

#contentright #events .date
{
    background-color: #b1b413;
    color: #ffffff;
    padding: 3px 0px 3px 10px;
    width: 200px;
}

#contentright #events .title
{
    background-color: #d6d58a;
    color: #1a171b;
    padding: 3px 0px 3px 10px;
    width: 200px;
    background-image: url(../media/pfeil_events.png);
    background-position: 187px;
    background-repeat: no-repeat;
}

#contentright #events .discription
{
    padding: 3px 0px 3px 10px;
}

/*******************************************Footerzone****************************************/

#footer-zone
{
    background-position: bottom;
    margin: 0px;
    width: 978px;
    padding-top: 19px;
    padding-bottom: 15px;
    border-left: 1px solid #e4e4e4;
    border-right: 1px solid #e4e4e4;
}
/*----------------------------------------------------------
/* contact box
/*----------------------------------------------------------*/

#contactbox
{
    float: left;
}

#contactbox .spacer
{
    height: 5px;
    line-height: 5px;
    font-size: 5px;
}

#contactbox .contact
{
    width: 270px;
    height: 260px;
    margin: 0px 0px 0px 19px;
}

#contactbox .contacttitle
{
    height: 28px;
    padding: 12px 0px 0px 45px;
    display: block;
}


#contactbox .box
{
    margin: 6px 10px 0px 0px;
}

#contactbox .box2
{
    margin: 4px 10px 0px 0px;
}

#contactbox .text
{
    margin: 0px 5px 0px 20px;
    float: left;
}
#contactbox .box input
{
    width: 160px;
}
#contactbox .box2 textarea
{
    margin-left: 20px;
    width: 233px;
    height: 72px;
}

#contactbox .textinput
{
    display: block;
    margin: 2px 0px 2px 90px;
}

#contactbox .links
{
    float: right;
    margin: 5px 15px 0px 0px;
}

#contactbox .error-messages
{
    position: absolute;
    top: -45px;
    left: -270px;
    width: 255px;
}

#contactbox .textinput.form-error
{
    border: 1px solid red;
    background-color: #CCCCCC;
}

/*----------------------------------------------------------
/* box
/*----------------------------------------------------------*/

#box
{
}

#box .title
{
    width: 270px;
    margin: 0px 0px 0px 19px;
}

#box .title-link
{
    height: 28px;
    padding: 12px 0px 0px 45px;
    display: block;
}

/*******************************************News****************************************/


#newsbox
{
    margin-left: 300px;
}

#newsbox .news
{
    width: 642px;
    height: 260px;
    margin: 0px 0px 0px 19px;
}

#newsbox .newstitle
{
    height: 40px;
}

#newsbox .newstitle .title
{
    padding: 12px 0px 0px 45px;
    display: block;
    float: left;
}
#newsbox .newstitle .allnews
{
    display: block;
    padding: 11px 20px 0px 0px;
    float: right;
}

#newsbox .box .title
{
    padding: 12px 0px 0px 0px;
    font-size: 13px;
}

#newsbox .box
{
    padding: 0px 20px 0px 20px;
    margin-top: 6px;
    line-height: 20px;
    display: block;
}

#newsbox .box a:hover
{
    text-decoration: underline;
}

#newsbox .title
{
    font-weight: bold;
}
#newsbox .contentfirst
{
    display: block;
}
#newsbox .content
{
    display: inline;
}

.newsbox-delimiter
{
    clear: both;
    padding: 0;
    margin: 0;
    line-height: 0;
    margin-bottom: 30px;
    font-size: 0;
}

#newsbox .box-content
{
    margin-left: 27px;
}

#newsbox span.icon
{
    float: left;
}

/*******************************************Sitemap****************************************/
#sitemap
{
    margin: 0px 19px 20px 19px;
    width: 942px;
    height: 180px;
}
#sitemap top, #sitemap .bottom
{
    height: 10px;
    font-size: 0;
    line-height: 0;
    background-repeat: no-repeat;
    background-position: left bottom;
}
#sitemap .top
{
    background-position: left top;
}
#sitemap ul
{
    padding: 0px 10px 0px 27px;
    float: left;
    margin: 0;
    width: 148px;
    background-repeat: no-repeat;
    background-position: top right;
    height: auto !important;
    height: 150px;
    min-height: 150px;
}

#sitemap ul.last
{
    padding-right: 0;
}

#sitemap ul ul
{
    list-style: none;
    padding: 0px 0px 0px 0px;
    height: auto;
    min-height: 0;
}

#sitemap ul li a
{
    display: block;
}

#sitemap .level-1
{
    margin: 2px 10px 2px 0px;
    word-wrap: break-word;
    text-decoration: none;
}

/*-----------------------------------------------
/*     service
/*-----------------------------------------------*/

#copyright
{
    float: left;
    padding: 0px 0px 0px 30px;
}

#logos
{
    float: right;
    padding: 0px 35px 0px 0px;
}

#address
{
    padding: 0px 0px 0px 0px;
    margin-left: 200px;
}
/*-----------------------------------------------
/*  base-module
/*-----------------------------------------------*/
.base-module
{
}

.base-module .container
{
    margin-top: 20px;
    margin-bottom: 20px;
}

.base-module .item
{
    margin-top: 20px;
    padding-top: 10px;
    position: relative;
    height: auto !important;
}

.base-module .item .image
{
    float: right;
    padding-left: 20px;
}

.base-module .item.item-detail .image
{
    float: none;
    padding-left: 0;
}

.base-module .item .image img
{
    margin-left: 10px;
}

.base-module .item .module-title
{
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 15px;
}
.base-module .item .date
{
    font-weight: normal;
}

.base-module .item .description
{
}

.base-module .item .description span.short
{
    width: 300px;
    display: block;
}

.base-module .detail-link
{
    padding-left: 12px;
    background-repeat: no-repeat;
    background-position: 0 center;
    text-decoration: none;
}

.base-module .link-path
{
    padding-left: 12px;
    padding-right: 12px;
    background-repeat: no-repeat;
    background-position: 0 center;
    text-decoration: none;
}

.base-module h3
{
    margin: 0 0 10px 0;
}

.base-module .homepage
{
    text-decoration: none;
    font-size: 14px;
    line-height: 18px;
    background-repeat: no-repeat;
    background-position: left 4px;
    margin: 5px 0;
    padding-left: 12px;
}

.base-module .email, .base-module .vcf
{
    text-decoration: none;
    font-size: 14px;
    line-height: 20px;
    background-repeat: no-repeat;
    background-position: left 2px;
    margin: 5px 0;
    padding-left: 30px;
}

span.icon
{
    width: 22px;
    display: block;
}

span.icon.active
{
    background-image: url(../media/blog.png);
    background-repeat: no-repeat;
    background-position: center bottom;
}

.base-module .item .columns
{
    margin-top: 20px;
}

.base-module .item .columns .column
{
    float: left;
    padding-right: 20px;
}

.base-module .item .image-container
{
    float: right;
    padding-left: 20px;
}

.base-module .item ul
{
    padding: 0 10px 20px 13px;
    float: left;
    margin: 0;
    background-repeat: no-repeat;
    background-position: top right;
    height: auto !important;
    height: 150px;
    min-height: 150px;
    list-style-image: url(../media/arrow-black.png);
    font-weight: bold;
}

.base-module .item .column ul
{
    width: 140px;
}

.base-module .item ul ul
{
    margin-top: 10px;
    list-style: none;
    padding: 0px 0px 0px 0px;
    height: auto;
    min-height: 0;
    font-weight: normal;
}

/*---------------------------------------------------
/*  contact - base
/*---------------------------------------------------*/

.contact-form
{
    margin-top: 20px;
}

.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: 120px;
    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: 100px;
    float: left;
    overflow: auto;
}
.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 6px 3px 15px;
    text-decoration: none;
    margin: 10px;
    float: right;
    font-weight: bold;
    background-repeat: no-repeat;
    background-position: 5px 9px;
}

.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 .interests-box
{
    float: right;
    position: relative;
}

.contact-form .interests-box .interests
{
    background-color: White;
    padding: 3px;
    border: 1px solid #cccccc;
    display: none;
    top: 17px;
    position: absolute;
    white-space: nowrap;
}

.contact-form .newsletter-row div
{
    margin-bottom: 4px;
}

.contact-form .interests-box .interests input.checkbox
{
}

/*---------------------------------------------------
/*  route planner
/*---------------------------------------------------*/

#route-planner .container
{
    padding: 10px;
    margin-bottom: 20px;
}

#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: 120px;
}

#route-planner .row .value
{
    margin-left: 120px;
}

#route-planner .address
{
    width: 398px;
}

#route-planner .country
{
    width: 30px;
}

#route-planner .zipcode
{
    width: 120px;
}

#route-planner .place
{
    width: 230px;
}

#route-planner .button
{
    padding: 5px 20px 5px 20px;
    margin: 20px 0px 20px 0px;
}

#google-map
{
    width: 616px;
    height: 330px;
}
#google-route
{
}

.google-map
{
    margin-bottom: 20px;
}

/*---------------------------------------------------
/*  search
/*---------------------------------------------------*/

#search .base-module .item .description
{
    padding-left: 0px;
}

/*---------------------------------------------------
/*  team
/*---------------------------------------------------*/

.expandable
{
    padding-left: 20px;
    background-repeat: no-repeat;
    background-position: 0 4px;
    background-image: url(../media/bg-collapsed.png);
    cursor: hand;
}

.expandable.expanded
{
    background-image: url(../media/bg-expanded.png);
}

.expanded-panel
{
    display: none;
    padding-left: 20px;
    padding-bottom: 10px;
}

#module-team .item .description
{
    height: 150px;
}

/*---------------------------------------------------
/*  teasers
/*---------------------------------------------------*/

#module-teasers
{
    margin-top: 40px;
    border-top: #e1e1e1 1px solid;
    padding-top: 10px;
}

#module-teasers .item
{
    border: 0px;
    padding: 0px;
    margin: 0px;
}

/*---------------------------------------------------
/*  ReferencesLinks
/*---------------------------------------------------*/

#module-ReferencesLinks .item
{
    margin-top: 20px;
    padding-top: 10px;
}

#module-ReferencesLinks .item .link
{
    padding-left: 15px;
}

#module-ReferencesLinks .item .detail-link
{
    margin-bottom: 10px;
}

/*---------------------------------------------------
/* registration
/*---------------------------------------------------*/

#registration
{
    margin-top: 40px;
    border-top: #e1e1e1 1px solid;
    padding-top: 10px;
}
