/*
colour info:
red/brown #b23030
General text #666
General links #666
General hover links #ccc
*/



/* General Styles
-------------------------------------------------------------------------------------- */

* {
	padding: 0;
	margin: 0;
}

hr {
	color: #ccc;
	background: #ccc;
	height: 1px;
	margin: 10px 0;
	padding: 0;
	border: none;
}

img {
	display: block;
	border: none;
}

a img {
	border: none;
}

img.floatRight {
	float: right;
	margin: 0 0 10px 10px;
}

img.floatLeft {
	float: left;
	margin: 0 10px 10px 0;
}

img.tableRight {
	margin: 0 0 10px 10px;
}

img.tableLeft {
	margin: 0 10px 10px 0;
}

img.bordered {
	border: 1px solid #b23030;
}

.hide {
	display: none;
}

.inline {
	display: inline;
}

.noMargin {
	margin: 0;
}

.noIndent {
	text-indent: 0;
}

.floatRight {
	float: right;
	margin-left: 15px;
}

.floatLeft {
	float: left;
	margin-right: 15px;
}

span.highlight {
	color: #b23030;
	font-weight: bold;
}

.clearBoth {
	clear: both;
}

div.clear {
	clear: both;
	height: 0;
	overflow: hidden;
	width: 0;
}

input.button {
	border: 0;
	width: 132px;
	height: 25px;
	color: #fff;
	padding-left: 12px;
	background: url(../images/buttonBgPng.png) no-repeat left top;
	text-align: left;
	font-weight: bold;
}

input.button:hover {
	background: url(../images/buttonBgPng.png) no-repeat left -25px;
	cursor: pointer;
}

input.button.floatRight {
	margin-left: 10px;
}

input.button.floatLeft {
	margin-right: 10px;
}

a.button {
	display: block;
	border: 0;
	width: 132px;
	height: 25px;
	line-height: 25px;
	color: #fff;
	padding-left: 12px;
	background: url(../images/buttonBgPng.png) no-repeat left top;
	text-align: left;
	font-weight: bold;
	text-decoration: none;
}

a.button:hover {
	border: 0;
	background: url(../images/buttonBgPng.png) no-repeat left -25px;
	cursor: pointer;
	text-decoration: none;
}

ul, ol {
	margin: 0 0 1em 1em;
}

li {
	margin: 0 0 0.15em 1em;
}

ul ul, ol ol {
	margin: 0 0 0.15em 1em;
}

ul.topLink {
	margin: 2em 0 1em 0;
	list-style: none;
}

ul.topLink li {
	margin: 0 0 0.15em 0;
}

ul.styledLinks {
	list-style: none;
	margin: 0 0 20px 20px;
	padding: 0;
}

ul.styledLinks li {
	text-align: left;
	margin: 0;
	padding: 0;
}

ul.styledLinks li a {
	padding: 0 0 0 12px;
	margin: 0;
	text-decoration: none;
	background: url(../images/arrowWhiteOnRedWhiteOnGrey.gif) no-repeat 0 0;
	line-height: 15px;
}

ul.styledLinks li a:hover {
	text-decoration: underline;
	background: url(../images/arrowWhiteOnRedWhiteOnGrey.gif) no-repeat 0 -15px;
}





/* Typography
-------------------------------------------------------------------------------------- */

body, input, textarea, select {
	color: #333;
	font: 12px Arial, Helvetica, sans-serif;
}

a {
	color: #000;
	text-decoration: underline;
	font-weight: bold;
}

a:hover {
	color: #999;
	text-decoration: underline;
	font-weight: bold;
}

p {
	line-height: 120%;
	margin-top: 0;
	margin-bottom: 1em;
}

h1 {
	color: #b23030;
	font-size: 16px;
	font-style: normal;
	margin-top: 0;
	margin-bottom: 1em;
	padding: 0 0 0 20px;
	background: url(../images/h1Bg.gif) no-repeat left 2px;
}

h2 {
	color: #000;
	font-size: 14px;
	font-style: normal;
	margin-top: 0;
	margin-bottom: 1em;
}

h3 {
	color: #000;
	font-size: 13px;
	font-style: normal;
	margin-top: 0;
	margin-bottom: 1em;
}

h4 {
	color: #000;
	font-size: 12px;
	font-style: normal;
	margin-top: 0;
	margin-bottom: 1em;
}

