/* ------------------------- [ reset ] ----------------------- */

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;
}
/* remember to define focus styles! */
:focus {
	outline: 0;
}
body {
	line-height: 1;
	color: black;
	background: white;
}
ol, ul {
	list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}




/* ------------------------- [ generic ] ----------------------- */
body {
	font: normal 0.8em/1.4 Arial, Helvetica, sans-serif;
	padding-bottom: 20px;
}

a {
	text-decoration: none;
	color: #113d6f ;
}

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}
.helper-noMarginTop {
	margin-top: 0 !important;
}

.helper-hide {
	display: none !important;
}

.error {
	color: #C31111;
}

label {
	padding-right: 20px;
}

#mform-form td {
	padding-bottom: 5px;
}

.item-text-image-text {
	min-height: 24px;
	overflow: hidden;
	font-size: 12px;
	color: #878787;
}

/* ------------------------- [ frontpage ] ----------------------- */
#frontpage-photo {
	margin: 0;
	padding: 0;
	height: 450px;
	cursor: pointer;
}

#frontpage-baseline {
	cursor: pointer;
	overflow: hidden;
	padding: 7px 0 7px 15px;
	background: url(../images/layout/the-engineering-company-bg.png) center center repeat-x;
	width: 925px;
	position: absolute;
	margin-top: -57px;
	z-index: 20;
}

#frontpage-languages {
	float: right;
	padding: 0 10px 0 0;
}

#frontpage-languages li {
	float: left;
	padding: 11px 0 0 10px;
}

#frontpage-languages li a {
	color: #fff;
	font-size: 24px;
}

/* ------------------------- [ languages ] ----------------------- */
#languages {
	background: url(../images/layout/bg-lang.gif) repeat-x 0 0;
	overflow: hidden;
	height: 22px;
}

#languages-center {
	width: 940px;
	margin: 0 auto;
	text-align: right;
}

#languages ul {
	padding: 1px 0 0 0;
	float: right;
}

#languages li {
	float: left;
	margin: 0 0 0 16px;
	padding-right: 6px;
}

#languages li.activelang {
	background: url(../images/layout/bg-lang-r.gif) no-repeat right top;
}

#languages li.activelang a {
	background: url(../images/layout/bg-lang-l.gif) no-repeat 0 0;
}

#languages li a {
	float: left;
	display: block;
	color: #e0e0e0;
	text-decoration: none;
	padding: 1px 1px 3px 7px;
	text-transform: lowercase;
	font-size: 12px;
}

/* ------------------------- [ header ] ----------------------- */
#arcade {
	position: absolute;
}

#logo {
	overflow: hidden;
	padding-top: 40px;
}

#header {
	width: 940px;
	height: 108px;
	margin: 0 auto;
	background: url(../images/layout/bg-nav-top.gif) repeat-x center bottom;
}

#nav {
	padding: 32px 0 0 0 ;
	overflow: hidden;
}

#nav ul {
	float: right;
}

#nav li {
	float: left;
	margin: 0 0 0 8px;
	padding: 5px 7px 2px 0;
}

#nav li.active {
	background: url(../images/layout/bg-nav-top-r.gif) no-repeat right bottom;
}

#nav li.active a {
	background: url(../images/layout/bg-nov-top-l.gif) no-repeat left bottom;
	color: #fff;
}

#nav li a {
	float: left;
	display: block;
	color: #666;
	text-decoration: none;
	padding: 5px 1px 0 7px;
	text-transform: lowercase;
	font-size: 1.2em;
	line-height: 20px;
}

/* ------------------------- [ main ] ----------------------- */
#main {
	overflow: hidden;
	width: 940px;
	margin: 0 auto;
}

/* ------------------------- [ col-left ] ----------------------- */
#col-left {
	overflow: hidden;
	width: 200px;
	float: left;
	padding: 40px 0 0 0;
}

#col-left ul {
	overflow: hidden;
	clear: left;
}

#col-left li {
	width: 200px;
	float: left;
	padding: 5px 0;
	background: url(../images/layout/bg-nav-left-divider.gif) no-repeat left bottom;
}

#col-left li a {
	color: #262626;
	text-decoration: none;
	display: block;
	float: left;
	padding: 0 0 0 3px;
	font-size: 0.9em;
}

#col-left li.active a {
	font-weight: bold;
	color: #000;
}

