/* ---------- General Sitewide Styles ---------- */
*,h1,h2,h3,h4,h5,h6,h7,h8,p,div,body,html,ul,li,ol,img,a{margin:0;padding:0;}
a {
	text-decoration: none;outline:none;
}
a img {
	border: none;
}
body {
	background: #232832;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	color: #333;
}
.clear {
	clear: both;
}

h3 {
	font-weight: bold;
	font-size: 14px;
	margin: 0 0 0.5em 0;
}
h4 {
	font-weight: bold;
	font-size: 12px;
	margin: 0 0 0.5em 0;
}

/* ---------- Fancy Lists For Cool brwosers ---------- */
html>body ul.homelist, html>body ul.homelist ul {
	list-style: none;
	text-indent: -1em;
} 
ul.homelist {
	margin: 0 0 1em 0;
	padding: 0 0 0 1em;
}
ul.homelist li {
	padding: 4px 0 4px 0;
	margin: 0 0 0 1em;
}
ul.homelist li::before {	/* Show right angle quotes to cool browsers */
	content: "\00BB \0020";
}

ul.list {
	margin: 0 0 1em 0;
	padding: 0 0 0 1em;
	list-style: none;
}
ul.list ul {
	margin: 0 0 1em 0;
	padding: 0 0 0 1em;
	list-style: none;
}
ul.list li {
	padding-left: 16px;
	background: url(/_inc/img/bullets.gif) top left no-repeat;
}
ul.biglist {
	font-size: 14px;
	line-height: 1.7em;
}
ul.biglist li {
	background-position: 0 2px;
}
ol {
	margin: 0 0 .8em 1em;
	padding-left: 2em;
}
ol li {
	margin-bottom: 1.6em;
}

/* ---------- Content Pages - Top Header ---------- */
#header {
	background: url('/_inc/img/header-bg.gif') 0px 0px repeat-x;
}
#header .inner-header {
	width: 100%;
	min-width: 950px;
	height: 230px;
	background: url('/_inc/img/header-bg2.gif') 0px 0px no-repeat;
	position: relative;
}
#header #flash-header {
	background: url('/_inc/img/header.jpg') 0px 0px no-repeat;
	height: 120px;
	width: 600px;
	position: absolute;
	top: 0px;
	left: 174px;
}
#header .logo {
	position: absolute;
	top: 49px;
	left: 18px;
}
#header #pagetitles {
	top: 166px;
	left: 190px;
	position: absolute;
	z-index: 1;
}
#header #pagetitles h1 {
	color: #fff;
	font-weight: normal;
	font-size: 24px;
}
#header #pagetitles h2 {
	margin-top: -5px;
	color: #aaa;
	font-weight: normal;
	font-size: 18px;
}

/* ---------- Content Pages - Site Menu ---------- */
#header .site-menu {
	position: absolute;
	top: 11px;
	right: 0px;
	width: 195px;
	background: url('/_inc/img/site-menu-sm-bg.gif') 0px 0px no-repeat;
	list-style: none;
	padding-top: 1px;
}
#header .site-menu li a {
	display: block;
	text-align: right;
	width: 195px;
	height: 24px;
	background-position: 0px 0px;
	background-repeat: no-repeat;
	text-decoration: none;
	font-size: 11px;
}
#header .site-menu li a:hover {
	background-position: 0px -24px;
}
#header .site-menu li a span {
	display: block;
	text-transform: uppercase;
	padding: 5px 12px 0 0;
	text-align: right;
}
#header .site-menu li a.item-01 { background-image: url('/_inc/img/site-menu-sm-01.gif'); }
#header .site-menu li a.item-02 { background-image: url('/_inc/img/site-menu-sm-02.gif'); }
#header .site-menu li a.item-03 { background-image: url('/_inc/img/site-menu-sm-03.gif'); }
#header .site-menu li a.item-04 { background-image: url('/_inc/img/site-menu-sm-04.gif'); }