.error, .messages {
	color: #c00;
	font-weight: bold;
}








/* General Page Structure
-------------------------------------------------------------------------------------- */

html, body {
	width: 100%;
}

body {
	margin: 0 auto;
	background: #999;
	width: 980px;
}




/* Header
-------------------------------------------------------------------------------------- */

#header {
	height: 125px;
	background: url(../images/header.gif) no-repeat left top;
}

#headerLogo {
	float: left;
	display: block;
	width: 100px;
	height: 107px;
	margin: 7px 0 0 26px;
}





/* General page content
-------------------------------------------------------------------------------------- */

#mainContent {
	padding: 26px;
	background: #fff;
	min-height: 386px;
}

* html #mainContent { /* fixes IE6 peekaboo bug by giving HasLayout property to the parent of floated elements  */
	height: 0;
}

#mainContent.twoColumns {
	background: url(../images/twoPanelContentBg.gif) no-repeat left top #fff;
}

#mainContent.newsIndex { /* this rule is ignored by IE6 - don't know why */
	background: url(../images/newsIndexBg.jpg) no-repeat right 70px #fff;
}

#breadcrumbs {
	margin-bottom: 1em;
	text-align: left;
}

#leftColumn {
	float: left;
	width: 550px;
	margin-right: 60px;
}

#rightColumn {
	float: left;
	width: 318px;
}


#rightColumn h2 {
	color: #b23030;
	font-size: 16px;
	font-style: normal;
	margin-top: 0;
	margin-bottom: 1em;
	padding: 0 0 0 20px;
	background: url(../images/h1Bg.gif) no-repeat left 2px;
}

#subpageList {
	list-style: none;
	margin: 0 0 0 20px;
	padding: 0;
}

#subpageList li {
	text-align: left;
	margin: 0;
	padding: 0;
}

#subpageList li a {
	padding: 0 0 0 12px;
	margin: 0;
	text-decoration: none;
	background: url(../images/arrowWhiteOnRedWhiteOnGrey.gif) no-repeat 0 0;
	line-height: 15px;
}

#subpageList li a:hover {
	text-decoration: underline;
	background: url(../images/arrowWhiteOnRedWhiteOnGrey.gif) no-repeat 0 -15px;
}









/* Footer
-------------------------------------------------------------------------------------- */

#footer {
	background: #ccc;
	height: 15px;
	padding: 7px 26px;
	margin-bottom: 15px;
	font-size: 11px;
}

#footerNav {
	float: left;
	list-style: none;
	margin: 0;
	/*width: 200px;*/
}

#footerNav li {
	float: left;
	text-align: left;
	padding: 0 5px;
	margin: 0;
	line-height: 15px;
	border-left: 1px solid #900;
}

#footerNav li.first {
	border-left: none;
	padding-left: 0;
}

#footerNav li a {
	line-height: 15px;
	text-decoration: none;
	font-weight: normal;
	border: none;
	color: #900;
}

#footerNav li a:hover {
	text-decoration: underline;
	font-weight: normal;
	color: #fff;
}

#footer p {
	float: right;
	text-align: right;
	line-height: 15px;
	margin: 0 0 0 5px;
	/*overflow: visible;
	width: 200px;
	white-space: nowrap;*/
}

#footer p a {
	color: #900;
	font-weight: normal;
	border: none;
}

#footer p a:hover {
	color: #fff;
	font-weight: normal;
	text-decoration: underline;
}

#footerLogos {
	float: right;
	list-style: none;
	width: 170px;
	margin: 0;
}

#footerLogos li {
	float: right;
	margin: 0 0 0 5px;
	width: 80px;
	height: 15px;
}

#footerLogos li a {
	display: block;
	text-indent: -9000px;
	width: 80px;
	height: 15px;
	border: none;
}

#footerLogos li.validXhtml a {
	background: url(../images/w3c-xhtml.gif) no-repeat 0 -15px;
}

#footerLogos li.validXhtml a:hover {
	background: url(../images/w3c-xhtml.gif) no-repeat 0 0;
}

#footerLogos li.validCss a {
	background: url(../images/w3c-css.gif) no-repeat 0 -15px;
}

#footerLogos li.validCss a:hover {
	background: url(../images/w3c-css.gif) no-repeat 0 0;
}




/* Messages
-------------------------------------------------------------------------------------- */