#col-left li.active ul {
	padding: 5px 0 5px 5px;
}

#col-left ul li ul li {
	background: none;
	padding: 1px 0;
}

#col-left ul li.active ul li a {
	color: #878787;
} 

#col-left ul li.active ul li.active a {
	color: #000;
	font-weight: bold;
}

#nav-sub {
	margin-bottom: 30px;
}

.col-left-news-item {
	width: 190px;
}

#col-left-news h2 {
	margin-bottom: 2px;
}

#col-left-news .col-left-news-item li {
	background: none;
	border-bottom: #e0e0e0 1px solid;
}

#col-left-news .col-left-news-item a {
	color: #535353;
	padding: 0;
}


/* ------------------------- [ content ] ----------------------- */
.jScrollPaneContainer {
	margin-left: 200px;
}

#content {
	width: 730px;
	padding: 30px 0 0 10px;
/*	margin-left: 200px; */
	min-height: 520px;
	min-height: 470px;
  height: 450px;
}

#content h1 {
	font-size: 1.4em;
	color: #4d4d4d;
}

.content-item {
	overflow: hidden;
}

#content .content-item-title {
	padding: 0 0 5px 0;
}

#content .item-text {
	padding: 0 0 10px 0;
}

#content .item-text-short {
	color: #3c3c3c;
}

#content .item-text-full {
	color: #878787;
}

#content .item-googlemap {
	margin: 0 0 20px 0;
}

#content .item-googlemap-short {
	color: #3c3c3c;
	margin: 0 0 10px 0;
}

#content .item-googlemap-full {
	color: #878787;
	margin: 0 0 10px 0;
}


/* ------------------------- [ content item-text-media ] ----------------------- */
#content .item-text-image {
	margin: 0 5px 5px 0;
}

#content .projectCategory {
	display: none;
	margin-top: 420px;
	position: absolute;
	color: #535353;
	font-size: 24px;
	text-align: left;
}

.item-text-image-wrapper {
	float: left;
}

.item-text-gallery {
	width: 350px;
	margin: 0 10px 10px 0;
	float: left;
}

.item-text-gallery-thumbs {
	width: 350px;
	overflow: hidden;
}

.item-text-gallery-thumbs img {
	float: left;
	margin: 0 5px 5px 0;
}

/* ------------------------- [ footer ] ----------------------- */
#footer {
	width: 940px;
	margin: 0 auto;
	border-top: 1px solid #fff;
	clear: both;
	overflow: hidden;
	background: #f1f1f2 url(../images/layout/bg-addresses.gif) left bottom repeat-x;
	padding: 10px 0 15px 0;
	z-index: 10;
	position: absolute;
	left: 50%;
	margin-left: -470px;
} 

#footer.normalPage {
	cursor: pointer;
}

#footer.normalPage dd {
	display: none;
}

#footer dl {
	padding: 0 5px 0 5px;
	float: left;
	background: url(../images/layout/bg-addresses-dl.gif) right top repeat-y;
}

#footer.normalPage dl, #footer.normalPage dt, #footer.normalPage dd {
	cursor: pointer;
}

#footer dt {
	font-weight: bold;
}

#footer.normalPage dt {
	text-align: center;
}

#footer dd {
	height: 80px;
}

#footer dt, #footer dd {
	font-size: 0.8em;
}

#footer #dl-1 {
	width: 99px;
	padding-left: 7px;
}

#footer #dl-2 {
	width: 100px;
}

#footer #dl-3 {
	width: 97px;
}

#footer #dl-4 {
	width: 100px;
}

#footer #dl-5 {
	width: 115px;
}

#footer #dl-6 {
	width: 119px;
}

#footer #dl-7 {
	width: 125px;
}
#footer #dl-8 {
	background: none;
	width: 90px;
}

/* ------------------------- [ bottom ] ----------------------- */
#bottom {
	width: 940px;
	margin: 40px auto 0 -470px;
	overflow: hidden;
	font-size: 0.8em;
	padding: 3px 0 0 0;
	z-index: 10;
	position: absolute;
	left: 50%;
}

#wrapper .frontpage-bottom {
	margin: 120px auto 0 -470px;
}

#bottom-left {
	float: left;
}

#bottom-left ul {
	padding: 0 0 0 3px;
}

#bottom-left li {
	display: inline;
	padding: 0 16px 0 0;
}

