

/*
 SOME RULES FOR CONSISTENCY. NOT TO LIVE HERE FOREVER BUT JUST FOR NOW...
 
 1. Order CSS properties consistently for easier co-working. I think of it
 as structure followed by styling [often separated completely]. As a rule,
 you can't style something until you've built it! Therefore, working from the 'outside'
 of an element inwrads it should be something like...
 display, float, clear,  etc
 positioning, z-index, etc
 height, width, etc
 margin, border, padding [in that order - working out to in]
 border styling, rounded corners, etc [in css 3]
 background
 fonts
 text-alignment, text-decoration, etc.
 anything else
 
 2. Consistent code styling/layout. Agree preferred closing bracket position - indented or not?
 
 3. Stick to lowercase for properties where possible.
 
 4. Always use shorthand unless there is a good reason not to. Check out http://www.dustindiaz.com/css-shorthand/ if in doubt.
 
 5. Where suitable, indent/next related styles e.g. h3 span.bullet would be nested just after h3.
 
*/

/*-------------------------------------------------------------------
## CLIENT SPECIFIC NOTES

Main color:
Secondary color:
Preferred web font:

/*-------------------------------------------------------------------*/

/*-------------------------------------------------------------------
## HTML ELEMENTS START HERE */

body {
	padding: 15px 0 0 0; /* Side-margins help with alignment at 800 x 600 */
	background-color: #FFFFFF;
	line-height: 0.7em;
	color: #333333;
}

hr {
	display:block;
	clear:both;
	visibility:hidden;
	height: 0;
	border: 0px;
	width: 100%;
	margin: 0px;
	padding: 0px;
}


dl {
	margin: 0px 22px;
}

dl dd {
	margin: 0 0 0 0;
}

dl dt {
	font-size: 1.3em;
	font-weight: bold;
}

h1 {
	display: block;
	float: left;
	width: 100%;
	margin: 5px 0;
	font: normal normal normal 2.4em/1.0em  Arial, Verdana, sans-serif;
	text-indent: 10px;
	letter-spacing: 0.25em;
}

h2 {
	display: block;
	width: 100%;
	margin: 0 0 10px 0;
	font: normal normal normal 1.8em/1.0em Arial, Verdana, sans-serif;
}

h3 {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	font: normal normal bold 2.4em/130%  Arial, Verdana, sans-serif;
	color: #007BBE;
}

	h3 span {
		color: #666666;
	}

h4 {
	display: block;
	margin: 0;
	padding: 0;
	font: normal normal normal 1.4em/130% Arial, Verdana, sans-serif;
	color: #007BBE;
}

a {
	text-decoration: underline;
	color: #007BBE;
}

a:hover {
	color: #007BBE;
}

img {
	border: none 0px;
}

p {
	margin: 0 0 1em 0;
	font-size: 1.2em;
}

pre {
	font-size: 1.1em;
}

table,td,th {
	border: none 0;
}

td {
	text-align: left;
	vertical-align: top;
}

th {
	text-align: left;
	vertical-align: middle;
}

ul, dl, ol {
	display: block;
	margin: 0;
	padding: 0;
}



li, dt, dd {
	list-style:square inside;
	font: normal normal normal 1.2em/1.4em "Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
}

/*-------------------------------------------------------------------*/

/*-------------------------------------------------------------------
## MAIN LAYOUT BLOCKS START HERE

REMEMBER... the crux of this layout is a columns based format, centrally aligned, which is optimised
for 1024 x 768 but degrades gracefully to support 800 x 600 as long as no more than 12-columns are
used. The ideal is 12-col + stacked 3-cols, where the 3-cols should contain supplementary content
or advertising that will wrap beneath the 12-col block on smaller screens.

*/

/* header */
.blockHeader {
	display: block;
	position: relative;
	width: 100%;
	margin: 0;
	border: none;
	padding: 0;

}

	.blockHeader .logo{
		float: left;
		display: inline;
		height: 85px;
		}
	.blockHeader .topImage{
		float: left;
		display: block;
		height: 85px;
		}
	.blockHeader .banner{
		height: 146px;
		background: url(../img/header-banner-bg.jpg) top repeat-x;
		width: 100%;
		}