#messageBox {
	background-color:#fff;
	border:1px solid #c00;
	margin-bottom: 1em;
	padding: 1em;
	font-weight: bold;
	color: #c00;
	font-style: normal; 
}

#messageBox ul {
	margin: 0 0 0 1em !important;
}

#messageBox li {
	list-style-image: none !important;
	list-style-type: disc !important;
	margin: 0 0 0.15em 1em !important;
}





/* Popup help tooltips
-------------------------------------------------------------------------------------- */

#fixedTipDiv{
	position: absolute;
	padding: 5px;
	border: 2px solid #b23030;
	/*font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;*/
	color: #666;
	z-index: 100;
	width: 200px;
	background: #eee;
}

div.tooltipHelp {
	width: 20px;
	height: 20px;
}

div.tooltipHelp a {
	width: 20px;
	height: 20px;
	display: block;
	background: url(../images/helpIcon.gif) no-repeat left -20px;
	border: none;
}

div.tooltipHelp a:hover {
	background: url(../images/helpIcon.gif) no-repeat left top;
	border: none;
}




/* Search styles
-------------------------------------------------------------------------------------- */

#advSearch {
	border: 1px solid #318085;
	margin-bottom: 20px;
	padding: 5px;
	background: #cde5e6;
}

div.resultsNav {
	float: left;
	height: 20px;
	text-align: left;
	line-height: 20px;
	background: #ffc900;
	margin-bottom: 20px;
}

div.resultsNavLeft {
	float: left;
	line-height: 20px;
	padding: 0 5px 0 10px;
	background: url(../images/linkBarLeft.gif) no-repeat left center #ffc900;
}

div.resultsNavCentre {
	float: left;
	line-height: 20px;
	padding: 0 5px;
}

div.resultsNavRight {
	float: left;
	line-height: 20px;
	padding: 0 10px 0 5px;
	background: url(../images/linkBarRight.gif) no-repeat right center #ffc900;
}

div.resultsNavLeft a, div.resultsNavRight a {
	line-height: 20px;
	text-decoration: none;
	font-weight: normal;
}

div.resultsNavLeft a:hover, div.resultsNavRight a:hover {
	text-decoration: underline;
}

div.resultsNavLine {
	background: url(../images/linkBarBreaker.gif) no-repeat left center #ffc900;
	width: 3px;
	height: 20px;
	float: left;
}





/* Edit record
-------------------------------------------------------------------------------------- */

table.editForm {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 15px;
}

table.editForm td {
	border: 0;
	padding: 2px;
	margin: 0;
}

table.editForm td.required {
	width: 5px;
	text-align: center;
	color: #c00;
}

table.editForm td.submit {
	border: 0;
	padding: 5px;
	margin: 0;
	background-color: transparent;
}

table.editForm th {
	border: 1px solid #dcd3e0;
	padding: 2px;
	font-weight: bold;
	font-size: 12px;
	text-align: left;
	background-color: #f1e9f5;
	margin-top: 15px;
}

table.editForm tr.row1 {
	background-color: #F5F5F5;
}

table.editForm tr.row2 {
	background-color: #FFFFFF;
}

td.field {
	text-align: left;
	width: 99%;
}

td.fieldName {
	white-space: nowrap;
	text-align: right;
}

td.fieldNameError {
	white-space: nowrap;
	text-align: right;
	color: #FF0000;
	font-weight: bold;
}






/* Home page
-------------------------------------------------------------------------------------- */

#slideshowHomeWrapper {
	margin: 0 0 15px 0;
}






/* News
-------------------------------------------------------------------------------------- */

#newsList {
	list-style: none;
	margin: 0 0 25px 0;
}

#newsList strong {
	display: block;
	float: left;
	width: 100px;
	text-align: right;
	margin-right: 10px;
	color: #b23030;
}

div.newsListColumn {
	width: 450px;
	float: left;
	margin: 0 25px 25px 0;
}

div.newsListColumn.noMargin {
	margin: 0 0 25px 0;
}

div.newsFeature {
	margin: 0 0 25px 0;
	padding: 0 0 0 110px;
}

div.newsFeature img {
	float: left;
	margin: 0 0 0 -110px;
	border: 1px solid #b23030;
	display: inline; /* fixes IE6 double margin bug when margin is on same side as float */
}

div.newsFeature h3 {
	margin: 0 0 3px 0;
	font-size: 12px;
}

