/******************************************************************************/
/*  Implenia                                                                  */
/******************************************************************************/

/*  Reset CSS -> Thanks to Eric A. Meyer */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
    }


table, caption, tbody, tfoot, thead, tr, th, td     {
    vertical-align : top;
    }

:focus {
	outline: 0;
    }

body {
	line-height: 1;
	color: #000;
	background: #fff;
    }

ol, ul {
	list-style: none;
    }

table {
	border-collapse: collapse;
	border-spacing: 0;
    }

td  {
    vertical-align : top;
    }

caption, th, td {
	text-align: left;
	font-weight: normal;
    }

blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
    }

blockquote, q {
	quotes: "" "";
    }


/**************************************************************************** General Site Layout */

/* General */
a  {
    color : #f7b512;
    text-decoration : none;
    }


a:visited   {
    color : #666;
    text-decoration : none
    }


a:hover {
    color : #ccc;
    text-decoration : underline;
    }


.smaller,
span.smaller    {
    font-size : 11px;
    line-height : 12px;
    white-space : nowrap;
    }

span.link_descr    {
    font-size : 0.75em;
    }

strong  {
    font-weight : bold;
    }

span.normal {
    font-weight : normal;
    }

span.color  {
    color : #000;
    }

span.vertical_divider {
    margin : 0 2px 0 5px;
    font-weight : bold;
    }


.hide,
.hidden {
    position:absolute;
    top:0; left:-300em;
    height : 0;
    overflow : hidden;
    }


/************************************************************************************* Wrappers ***/

html {
 	height : 100%;
	}


body	{
    height : 100%;
    width : 100%;
    font-family : arial, helvetica, sans-serif;
    font-size : 13px;
    line-height : 18px;
    background-color : #000;
	}

body.start {    
    background-repeat : no-repeat;
    background-position : center center;
    background-color : #000;
    }

body.start div.bg_image {
    position : absolute;
    top : 0;
    left : 0;
    width : 100%;
    height : 100%;
    min-width : 960px;
    overflow-y : hidden;
    overflow-x : show;
    }

table.wrapper,
div.wrap {
    position : relative;
    margin : 0 auto;
    min-height : 100%;
    width : 100%;
    color : #000;
    background-color : #fff;
    min-width : 960px;
/*     
    height : auto;
    min-height : 100%;
    padding-bottom : 252px;
    border : 1px solid red;
    margin-bottom : -252px;
*/
    }


body.start div.wrap {
    background-color : transparent;
    /* background-repeat : no-repeat;
    background-position : top center;
    background-color : #000;
    background-size : 100%;
    */
    }

div.site {
    min-height : 100%;
    }

div.main {
    overflow : auto;
    padding-bottom : 52px;
    }


div.header_wrap,
div.content_wrap,
div.footer_wrap {
    width : 100%;
    background-color : #000;
    }

div.header_wrap {
    overflow : hidden;
    }

div.content_wrap {
    background-color : #fff;
    }
    
div.header,
div.content,
div.footer {
    background-color : #000;
    width : 960px;
    margin :  0 auto;
    overflow : auto;
    }


hr.section_divider {
    clear : both;
    height : 1px;
    width : 100%;
    padding-bottom : 1px;
    background-image : url(bg_dotted_divider.png);
    background-repeat : repeat-x;
    overflow : auto;
    border : none;
    margin-bottom : 20px;
    }


span.vertical_divider {
    padding : 0 2px;
    }

/*************************************************************************************** Header ***/

/* Metanavigation */

div.metanavigation {
    width : 880px;
    padding-top : 15px;
    margin-left : 65px;
    text-align : right;
    color : #f4a31e;
    font-weight : bold;
    font-size : 12px;
    }

div.metanavigation a {
    color : #666;
    text-decoration : none;
    }

div.metanavigation a:hover {
    color : #fff;
    }
    
ul.lang_contact {
    float : right;
    list-style : none;
    display : inline;
    color : #f4a31e;
    }
    
ul.lang_contact li {
    display : inline;
    margin : 0;
    padding : 0;
    }
    
ul.search {
    float : right;
    width : 160px;
    margin : 0;
    margin : 0 20px;
    padding : 0;
    }

ul.search li span input.search {
    float : left;
    font-size : 12px;
    line-height : 14px;
    background-color : #4d4d4d;
    color : #000;
    font-family : arial, helvetica, sans-serif;
    padding : 2px 6px 0 6px;
    border : 0;
    width : 128px;
    height : 16px;
    margin : 0;
    }

ul.search li span input.submit {
    float : left;
    width : 20px;
    height : 18px;
    padding : 0;
    margin : 0;
    background-color : #4d4d4d;
    }

ul.search li span input.submit:hover {
    background-color : #fff;
    }

div.metanavigation span.vertical_divider {
    color : #666;
    }
    
    
