/* RESET BROWSER STYLES ---------------------------------------- */

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,
b, u, i, center,
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-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
body
{
	line-height: 1;
}
ol, ul
{
	list-style: none;
}
blockquote, q
{
	quotes: none;
}

/* remember to define focus styles! */
:focus
{
	outline: 0;
}

/* remember to highlight inserts somehow! */
ins
{
	text-decoration: none;
}
del
{
	text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table
{
	border-collapse: collapse;
	border-spacing: 0;
}

/* LAYOUT ------------------------------------------------------ */

body
{
	position: relative;
	background: #fff;
	font-family: Arial, Helvetica, sans-serif;
	text-align: center;
	min-width: 888px;
}
#wrapper
{
	width: 848px;
	position: relative;
	margin: 0 auto;
	text-align: left;
}
#main,#col1,#col2,#col3
{
	float: left;
}
#main
{
	margin-bottom: 20px;
}
#col1,#col3
{
	width: 220px;
}
#col2
{
	width: 358px;
	padding: 22px 25px 22px 25px;
}

/* HEADERS ----------------------------------------------------- */

#gdOverlay
{
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 50;
}

h1
{
	position: relative;
	margin: 0;
	padding: 0;
	width: 848px;
	height: 185px;
}
h1 span
{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}

h2
{
	margin: 0px 0px 30px 0px;
	padding: 0px 0px 3px 0px;
	font-size: 18px;
	line-height: 24px;
	color: #DB0029;
	font-weight: normal;
	border-bottom: 1px solid #ccc;
}

#col2 h3
{
	font-size: 14px;
	line-height: 20px;
	font-weight: normal;
	color: #DB0029;
	padding-bottom: 3px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 20px;
}
#col2 h3.articleTitle
{
	margin-bottom: 8px;
}

#col1 h3,#col3 h3
{
	position: relative;
	margin: 0;
	padding: 0;
}
#col1 h3 span,#col3 h3 span
{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}
#servicesTitle,#galleryTitle,#profileTitle,#newsTitle
{
	width: 220px;
	height: 33px;
}
#servicesTitle span
{
	background: url(../images/nav/services_title.gif);
}
#profileTitle span
{
	background: url(../images/nav/profile_title.gif);
}
#galleryTitle span
{
	background: url(../images/nav/gallery_title.gif);
}
#newsTitle span
{
	background: url(../images/nav/news_title.gif);
}

h4
{
	font-size: 13px;
	line-height: 19px;
	color: #4D4D4D;
	margin-bottom: 20px;
}

/* MAIN NAV ---------------------------------------------------- */

#navBar
{
	width: 848px;
	height: 50px;
	background: url(../images/nav/nav_bar_back.jpg) no-repeat top left;
	font-size: 14px;
	margin: 1px 0px 1px 0px;
}
#navBar ul
{
	float: left;
	padding: 18px 0px 0px 47px;
}
#navBar li
{
	float: left;
	padding: 0px 8px 0px 8px;
	border-right: 1px solid #8296AC;
	font-weight: bold;
	color: #BE0F33;
}
#navBar li#navFirst
{
	padding-left: 0px
}
#navBar li#navLast
{
	padding-right: 0px;
	border: 0;
}
#navBar li a
{
	color: #fff;
	text-decoration: none;
}
#navBar li a:hover
{
	color: #BE0F33;
}

/* SUBNAV ------------------------------------------------------ */

#col1
{
	background: url(../images/nav/subnav_left_back.gif) repeat-y top left;
}
#subNav
{
	width: 164px;
	background: url(../images/nav/side_nav_bg.jpg) no-repeat bottom left;
	padding: 13px 33px 80px 23px;
}
#subNav li
{
	font-size: 14px;
	line-height: 20px;
	border-bottom: 1px solid #EC8686;
	padding: 10px 0px 10px 0px;
	color: #fff;
}
#subNav li a
{
	color: #fff;
	text-decoration: none;
}
#subNav li a:hover
{
	color: #EC8686;
}
#subNav li ul
{
	margin: 15px 0px 5px 0px;
}
#subNav li ul li
{
	border: 0;
	font-size: 12px;
	line-height: 17px;
	padding: 5px 0px 0px 15px;
	background: url(../images/nav/arrow_link2.gif) no-repeat center left;
}
#subNav li ul li a:hover
{
	color: #fff;
	text-decoration: underline;
}
#col3
{
	background: url(../images/nav/subnav_right_back.gif) repeat-y top left;
}
#gallery,#news
{
	float: left;
	width: 164px;
	padding: 13px 23px 23px 33px;
	background: url(../images/nav/side_nav_bot.gif) no-repeat bottom right;
}
#gallery
{
	padding: 13px 25px 23px 31px;
}
#news,#readMore,#news p
{
	color: #fff;
	font-size: 12px;
	line-height: 17px;
}
#news a
{
	color: #fff;
	text-decoration: none;
	border-bottom: 1px dotted #fff;
}
#readMore
{
	font-weight: bold;
}
#readMore:hover,#news a:hover
{
	text-decoration: none;
	border: 0;
}
#gallery div
{
	float: left;
	width: 164px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	border-left: 1px solid #fff;
	margin: 20px 0px 0px 0px;
}
#gallery div img
{
	border-right: 1px solid #fff;
	border-top: 1px solid #fff;
	float: left;
	width: 54px;
	height: 54px;
}
#gallery div img.last
{
	border-right: 0;
}
#featureImage
{
	border: 1px solid #fff;
}

/* ADVERTS ----------------------------------------------------- */

#carbonAd
{
	position: relative;
	display: block;
	width: 358px;
	height: 98px;
	margin-bottom: 30px;
	cursor: pointer;
}
#carbonAd span
{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: url(../images/adverts/carbon_neutrals_ad.png) no-repeat top left;
}

/* CONTENT ----------------------------------------------------- */

p,#col2 ul,#articleContent
{
	margin-bottom: 20px;
	font-size: 12px;
	color: #4D4D4D;
	line-height: 17px;
}
p a,#col2 ul a,#articleContent a
{
	color: #DB0029;
	text-decoration: none;
}
p a:hover,#col2 ul a:hover,#articleContent a:hover
{
	text-decoration: underline;
}
#col2 ul li
{
	margin-bottom: 5px;
}

#col2 ul
{
	list-style: disc;
	padding-left: 14px;
}

sup
{
	font-size: 9px;
	vertical-align: top;
}

#james
{
	float: right;
	padding: 4px;
	background-color: #fff;
	border: 1px solid #d9d9d9;
	margin: 0px 0px 10px 15px;
}

#articleDate
{
	font-size: 11px;
	color: #666;
	padding-bottom: 8px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 20px;
}
#newsArchive
{
	border-top: 1px solid #ccc;
	padding-top: 20px;
}
#newsArchive ul
{
	list-style-image: url(../images/bullet_arrow.gif);
	font-size: 10px;
}
#newsArchive ul li a
{
	font-size: 12px;
}
#newsArchive ul li a#activeArchive
{
	border-bottom: 1px dotted #DB0029;
}
#newsArchive ul li a#activeArchive:hover
{
	text-decoration: none;
}

ul#siteMapList
{
	list-style-image: url(../images/bullet_arrow.gif);
}
#siteMapList ul
{
	margin: 8px 0px 0px 10px;
	list-style-image: none;
}
#siteMapList a.mainSection
{
	font-weight: bold;
}

/* FORM -------------------------------------------------------- */

label
{
	display: block;
	margin-bottom: 3px;
}
.textfield,.textarea
{
	width: 288px;
	padding: 4px;
}
.textarea
{
	height: 100px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	line-height: 17px;
}
select
{
	width: 300px;
}
.formButton
{
	display: block;
	width: 100px;
	height: 22px;
	background: url(../images/button.png) no-repeat top left;
	color: #fff;
	text-decoration: none;
	font-size: 12px;
	padding-top: 8px;
	text-align: center;
}
.formButton:hover
{
	background: url(../images/button.png) no-repeat bottom left;
}

#quoteForm
{
	margin-bottom: 100px;
}

/* LEGAL ------------------------------------------------------- */

#legalBar
{
	clear: left;
	padding: 15px 0px 15px 0px;
	background: url(../images/nav/bottom_nav_base.gif) repeat-x top left;
}

#legalWrapper
{
	position: relative;
	width: 848px;
	margin: 0 auto;
	text-align: left;
}

#logos
{
	position: relative;
	width: 848px;
	height: 40px;
	font-size: 10px;
}
#logos span
{
	position: absolute;
	width: 100%;
	height: 100%;
	background: url(../images/logos_colour.gif) no-repeat top left;
}

#legalBar ul
{
	float: left;
	position: relative;
	padding: 10px 0px 10px 0px;
	font-size: 11px;
	width: 848px;
	border-top: 1px solid #adadad;
	margin-top: 15px;
}

#legalBar li
{
	float: left;
	color: #b5b5b5;
	border-right: 1px solid #b5b5b5;
	padding: 0px 5px 0px 5px;
}
#legalBar li#first
{
	padding-left: 0px;
}
#legalBar li#last
{
	padding-right: 0px;
	border: 0;
}
#legalBar li a
{
	color: #4d4d4d;
	text-decoration: none;
}
#legalBar li a:hover
{
	color: #4d4d4d;
	text-decoration: underline;
}

/* LIGHTBOX ---------------------------------------------------- */

#lightbox{
	position: absolute;
	left: 0;
	width: 100%;
	z-index: 100;
	text-align: center;
	line-height: 0;
	}