/* ---------- Content Pages ---------- */
#content {
	background: #fff url('/_inc/img/content-bg.gif') 0px 0px repeat-x;
	color: #333;
	font: 13px Tahoma, Arial, Helvetica, sans-serif normal;
}
#content p {
	margin: 0.3em 0 1em 0;
}
#content .inner {
	padding: 20px 10px 20px 20px;
	width: 960px;
}
#content .body {
	margin-right: 220px;
	line-height: 1.6;
}
#content .side {
	width: 200px;
	float: right;
}
#content blockquote {
	font-size: 14px;
	font-style: italic;
}
#content blockquote .cite {
	text-align: right;
	font-size: 12px;
	color: #333;
	font-style: normal;
	font-weight: bold;
}
.sidebox {
	width: 200px;
	margin: 0 0 20px 0;
}
.sidebox .sideheader a {
	color: #fff !important;
}
.sidebox .sideheader {
	background: url('/_inc/img/sidebar-header.gif') 0px 0px no-repeat;
	padding: 6px 4px 6px 4px;
	color: #fff;
	font-size: 14px;
	text-align: center;

}
.sidebox .sidebody {
	background: url('/_inc/img/sidebar-body.gif') bottom left no-repeat;
	padding: 10px;
}
.sidebox ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.sidebox ul li {
	padding: 0;
	margin: 0 0 4px 0;
}
.sidebox.general .sideheader {
	background: url('/_inc/img/sidebar2-header.gif') 0px 0px no-repeat;
	padding: 6px 4px 6px 4px;
	color: #fff;
	font-size: 14px;
	text-align: center;
}
.sidebox.general .sidebody {
	background: url('/_inc/img/sidebar2-body.gif') bottom left no-repeat;
	padding: 10px;
}
.sidebox ul li ul {
	margin: 4px 0 4px 10px;
}
#content .side .sidebox.general a {
	color: #232832;
}
#content .side .sidebox.general a:hover {
	color: #3c424e;
}

/* ---------- Home Page - Top Banner ---------- */
#home-banner {
	width: 100%;
	min-width: 950px;
	height: 380px;
	background: url('/_inc/img/banner-bg.gif') 0px 0px repeat-x;
	position: relative;
}
#home-banner #flash-banner {
	background: url('/_inc/img/home-banner.jpg') 0px 0px no-repeat;
	height: 380px;
	width: 756px;
	position: absolute;
	top: 0px;
	left: 0px;
}
#home-banner .logo {
	position: absolute;
	top: 49px;
	left: 18px;
}
#home-banner .site-menu {
	position: absolute;
	top: 125px;
	right: 0px;
	width: 195px;
	background: url('/_inc/img/site-menu-bg.gif') 0px 0px no-repeat;
	list-style: none;
	padding-top: 1px;
}
#home-banner .site-menu li a {
	display: block;
	text-align: right;
	width: 195px;
	height: 30px;
	background-position: 0px 0px;
	background-repeat: no-repeat;
	text-decoration: none;
}
#home-banner .site-menu li a:hover {
	background-position: 0px -30px;
}
#home-banner .site-menu li a span {
	display: block;
	text-transform: uppercase;
	padding: 7px 12px 0 0;
	text-align: right;
}

/* ---------- Home Page - Site Menu/Links ---------- */
#home-banner .site-menu li a.item-01 { background-image: url('/_inc/img/site-menu-01.gif'); }
#home-banner .site-menu li a.item-02 { background-image: url('/_inc/img/site-menu-02.gif'); }
#home-banner .site-menu li a.item-03 { background-image: url('/_inc/img/site-menu-03.gif'); }
#home-banner .site-menu li a.item-04 { background-image: url('/_inc/img/site-menu-04.gif'); }