/* central wrapper */
.blockContent {
	display: block;
	width: 1024px;
	margin: 0px;
	padding: 0;
	background-color: #ffffff;
	text-align: left;
}

/* footer */
.blockFooter {
	display: block;
	clear: both;
	max-width: 930px;
	margin: 0 auto 20px auto;
	padding: 6px 0 6px 12px;
}

	

/* Layout columns... based on 15 x 50px grid with 16 x 12px gutters + 9px extra each side of page */
/* NOT TRUE: Columns are now only content holders e.g. they include the far-right gutter and hence columns can be nested */
/* Columns are used to build the main layout parts of a page. They should contain components, not nested columns. */
.blockColumn15 { /* WARNING: THIS SHOULD RARELY IF EVER BE USED AS IT WILL BREAK THE ABILITY TO DEGRADE TO 800 X 600 */
	float: left;
	width: 930px; /* [15 x 50px] + [15 x 12] */
	margin: 0 0 12px 0;
}

.blockColumn12 {
	float: left;
	width: 744px; /* [12 x 50px] + [12 x 12] */
	margin: 25px 0 12px 0;
}

.blockColumn10 {
	float: left;
	width: 620px; /* [10 x 50px] + [10 x 12] */
	margin: 0 0 12px 0;
}

.blockColumn9 {
	float: left;
	width: 558px; /* [9 x 50px] + [9 x 12] */
	margin: 0 0 12px 0;
}

.blockColumn8 {
	float: left;
	width: 496px; /* [8 x 50px] + [8 x 12px] */
	margin: 0 0 12px 0;
}

.blockColumn6 {
	float: left;
	width: 372px; /* [6 x 50px] + [6 x 12px] */
	margin: 0 0 12px 0;
}

.blockColumn5 {
	float: left;
	width: 310px; /* [5 x 50px] + [5 x 12px] */
	margin: 0 0 12px 0;
}

.blockColumn4 {
	float: left;
	width: 248px; /* [4 x 50px] + [4 x 12px] */
	margin: 0 0 12px 0;
}

.blockColumn3 {
	float: left;
	width: 172px; /* [3 x 50px] + [3 x 12px] */
	margin: 25px 40px 12px 10px;
	padding: 0 0 0 0;
	display: inline;
}

.blockColumn2 {
	float: left;
	width: 124px; /* [2 x 50px] + [2 x 12px] */
	margin: 0 0 12px 0;
}

.blockColumn1 {
	float: left;
	width: 62px; /* [1 x 50px] + [1 x 12px] */
	margin: 0 0 12px 0;
}

.blockColumnDebug {
	background: brown url('/x/img/bgGridCols.gif') no-repeat top left;
}

/* Components [grouped blocks of content within columns] */
.comp1 {
	display: block;
	float: left;
	width: 365px; 
	margin: 0;
	padding: 0;
}

.comp2 {
	display: block;
	float: left;
	width: 365px;
	margin: 0;
	padding: 0;
}



/*-------------------------------------------------------------------*/

/*-------------------------------------------------------------------
## NAVIGATION STYLES START HERE */

ul.navigation {
	display: block;
	width: 172px;
	border: none;
	font: normal normal normal 8px/normal Arial, Verdana, sans-serif;
	text-transform: uppercase;
	margin: 0 0 20px 0;
	padding: 0;

}

ul.navigation li{
	display: block;
	clear: both;
	list-style: none;
	background: url(../img/nav-divider.gif) bottom left no-repeat;
	padding: 0;
	margin: 0;
	width: 172px;
}