div.newsFeature h3 span.date {
	color: #000;
	font-weight: bold;
}

div.newsFeature h3 a {
	color: #b23030;
}

div.newsFeature h3 a:hover {
	color: #999;
}

div.newsFeature p {
	margin-bottom: 3px;
}

div.newsFeature p a {
	text-decoration: none;
	color: #333;
}

div.newsFeature p a:hover {
	text-decoration: underline;
	color: #999;
}

div.newsFeature ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

div.newsFeature ul li {
	text-align: left;
	margin: 0;
	padding: 0;
}

div.newsFeature ul li a {
	padding: 0 0 0 12px;
	margin: 0;
	text-decoration: none;
	background: url(../images/arrowWhiteOnRedWhiteOnGrey.gif) no-repeat 0 0;
	line-height: 15px;
}

div.newsFeature ul li a:hover {
	text-decoration: underline;
	background: url(../images/arrowWhiteOnRedWhiteOnGrey.gif) no-repeat 0 -15px;
}

#newsSubNav {
	float: right;
	clear: right;
	margin: 0 0 20px 20px;
}

#newsSubNav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#newsSubNav ul li {
	text-align: left;
	margin: 0;
	padding: 0;
}

#newsSubNav ul li a {
	padding: 0 0 0 12px;
	margin: 0;
	text-decoration: none;
	background: url(../images/arrowWhiteOnRedWhiteOnGrey.gif) no-repeat 0 0;
	line-height: 15px;
}

#newsSubNav ul li a:hover {
	text-decoration: underline;
	background: url(../images/arrowWhiteOnRedWhiteOnGrey.gif) no-repeat 0 -15px;
}






/* Clients
-------------------------------------------------------------------------------------- */

ul.clientList {
	list-style: none;
	float: left;
	margin: 0 30px 25px 0;
}

ul.clientList li {
	text-align: left;
	margin: 0;
	padding: 0 0 0 12px;
	background: url(../images/arrowWhiteOnRed.gif) no-repeat 0 center;
	line-height: 18px;
}

#clientSlideshow {
	float: left;
	margin: 0;
}






/* People
-------------------------------------------------------------------------------------- */

div.peopleWrapper {
	float: left;
	margin: 0 20px 25px 0;
	padding: 0 0 0 110px;
}

div.peopleWrapper img {
	margin: 0 0 0 -110px;
	border: 1px solid #b23030;
	float: left;
	display: inline; /* fixes IE6 double margin bug when margin is on same side as float */
}

div.peopleInnerWrapper {
	width: 170px;
}

div.peopleInnerWrapper h2 {
	color: #b23030;
	font-size: 16px;
	font-style: normal;
	margin-top: 0;
	margin-bottom: 0.3em;
	padding: 0 0 0 20px;
	background: url(../images/h1Bg.gif) no-repeat left 2px;
}

div.peopleInnerWrapper h3 {
	color: #000;
	font-size: 12px;
	font-style: normal;
	margin-top: 0;
	margin-bottom: 0.3em;
}

div.peopleInnerWrapper h4 {
	color: #000;
	font-size: 12px;
	font-style: normal;
	margin-top: 0;
	margin-bottom: 0.6em;
}






/* Vacancies
-------------------------------------------------------------------------------------- */

div.vacancyWrapper {
	margin: 0 0 35px 0;
}

div.vacancyWrapper h2 {
	color: #b23030;
	font-size: 16px;
	font-style: normal;
	margin-top: 0;
	margin-bottom: 0.3em;
	padding: 0 0 0 20px;
	background: url(../images/h1Bg.gif) no-repeat left 2px;
}

div.vacancyWrapper ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

div.vacancyWrapper ul li {
	text-align: left;
	margin: 0;
	padding: 0;
}

div.vacancyWrapper ul li a {
	padding: 0 0 0 12px;
	margin: 0;
	text-decoration: none;
	background: url(../images/arrowWhiteOnRedWhiteOnGrey.gif) no-repeat 0 0;
	line-height: 15px;
}

div.vacancyWrapper ul li a:hover {
	text-decoration: underline;
	background: url(../images/arrowWhiteOnRedWhiteOnGrey.gif) no-repeat 0 -15px;
}






/* Portfolio
-------------------------------------------------------------------------------------- */

#slideshowPortfolioWrapper {
	margin: 0 0 15px 0;
}