/* ---------- Common - Site Menu Colours ---------- */
.site-menu li a.site-global { background-color: #387c2b; }
.site-menu li a.site-projects { background-color: #004990; }
.site-menu li a.site-safety { background-color: #c0ad00; }
.site-menu li a.site-srta { background-color: #9e373a; }
.site-menu li a.site-rail { background-color: #762123; }
.site-menu li a.site-controls { background-color: #5a2049; }
.site-menu li a.site-engenium { background-color: #00356b; }

/* ---------- Home Page - Bottom ---------- */
#home-bottom {
	min-width: 950px;
	height:250px;
	background: url('/_inc/img/home-menu-bg.gif') 0px 0px repeat-x;
	position: relative;
}
#home-bottom .content {
	background: url('/_inc/img/home-underbannerbg.gif') 0px 0px no-repeat;
	min-height: 232px;
	height:232px;
}
#home-bottom .menu {
	position: absolute;
	top: 0px;
	left: 120px;
	list-style: none;
	text-transform: uppercase;
	color: #aaa;
}/*
#home-bottom .menu li {

	display:inline;
}
#home-bottom .menu li a {
	display: block;
	float: left;
	color: #aaa;
	background: url('/_inc/img/menu-div.gif') 0px 5px no-repeat;
	padding: 7px 10px 9px 10px;
}
#home-bottom .menu li a:hover {
	color: #fff;
}
#home-bottom .menu li a.home {
	background: none;
}
#home-bottom .menu li a.active {
	color: #fff;
}*/
#home-bottom h2 {
	color: #fff;
	font-weight: normal;
	font-size: 24px;
}
#home-bottom .left {
	float: left;
	margin: 60px 0 0 122px;
	width: 350px;
}
#home-bottom .right {
	float: left;
	margin: 60px 0 0 50px;
	width: 350px;
}
#home-bottom ul.homelist {
	color: #fff;
}
/* commented out - replaced by .dateposted class which can be applied from within Contribute
#home-bottom ul.homelist li span {
	color: #888;
	font-size: 10px;
}*/

/* ---------- Menu Styles ------------- */
#home-bottom .menu a, .menu a {
	color: #aaa;
}
#home-bottom .menu a:hover, .menu a:hover {
	color: #fff;
}

.menu {
	position: absolute;
	top: 120px;
	left: 180px;
	list-style: none;
	text-transform: uppercase;
	color: #aaa;
}
.menu, .menu ul { /* all lists */
	padding: 0;
	margin: 0;
	list-style: none;
	line-height: 1;
}
.menu a {
	display: block;
	padding: 9px 0 9px 0;
	text-align: center;
	background: url('/_inc/img/menu-div.gif') 0px 5px no-repeat;
}
.menu li.nav-home a {
	background: none;
}
.menu li { /* all list items */
	float: left;
	width: 100px; /* width needed or else Opera goes nuts */
}
.menu li ul { /* second-level lists */
	position: absolute !important;
	background: #282828;
	width: 155px;
	left: -999em; /* using left instead of display to hide menus because display: none isn't read by screen readers */
	z-index: 9999;
}
.menu li ul li a {
	padding: 8px 10px 8px 10px;
	margin: 0;

	display: block;
	background: none !important;
	float: none;
	width: 135px !important;
	text-align: left;
	font-size: 10px;
}
.menu li ul li a:hover {
	background: #222 !important;
	color: #fff !important;
}
.menu li ul ul { /* third-and-above-level lists */
	margin: -1em 0 0 10em;
	z-index: 99999;
}
.menu li:hover ul ul, .menu li.sfhover ul ul {
	left: -999em;
}
.menu li:hover ul, .menu li li:hover ul, .menu li.sfhover ul, .menu li li.sfhover ul { /* lists nested under hovered list items */
	left: auto;
}

.menu li.nav-home, .menu li.nav-home a { width: 66px; }
.menu li.nav-aboutus, .menu li.nav-aboutus a { width: 90px; }
.menu li.nav-training, .menu li.nav-training a { width: 80px; }
.menu li.nav-consulting, .menu li.nav-consulting a { width: 110px; }
.menu li.nav-experience, .menu li.nav-experience a { width: 107px; }
.menu li.nav-news, .menu li.nav-news a { width: 66px; }
.menu li.nav-careers, .menu li.nav-careers a { width: 88px; }
.menu li.nav-community, .menu li.nav-community a { width: 101px; }
.menu li.nav-contactus, .menu li.nav-contactus a { width:107px; }
.menu li.nav-technology, .menu li.nav-technology a { width:111px; }


.menu li a.active {
	color: #fff !important;
}

