/**
 * overriden basic html tags.
 */
body {
	font-family: Arial, Helvetica, Verdana, sans-serif;
	vertical-align: top;
	text-align: center;
	padding: 0px;
	margin: 0px;
	background-color: #ece8dd;
	background-image: url("/images/backdrop.jpg");
	background-repeat: repeat-y;
	background-position: center;
}
p, h1, h2, h3, h4, h5, span {
	padding: 0px;
	margin: 0px;
}
p, li, td, th, textarea, input, select, option, label, .label {
	font-family: Arial, Helvetica, Verdana, sans-serif;
	color: #666666;
	font-size: 12px;
	margin: 0px 1px 0px 1px;
}
h3, h4, h5, legend {
	margin: 0px 0px 10px 0px;
	color: #666666;
}
h2, h3 {
	height: 24px;
	margin: 0px 0px 2px 0px;
	background-repeat: no-repeat;
}
p {
	margin-bottom: 10px;
}
table {
	collapse: collapse;
}
td {
}
ul {
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}
li {
	vertical-align: text-top;
	margin: 5px 0px 5px 0px;
	padding: 0px;
}
hr {
	display: none;
}
img {
	border: 0px;
}
a {
	text-decoration: none;
	color: #0099cc;
}
a:hover {
	text-decoration: underline;
}


/**
 * site main layout.
 */
#container {
	margin: 0px auto 0px auto;
	padding: 0px 10px 0px 10px;
	text-align: left;
	width: 748px;
}
#main-wrapper {
	padding: 6px 0px 0px 0px;
}
/* header */
#header {
	float: left;
	width: 748px;
	height: 109px;
	margin: 0px 0px 3px 0px;
	padding: 0px 0px 0px 0px;
	background-image: url("/images/header.gif");
	background-repeat: no-repeat;
}
/* navigation */
#navigation {
	float: left;
	width: 748px;
	height: 92px;
	margin: 0px 0px 25px 0px;
	*margin: -6px 0px 25px 0px;
	_margin: -6px 0px 25px 0px;
	padding: 0px 0px 0px 0px;
}
/* main-content */
#main-content {
	float: left;
	width: 468px;
	padding: 0px 0px 0px 10px;
	margin: 0px 20px 20px 0px;
	_height: 420px;
	min-height: 420px;
}
/* utility / Photos */
#photos {
	width: 231px;
	float: left;
	padding: 0px 0px 0px 7px;
	margin: 0px 0px 20px 0px;
	min-height: 400px;
	_height: 400px;
}
/* footer */
#footer {
	clear: both;
	width: 748px;
	_float: left;
	*float: left;
	padding: 0px 0px 0px 0px;
	height: 40px;
}



/**
 * tags used to get the central column (white) to display 100% of screen height.
 * the 'container' div holds a white background colour, and to stretch this to 100%
 * of the browser/user agent window, the parent divs (in this case, and 99/100 of
 * other cases) - html and body, also need to have the height: 100% attribute.
 */
html {
  height: 100%;	
}
body {
  height: 100%;
}
#container {
  height: 100%;
	min-height: 100%; 
	background-color: #FFFFFF;
}
html>body #container {
	height: auto;
}


/**
 * form elements.
 */
 
/* basic form elements */
#main-wrapper form {
	margin: 0px 0px 0px 0px;
}
#main-wrapper textarea,
#main-wrapper input,
#main-wrapper option,
#main-wrapper label,
#main-wrapper select,
#main-wrapper input,
#main-wrapper .label {
	color: #000000;
}
#main-wrapper input.button {
	cursor: pointer;
	padding: 1px 10px 1px 10px;
	_padding: 0px 5px 0px 5px;
	font-weight: bold;
	border: none;
	margin: 10px 0px 0px 174px;
	_margin: 10px 0px 0px 188px;
}
#main-wrapper input.textbox {
	width: 220px;
	padding: 2px 4px 2px 4px;
	_padding: 1px 4px 2px 4px;
}
#main-wrapper input.textbox-medium {
	width: 120px;
	padding: 2px 4px 2px 4px;
	_padding: 1px 4px 2px 4px;
}
#main-wrapper input.textbox-small {
	width: 60px;
	padding: 2px 4px 2px 4px;
	_padding: 1px 4px 2px 4px;
}
#main-wrapper textarea {
	padding: 2px 3px 2px 4px;
	_padding: 1px 3px 2px 4px;
	height: 120px;
	width: 255px;
}
#main-wrapper input.radio {
	vertical-align: text-bottom;
	_vertical-align: baseline;
}
#main-wrapper input.checkbox {
	margin: 0px 0px 0px 0px;
	_margin: 0px 0px 0px -5px;
}
#main-wrapper select {
	margin: 0px 3px 0px 0px;
	_margin: 3px 3px 0px 1px;
	padding: 1px;
	border: none;
}
#main-wrapper input.textbox:hover,
#main-wrapper input.textbox:focus,
#main-wrapper input.textbox-medium:hover,
#main-wrapper input.textbox-medium:focus,
#main-wrapper input.textbox-small:hover,
#main-wrapper input.textbox-small:focus,
#main-wrapper textarea:hover,
#main-wrapper textarea:focus,
#main-wrapper select:hover,
#main-wrapper select:focus {
}
#main-wrapper input.textbox,
#main-wrapper input.textbox-medium,
#main-wrapper input.textbox-small,
#main-wrapper textarea,
#main-wrapper textarea.textbox,
#main-wrapper textarea.signature-textbox,
#main-wrapper select {
	border: 1px solid #cccccc;
}
#main-wrapper input.button {
	border: 1px solid #cccccc;
	background-color: #FFFFFF;
}
#main-wrapper input.button:hover {
	background-color: #cae4f2;
}