ul.navigation li a {
	text-decoration: none;
	color: #777777;
	margin: 0;
	*margin-left: -10px;
	padding: 3px 0 4px 10px;
	display: block;
}


	
	ul.navigation li a.broadband:hover {
		background: #EFEFEF;
	}
		
	ul.navigation li ul, .infoArchive ul li ul {
		display: block;
		visibility: hidden;
		background: #EFEFEF;
		font: normal normal normal 9px/normal Arial, Verdana, sans-serif;
		position: absolute;;
		left: 120px;
		margin-top: -20px;
		padding: 0 30px 0 0;
	}
	
		ul.navigation li:hover ul li {
			background: #EFEFEF;
			padding: 3px;
		}
		
.blockColumn3 .infoArchive ul li ul {
		display: block;
		visibility: hidden;
		background: #EFEFEF;
		font: normal normal normal 12px/normal Arial, Verdana, sans-serif;
		position: absolute;;
		left: 180px;
		margin-top: -18px;
		padding: 0 30px 0 0;
	}
	
		.blockColumn3 .infoArchive ul li ul li {
			border: 0;
			background: none;
			text-transform: uppercase;
		}

ul.navigation li.here a, ul.navigation li a:hover {
	color: #111111;
}

/*contact details */

.blockColumn3 .contactDetails {
	display: block;
	width: 172px;
	background: #EFEFEF url(../img/side-box-bottom-bg.gif) no-repeat bottom;
	padding: 0 0 5px 0;
	margin: 0 0 20px 0;
}

.blockColumn3 .contactDetails h2{
	display: block;
	width: 150px;
	height: 17px;
	background:  url(../img/side-contact-details-h2-bg.gif) no-repeat top;
	font: normal normal bold 1em/1.4em Arial, Verdana, sans-serif;
	text-transform: uppercase;
	padding: 8px 0 0 22px;
	color: #666666;
}

.blockColumn3 .contactDetails ul {
	margin: 0 0 10px 0;
	padding: 0;
	color: #666666;
}

	.blockColumn3 .contactDetails li {
		font: normal normal normal 1em/1.4em Arial, Verdana, sans-serif;
		list-style: none;
		margin-left: 14px;
		*margin-left: 0;
		}
		
	.blockColumn3 .contactDetails li span{
		font: normal normal bold 1.1em/1.4em Arial, Verdana, sans-serif;
		margin: 0 0 0 3px;
	}

.blockColumn3 .contactDetails p {
	display: block;
	margin: 0 0 5px 15px;
	font: normal normal normal 1em/1.4em Arial, Verdana, sans-serif;
}

	.blockColumn3 .contactDetails p a {
		color: #666666;
	}
	
/* Info archive */

.blockColumn3 .infoArchive {
	display: block;
	width: 172px;
	background: #EFEFEF url(../img/side-box-bottom-bg.gif) no-repeat bottom;
	padding: 0 0 5px 0;
	margin: 0 0 20px 0;
}

.blockColumn3 .infoArchive h2{
	display: block;
	width: 150px;
	height: 15px;
	background:url(../img/side-green-info-archive-h2-bg.gif) no-repeat top;
	font: normal normal bold 1em/1.4em Arial, Verdana, sans-serif;
	text-transform: uppercase;
	padding: 4px 0 0 22px;
	color: #666666;
}

.blockColumn3 .infoArchive ul {
	display: block;
	margin: 0 0 10px 0;
	color: #666666;
	padding: 0;
}

	.blockColumn3 .infoArchive li {
		font: normal normal normal 0.9em/1.4em Arial, Verdana, sans-serif;
		background: url(../img/side-box-li-bottom-bg.gif) top left no-repeat;
		list-style: none;
		padding: 5px 0 2px 0px;
		text-transform: uppercase;
		}
		
	.blockColumn3 .infoArchive li a{
	text-decoration: none;
	color: #777777;
	margin: 0;
	*margin-left: -14px;
	padding-left: 14px;
	}

	.blockColumn3 .infoArchive li.here a, .blockColumn3 .infoArchive li a:hover {
	color: #111111;
	}
		

.blockColumn3 .infoArchive p {
	display: block;
	margin: 0 0 5px 22px;
	font: normal normal normal 1em/1.4em Arial, Verdana, sans-serif;
}

	.blockColumn3 .infoArchive p a {
		color: #666666;
		
	}

