/* ***************************************
GLOBAL RESET
*************************************** */
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; }


/* ***************************************
GENERIC CLASSES
*************************************** */

/* ~~~~~~~~~~~~~~~ HIDDEN ~~~~~~~~~~~~~~~ */
.hidden { position: absolute; left: -9000px; }

/* ~~~~~~~~~~~~~~~ TEXT ELEMENTS ~~~~~~~~~~~~~~~ */
p, ul, ol, td { font-size: 1.1em; margin: 0 0 1.1em; }
ol { margin-left: 25px; list-style-type: lower-alpha; }

/* ~~~~~~~~~~~~~~~ LINKS ~~~~~~~~~~~~~~~ */
a { text-decoration: none; }
a img { border: none; }

a, a:visited { color: #005baf; }
a:hover { color: #999; }

a.plain, a.plain:visited, a.plain:active { color: #666; }
a.plain:hover { color: #999; }

a.light, a.light:visited, a.light:active { color: #888; }
a.light:hover { color: #999; }

a.mute, a.mute:visited, a.mute:active { color: #555; border-bottom: 1px solid #ccc; }
a.mute:hover { color: #999; }

a.pdf, a.pdf:visited, a.pdf:active { color: #01783c; }
a.pdf:hover { color: #999; }

.more, a.more, a.more:visited, a.more:active { color: #01783c; }
a.more:hover { color: #999; }

/* ~~~~~~~~~~~~~~~ ASSORTED ~~~~~~~~~~~~~~~ */
.nospacebelow { padding-bottom: 0px; }
.smtext { margin: 0px; padding: 6px 9px 6px 6px; }
.smbold { color: #222; }

/* ~~~~~~~~~~~~~~~ APP IMAGES ~~~~~~~~~~~~~~~ */
.apppics { background: #F8F8F8 url(../images/interface/app-bg.gif) repeat-y; font-size: 1em; }
.apppictable { float: left; }
.appimage { height: 82px; overflow: hidden; }

/* ***************************************
STYLES
*************************************** */

/* ~~~~~~~~~~~~~~~ BODY ~~~~~~~~~~~~~~~ */
body { margin: 0 auto; text-align: center; color: #666; 
background: #fff; font: 62.5%/1.3 "Lucida Grande","Lucida Sans Unicode", Geneva, Arial, Helvetica, sans-serif; }

/* ~~~~~~~~~~~~~~~ WRAPPER ~~~~~~~~~~~~~~~ */
#wrapper { margin: 0 auto; text-align: left; width: 910px; position: relative; padding: 5.6em 0 60px; }

/* ~~~~~~~~~~~~~~~ HEADER ~~~~~~~~~~~~~~~ */
#header { background: url(../images/interface/header-bg.gif) repeat-x left top; height: 220px; }
#header h1 { background: url(../images/interface/header01.jpg) no-repeat right top; height: 220px; }
#header acronym { width: 177px; height: 78px; display: block; position: relative; bottom: 5px; left: 10px; 
background: url(../images/interface/logo-desaln8.jpg) no-repeat top left; }
#header strong { width: 233px; height: 33px; display: block; margin: 30px 0 0 20px; 
background: url(../images/interface/strapline01.gif) no-repeat top left; }

/* ~~~~~~~~~~~~~~~ CONTENT ~~~~~~~~~~~~~~~ */
#wrapper-content { padding: 15px 0 40px; float: left; background: url(../images/interface/topfade.gif) repeat-x left top; }
#content-main { float: right; }
#content-sub { float: right; }

	/* Template: Content Wide */
	.tpl-content-wide #wrapper-content { width: 652px; }
	.tpl-content-wide #content-main { width: 417px; }
	.tpl-content-wide #content-sub { width: 179px; padding: 0 56px 0 0; }
	
	/* Template: Content Sub Wide */
	.tpl-content-sub-wide #wrapper-content { width: 652px; }
	.tpl-content-sub-wide #content-main { width: 385px; }
	.tpl-content-sub-wide #content-sub { width: 209px; padding: 0 56px 0 0; }
		
	/* Template: Content Narrow */
	.tpl-content-narrow #wrapper-content { width: 540px; }
	.tpl-content-narrow #content-main { width: 305px; }
	.tpl-content-narrow #content-sub { width: 205px; padding: 0 30px 0 0; }	
	
	/* Template: Feature */
	.tpl-feature #wrapper-content { width: 654px; }
	
	/* Template: Home */
	.tpl-home #wrapper-content { width: 610px; }
	.tpl-home #content-main { width: 234px; }
	.tpl-home #content-sub { width: 374px; padding: 0; }	
	
	/* ~~~~~~~~~~~~~~~ HEADINGS ~~~~~~~~~~~~~~~ */
	#content-main h2 { color: #001f3c; padding: 24px 0 0; margin: 0 0 1.5em; font-weight: normal; 
	font-size: 1.2em; border-bottom: 3px solid #001f3c; }
	#wrapper-content h3 { color: #001f3c; font-size: 1.2em; font-weight: normal; margin: 2.5em 0 0; }
	#content-main h3.sublineheading { border-bottom: 3px solid #cecece; color: #999; margin: 24px 0 20px; }
	.news #wrapper-content h3 { color: #001f3c; }
	.news #wrapper-content h3 .date { color: #999; padding-left: 4px; font-size: 0.9em; }
	#content-sub h3 { margin: 0; }
	
	/* ~~~~~~~~~~~~~~~ SCROLLING TEXT ~~~~~~~~~~~~~~~ */
	#scrolling { }
	.hometicker {  }
	.vnewsticker {  }
	a.vnewsticker, 
	a.vnewsticker:visited, 
	a.vnewsticker:active { color : #666; }
	a.vnewsticker:hover { color : #999; }
	
	/* ~~~~~~~~~~~~~~~ FORMS ~~~~~~~~~~~~~~~ */
	fieldset { margin: 0 0 1.5em; }
	legend { color: #001f3c; font-size: 1.2em; font-weight: normal; }
	form ol { margin: 0; list-style-type: none; }
	/* Makes a row for each label, element and error message */
	.field-container { margin: 0.1em 0 0; display: table; border-collapse: collapse; width: 100%; }
	/* Label and field on same line */
	label, p.label { display: table-cell; width: 12em; vertical-align: top; padding: 4px 10px 4px 0; }
	label { cursor: pointer; }
	p.label { width: 11.2em; }
	.required { font-size: 1.2em; color: #01783C; }
	/* Single radio button and checkbox */
	.radio-check-single label { display: inline; float: right; width: 21em; padding: 2px 20px 5px 0; }
	.radio-check-single input {  }
	/* Radio button and checkbox lists have a different layout */
	.radio-check li { margin: 0.1em 0; display: block; float: left; }
	.radio-check label { display: inline; float: right; width: 2em; padding: 2px 20px 5px 0; }
	/* Create leading between all form controls */
	input, select, textarea { margin: 0.3em 0.5em 0.3em 0; }
	/* Inputs and text areas */
	input, textarea { font: 1em "Lucida Grande","Lucida Sans Unicode", Geneva, Arial, Helvetica, sans-serif; color: #666; }
	input[type="text"], input[type="password"], textarea { width: 20em; padding: 1px 2px; }
	/* Select boxes */
	select { font: 1em "Lucida Grande","Lucida Sans Unicode", Geneva, Arial, Helvetica, sans-serif; color: #666; padding: 2px; width: 20.8em; }
	option { padding: 0 4px; }
	
	/* Form Errors */
	#rsvErrors { font-size: 1.1em; color: #f00; margin: 0 0 1.5em; }
	.errorField { border: solid 1px #f00; }
	
/* ~~~~~~~~~~~~~~~ RELATED INFO ~~~~~~~~~~~~~~~ */
#info-related { padding: 15px 30px 0 36px; float: left; background: url(../images/interface/topfade.gif) repeat-x left top; }

	/* Template: Content Wide */
	.tpl-content-wide #info-related { width: 192px; }
	
	/* Template: Content Sub Wide */
	.tpl-content-sub-wide #info-related { width: 192px; }
	
	/* Template: Content Narrow */
	.tpl-content-narrow #info-related { width: 304px; }
	
	/* Template: Feature */
	.tpl-feature #info-related { width: 190px; }
	
	/* Template: Home */
	.tpl-home #info-related { width: 234px; }	
	
	/* ~~~~~~~~~~~~~~~ HEADINGS ~~~~~~~~~~~~~~~ */
	#info-related h2 { padding: 24px 0 0; margin: 0 0 1.5em; font-weight: normal; font-size: 1.2em; }
	
		.tpl-content-wide h2, 
		.tpl-content-sub-wide h2 { color: #999; border-bottom: 3px solid #cecece; }
		.tpl-content-narrow h2, 
		.tpl-feature h2, 
		.tpl-home h2 { color: #001f3c; border-bottom: 3px solid #001f3c; }		
	
	#info-related h3 { color: #001f3c; font-size: 1.1em; font-weight: normal; }		

/* ~~~~~~~~~~~~~~~ MAIN NAVIGATION ~~~~~~~~~~~~~~~ */
#nav-main { position: absolute; top: 31px; right: 0; }
#nav-main ul { list-style-type: none; float: left; margin: 0; padding: 0; }
#nav-main li { float: left; margin: 0 0 0 3px; }
#nav-main a, 
#nav-main a:visited, 
#nav-main a:active { font-weight: normal; font-size: 1em; color: #888; text-decoration: none; 
border-bottom: 4px solid #cecece; padding: 2px 18px 3px 2px; margin: 0; float: left; display: block; }
#nav-main a:hover { color: #444; border-bottom: 4px solid #004483; }

	/* main menu */
	.home #nav-main #m01 a, 
	.about #nav-main #m02 a, 
	.solution #nav-main #m03 a, 
	.applications #nav-main #m04 a, 
	.services #nav-main #m05 a, 
	.development #nav-main #m06 a, 
	.news #nav-main #m07 a, 
	.contact #nav-main #m08 a { color: #001f3c; border-bottom-color: #004483; }

/* ~~~~~~~~~~~~~~~ FOOTER ~~~~~~~~~~~~~~~ */
#footer { background: url(../images/interface/footerfade.gif) repeat-x bottom left; clear: both; padding: 20px 0 0; }