* { margin: 0; padding: 0 }

/* Elements */
	body{ background: url(img/bg.png) top left repeat-x #fff; margin:0; padding:0; font-family:Arial, Helvetica, sans-serif; color:#666  }
	ul { list-style:none; }
	table { width:100%; border-spacing: 0; }
	table tr td { vertical-align: top;  }
	img { border:none; }
	p { margin-bottom:10px; line-height:1.3em }
	h1 { color:#4e9ff2; font-size:19pt; font-weight:normal; text-transform:uppercase; margin-bottom:10px }
	h2 { color: #666; font-size:10pt;  margin-bottom:10px; text-transform:uppercase}
	a { color:#4e9ff2; text-decoration:none }
	a:hover { text-decoration:underline }
	.cta-block { padding-bottom:10px }
	input[type=button], input[type=submit] { background:url(img/forms/button-bg.png) top left repeat-x #7cb8e8; border:solid 1px #25619f; padding:2px 14px; color:#fff; font-weight:bold; font-size:9pt}
	ul { margin:20px 0}
	
/* Core Layout */
	#maincontainer{	width: 968px; margin: 0 auto; background:url(img/maincontainer/footer.png) bottom left no-repeat ;padding-bottom:5px }
	#topsection{ height: 100px; }
	#topsection h1{	padding-top: 15px; }
	#contentwrapper{ float: left; width: 100%; }
	#contentcolumn{	margin-left: 420px; margin-top:25px }
	#leftcolumn{ float: left; width: 400px; margin-left: -940px; border-right: dotted 1px #d8d8d8; margin-top:25px }
	#footer{ clear: left; width: 100%; }
	.innertube{  }
	#contentcolumn{	margin-top:25px }
	
	#maincontainer > .innertube { background: url(img/maincontainer/bg.png) top left repeat-y; padding:13px}
	#leftcolumn .innertube { padding: 0 15px }
	#topsection { background:url(img/topsection/header.png) top left no-repeat; padding-top:5px }
	#topsection > .innertube { background:url(img/topsection/bg.png) top left scroll repeat-x; }
	
	#footer { background: url(img/footer/footer.png) bottom left scroll no-repeat #acd4f6; color:#fff; font-size:9pt; vertical-align:middle;}
	#footer .innertube {  padding:10px 20px}
	#footer a { color:#fff}
	
/* Clearfix */
	.clearfix:after { content: ".";	display: block;	clear: both; visibility: hidden; line-height: 0; height: 0; }
	.clearfix {	display: inline-block; }
	html[xmlns] .clearfix { display: block; }
	* html .clearfix { height: 1%; }

/** COMMON BLOCKS **/
	/* Validation */
	.validation-failed { border:solid 1px #ff0000 }
	.validation-advice { color: #ff0000; display:block;}
	
	/* Error and Success Messages */	
		.success_message p, .error_message p { padding:10px; color:#fff; margin:0; }	
		
		/* Error */
		.success_message { background:url(img/success_message/footer.png) bottom left no-repeat #9ed84c;  }
		.success_message p { background:url(img/success_message/header.png) top left no-repeat; }

		/* Success */
		.error_message { background:url(img/error_message/footer.png) bottom left no-repeat #9ed84c; }
		.error_message p { background:url(img/error_message/header.png) top left no-repeat; }

	/* corenav // Navigation at the top of the page */
		#corenav { background:url(img/corenav/bg.png) top left repeat-x;  }
		#corenav ul {  }
		#corenav ul li { float:left; }
		#corenav ul li a { color:#fff; text-transform:uppercase; font-weight:bold; font-size: 9pt}
		#corenav ul li a:hover { }
		#corenav ul li a span { background:url(img/corenav/break.png) top right repeat-y; display:block; padding: 8px 40px }
		#corenav ul li a:hover span { background-color:#225698 }
	
	/* cta-grid */
		.cta-grid {  }
		.cta-grid .cta-row { margin-bottom:10px }
		.cta-grid dl { float:left; width:165px; border:solid 1px #eee; margin: 0 5px 5px 0; padding-bottom:5px; filter:alpha(opacity=75);-moz-opacity:.75;opacity:.75; }
		.cta-grid dl.last { margin-right:0; }
		.cta-grid dl dt { }
		.cta-grid dl:hover { filter:alpha(opacity=100);-moz-opacity:1;opacity:1; }
		.cta-grid dl dt a img { width:100%}
		.cta-grid dl dt a:hover img { }
		.cta-grid dl dd { padding:0 10px}
		.cta-grid dl dd a h3 { color:#4e9ff2; font-size:11pt }
		.cta-grid dl dd a:hover h3 { }
		.cta-grid dl dd p { font-size:10pt }
		.cta-grid dl dd a span { display:block; text-align:right; font-size:10pt }
		.cta-grid dl dd a:hover span { }
	
	/* Vertical Products - Design for content column */
		.vert-products { font-size:10pt }
		.vert-products h2 { font-size:13pt  }
		.vert-products dl { margin-bottom:20px; border-bottom: 1px dotted #D8D8D8 }
		.vert-products dt { float:left; width:210px }
		.vert-products dd { position:relative; margin-left: 220px }
		
	
	/* cta-content */
		.cta-content { text-align:justify }
		.cta-content h1, .cta-content  h2 {  }
		.cta-content h1 { }
		.cta-content h1 div { padding-top:35px; margin-left:5px; padding-left:10px; padding-bottom: 40px;  }
		.cta-content h1 img {  }
		.cta-content h2 { }
		.cta-content h2 div { }
		.cta-content p, .cta-content table {font-size:10pt; color:#666   }
		.cta-content ul { list-style:disc; padding-left:15px; font-size:12px }
		.cta-content ul li { padding-bottom:3px }
		
	/* image-rotate [large images rotating on homepage] */
		.image-rotate { height:310px}
		.image-rotate dl { position:absolute }
		.image-rotate dl dt {  }
		.image-rotate dl dt img { }
	
	/* cta-table */
		.cta-table { font-size:11px }
		.cta-table table { }
		.cta-table td.label { font-weight:bold; border-left: solid 1px #999;}
		.cta-table table tr { }	
		.cta-table table tr th { text-align:left; background-color:#4E9FF2; font-size:12px; padding:3px }
		.cta-table table tr th a { color:#fff; text-decoration:none }
		.cta-table table tr.row-a td,.cta-table table tr.row-b td { border-left: solid 1px #999; border-top:solid 1px #999; padding:3px }
		.cta-table table tr td.label {  }
		.cta-table table tr.row-a td {  }
		.cta-table table tr.row-b td { background-color:#dfe8f2 }
		.cta-table { }
		.cta-table tr.last td { border-bottom: solid 1px #999}
		.cta-table tr.images td { border:none; border-bottom: solid 1px #999; text-align:center}
		.cta-table td.last { border-right: solid 1px #999 }
		
	/* cta-form */
		.cta-form {font-size:10pt; }
		.cta-form h2 { }
		.cta-form table { font-size:10pt; }
		.cta-form table tr { }
		.cta-form table tr.row-a { }
		.cta-form table tr.row-b { }
		.cta-form table tr th { }
		.cta-form table tr td { }
		.cta-form table tr td.label { font-weight:bold;}
		.cta-form table tr td.field { }
		.cta-form table tr td input[type=text], .cta-form table tr td input[type=password] { margin-bottom:3px }
		.cta-form table tr td input[type=submit], cta-form table tr td input[type=button] { }
		.cta-form table tr td textarea { margin-bottom:3px }
		.cta-format table tr td select { }

	/* cta-datagrid */
		.cta-datagrid table { font-size: 10pt; color:#666; border-spacing:2px }
		.cta-datagrid table tr td { background-color:#eff5ff; margin:2px; padding:5px; padding-left:15px}
		.cta-datagrid table tr td.label{ font-weight:bold; text-align:left; text-align:right; width:150px; padding-right:15px; text-transform:uppercase}

	/* cta-breadcrumbs */
		#cta-breadcrumbs { padding-top:10px;}
		#cta-breadcrumbs ul { }
		#cta-breadcrumbs ul li { float:left; background:url(img/cta-breadcrumbs/crumb.png) right center no-repeat; padding-right:10px; margin-right:9px }
		#cta-breadcrumbs ul li.last { background:none }
		#cta-breadcrumbs ul li a { padding: 5px 5px 5px 0px; }
		#cta-breadcrumbs ul li a:hover{ }
		#cta-breadcrumbs ul li a span { }

		/* cta-calendar */
			.cta-calendar { background: url(img/cta-calender/header.png) top left no-repeat #000; color:#fff}
			.cta-calendar h2 { padding: 7px 0 5px 13px; font-size:14px}
			.cta-calendar table { }
			.cta-calendar table tr { height: 22px }
			.cta-calendar table tr th { text-align:center }
			.cta-calendar table tr td { width: 14%; text-align:center; vertical-align:middle }
			.cta-calendar table tr td a { display:block; color:#fff; text-decoration: none}
			.cta-calendar table tr td a:hover { text-decoration: underline}
			.cta-calendar table tr td.current { }
			.cta-calendar table tr td.notice { }
			.cta-calendar table tr .label { padding-left:13px; }
	
	/* cta-news */
		.cta-news { }
		.cta-news dl { margin-bottom:20px; padding-bottom:10px; border-bottom:solid 1px #d8d8d8; }
		.cta-news dl dt { }
		.cta-news dl dt img { float:left; max-width:100px; margin-right:10px }
		.cta-news dl dd { padding-left:110px }
		.cta-news dl dd h2 { }
		.cta-news dl dd p { }
		
		.cta-news img { max-width: 370px }
		* html .cta-news img { width:370px; width:auto }
		
	/* cta-iconlist - A List of icons*/
		.cta-iconlist { }
		.cta-iconlist ul { }
		.cta-iconlist ul li { }
		.cta-iconlist ul li a { }
		.cta-iconlist ul li a span{ display:block; padding:13px; padding-left:50px; filter:alpha(opacity=70);-moz-opacity:.70;opacity:.70; }
		.cta-iconlist ul li a:hover span {filter:alpha(opacity=100);-moz-opacity:1;opacity:1;  }
		/* icon set */
			.cta-iconlist li#pdf a span { background:url(img/icons/pdf.png) top left no-repeat; }
			.cta-iconlist li#phone a span { background:url(img/icons/phone.png) top left no-repeat; }
			
/* SITE SPECIFIC */
	/* footer links */
		.footer-links { padding-top:8px }
		
	/* divider at foot of element */
		.divider { border-bottom: dotted 1px #d8d8d8 }
	
	/* Blue Title */
		div.blue-title { font-size:16pt; color: #4e9ff2; text-transform:uppercase }

	/* cta-search // Search in the header */
		.cta-search { position:relative; top:-35px; background: url(img/cta-search/footer.png) bottom left scroll no-repeat; width:288px; position:relative; left:624px;  margin: 0 30px 0px 0; padding-bottom:5px}
		.cta-search .innertube { background:url(img/cta-search/bg.png) top left scroll repeat-y; }
		.cta-search h2 { background:url(img/cta-search/header.png) top left scroll no-repeat; color:#fff; font-size:12pt; font-weight:bold; padding:10px 10px 5px 10px}
		.cta-search input[type=text] { margin-left:10px; width:160px; border: solid 1px #4b8cc0; padding:3px }
		.cta-search input[type=submit] { }

	#logo { position:relative; top:20px; left: 20px; height:100px }
	
/* PAGE SPECIFIC */
	/* Product Page */
	div.product-image { }
	div.product-image img { max-width: 370px; }
	
/* Clearfix */
	.clearfix:after { content: ".";	display: block;	clear: both; visibility: hidden; line-height: 0; height: 0; }
	.clearfix {	display: inline-block; }
	html[xmlns] .clearfix { display: block; }
	* html .clearfix { height: 1%; }


/* Useful classes */
	.la { text-align:left; }
	.ra { text-align:right; }
	.ca { text-align:center; }
	.fl { float:left; }
	.fr { float:right; }
	.vt { vertical-align:top; }
	.vm { vertical-align:middle; }
	.vb { vertical-align:bottom; }
	.nb { border:0 none !important; }
	.justify { text-align:justify; }
	.move { cursor:move }

/* hacks */
*:first-child+html #topsection { height:130px} 
*:first-child+html #corenav ul { margin-top:0px } 