/* Logo - Mainnavigation */

div.logo_mainnav {
    clear : both;
    width : 960px;
    font-size : 12px;
    }

p.logo {
    float : left;
    margin-left : 13px;
    padding-bottom : 15px;
    }
    
p.logo:hover {
    filter : Alpha(opacity=50);
    opacity : 0.5;
    }


div.mainnav ul {
    float : right;
    padding-top : 22px;
    width : 610px;
    display : block;
    text-align : justify;  
    margin-right : 15px;
    }

div.mainnav ul:after   {
        content: "\A0";
        display: inline-block;
        height: 0;
        width: 100%;
        }

div.mainnav ul li {
        list-style-type : none;
        display : inline-block;
        font-weight : bold;
        white-space : nowrap;
        }

div.mainnav ul li a {
    color : #fff;
    }
    
div.mainnav ul li a:visited {
    text-decoration : none;
    }
    

div.mainnav ul li a:hover {
    color : #666;
    text-decoration : none;
    }
    

/* Logo - Mainnavigation */

div.teaser_subnav {
    clear : both;
    width : 880px;
    margin-left : 65px;
    border : 1px solid #fff;
    border-width : 1px 0 0 0;
    padding-top : 25px;
    overflow : hidden;
    padding-bottom : 30px;
    }
    
    
div.teaser_subnav div.teaser h3 {
    float : left;
    width : 220px;
    margin-right : 50px;
    font-family : "FrutigerNextW01-Condens", arial, helvetica, sans-serif;
    /* font-family:'FrutigerNextW01-LightCn'; */
    font-weight : normal;
    font-size : 30px;
    line-height : 35px;
    color : #fff;
    }
    

/*** Start/Home - News */    
    
div.teaser_subnav div.start_news    {
    float : left;
    width : 610px;
    color : #fff;
    margin-top : 5px;
    }
    
div.teaser_subnav div.start_news div.news_img {
    float : left;
    width : 160px;
    margin : 0;
    padding : 0 20px 9px 0; /* padding : 0 0 0 0; */
    }
    
div.teaser_subnav div.start_news div.news {
    float : left; /* right */
    width : 430px;
    padding-bottom : 5px;
    margin-top : -4px;
    }   

div.teaser_subnav div.start_news div.news a {
    color : #f7b512;
    text-decoration : none;
    }

div.teaser_subnav div.start_news div.news a:visited   {
    color : #f7b512;
    text-decoration : none;
    }

div.teaser_subnav div.start_news div.news a:hover {
    color : #fff;
    text-decoration : none;
    } 


div.teaser_subnav ul.theme_tabs {
    clear : both;
    float : left;
    width : 425px; /* 450 */
    text-align : left;
    border-top : 1px solid #fff;
    padding-top : 4px;
    margin-bottom : 0px;
    color : #fff;
    }

div.teaser_subnav ul.theme_tabs li {
    display : inline;
    color : #f7b512;
    font-weight : bold;
    }

div.teaser_subnav ul.theme_tabs li a {
    color : #666;
    }

div.teaser_subnav ul.theme_tabs li a:hover {
    color : #fff;
    text-decoration : none;
    }

div.teaser_subnav ul.theme_tabs span {
    color : #666;
    }

div.start_news ul.news_inside_nav {
    float : right;
    width : 185px; /* 160px; */
    text-align : right;
    margin-bottom : 0;
    color : #fff;
    border-top : 1px solid #fff;
    padding-top : 4px;
    }

div.start_news ul.news_inside_nav li {
    display : inline;
    color : #f7b512;
    font-weight : bold;
    padding : 0 4px;
    }

div.start_news ul.news_inside_nav li a {
    text-decoration : none;
    font-weight : bold;
    color : #666;
    }


/* Sublevels */
    
div.teaser_subnav ul.sublevel {
    float : left;
    width : 160px;
    display : block;
    }



/* Startpage */

div.teaser_subnav div.news {
    float : left;
    width : 520px;
    min-height : 112px;
    }

/* Sublevels */
    
ul.sublevel {
    width : 154px;
    margin: 0 20px 0 0;
    padding-bottom : 0;
    font-weight : bold;
    line-height : 15px;
    font-size : 12px;
    }

div.services ul.sublevel {
    width : 216px;
    }


ul.sublevel li {
    border-bottom : 1px solid #fff;
    margin : 0;
    padding : 0;
    }

div.services ul.sublevel li {
    border : 0;
    }

ul.sublevel li a {
    display : block;
    padding : 0;
    margin : 0;
    padding-left : 0px;
    padding-right : 5px;
    padding-top : 2px;
    padding-bottom : 3px;
    text-decoration : none;
    color : #fff;
    }

div.services ul.sublevel li a {
    color : #000;
    }

ul.sublevel li span {
    display : block;
    padding-right : 0px;
    }