/* Search */

.search {
	margin: 5px 0 15px 0;
}

.search .segment .input{
	background: url(../img/search-mag-glass-ico.gif) top left no-repeat;
	padding: 0 0 0 23px;
}

	.search .segment .input, .search .segment .submit {
		float: left;
	}
	
	.search .segment .submit {
		padding: 2px 0 0 4px;
	}	
	
		
	.search .segment .input input {
		width: 120px;
		border: 1px solid #999999;
		height: 18px;
		color: #666666;
		padding: 2px;
		}

/* Bookmark & logos */

.bookmark {
	text-align: center;
	display: block;
	margin: 0;
}

.logos {
	text-align: center;
	margin: 5px 0 5px 0;
}
	
	.logos img {
		margin: 10px 0 10px 0;
	}

/*-------------------------------------------------------------------*/

/*-------------------------------------------------------------------
## FORM STYLES START HERE */

/*-------------------------------------------------------------------*/

/*-------------------------------------------------------------------
## ADMIN STYLES START HERE */

/*-------------------------------------------------------------------*/

/*-------------------------------------------------------------------
## BUTTON STYLES START HERE */

.buttonPanel a, .buttonPanel button, table td.buttons a {
	display:block;
	float:left;
	margin:0 7px 0 0;
	background-color:#f5f5f5;
	border:1px solid #999999; border-top:1px solid #cccccc; border-left:1px solid #cccccc;
	font: normal normal bold 1.1em/1.4em "Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
	text-decoration:none;
	color:#565656;
	cursor:pointer;
	padding:5px 10px 6px 7px; /* Links */
}

	table td.buttons a {
		font-size: 0.9em;
		padding: 2px 5px 2px 5px;
	}

.buttonPanel button {
	overflow: visible;
	width: auto;
	padding: 4px 10px 3px 7px; /* IE6 */
}
.buttonPanel button[type] {
	padding: 5px 10px 5px 7px; /* Firefox */
	line-height: 17px; /* Safari */
}
*:first-child+html button[type] {
	padding: 4px 10px 3px 7px; /* IE7 */
}
.buttonPanel button img, .buttonPanel a img, table td.buttons a img {
	margin: 0 3px -3px 0 !important;
	padding: 0;
	border: none;
	width: 16px;
	height: 16px;
}

/* Standard actions */
.buttonPanel button:hover, .buttonPanel a:hover, table td.buttons a:hover {
	background-color: #dff4ff;
	border: 1px solid #c2e1ef;
	color: #336699;
}
.buttonPanel a:active, table td.buttons a:active {
	background-color: #6299c5;
	border: 1px solid #6299c5;
	color: #ffffff;
}

/* Positive actions */
button.positive, .buttonPanel a.positive, table td.buttons a.positive {
	color: #529214;
}
.buttonPanel a.positive:hover, button.positive:hover, table td.buttons a.positive:hover {
	background-color: #E6EFC2;
	border: 1px solid #C6D880;
	color: #529214;
}
.buttonPanel a.positive:active, table td.buttons a.positive:active {
	background-color: #529214;
	border: 1px solid #529214;
	color: #fff;
}

/* Negative actions */
.buttonPanel a.negative, button.negative, table td.buttons a.negative {
	color: #d12f19;
}
.buttonPanel a.negative:hover, button.negative:hover, table td.buttons a.negative:hover {
	background: #fbe3e4;
	border: 1px solid #fbc2c4;
	color: #d12f19;
}
.buttonPanel a.negative:active, table td.buttons a.negative:active {
	background-color: #d12f19;
	border: 1px solid #d12f19;
	color: #ffffff;
}


/*-------------------------------------------------------------------*/

/*-------------------------------------------------------------------
## TABLE STYLES START HERE */

table {
	width: 100%;
	margin: 5px 0 0 0;
}

	table tr td, table tr th {
		border-bottom: 1px solid #cccccc;
	    padding: 3px;
	    font: normal normal normal 1.2em/1.0em Helvetica, Arial, sans-serif;
	    vertical-align: middle;
	}
	
	table tr th {
		border-bottom: 1px solid #333333;
		font-weight: bold;
	}