#bottom-left li a {
	color: #6d6d6d;
	text-decoration: none;
	font-size: 1.1em;
}

#bottom-left li.activelang a {
	color: #113d6f;
}

#bottom-right {
	float: right;
}

#bottom-right span {
	padding-left: 10px;
}

/* ------------------------- [ projects overview ] ----------------------- */
#projectsOverview {
	width: 730px;
	height: 470px;
	overflow: hidden;
	position: absolute;
}

#projectsOverview ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#projectsOverview ul li {
  float: left;
  display: block;
	height: 230px;
}

#projectsOverview ul li a {
  display: block;
  overflow: hidden;
  width: 120px;
	cursor: pointer;
	z-index: 1;
}

#projectsOverview ul li a img {
	/*display: none;*/
}

#projectsOverview ul li a.linkToCategory {
	height: auto;
	width: 100%;
	cursor: pointer;
	padding: 180px 5px 3px 5px;
	color: #fff;
	width: 110px;
	background: url(../images/layout/bg-frontpage-languages.png) repeat-x scroll center bottom;
	text-align: left;
	z-index: 20px;
	position: absolute;
	font-size: 12px;
}

#projectsOverview ul li img {
  position: absolute;
}


/* ------------------------- [ fancybox ] ----------------------- */

html, body {
	height: 100%;
}

div#fancy_overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #666;
	display: none;
	z-index: 30;
}

* html div#fancy_overlay {
	position: absolute;
	height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
}

div#fancy_wrap {
	text-align: left;
}

div#fancy_loading {
	position: absolute;
	height: 40px;
	width: 40px;
	cursor: pointer;
	display: none;
	overflow: hidden;
	background: transparent;
	z-index: 100;
}

div#fancy_loading div {
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
	height: 480px;
	background: transparent url('../images/layout/fancybox/fancy_progress.png') no-repeat;
}

div#fancy_loading_overlay {
	position: absolute;
	background-color: #FFF;
	z-index: 30;
}

div#fancy_loading_icon {
	position: absolute;
	background: url('../images/layout/fancybox/fancy_loading.gif') no-repeat;
	z-index: 35;
	width: 16px;
	height: 16px;
}

div#fancy_outer {
	position: absolute;
    top: 0;
    left: 0;
    z-index: 90;
    padding: 18px 18px 33px 18px;
    margin: 0;
    overflow: hidden;
    background: transparent;
    display: none;
}

div#fancy_inner {
	position: relative;
	width:100%;
	height:100%;
	border: 1px solid #BBB;
	background: #FFF;
}

div#fancy_content {
	margin: 0;
	z-index: 100;
	position: absolute;
}

div#fancy_div {
	background: #000;
	color: #FFF;
	height: 100%;
	width: 100%;
	z-index: 100;
}

img#fancy_img {
	position: absolute;
	top: 0;
	left: 0;
	border:0; 
	padding: 0; 
	margin: 0;
	z-index: 100;
	width: 100%;
	height: 100%;
}

div#fancy_close {
	position: absolute;
	top: -12px;
	right: -15px;
	height: 30px;
	width: 30px;
	background: url('../images/layout/fancybox/fancy_closebox.png') top left no-repeat;
	cursor: pointer;
	z-index: 181;
	display: none;
}

#fancy_frame {
	position: relative;
	width: 100%;
	height: 100%;
	display: none;
}

#fancy_ajax {
	width: 100%;
	height: 100%;
	overflow: auto;
}

a#fancy_left, a#fancy_right {
	position: absolute; 
	bottom: 0px; 
	height: 100%; 
	width: 35%; 
	cursor: pointer;
	z-index: 111; 
	display: none;
	background-image: url(data:image/gif;base64,AAAA);
	outline: none;
}

a#fancy_left {
	left: 0px; 
}

a#fancy_right {
	right: 0px; 
}

span.fancy_ico {
	position: absolute; 
	top: 50%;
	margin-top: -15px;
	width: 30px;
	height: 30px;
	z-index: 112; 
	cursor: pointer;
	display: block;
}

span#fancy_left_ico {
	left: -9999px;
	background: transparent url('../images/layout/fancybox/fancy_left.png') no-repeat;
}

span#fancy_right_ico {
	right: -9999px;
	background: transparent url('../images/layout/fancybox/fancy_right.png') no-repeat;
}