#lightbox a img{ border: none; }

#outerImageContainer{
	position: relative;
	background-color: #fff;
	width: 250px;
	height: 250px;
	margin: 0 auto;
	}

#imageContainer{
	padding: 10px;
	}

#loading{
	position: absolute;
	top: 40%;
	left: 0%;
	height: 25%;
	width: 100%;
	text-align: center;
	line-height: 0;
	}
#hoverNav{
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 10;
	}
#imageContainer>#hoverNav{ left: 0;}
#hoverNav a{ outline: none;}

#prevLink, #nextLink{
	width: 49%;
	height: 100%;
	background: transparent url(../images/lightbox/blank.gif) no-repeat; /* Trick IE into showing hover */
	display: block;
	}
#prevLink { left: 0; float: left;}
#nextLink { right: 0; float: right;}
#prevLink:hover, #prevLink:visited:hover { background: url(../images/lightbox/prevlabel.gif) left 15% no-repeat; }
#nextLink:hover, #nextLink:visited:hover { background: url(../images/lightbox/nextlabel.gif) right 15% no-repeat; }


#imageDataContainer{
	font: 10px Verdana, Helvetica, sans-serif;
	background-color: #fff;
	margin: 0 auto;
	line-height: 1.4em;
	overflow: auto;
	width: 100%	
	}

#imageData{	padding:0 10px; color: #666; }
#imageData #imageDetails{ width: 70%; float: left; text-align: left; }	
#imageData #caption{ font-weight: bold;	}
#imageData #numberDisplay{ display: block; clear: left; padding-bottom: 1.0em;	}			
#imageData #bottomNavClose{ width: 66px; float: right;  padding-bottom: 0.7em;	}	
		
#overlay{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 90;
	width: 100%;
	height: 500px;
	background-color: #000;
	}