/*-------------------------------------------------------------------*/

/*-------------------------------------------------------------------
## MESSAGE DISPLAY STYLES START HERE */

/*-------------------------------------------------------------------*/

/*-------------------------------------------------------------------
## FUNCTIONAL STYLES START HERE */

/* float clearer */
.fc, .s{
	clear: both;
	visibility: hidden;
	overflow: hidden;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	line-height: 0;
}

/*-------------------------------------------------------------------*/

/*-------------------------------------------------------------------
## FOOTER STYLES START HERE */

.blockFooter {
	    font: normal normal normal 13px/130% Arial, sans-serif;
	    color: #666666;
}
	

.blockFooter a {
	color: #666666;
	text-decoration: none;
}
	
	.blockFooter a:hover {
		text-decoration: underline;
	}
/*-------------------------------------------------------------------*/

/*-------------------------------------------------------------------
## DEBUG STYLES START HERE */

.blockDebug {
	width: 760px;
	margin: 0 auto;
	border: 1px dashed #999999;
	padding: 0px;
	background-color: #ffffff;
	text-align: left;
}

.blockDebug {
	margin-top: 15px;
}

.blockDebug li strong {
	font-size: 12px;
}

.blockDebug pre {
	color: blue;
	font-size: 11px;
}

/*-------------------------------------------------------------------*/

/*-------------------------------------------------------------------
## REMAINING MISC STYLES START HERE */

.row1_images {
	border-bottom: 1px solid #BFDEEF;
}
	.row1_images img{
		padding: 0;
		margin: 0;
	}
	
.row1_text {
	border-bottom: 1px solid #BFDEEF;
}
.row1_text ul {
	display: block;
	float: left;
	width: 170px;
	margin: 15px 0 0 0;
	padding: 0;
	color: #555555;
	list-style: none;
}
	
	.row1_text ul li {
		list-style: none;
		list-style-position: outside;
		font: normal normal bold 13px/1.3em Arial, sans-serif;
		margin: 2px 0;
		padding: 0;
		display: block;
	}
	
	.row1_text ul h3{
		text-transform: uppercase;
		font: normal normal normal 13px/1.3em Arial, sans-serif;
		display: block;
		color: #555555;
	}
	
.row1_text a{
	font: normal normal bold 18px/130% Arial, sans-serif;
	color: #007BBE;
	text-decoration: none;
	padding: 0 0 0 15px;
	margin: 5px 0;
	display: block;
	background: url(../img/link-arrow.gif) top left no-repeat;
}

.row2 {
	margin: 30px 0 0 0;
	border-bottom: 1px solid #BFDEEF;
}

.row2 a {
	color: #666666;
}

.row2 .comp1 {
	width: 320px;
	margin: 0 45px 0 0;
}

.row2 .comp2 {
	width: 375px;
}


	.row2 h2 {
		font: normal normal bold 24px/130% Arial, sans-serif;
		color: #666666;
	}

		.row2 h2 span {
			color: #007BBE;
		}

	.row2 p{
		padding: 0 20px 0 0;
		font: normal normal normal 13px/130% Arial, sans-serif;
		color: #666666;
		margin: 0 0 15px 0;
	}
	
		.row2 p img {
			margin: 0 10px 10px 0;
			border: 1px solid #333333;
			padding: 2px;
		}
		
		.row2 ul {
			margin: 3px 0 15px 0;
			display: block;
		}
		
			.row2 ul li{
				list-style: disc inside;
				color: #666666;
			}
		
	.row2 h3 {
		padding: 0 0 0 0;
		font: normal normal normal 13px/130% Arial, sans-serif;
		color: #666666;
	}
	