a#fancy_left:hover {
  visibility: visible;
}

a#fancy_right:hover {
  visibility: visible;
}

a#fancy_left:hover span {
	left: 20px; 
}

a#fancy_right:hover span {
	right: 20px; 
}

.fancy_bigIframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent;
}

div#fancy_bg {
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	z-index: 70;
	border: 0;
	padding: 0;
	margin: 0;
}
	
div.fancy_bg {
	position: absolute;
	display: block;
	z-index: 70;
	border: 0;
	padding: 0;
	margin: 0;
}

div.fancy_bg_n {
	top: -18px;
	width: 100%;
	height: 18px;
	background: transparent url('../images/layout/fancybox/fancy_shadow_n.png') repeat-x;
}

div.fancy_bg_ne {
	top: -18px;
	right: -13px;
	width: 13px;
	height: 18px;
	background: transparent url('../images/layout/fancybox/fancy_shadow_ne.png') no-repeat;
}

div.fancy_bg_e {
	right: -13px;
	height: 100%;
	width: 13px;
	background: transparent url('../images/layout/fancybox/fancy_shadow_e.png') repeat-y;
}

div.fancy_bg_se {
	bottom: -18px;
	right: -13px;
	width: 13px;
	height: 18px;
	background: transparent url('../images/layout/fancybox/fancy_shadow_se.png') no-repeat;
}

div.fancy_bg_s {
	bottom: -18px;
	width: 100%;
	height: 18px;
	background: transparent url('../images/layout/fancybox/fancy_shadow_s.png') repeat-x;
}

div.fancy_bg_sw {
	bottom: -18px;
	left: -13px;
	width: 13px;
	height: 18px;
	background: transparent url('../images/layout/fancybox/fancy_shadow_sw.png') no-repeat;
}

div.fancy_bg_w {
	left: -13px;
	height: 100%;
	width: 13px;
	background: transparent url('../images/layout/fancybox/fancy_shadow_w.png') repeat-y;
}

div.fancy_bg_nw {
	top: -18px;
	left: -13px;
	width: 13px;
	height: 18px;
	background: transparent url('../images/layout/fancybox/fancy_shadow_nw.png') no-repeat;
}

div#fancy_title {
	position: absolute;
	bottom: -33px;
	left: 0;
	width: 100%;
	z-index: 100;
	display: none;
}

div#fancy_title div {
	color: #FFF;
	font: bold 12px Arial;
	padding-bottom: 3px;
}

div#fancy_title table {
	margin: 0 auto;
}

div#fancy_title table td {
	padding: 0;
	vertical-align: middle;
}

td#fancy_title_left {
	height: 32px;
	width: 15px;
	background: transparent url(../images/layout/fancybox/fancy_title_left.png) repeat-x;
}

td#fancy_title_main {
	height: 32px;
	background: transparent url(../images/layout/fancybox/fancy_title_main.png) repeat-x;
}

td#fancy_title_right {
	height: 32px;
	width: 15px;
	background: transparent url(../images/layout/fancybox/fancy_title_right.png) repeat-x;
}


.jScrollPaneContainer {
	position: relative;
	overflow: hidden;
	z-index: 1;
	margin-top: 10px;
	margin-bottom: 10px;
}

.jScrollPaneTrack {
	position: absolute;
	cursor: pointer;
	right: 0;
	top: 0;
	height: 100%;
	background: #eee;
}
.jScrollPaneDrag {
	position: absolute;
	background: #005c96;
	cursor: pointer;
	overflow: hidden;
}
.jScrollPaneDragTop {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
}
.jScrollPaneDragBottom {
	position: absolute;
	bottom: 0;
	left: 0;
	overflow: hidden;
}
a.jScrollArrowUp {
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	text-indent: -2000px;
	overflow: hidden;
	/*background-color: #666;*/
	height: 9px;
}
a.jScrollArrowUp:hover {
	/*background-color: #f60;*/
}

a.jScrollArrowDown {
	display: block;
	position: absolute;
	z-index: 1;
	bottom: 0;
	right: 0;
	text-indent: -2000px;
	overflow: hidden;
	/*background-color: #666;*/
	height: 9px;
}
a.jScrollArrowDown:hover {
	/*background-color: #f60;*/
}
a.jScrollActiveArrowButton, a.jScrollActiveArrowButton:hover {
	/*background-color: #f00;*/
}