ul.sublevel li.selected a,
ul.sublevel li.shown {
    background : transparent;
    color : #666;
    }

div.services ul.sublevel li a,
div.services ul.sublevel li.shown {
    border-bottom : 1px solid #000;
    }

ul.sublevel li.selected li a,
ul.sublevel li li a {
    padding-left : 12px;
    background : transparent;
    color : #000;
    }


ul.sublevel li.selected li li a {
    padding-left : 24px;
    }

ul.sublevel ul li.shown span {
    padding-left : 12px;
    }

ul.sublevel ul ul li.shown span {
    padding-left : 12px;
    }

ul.sublevel li.selected li li li a,
ul.sublevel ul ul li.shown {
    padding-left : 12px;
    }

ul.sublevel li.shown span {
    padding : 0;
    margin : 0;
    padding-left : 10px;
    padding-top : 2px;
    padding-bottom : 3px;
    color : #f7b512;
    text-decoration : none;
    font-weight : bold;
    background-image : url(arrow_shown.png);
    background-repeat : no-repeat;
    background-position : top left;
    }

ul.sublevel li li.selected a,
ul.sublevel li li.shown {
    border-bottom : 1px solid #000;
    color : #999;
    }


ul.sublevel li li.shown {
    color : #f7b512;
    padding-left : 12px;
    }


ul.sublevel li li.shown {
    padding-left : 24px;
    }

ul.sublevel li li li a:hover,
ul.sublevel li li a:hover,
ul.sublevel li a:hover {
    color : #f7b512 !important;
    }

ul.sublevel ul,
ul.sublevel ul ul,
ul.sublevel ul ul ul {
    border : 0;
    }



    
/************************************************************************************** Content ***/

div.content_wrap {
    position : relative;
    clear : both;
    padding-top : 50px;
    }


div.content_wrap a:hover {
    color : #999;
    text-decoration : none;
    }


div.content_area {
    clear : both;
    background-color : #fff;
    width : 960px;
    margin : 0 auto;
    }

div.start {
    overflow : hidden;
    margin : 0;
    padding : 0;
    }



/************************************************************************************* Services ***/

div.services {
    float : left;
    margin-left : 65px;
    padding-top : 10px;
    padding-bottom : 30px;
    width : 216px;
    }

div.services h3 {
    font-weight : bold;
    border : 1px solid #000;
    border-width : 0 0 1px 0;
    padding-bottom : 3px;
    text-transform : uppercase;
    margin-bottom : 3px;
    }


div.services ul {
    list-style-type : disc;
    margin-left : 15px;
    }

/* Downloads */

div.services_downloads ul.downloads,
div.services_context,
div.services_media {
    width : 216px;
    margin-bottom : 30px;
    }

ul.downloads {
    line-height : 15px;
    }

ul.downloads li {
    list-style-type : none;
    background-repeat : no-repeat;
    background-position : 0 1px;
    margin-bottom : 3px;
    padding-left : 30px;
    }

ul.downloads li.pdf {
    background-image : url(icons/icons_pdf.png);
   }

ul.downloads li.ppt {
    background-image : url(icons/icons_ppt.png);
    }

ul.downloads li.xls {
    background-image : url(icons/icons_xls.png);
    }

ul.downloads li.doc {
    background-image : url(icons/icons_doc.png);
    }
    
ul.downloads li span {
    font-size : 11px;
    }


/* Services Media */

div.services_media p.img {
    margin : -3px 0 5px 0;
    }


/************************************************************************************** Content ***/

div.content {
    float : right;
    width : 610px;
    margin-right : 15px;
    color : #000;
    font-size : 13px;
    line-height : 18px;
    background-color : #fff;
    padding-bottom : 30px;
    }

div.content a:hover {
    color : #999;
    text-decoration : none;
    }

h1 {
    font-family : "FrutigerNextW01-Condens", arial, helvetica, sans-serif;
    font-size : 30px;
    line-height : 35px;
    padding-bottom : 10px;
    width : 520px;
    }
    
h2 {
    font-weight : normal;
    font-size : 16px;
    line-height : 21px;
    margin-bottom : 12px;
    }    

h3 {
    font-weight : bold;
    font-size : 13px;
    line-height : 18px;
    }




div.content ol {
    list-style-type : decimal;
    }

div.content ol li {
    margin-left : 30px;
    margin-bottom : 14px;
    }



/* Anchors */

div.content ul.anchors {
    width : 100%;
    text-align : right;
    border-bottom : 1px dotted #f7b512;
    padding-bottom : 4px;
    margin-bottom : 30px;
    }

div.content ul.right {
    text-align : left;
    margin-top : -20px;
    }

div.content ul.anchors li {
    display : inline;
    color : #f7b512;
    }

div.content ul.right li {
    display : list-item;
    }