.row3 {
	margin: 30px 0 20px 0;
	border-bottom: 1px solid #BFDEEF;
}

	.row3 h2 {
		font: normal normal bold 24px/130% Arial, sans-serif;
		color: #666666;
	}

		.row3 h2 span {
			color: #007BBE;
		}
		
	.row3 p{
		padding: 0 20px 0 0;
		font: normal normal normal 13px/130% Arial, sans-serif;
		color: #666666;
		margin: 0 0 15px 0;
	}
	
	.row3 a.more {
		display: block;
		color: #666666;
	}
	
	
	
/*-------------------------------------------------------------------
 * For the broadband information pages.
 * ------------------------------------------------------------------*/

.title {
	float: left;
}

.titlelink {
	float: right;
}

	.titlelink a {
		font: normal normal bold 18px/130% Arial, sans-serif;
		color: #666666;
		text-decoration: none;
		padding: 0 15px 0 0;
		margin: 5px 0;
		display: block;
		background: url(../img/link-arrow.gif) top right no-repeat;
	}
	
		.titlelink a span {
			color: #007BBE;
		}

.title h4{
	margin: 0 0 10px 0;
}

.imagerow {
	border-bottom: 1px solid #BFDEEF;
}

.imagerow img {
	float: left;
}

.imagerow .list {
	float: left;
	margin: 0 20px 0;
	color: #666666;
	font: normal normal normal 13px/130% Arial, sans-serif;
	}
	
	.imagerow .list ul li{
		font: normal normal bold 13px/130% Arial, sans-serif;
		list-style: none;
		padding: 2px 0;
	}
	
/*---------------------------------
 * Table styles for the broadband pages
 */	

.tablecontainer {
	margin: 20px 0;
	border-bottom: 1px solid #666666;
}

	.tablecontainer table th.blue {
		font: normal normal bold 18px/130% Arial, sans-serif;
		color: #007BBE;
		text-align: left;
	}
	
	.tablecontainer table th {
		font: normal normal normal 13px/130% Arial, sans-serif;
		text-align: center;
		color: #666666;
		border-bottom: 1px solid #666666;
	}
	
	.tablecontainer table tr {
		border-bottom: none;
	}
	
	.tablecontainer table tr.grey {
		background: #F2F2F2;
	}
	
	.tablecontainer table tr td{
		padding: 4px 2px;
		text-align: center;
		border-bottom: none;
		font: normal normal bold 16px/130% Arial, sans-serif;
		color: #666666;
	}
	
		.tablecontainer table tr td span {
			font: normal normal bold 12px/130% Arial, sans-serif;
		}
	
		.tablecontainer table tr td.desc {
			width: 190px;
			text-align: left;
			font: normal normal normal 16px/130% Arial, sans-serif;
		}
		
			.tablecontainer table tr td.desc span {
				font: normal normal normal 11px/130% Arial, sans-serif;
			}
	
		.tablecontainer table tr td.link {
			width: 150px;
		}
	
		.tablecontainer table tr td.link a {
			display: block;
			font: normal normal bold 18px/130% Arial, sans-serif;
			color: #007BBE;
			background: url(../img/link-arrow.gif) top left no-repeat;
			padding: 0 0 0 15px;
			text-decoration: none;
		}

		.tablecontainer table tr.grey td.link a {
			background: url(../img/link-arrow-grey.gif) top left no-repeat;
		}

.smallprint {
	margin: 10px 0;
	color: #666666;
}

	.smallprint h3 {
		font: normal normal normal 11px/130% Arial, sans-serif;
		color: #666666;
		margin: 0 0 10px 0;
	}
	
	.smallprint p {
		font: normal normal normal 11px/130% Arial, sans-serif;
		color: #666666;
	}

.faqs {
	width: 550px;
	color: #666666;
}

.faqs h3 {
	font: normal normal bold 18px/130% Arial, sans-serif;
}

.faqs ul {
	margin: 20px 0;
}

.faqs ul li {
	list-style-type: none;
}

	.faqs ul li a {
		font: normal normal bold 13px/130% Arial, sans-serif;
		color: #007BBE;
	}
	
.faqs h4 {
	font: normal normal bold 13px/130% Arial, sans-serif;
}
/*-------------------------------------------------------------------*/