
/*

	CSS Template

	CONTENTS ----------
	
		1.Reset CSS
		2.Over all styles
		3.Layout
		4.Content
		5.aside styles (side column)
		6.Navigation
		7.ARD Tables
		8.Forms
		9.Site Search results
		
    -------------------

	COLOURS ----------

		Text, table lines, form border #444
		
		Main colour: a, main headings, mark, nav, button #003473 

		Secondary colour: a:hover, text selection, nav:hover, button border #a9243b

    -------------------

 */
 
/* 1.Reset CSS
---------------------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
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;
}                  

blockquote, q { quotes:none; }
blockquote:before, blockquote:after,
q:before, q:after { content:''; content:none; }

a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }

/* tables still need cellspacing="0" in the markup */
table { border-collapse:collapse; border-spacing:0; }
hr { display:block; height:1px; border:0; border-top:1px solid #444; margin:15px 0; padding:0; }
input, select { vertical-align:middle; }

/* always force a scrollbar in non-IE */ 
html { overflow-y: scroll; }



/* 2.Over all styles
---------------------------------------------------------------*/
body {
	font: 12px/18px Arial, Helvetica, sans-serif; /* to add line height of eg 18px use 13px/18px  */
	color: #444;
	background-color:#95b8dd;
	}

H1 { font:bold 24px/26px Arial, Helvetica, sans-serif; color:#003473;}
H2 { font-size: 18px; font-weight: bold; color: #003473; }
H3 { font-size: 16px; font-weight: bold; color: #003473; }
H4 { font-size: 14px; color: #444; }
H5 { font-size: 14px; color: #444; }
H5 A { text-decoration: none; color: #444; }

a, a:active, a:visited { color: #003473; text-decoration: underline; }
	A:hover { color: #003473; text-decoration: none; cursor:pointer; }
	a:hover, a:active { outline: none; }
	A.noline { color: #444; text-decoration: none; }
	A.noline:hover { color: #444; text-decoration: none; }

ul, ol { margin-left: 25px; }
ul { list-style:disc; }
ol { list-style-type: decimal; }


.small { font-size: 85%; }
strong, th { font-weight: bold; }

td, td img { vertical-align: top; }

.mark { background-color:#fff; color:#003473; font-style:italic; font-weight:bold; } /* text you would like to mark */

sub { vertical-align: sub; font-size: smaller; }
sup { vertical-align: super; font-size: smaller; } 

.ie7 img { -ms-interpolation-mode: bicubic; }/* bicubic resizing for non-native sized IMG */

/* Text highlight styles */
::-moz-selection{ background: #a9243b; color:#fff; text-shadow: none; }
::selection { background:#a9243b; color:#fff; text-shadow: none; } 
 
/* 
 * Non-semantic helper classes 
 */

/*  image replacement */
.ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }

/*  image align left, right */
.right { float:right; margin:0 0 15px 15px; }
.left { float:left; margin:0 15px 15px 0; }
.photo { float:right; margin:0 0 15px 15px; border:2px solid #003473; padding:1px;  }

/* Hide for both screenreaders and browsers */
.hidden { display: none; visibility: hidden; } 

/* Hide visually and from screenreaders, but maintain layout */
.invisible { visibility: hidden; }

/* clearfix  */
.cf:before, .cf:after { content: "\0020"; display: block; height: 0; overflow:hidden; } 
.cf:after { clear: both; }
/* Fix clearfix IE */
.cf { zoom: 1; }


/* 3.Layout
---------------------------------------------------------------*/
/* Skip menu for screen readers to jump the main menu */
.skipmenu { text-align: left; }
.skipmenu a { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.skipmenu a:focus, .skipmenu a:active { position: static; left: 0; width: auto; height: auto; overflow: visible; text-decoration: underline; }

#container { margin: 0 auto; width:940px; padding:20px; background-color:#FFFFFF;  }

header {  }
	#logo { float:left; margin-bottom:20px; }
	#contact-details { float:right; width:300px; text-align:right; margin-bottom:8px; }
	#contact-details a:hover { color: #003473; }
	.tel  { font-family:Georgia, "Times New Roman", Times, serif; font-size:26px; color:#003473; margin-bottom:8px; }
	.email a { font-family:"Century Gothic", Arial, Helvetica, sans-serif; font-size:18px; color:#a9243b; text-decoration:none;}
	.top-links p { color:#a9243b; margin-top:5px; }
	.top-links a { color:#000000; text-decoration:none; padding:0 5px; }

#main-banner { }
#content { float:left; width:620px; padding:20px 0 20px 20px;  }
	.inner-column { float:left; width:40%; margin-right:20px; }
#column { float:right; background-image:url(../images/column-shadow.gif); background-position:top left; background-repeat:no-repeat; min-height:360px; width:250px; padding:20px 0 20px 20px; }
#column h3 { font-family:Georgia, "Times New Roman", Times, serif; font-size:18px; font-weight:normal; margin-bottom:10px; }
#column li { color:#a9243b; }
.box-container { width:230px; margin-bottom:8px; padding:15px 10px; -webkit-border-radius:12px;
		-khtml-border-radius:12px;
		-moz-border-radius:12px;
		border-radius:12px; }
		.box-container h3 { font-family:Georgia, "Times New Roman", Times, serif; font-size:18px; font-weight:normal; margin-bottom:10px; }
		.box-container h3, .box-container p { margin-left:85px; color:#FFFFFF; }
		.box-container img { float:left; } 
		.box-container a { color:#FFFF99; }
		
.register { background-color:#388235; background-image: -webkit-gradient(linear, left top, right top, from(#388235), to(#89bc08));
background: -webkit-linear-gradient(left, #388235, #89bc08);
background: -moz-linear-gradient(left, #388235, #89bc08);
background: -o-linear-gradient(left, #388235, #89bc08);
background: -ms-linear-gradient(left, #388235, #89bc08);
background: linear-gradient(left, #388235, #89bc08); }
.services { background-color:#003473; background-image: -webkit-gradient(linear, left top, right top, from(#003473), to(#6a90b8));
background: -webkit-linear-gradient(left, #003473, #6a90b8);
background: -moz-linear-gradient(left, #003473, #6a90b8);
background: -o-linear-gradient(left, #003473, #6a90b8);
background: -ms-linear-gradient(left, #003473, #6a90b8);
background: linear-gradient(left, #003473, #6a90b8); }
.tools { background-color:#005c7e; background-image: -webkit-gradient(linear, left top, right top, from(#005c7e), to(#0284a8));
background: -webkit-linear-gradient(left, #005c7e, #0284a8);
background: -moz-linear-gradient(left, #005c7e, #0284a8);
background: -o-linear-gradient(left, #005c7e, #0284a8);
background: -ms-linear-gradient(left, #005c7e, #0284a8);
background: linear-gradient(left, #005c7e, #0284a8); }

#footer { background-image:url(../images/footer-bg.gif); background-repeat:repeat-x; background-position:top; }
#footer img { float:left; padding-left:20px; }
#footer p { float:right; width:600px; text-align:right; padding:20px; color:#FFFFFF; font-weight:bold; }
#footer a { color:#FFFFFF; }


/* 4.Content
---------------------------------------------------------------*/

#content p, #content h1, #content h2, #content h3, #content h4, #content h5 { margin-bottom:15px; }
#content ul li:last-child { margin-bottom:15px; }
.ielt9 #content ul, .ielt9 .submenu ul { margin-bottom:15px; }
#content ul li ul li { margin-bottom:0; }
#content table { margin-bottom:15px; }

#content h2, #content h3, #content h4, #content h5 { margin-top:15px; } /* evenly space headings in the ARD content */


/* 5.aside styles (side column)
---------------------------------------------------------------*/






/* 6.Navigation
---------------------------------------------------------------*/


#nav {	
	clear: both;
	display:block;
	height:39px;
	background-image:url(../images/menu-bg.gif);
	background-repeat:repeat-x;
	position:relative;
	font-family:"Century Gothic", Arial, Helvetica, sans-serif;
	border-top: 2px solid #a9243b;
	
	z-index:100;/* this makes sure that the menu appears on top of all elements of the page mainly things like JS banners and flash files */
	}

#menu, #menu ul{
	margin:0;
	padding:0;
	list-style-type:none;
	list-style-position:outside;
	position:relative;
	line-height:39px; /* add line height  DONT USE HEIGHT */
	
	}

#menu li { 
	list-style:none;
	float:left; /* float needed */
	position:relative;
	border:0;
	}
#menu li:hover { background-color: #a9243b; } /* keeps the original button highlighted */
#menu li:first-child a { border-left:none;  } #menu li:last-child a { border-right:none;  }/* remove borders on each end */

#menu a{
	display:block;
	padding:0px 11px; /* set padding will affect padding on all a tags in menu */
	line-height:39px; /* set line height DONT use just height */
	color:#fff;
	text-decoration:none;
	font-weight:bold;
	}

#menu a:hover{
	background-color: #a9243b;
	color:#fff;
	}

#menu ul {
	position:absolute; /* Menu uses position ab to set drop downs so top: needs to be the same height as the menu */
	display:none; /*display none so menu is not visable until user hovers over the li*/
	width:194px; /* Width will need to be updated inline with all the padding on the menus */
	top:39px;
	background-color:#003473;
	}

#menu li ul a{
	width:150px; /* Width will need to be updated inline with all the padding on the menus */
	height:auto;
	float:left;
	border:0;
	border-bottom:1px solid #fff;
	line-height:18px;
	padding:8px 22px;
	font-weight:normal;
	}

#menu ul ul{
	top:auto;
	}	

#menu li ul ul { /* styles for sub drop downs */
	left:184px; /* left needs to be the overall width of the main drop down  */
	margin:0px 0 0 10px;
	width:204px;
	}
#menu li ul ul a { 
	width:160px; /*update width inline with all the overs*/
	}
#menu li:hover ul ul, #menu li:hover ul ul ul, #menu li:hover ul ul ul ul{
	display:none;
	}
#menu li:hover ul, #menu li li:hover ul, #menu li li li:hover ul, #menu li li li li:hover ul{
	display:block;
	}
	


/* 7.ARD Tables
---------------------------------------------------------------*/

/*table formatting*/
.tablines { background-color: #444; }

#content .tablines table { margin-bottom:0; border-spacing: 1px; border-collapse: separate; } /*resets the padding to 0 on tables inside the tablines*/
 
/*a light colour on the borders of branded tables*/
.tabtitle{  font-weight: bold; color: #fff; background-color: #003473; padding:5px; }

.tabletitle{ font-weight: bold; color: #fff; background-color: #003473; padding:5px; }

/*Used if table has an extra heading.*/
.tabhead { font-weight: bold; color: #003473; background-color: #fff; padding:5px; }

/*dark colour, matching nav bar or other strong colour in the site.*/
.tabbody { font-weight: normal; color: #444; background-color: #fff; padding:5px; }

/*standard text, white background, black text is most common.*/
.tabtotal{ font-weight: bold; color: #444; background-color: #fff; padding:5px; }

/* clientZONE table padding */
#CZDocumentBody td { padding:4px; }


/* 8.Forms (ask us a question, search)
---------------------------------------------------------------*/

/* Form Restet/Fixes */
textarea { overflow: auto; } /* remove scroll bar in IE unless needed */
label, input[type=button], input[type=submit], button { cursor: pointer; }/* hand cursor on clickable input elements */
button, input, select, textarea { margin: 0; }/* webkit browsers add a 2px margin outside the chrome of form elements */  

/* colors for form validity */
input:valid, textarea:valid   {  }
input:invalid, textarea:invalid { 
      border-radius: 1px;
    -moz-box-shadow: 0px 0px 5px red; 
 -webkit-box-shadow: 0px 0px 5px red; 
         box-shadow: 0px 0px 5px red;
}
.ie6 legend, .ie7 legend { margin-left: -7px; }
button {  width: auto; overflow: visible; } /* make buttons play nice in IE */

/* ARD Form styles */

#FirstName, #LastName { width:49%; }
#Business, #Telephone, #emailAddress { width:98%; }
#ValidationCode { width: 100px; }
#Comments { width: 99%; height: 100px; }

.FormButton  { 
	height: 21px;
	color: #fff;
	background-color: #003473;
	border: solid 0px #003473; }
.FormText {
	background-color: #fff;
	border: solid 1px #444;
	margin-bottom:5px;
	padding:3px; }
.FormTextRequired {
	background-color: #fff;
	border: solid 1px #003473;
	margin-bottom:5px;
	padding:3px; }


/* Search Form */
.search-outer { margin-bottom:15px; }
.searchbut { 
	font-weight:bold;
	color:#FFFFFF;
	background-color:#003473;
	border:solid 1px #4d7aa9;
	padding:2px;
	 }
.searchbox {
	width:200px;
	font-size:11px;
	color: #444;
	background-color: #fff;
	border:solid 1px #4d7aa9;
	padding:4px; margin:0;
	 }
	

/* 9.Site Search results
---------------------------------------------------------------*/
.NewsWireResult{ border: #444 1px solid; margin-bottom:15px; padding: 15px; }
.NewsWireResult H3 { margin: 0; }
.DataResult { border: #444 1px solid; margin-bottom:15px; padding: 15px; }
.DataResult H3 { margin: 0; }