/* Forms - Sorts data lists in to tabular format */
#main-content label,
#main-content .label {
	float: left;
	_float: none;
	clear: both;
	width: 100%;
	margin: 8px 0px 0px 0px;
	vertical-align: middle;
}
#main-content label,
#main-content span.label {
}
#main-content label div,
#main-content .label div {
	display: none !important;
}
#main-content span.label div {
	display: none !important;
}
#main-content label strong,
#main-content .label strong {
	display: block;
	width: 150px;
	float: left;
	margin: 0px 14px 0px 10px;
	_margin: 0px 14px 12px 10px;
	padding: 0px 0px 0px 0px;
	font-weight: normal;
	color: #666666;
}
#main-content form p {
	clear: both;
}
#main-content form br {
	display: none;
}
#main-content strong.required span {
	font-weight: bold;
	padding: 0px 0px 0px 1px;
	color: #FF0000;
}

#main-content form p.note {
	font-weight: normal;
	display: block;
	margin: 2px 0px 0px 266px;
	_margin: 2px 0px 0px 268px;
	font-size: 10px;
}




/**
 * header
 */
#header {
}
#header h1 {
	_height: 1px; /* fix for I.E. */
	float: left;
}
#header h1 a {
	display: block;
	height: 109px;
	width: 440px;
}
#header #contact-information {
	float: left;
	width: 221px;
	height: 76px;
	margin: 9px 0px 0px 58px;
	padding: 8px 10px 8px 10px;
}
#header #contact-information p {
	margin: 0px 0px 0px 0px;
	color: #FFFFFF;
}
#header #contact-information p.address-details {
	width: 118px;
	float: left;
	margin: 0px 10px 0px 0px;
}
#header #contact-information p.telephone-number {
	width: 90px;
	float: left;
	text-align: right;
}




/**
 * footer
 */
#footer p {
	text-align: center;
	margin: -24px 0px 0px 0px;
	padding: 0px 0px 10px 0px;
	line-height: 1.5em;
}
#footer h3 {
	display: none;
}
#footer p a {
}
#footer #footer-logos {
	text-align: center;
	margin: 20px 0px 6px 0px;
	padding: 0px 0px 6px 0px;
	border-bottom: 1px solid #f1a916;
}
#footer #footer-logos img {
	margin: 0px 3px 0px 3px;
}



/**
 * main navigation
 */
#navigation {
	overflow: hidden;
	background-image: url("/images/menu-background.gif");
	background-repeat: repeat-x;
	height: 26px;
}
#navigation h3 {
	display: none;
}
#menu-main ul {
	margin: 0px 0px 0px 10px;

}
#menu-main li {
	padding: 0px 0px 0px 0px;
	margin: 0px 0px 0px 0px;
	float: left;
}
#menu-main li a {
	display: block;
	height: 28px;
	background-repeat: no-repeat;
	background-position: 0px -1px;
}
#menu-main li a:hover {
	background-position: 0px -30px;
}
#menu-main li span {
	display: none;
}
li.menuitem-home a {
	background-image: url("/images/menu/menu_01.gif");
	width: 64px;
}
li.menuitem-about-us a {
	background-image: url("/images/menu/menu_02.gif");
	width: 87px;
}
li.menuitem-our-services a {
	background-image: url("/images/menu/menu_03.gif");
	width: 109px;
}
li.menuitem-photo-gallery a {
	background-image: url("/images/menu/menu_04.gif");
	width: 118px;
}
li.menuitem-contact-us a {
	background-image: url("/images/menu/menu_05.gif");
	width: 97px;
}
li.menuitem-enquiry-form a {
	background-image: url("/images/menu/menu_06.gif");
	width: 116px;
}



/**
 * general styles used.
 */