div.top {
    clear : both;
    width : 100%;
    margin-top : 14px;
    margin-bottom : 20px;
    text-align : right;
    border-top : 1px dotted #f7b512;
    }

/* div.top + div.part h2 {
    margin-top : 30px;
    }

/* General Content */

div.general_content {
    width : 520px;
    }

div.content p {
    margin-bottom : 14px;
    }
    
div.general_content ul.content,
div.general_content ul,
div.content ul {
    list-style : disc;
    margin-bottom : 10px;
    }

div.general_content ul.content li,
div.general_content ul li{
    margin-left : 15px;
    padding : 0 0 2px 0;
    }

div.organisation + div.general_content ul {
    margin-top : -10px;
    }


div.part {
    clear : both;
    margin-bottom : 8px;
    overflow : auto;
    }

div.general_content ul + ul,
div.general_content ul + ul + ul, 
div.general_content ul + ul + ul + ul,
div.general_content ul + ul + ul + ul + ul,
div.general_content ul + ul + ul + ul + ul {
    margin-top : -10px;
    }



/* Modul-Table */

div.table_cms {
    padding-top : 20px;
    }
    
div.table_cms table {
    margin-top : 0;
    width : 100%;
    }

div.table_cms table th,
div.table_cms table td {
    padding : 3px 0 3px 0;
    line-height : 18px;
    }
    
div.table_cms table th {
    border-bottom : 1px solid #000;
    border-width : 0 0 1px 0;
    font-weight : bold;
    }  

div.table_cms table tr:hover {
    background-color : #e3e3e3;
    }    
    
    
/******************************************************************************** Media Gallery ***/

div.media_gallery {
    padding-top : 20px;
    clear : both;
    width : 520px;
    }

div.media_gallery  div div {
    margin-top : -20px;
    }

div.media_gallery ul li {
    list-style-type: disc;
    margin-left : 15px;
    }

div.media_gallery div.img_thumbs {
    margin-top : 30px;
    width : 540px;
    }

div.media_gallery div.img_thumbs p {
    float : left;
    width : 160px;
    height : 160px;
    margin-bottom : 10px;
    margin-right : 20px;
    background-image : url(bg_dotted.png);
    overflow : hidden;
    }
    

div.media_gallery div.single_img img:hover,
div.media_gallery div.img_thumbs img:hover {
    filter : Alpha(opacity=50);
    opacity : 0.5;
    }

div.media_gallery div.img_thumbs p {
    margin-bottom : 15px;
    }

div.news p.zoom,
div.media_gallery p.zoom {
    margin-top : -40px;
    text-align : right;
    }

div.news p.zoom {
    width : 518px;
    }

div.news p.zoom img:hover,
div.media_gallery p.zoom img:hover {
    filter : Alpha(opacity=50);
    opacity : 0.5;
    }

div.media_gallery div.img_legend {
    margin-bottom : 8px;
    overflow : auto;
    }

div.media_gallery div.img_legend p {
    padding-bottom : 6px;
    border-bottom : 1px dotted #000;
    }



/***************************************************************************************** News ***/

/* Inside Navigation */

div.content ul.inside_navigation {
    width : 100%;
    text-align : left;
    height : 20px;
    border-bottom : 1px dotted #f7b512;
    padding-bottom : 0;
    }

div.content ul.inside_navigation li.shown {
    float : left;
    background-color : #f7b512;
    color : #fff;
    margin-right : 5px;
    padding : 3px 8px 3px 8px;
    line-height : 13px;
    border : 1px solid #f7b512;
    border-width : 1px 1px 0 1px;
    }


div.content ul.inside_navigation li {
    float : left;
    background-color : #fff;
    color : #000;
    margin-right : 5px;
    line-height : 13px;
    border : 1px solid #999;
    border-width : 1px 1px 0 1px;
    }

div.content ul.inside_navigation li a {
    display : block;
    padding : 3px 8px 3px 8px;
    color : #999;
    }
    
div.content ul.inside_navigation li a:hover {
    background-color : #000;
    color : #fff;
    }


div.news_item {
    clear : both;
    width : 602px;
    margin-top : 0;
    border-bottom : 1px dotted #999;
    overflow : auto;
    padding-top : 10px;
    margin-bottom : 0;
    padding-left : 4px;  /* */
    padding-right : 4px; /* */
    }

div.news_item h2 {
    font-size : 16px;
    line-height : 21px;
    font-weight : bold;
    padding-bottom : 15px;
    font-weight : normal;
    }

div.news_item p.open_close {
    float : right;
    text-align : right;
    width : 70px;
    padding-right : 4px;
    }


div.news h3 {
    font-weight : bold;
    font-size : 13px;
    line-height : 18px;
    }


div.news_item:hover {
    background-color : #f4f4f4; /* transparent;*/
    cursor : pointer;
    }