/* ---------- Home Page - Footer ---------- */
#footer {
	clear: both;
	color: #4a5160;
	font-size: 11px;
	padding: 0 15px 15px 15px;
}
#footer.shadow {
	background: url('/_inc/img/footer.gif') 0px 0px repeat-x;
	padding: 15px 15px 15px 15px;
}
#footer a {
	color: #697180;
}
#footer a:hover {
	color: #9aa1ae;
}
#footer .footerlogo {
	float: left;
	margin: 0 10px 0 0;
}

/* ---------- The Starfish Link ---------- */
a#starfish {
	display: block;
	float: right;
	background: url('/_inc/img/starfish.gif') 0px -27px no-repeat;
	width: 89px;
	height: 27px;
	text-indent: -9999px;
}
a#starfish:hover {
	background-position: 0px 0px;
}

/* ---------- Image Headings ---------- 
.img-h {
	background-image: url('/_inc/img/headings.gif');
	background-repeat: no-repeat;
	height: 23px;
	text-indent: -9999px;
	display: block;
	width: 300px;
}
.img-h2 {
	background-image: url('/_inc/img/headings-sub.gif');
	background-repeat: no-repeat;
	height: 18px;
	text-indent: -9999px;
	display: block;
	width: 600px;
}
.pagetitles .img-h { padding-bottom: 4px; }
h1.h-aboutus { background-position: 0px 0px; }
h1.h-services { background-position: 0px -40px; }
h1.h-experience { background-position: 0px -80px; }
h1.h-news { background-position: 0px -120px; }
h1.h-careers { background-position: 0px -160px; }
h1.h-community { background-position: 0px -200px; }
h1.h-contactus { background-position: 0px -240px; }
h2.h-latestnews { background-position: 0px -280px; }
h2.h-careeropportunities { background-position: 0px -320px; }
h2.h-privacypolicy { background-position: 0px -360px; }
h2.h-sitemap { background-position: 0px -400px; }
h2.h-technology { background-position: 0px -440px; }

h2.h-overview { background-position: 0px 0px; }
h2.h-consultingservices { background-position: 0px -30px; }
h2.h-icit { background-position: 0px -60px; }
h2.h-mes { background-position: 0px -90px; }
h2.h-projectdelivery { background-position: 0px -120px; }
h2.h-siteservices { background-position: 0px -150px; }
*/

table.servicelist td, table.servicelist th {
	text-align: center;
}

/* ---------- Content Box ---------- */
.contentbox {
	width: 740px;
	color: #fff;
	margin: 0.2em 0 1em 0;
}
.contentbox .boxhead {
	background: url(/_inc/img/contentbox-top.gif) top left no-repeat;
	padding: 10px 15px 0 15px;
}
.contentbox .boxhead h3,
#content .box .inner h3 {
	margin: 0;
	padding: 0;
	color: #fff;
	font: 16px Arial, Helvetica, sans-serif normal;
}
.contentbox .boxbody {
	background: url(/_inc/img/contentbox-bottom.gif) bottom right no-repeat;
	padding: 5px 15px 10px 15px;
}

/* ---------- Mission Box ---------- */
#content .box {
	background-position: top left;
	background-repeat: no-repeat;
	width: 740px;
	margin: 0 0 1em 0;
}
#content .box .inner {
	background-position: bottom left;
	background-repeat: no-repeat;
	padding: 10px 15px 5px 15px;
	font-style: italic;
	width: 710px;
}

/* ---------- Table ---------- */
.headrow {
	background: url(/_inc/img/contentbox-top.gif) top left no-repeat;position:relative;
	color: #fff;
}
.headrow th {
	padding: 4px 4px 6px 4px;background:none;
}
table.table td {
	padding: 3px;
}


table {
	width:95%;
}

dl dt {
	background: url(/_inc/img/contentbox-top.gif) top left no-repeat;
	color: #fff;
	padding: 6px 4px 6px 10px;
	font-weight: bold;
}
dl dd {
	padding: 0px 10px 10px 10px;
}

/* ---------- Training Course Table ---------- */
table.trainingcourses th{text-align:left}

.filetype, .dateposted{color:#888 !important; font-size:80% !important; text-transform:uppercase !important}