h1 span,
h2 span {
	display: none;
}
#main-content h2 {
	width: 460px;
	background-position: 0px 0px;
}
#main-content h3 {
	line-height: 1.5em;
}
#main-content h3, 
#main-content h3 a {
	display: block;
}
#main-content h4 {
	margin: 14px 0px 4px 0px;
	font-size: 14px;
	line-height: 1.5em;
}
#main-content h3 span,
#main-content h4 span {
	display: none;
}
#main-content #content {
	margin: 0px 0px 0px 100px;
}
#main-content p {
	line-height: 1.5em;
}
#main-content ul.list,
#main-content ol.list {
	list-style-type: square;
	margin: 0px 0px 6px 30px;
}
#main-content ul.list li,
#main-content ol.list li {
	margin: 0px 0px 6px 0px;
	line-height: 1.5em;
}
.clearer {
	clear: both;
	height: 0px;
	display: block;
	margin: 0px 0px 0px 0px;
}
.photo-with-caption {
	border: 1px solid #e0e0e0;
	padding: 7px 7px 7px 7px;
	background-color: #FFFFFF;
}
p.photo-caption {
	text-align: center;
	font-size: 11px;
	margin: 7px 0px 2px 0px;
	*margin: 6px 0px 3px 0px;
	_margin: 5px 0px 3px 0px;
}
.text-complement-left {
	float: left;
	margin: 0px 12px 20px 0px;
}
.text-complement-right {
	float: right;
	margin: 0px 0px 20px 12px;
}
.stand-out {
	background-image: url("/images/photos-back.gif");
	background-repeat: repeat-x;
	background-position: 0px -60px;
	padding: 3px 10px 3px 10px;
	margin: 6px 0px 6px 0px;
	_margin: 3px 0px 6px 0px;
	*margin: 3px 0px 6px 0px;
}
.tag-line {
	font-size: 14px;
	margin: 10px 0px 4px 0px;
	height: auto;
}




/**
 * Photos (utility)
 */
#photos {
	background-image: url("/images/photos-back.gif");
	background-repeat: repeat-x;
	background-position: 0px 30px;
}
#photos p {
	line-height: 1.5em;
}
#photos h3 {
	background-image: url("/images/titles/recent-work.gif");
	margin: 0px 0px 17px 0px;
}
#photos h3,
#photos h4 {
	height: 21px;
}
#photos h3 span,
#photos h4 span {
	display: none;
}
#photos img {
	border: 1px solid #e0e0e0;
	padding: 4px;
	background-color: #FFFFFF;
}
#photos img:hover {
	border: 1px solid #0099cc;
}
#photos #area-covered {
	margin: 0px 0px 0px 10px;
}
#photos #area-covered h4 {
	background-image: url("/images/titles/areas-covered.gif");
	margin-top: 8px;
	margin-bottom: 8px;
	_margin-bottom: 4px;
}
#photos #area-covered img.map {
	float: right;
	margin: 0px 0px 0px 0px;
}



/**
 * titles
 */
#homepage h2 {
	background-image: url("/images/titles/welcome.gif");
}
#about-us h2 {
	background-image: url("/images/titles/about-us.gif");
}
#our-services h2 {
	background-image: url("/images/titles/our-services.gif");
}
#photo-gallery h2 {
	background-image: url("/images/titles/photo-gallery.gif");
}
#contact-us h2 {
	background-image: url("/images/titles/contact-us.gif");
}






/**
 * index (homepage)
 */
#homepage .photo-with-caption {
	margin-top: 15px;
}
#homepage .logo-nfrc {
	margin: 7px 10px 14px 0px;
	_margin: 7px 8px 14px 0px;
}
#homepage .logo-trust-mark {
	margin: -8px 0px 14px 0px;
	_margin: -8px -15px 14px 0px;
}
#homepage h3.pride-in-our-work {
	background-image: url("/images/titles/pride-in-our-work.gif");
	clear: both;
	margin-top: 20px;
	*margin-top: 7px;
	_margin-top: -10px;
}


/**
 * photo-gallery
 */
#container.photo-gallery #main-content {
	width: 738px;
	margin-right: 0px;
}
#photo-gallery #photo-gallery-photos {
	padding: 0px 0px 0px 24px;
}
#photo-gallery #photo-gallery-photos img {
	border: 1px solid #e0e0e0;
	padding: 4px;
	background-color: #FFFFFF;
}
#photo-gallery #photo-gallery-photos img:hover {
	border: 1px solid #0099cc;
}


/**
 * our-services
 */
#container.our-services #main-content.map {
	width: 738px;
	margin-right: 0px;
}
#container.our-services #main-content.map img {
	border: 1px solid #e0e0e0;
}
#container.our-services #main-content.map img:hover {
	border: 1px solid #0099cc;
}

/**
 * contact-us
 */
#contact-us #address {
	width: 150px;
	float: left;
	margin: 0px 0px 20px 0px;
}
#contact-us #telephone {
	width: 300px;
	float: left;
	margin: 0px 0px 20px 0px;
}
#contact-us h3.enquiry-form {
	background-image: url("/images/titles/enquiry-form.gif");
	margin-top: 10px;
	margin-bottom: 6px;
	_margin-bottom: 14px;
	clear: both;
}