div.news div.general_content {
    width : 430px;
    margin-left : 90px;
    }

div.news h2.month {
    width : 606px;
    font-size : 13px;
    line-height : 13px;
    font-weight : bold;
    border : 1px solid #000;
    border-width : 0 0 1px 0;
    /* margin-bottom : 0;
    padding-bottom : 0;    */
    margin-top : 30px;
    padding-left : 4px;
    padding-bottom : 4px;
    }

div.news p.date {
    padding-top : 2px;
    float : left ;
    width : 90px;
    }

div.news h2.news_title {
    float : left;
    width : 430px;
    padding-bottom : 10px;
    overflow : auto;
    }

div.news h3 {
    padding-bottom : 10px;
    }


div.news ul.downloads {
    margin-top : -6px;
    }
    
div.news ul.downloads li {
    margin : 0;
    padding-left : 30px;
    }    



/* Table News / References */

table.news,
table.references {
    width : 520px;
    border-collapse : collapse;
    margin-top : 0px;
    margin-bottom : 0;
    }

table.news th,
table.references th {
    font-weight : bold;
    }

table.news td,
table.references td {
    padding-right : 20px;
    width : 160px;
    }
table.news td + td,
table.references td + td{
    width : 360px;
    }


/* Open - Close */



p.open a,
p.close a {
    float : right;
    width : 16px;
    height : 12px;
    background-image : url(arrow_open.png);
    background-position : top right;
    }

p.open a:hover,
p.close a:hover {
    background-image : url(arrow_close.png);
    }
    
p.open a img,
p.close a img {
    display:none;
    }

/***************************************************************************************** Jobs ***/

div.job_search {
    width : 520px;
    margin-bottom : 10px;
    overflow : auto;
    }

div.job_offers {
    float : left; 
    width : 260px;
    overflow : auto;
    }

div.job_offers + div.job_offers {
    float : right;
    }

div.job_offers ul li{
    list-style : disc;
    margin-left : 15px;
    }

div.jobs {
    clear : both;
    }

div.job_item{
    clear : both;
    width : 602px;
    margin-top : 0;
    border-bottom : 1px dotted #999;
    overflow : auto;
    padding-top : 10px;
    padding-left : 4px; /* */
    padding-right : 4px /* */
    margin-bottom : 0;
    }

div.short {
    clear : both;
    float : left;
    width : 519px;
    }

div.job_item div.general_content {
    clear : both;   
    margin : 0;
    padding: 0;
    }

div.job_item h2 {
    font-size : 16px;
    line-height : 21px;
    font-weight : bold;
    font-weight : normal;
    }

div.job_item p.open_close {
    float : right;
    text-align : right;
    width : 70px;
    padding-right : 4px;
    }


div.jobs h3 {
    font-weight : bold;
    font-size : 13px;
    line-height : 18px;
    }

div.job_item:hover {
    background-color : #f4f4f4; /* transparent; */
    cursor : pointer;
    }

div.jobs h2.category {
    width : 606px;
    font-size : 13px;
    line-height : 13px;
    font-weight : bold;
    border : 1px solid #000;
    border-width : 0 0 1px 0;
    /* margin-bottom : 0;
    padding-bottom : 0;    */
    margin-top : 30px;
    padding-bottom : 4px;
    padding-left : 4px;
    }


div.short h2.job_title {
    margin-bottom :0;
    }


div.jobs ul.downloads {
    }
    
div.jobs ul.downloads li {
    margin : 0;
    padding-left : 30px;
    }    
    
table.jobs_contact {
    width : 520px;
    border-collapse : collapse;
    margin-top : 15px;
    margin-bottom : 15px;
    }

table.jobs_contact th {
    font-weight : bold;
    }

table.jobs_contact td:first-child {
    width : 250px;
    }

/************************************************************************************** Reports ***/

div.reports {
    margin-top : 30px;
    }

div.report_download {
    width : 520px;
    margin-top : 0;
    margin-bottom : 20px;
    }

div.report_item {
    clear : both;
    margin-bottom : 20px;
    overflow : auto;
    }
    
div.report_img {
    position : relative;
    float : left;
    width : 160px;
    height : 160px;
    background-image : url(bg_dotted.png);
    margin-right : 20px;
    text-align : left;
    }

div.report_img p.img,
div.report_img p.icon {
    width : 159px;
    text-align : right;
    margin : 0;
    padding : 0;
    }

div.report_img p.img {
    text-align : left;
    }

div.report_img p.icon img  {
    margin : 5px 4px 0 0;
    }

div.report_img p.icon {
    position : absolute;
    top : 122px;
    right : 4px;
    width : 21px;
    }
    
table.reports_download {
    float : left;
    width : 340px;
    border-collapse : collapse;
    }

table.reports_download td,
table.reports_download td a {
    padding-right : 20px;
    }