#portfolioCatJump {
	margin: 0 0 20px 0;
}

div.portfolioProjectFeature {
	margin: 0 0 25px 0;
	padding: 0 0 0 110px;
}

div.portfolioProjectFeature img {
	float: left;
	margin: 0 0 0 -110px;
	border: 1px solid #b23030;
	display: inline; /* fixes IE6 double margin bug when margin is on same side as float */
}

div.portfolioProjectFeature h3 {
	margin: 0 0 3px 0;
	font-size: 12px;
}

div.portfolioProjectFeature h3 a {
	color: #b23030;
}

div.portfolioProjectFeature h3 a:hover {
	color: #999;
}

div.portfolioProjectFeature p {
	margin-bottom: 3px;
}

div.portfolioProjectFeature p a {
	text-decoration: none;
	color: #333;
}

div.portfolioProjectFeature p a:hover {
	text-decoration: underline;
	color: #999;
}

div.portfolioProjectFeature ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

div.portfolioProjectFeature ul li {
	text-align: left;
	margin: 0;
	padding: 0;
}

div.portfolioProjectFeature ul li a {
	padding: 0 0 0 12px;
	margin: 0;
	text-decoration: none;
	background: url(../images/arrowWhiteOnRedWhiteOnGrey.gif) no-repeat 0 0;
	line-height: 15px;
}

div.portfolioProjectFeature ul li a:hover {
	text-decoration: underline;
	background: url(../images/arrowWhiteOnRedWhiteOnGrey.gif) no-repeat 0 -15px;
}

div.portfolioProjectListing {
	margin: 0 25px 25px 0;
	padding: 0 0 0 210px;
	float: left;
	width: 200px;
}

div.portfolioProjectListing.clearLeft {
	clear: left;
}

div.portfolioProjectListing img {
	float: left;
	margin: 0 0 0 -210px;
	border: 1px solid #b23030;
	display: inline; /* fixes IE6 double margin bug when margin is on same side as float */
}

div.portfolioProjectListing h3 {
	margin: 0 0 3px 0;
	font-size: 12px;
}

div.portfolioProjectListing h3 a {
	color: #b23030;
}

div.portfolioProjectListing h3 a:hover {
	color: #999;
}

div.portfolioProjectListing p {
	margin-bottom: 3px;
}

div.portfolioProjectListing p a {
	text-decoration: none;
	color: #333;
}

div.portfolioProjectListing p a:hover {
	text-decoration: underline;
	color: #999;
}

div.portfolioProjectListing ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

div.portfolioProjectListing ul li {
	text-align: left;
	margin: 0;
	padding: 0;
}

div.portfolioProjectListing ul li a {
	padding: 0 0 0 12px;
	margin: 0;
	text-decoration: none;
	background: url(../images/arrowWhiteOnRedWhiteOnGrey.gif) no-repeat 0 0;
	line-height: 15px;
}

div.portfolioProjectListing ul li a:hover {
	text-decoration: underline;
	background: url(../images/arrowWhiteOnRedWhiteOnGrey.gif) no-repeat 0 -15px;
}






/* Project details
-------------------------------------------------------------------------------------- */

#galleryWrapper img {
	margin: 0 0 20px 0;
}







/* Contact
-------------------------------------------------------------------------------------- */

#formContact{
	float: left;
}

table.contact {
	width: 430px;
	border: 0;
	margin: 0 20px 30px 0;
	border-collapse: collapse;
}

table.contact td {
	border: 0;
	padding: 2px;
}


table.contact td.fieldName p {
	text-align: right;
	margin-bottom: 0;
	padding-right: 5px;
}


td.required {
	width: 5px;
	text-align: center;
	color: #c00;
}

td.field {
	text-align: left;
	/*width:99%;*/
}

td.field p {
	margin-bottom: 0;
}

td.fieldName {
	white-space:nowrap;
	text-align:right;
}

td.fieldName label {
	text-align:right;
	margin-bottom: 0;
}

td.fieldNameError {
	white-space:nowrap;
	text-align:right;
	color: #c00;
	font-weight: bold;
}

td.fieldNameError label {
	text-align:right;
	color: #c00;
	font-weight: bold;
	margin-bottom: 0;
}



#contactDetailsTbl {
	border-collapse: collapse;
}

#contactDetailsTbl td {
	padding: 2px;
}