table.reports_download p.company {
    margin-bottom : 0;
    }

table.reports_download p.company {
    font-weight : bold;
    }

table.reports_download h2.report_title {
    font-size : 16px;
    line-height : 21px;
    font-weight : bold;
    padding-bottom : 10px;
    font-weight : normal;
    }

table.reports_download td.checkbox {
    padding-right : 0;
    width : 25px;
    }
    
table.reports_download td.language {
    width : 50px;
    }

table.reports_download td.read {
    width : 225px;
    }

div.submit_downloads {
    clear : both;
    width : 100%;
    border : 1px dotted #f7b512;
    border-width : 1px 0 0 0;
    text-align : right;
    padding-top : 20px;
    }

div.submit_downloads p {
    text-align : right;
    float : right;
    margin-left : 10px;
    }

/********************************************************************************* Organisation ***/

div.organisation {
    clear : both;
    width : 602px;
    margin-top : 0;
    border-bottom : 1px dotted #999;
    overflow : auto;
    padding-top : 10px;
    padding-right : 4px; /* */
    padding-left : 4px;  /* */
    margin-bottom : 0;
    }

div.organisation_img {
    float : left;
    width : 160px;
    margin-right : 20px;
    }

div.organisation_content {  
    float : left;
    width : 340px;
    }

div.organisation_content h2 {
    font-size : 16px;
    line-height : 21px;
    font-weight : bold;
    padding-bottom : 15px;
    font-weight : normal;
    }

div.organisation_content div.general_content {
    clear : both;
    width : 340px;
    margin : 0;
    padding : 0;
    }

div.organisation_content div.general_content p {
    padding: 0;
    margin : 0 0 20px 0;
    }

div.organisation p.open_close {
    float : right;
    text-align : right;
    width : 70px;
    padding-right : 4px;
    }

div.organisation_content h3 {
    font-weight : bold;
    font-size : 13px;
    line-height : 18px;
    }

div.organisation:hover {
    background-color : #f4f4f4;  /* transparent;*/
    cursor : pointer;
    }


div.organisation + div.general_content {
    margin-top : 20px;
    }

/************************************************************************************** Contact ***/

div.contact {
    width : 520px;
    padding-top : 20px;
    border-collapse : collapse;
    }
    
div.contact table {
    margin-top : 0;
    width : 100%;
    }

div.contact table th,
div.contact table td,
div.contact table td.error {
    padding : 3px 0 3px 0;
    line-height : 18px;
    width : 160px;
    }

div.contact table tr.error td,
div.contact table td.error {
    color : #c00;
    }

div.contact table td.radio {
    padding-bottom : 15px;
    }

div.contact table td + td,
div.contact table td.error + td,
div.contact table td + td.error,
div.contact table td.error + td.error {
    padding-left : 20px;
    } 
 
div.contact table td + td + td,
div.contact table td.error + td + td, 
div.contact table td.error + td.error + td, 
div.contact table td.error + td.error + td.error, 
div.contact table td + td.error + td,
div.contact table td + td.error + td.error,
div.contact table td + td + td.error {
    padding-left : 20px;
    } 
 
input[type=text],
input[type=submit],
input[type=reset],
select,
textarea {
	border : 1px solid #cecece;
	margin : 0;
	font-size : 13px;
	line-height : 18px;
	padding : 2px;
	background-color : #f5f5f5;
	color : #000;
	font-family : arial, helvetica, sans-serif;
	font-weight : bold;
	font-style : normal;
	width : 156px;
    }

td.error input[type=text],
td.error textarea {
    background-color : #c00;
    color : #fff;
    }

div.contact td.textarea {
    padding-top : 15px;
    }

div.contact td.mandatory {
    vertical-align : middle;
    }
    
div.contact textarea {
    width : 518px;
    }
    
div.contact input[type=radio] {
    padding : 0;
    }

div.contact input[type=submit]  {
    font-weight : bold;
    color : #f7b512;
    }

div.contact input[type=reset]  {
    font-weight : normal;
    color : #000;
    }

input[type=submit]:hover,
div.contact input[type=reset]:hover {
    background-color : #000;
    color : #f7b512;
    cursor : pointer;
    }

div.contact table.check_radio {
    border-spacing: 0;
    border-collapse: collapse;
    width : 350px;
    margin : 0;
    padding : 0;
    }

div.contact table.check_radio td.checkbox,
div.contact table.check_radio td.radio {
    padding : 0;
    margin : 0;
    width : 30px;
    }
    
div.contact table.check_radio td {
    padding : 0 0 15px 0;
    margin : 0;
    }

div.contact table.check_radio tr.error td.checkbox input[type=radio],
div.contact table.check_radio tr.error td.radio {
    }


/* Error */

table.error {
    margin : 10px 0;
    border-collapse: collapse;
    border-spacing : 0;
    width : 100%;
    }

div.error_text,
td.textarea + td.error {
    background-color : #c00;
    color : #fff;
    font-size : 16px;
    line-height : 22px;
    padding : 5px 10px;
    }



/* Upload */

table.upload {
    clear : both;
    padding-top : 20px;
    width : 100%;
    }

table.upload td.remark {
    font-size : 11px;
    line-height : 15px;
    }
    

/* Preferred Media */

table.preferred_media {
    padding-top : 30px;
    width : 100%;
    }


/* Table copy */

table.copy {
    padding-top : 30px;
    width : 100%;
    }


/* Table Submit */

table.submit {
    padding-top : 30px;
    }



/******************************************************************************** Product Pages ***/

div.region_products {
    clear : both;
    overflow : auto;
    border-bottom : 1px dotted #f7b512;
    }

/* Region */

div.region_products ul.region {
    width : 100%;
    }

div.region_products ul.region li {
    float : left;
    }

div.region_products ul.region li p {
    text-align : center;
    }

div.region_products ul.region li#region1 a,
div.region_products ul.region li#region2 a,
div.region_products ul.region li#region3 a,
div.region_products ul.region li#region4 a,
div.region_products ul.region li#region5 a {
    display : block;
    text-align : left;
    height : 70px;
    width : 100px;
    background-image : url(icons/maps/map_switzerland.png);
    background-position : top center;
    background-repeat : no-repeat;
    }

div.region_products ul.region li#region2 a {
    text-align : center;
    width : 150px;
    background-image : url(icons/maps/map_scandinavia.png);
    }
div.region_products ul.region li#region3 a {
    width : 150px;
    text-align : center;
    background-image : url(icons/maps/map_russia_central_asia.png);
    }
div.region_products ul.region li#region4 a {
    width : 130px;
    text-align : center;
    background-image : url(icons/maps/map_western_eu.png);
    }
    
div.region_products ul.region li#region5 a {
    width : 100px;
    text-align : left;
    background-image : url(icons/maps/map_mean.png);
    }

div.region_products ul.region li#region1 a:hover {
    background-image : url(icons/maps/map_switzerland_shown.png);
    }
div.region_products ul.region li#region2 a:hover {
    background-image : url(icons/maps/map_scandinavia_shown.png);
    }
div.region_products ul.region li#region3 a:hover {
    background-image : url(icons/maps/map_russia_central_asia_shown.png);
    }
div.region_products ul.region li#region4 a:hover {
    background-image : url(icons/maps/map_western_eu_shown.png);
    }
div.region_products ul.region li#region5 a:hover {
    background-image : url(icons/maps/map_mean_shown.png);
    }

div.region_products ul.region li a img {
    visibility : hidden;
    }

div.region_products ul.region li.shown a img {
    visibility : visible;
    }


/* Products */

div.products {
    clear : both;
    margin-top : 20px;
    margin-bottom : 10px;
    width : 610px;
    overflow : auto;
    }

div.products ul.product {
    width : 100%;
    }

ul.product li {
    float : left;
    margin-right : 20px;
    margin-bottom : 15px;
    width : 70px;
    height : 70px;
    }

ul.product li#product7,
ul.procuct li#product14 {
    margin-right : 0;
    }

ul.product li a {
    display : block;
    text-align : left;
    height : 70px;
    width : 70px;
    background-image : url(icons/icons_products/icon_ingenieur_tiefbau.png);
    background-position : top center;
    background-repeat : no-repeat;
    }


ul.product li a img {
    visibility : hidden;
    }

ul.product li.shown a img {
    visibility : visible;
    }

ul.product li a:hover {
    background-image : url(icons/icons_products/icon_ingenieur_tiefbau_shown.png);
    }



div.product_contact {
    width : 540px;
    overflow : auto;
    }

div.address {
    float : left;
    width : 160px;
    margin-right : 20px;
    }

div.products_subitem {
    clear : both;
    width : 602px;
    margin-top : 0;
    border-bottom : 1px dotted #999;
    overflow : auto;
    padding-top : 10px;
    margin-bottom : 0;
    padding-left : 4px;
    padding-right : 4px;
    }



div.products_subitem:hover {
    background-color : #f4f4f4; /* changed by reto transparent; */
}	


div.product_item h2 {
    font-size : 16px;
    line-height : 21px;
    font-weight : bold;
    font-weight : normal;
    float : left;
    width : 520px;
    overflow : auto; 
    }

div.product_item p.open_close {
    float : right;
    text-align : right;
    width : 70px;
    padding-right : 4px;
    }


div.keywords {
    margin-top : 30px;
    font-size : 11px;
    }


/**************************************************************************** Reference Browser ***/

div.reference_browser,
div.reference_found {
    width : 520px;
    }

div.reference_browser   {
    }



div.reference_browser h3,
div.reference_found h3 {
    font-size : 16px;
    line-height : 21px;
    font-weight : normal;
    padding-bottom : 6px;
    }

div.reference_found h3 {
    margin-bottom : 20px;
    border-bottom : 1px dotted #999;
    }

table.reference_browser,
table.search_freetext {
    border-collapse : collapse;
    width : 520px;
    border : 1px dotted #999;
    border-width : 1px 0;
    }

table.reference_browser{
    border-collapse: separate;
    border-spacing : 0 20px;
    }


table.reference_browser td,
table.search_freetext td {
    }

table.reference_browser select {
    width : 422px;
    }


table.search_freetext {
    margin : 20px 0 0 0;
    border : none;
    }

table.search_freetext td.search_freetext {
    font-weight : normal;
    }   

table.search_freetext input.search_freetext[type=text] {
    float : left;
	font-size : 13px;
	line-height : 18px;
	padding : 4px 4px;
	width : 390px;
    font-weight : normal;
    }
    
    
table.search_freetext span input.submit {
    float : left;
    width : 20px;
    height : 18px;
    padding : 4px 2px 3px 2px;
    margin : 0;
    background-color : #fff;
    }
    
table.search_freetext span input.submit:hover {
    background-color : #999;
    }



div.reference_found {
    clear : both;
    width : 520px;
    margin-top : 20px;
    padding-top : 10px;
    margin-bottom : 0;
    }


div.reference_found_item {
    width : 520px;
    padding-top : 20px;
    overflow : auto;
    border-bottom : 1px dotted #999;
    }

div.refercence_found_img {
    float : left;
    width : 160px;
    margin-right : 20px;
    }

div.reference_found_content {  
    float : left;
    width : 340px;
    padding-bottom : 10px;
    }

div.reference_found_content h3 {
    font-size : 13px;
    line-height : 18px;
    font-weight : bold;
    margin : 0;
    padding : 0;
    border : none;
    }
    
div.reference_found div.gmap {
    padding-bottom : 10px;
    border-bottom : 1px dotted #999;
    }


/*************************************************************************************** Footer ***/


div.footer_wrap {
    clear : both;
    position : relative;
	width : 100%;
	background-color : #000;
	height : 52px;
	margin-top : -52px;
    }

div.footer {
    color : #fff;
    width : 880px;
    padding : 0 15px 0 65px;
    margin : 0 auto;
    font-size : 12px;
    line-height : 18px;
    }   


div.footer_tabs {
    color : #666;
    line-height : 12px;
    font-weight : bold;
    }

div.footer_tabs p   {
    padding : 20px 0 20px 0;
    }

div.footer_tabs p.copyright {
    float : left;
    width : 250px;
    }

div.footer_tabs p.tab {
    float : right;
    text-align : right;
    width : 630px;
    }

div.footer_tabs a,
div.footer_tabs a:visited {
    text-decoration : none;
    color : #666;
    }

div.footer_tabs a:hover,
div.footer_tabs a.open:hover {
    color : #fff;
    text-decoration : none;
    }

div.footer_tabs a.open {
    color : #f4a31e;
    }


div.footer_content {
    border : 1px solid #fff;
    border-width : 1px 0 0 0;
    clear : both;
    padding-top : 20px;
    padding-bottom : 20px;
    }

div.footer_content table {
    width : 100%;
    border-spacing: 0;
    border-collapse : collapse;
    }


div.footer_content table a:link;
    color : #f750d;
    }

div.footer_content table a:visited {
    color : #666;
    text-decoration : none;
    }
   
div.footer_content table a:hover {
    color : #fff;
    text-decoration : none;
    }

div.footer_content h5,
div.footer_content h6   {
    font-weight : bold;
    font-size : 12px;
    }

div.footer_content h5 {
    padding-bottom : 7px;
    }

div.footer_content p {
    margin-bottom : 18px;    
    }

/* Tab 1 */

table.tab_1 {
    width : 880px;
    border-collapse : collapse;
    border-spacing : 0;
    }

table.tab_1 td.col1 {
    width : 240px;
    padding-right : 20px;
    }

table.tab_1 td.col2 {
    width : 160px;
    padding-right : 20px;
    }

table.tab_1 td.col3 {
    width : 120px;
    padding-right : 20px;
    }

table.tab_1 td.col4 {
    width : 120px;
    padding-right : 10px;
    }
    
table.tab_1 td.col5 {
    width : 100px;
    padding-right : 0;
    }

/* Sitemap */

div.content ul.sitemap li {
    list-style-type : disc;
    }


/*Opera Fix*/
body:before {/* thanks to Maleika (Kohoutec)*/
content:"";
height:100%;
float:left;
width:0;
margin-top:-32767px;/* thank you Erik J - negate effect of float*/
}


