/* ---- reset browsers ---- */
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, 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-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus
{
	outline: 0;
}
body
{
	line-height: 1;
	color: #333;
}
ol, ul
{
	list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table
{
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td
{
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after
{
	content: "";
}
blockquote, q
{
	quotes: "" "";
}
/* ---- end reset ----*/

em {
	font-style: italic;
}

/*________________________GROUND RULES________________________________________*/

html   
{
	/*height: 100%;*/
	font-size: 100.01%; /* prevent extreme font resizing in IE */
}

body {
    margin: 0 auto 0 auto;
    padding: 0 0 0 0;
    font-family: helvetica, arial,sans-serif;
    font-size: 10px;
    color: #666;
    background: #000;
    height: 101%; /*The 101% vs. 100% causes a virtical scrollbar in all cases and thus prevents page shift - Remove this line if you don't want a scrollbar*/
    }
		
body, p, ul, li, h1, h2, h3, h4, form, html, input, img, a { /*Starts you off with no padding or margin which you can add later on a more specialized basis.*/
    margin:0; 
    padding:0; 
    } 

table, td { margin:0; padding:0; border-spacing: 0px; border-collapse:collapse; text-align:left; } /*This equates too: <table cellspacing="0" cellpadding="0" border="0"> thus, in your HTML your table tags can look like this <table>... </table>. Warning: if you're accommodating IE MAC use: <table cellspacing="0">... </table> */

img, a img, a:link img, a:visited img {border:none; background:none;} /* remove border from images and linked images */    


h4, h3, h2, h1 {padding:0; margin:0;}

/* Default links */
a:link {}
a:hover {}
a:visited {}
a:visited:hover {}

/*________________________ END GROUND RULES________________________________*/


/* standard rules --*/


html
{
}

body
{
	border-top: solid 10px #d60000;
	font: 13px "Trebuchet MS", Arial, Helvetica, sans-serif;
	color: #666;
}

h1
{
	font: oblique 194% "Times New Roman", Times, serif;
	color: #333;
	border-bottom: solid 1px #d60000;
}

h2, .header2
{
	font: oblique 194% "Times New Roman", Times, serif;
	color: #333;
	border-bottom: solid 1px #d60000;
}

h3, .header3
{
	font: oblique normal 180% "Times New Roman", Times, serif;
	color: #2A5BC8;
}

h4, .header4
{
	padding: 0;
	margin: 10px 0 0 0;
	font: oblique normal 140% "Times New Roman", Times, serif;
	color: #d60000;
}

h5, .header5
{
	padding: 0;
	margin: 10px 0 0 0;
	color: #000;
	font-weight: bold;
}

p
{
	line-height: 1.7;
}

ul
{
}

li
{
	font-size: 88%
}

li a
{
	text-decoration: none;
}

li a:link 
{
	color:#333;
}

li a:hover 
{
	color:#2A5BC8;
}

li a:visited
{
	color:#333;
}

li a:visited:hover 
{
	color:#2A5BC8;
}

dl
{
}

dt
{
}

dd
{
}

form
{
}

label
{
	vertical-align: top;
	padding: 2px 0;
}

fieldset
{
}

strong
{
	font-weight: bold;	
}

em
{
}

acronym
{
	border-bottom: dotted 1px #2A5BC8;
	cursor: help;
}

/* end standard rules */

#wrapper
{
	background: #fff;
}

#main
{
	position: relative;
	margin: 0 auto;
	width: 990px;
}

#header
{
	padding: 0 0 16px 0;
}
#header div
{
}

#logo
{
	float: left;
	border-style: solid;
	border-width: 0 1px 0 0;
	border-color: #D60000;
	padding: 12px 27px 0 0;
}

#tagline
{
	float: left;
	padding: 12px 0 0 20px;
}

#search
{
	float: right;
	padding: 33px 0 0 0;
	width: 192px;
}

#search p
{
	margin: 4px 0 0 0;
}

#search input
{
	border: solid 1px #666;
	padding: 2px 3px 2px 3px;
	color: #666;
	width: 165px;
}

#search button
{
	border: 0;
	width: 19px;
	height: 20px;
	margin: 0;
	background: url(../images/go_button.gif) no-repeat center center;
	float: right;
}

#nav
{
	padding: 0 0 24px 30px;
	background: #000 !important;
}

#nav img
{
	margin: 0 10px 0 0;
	padding: 0;
	border: none;
}

#nav li
{
	display: inline;
	margin: 0;
}

li#listSpacer
{
	width: 110px;
}

#banner
{
	border-bottom: solid 3px #2A5BC8;
	margin: 0 0 4px 0;
}

#breadcrumbs
{
	margin: 0 0 14px 0;
	text-align: right;
	font: 84% "Trebuchet MS", Arial, Helvetica, sans-serif;
	color: #d60000;
}

#breadcrumbs li
{
	display: inline;
	padding: 0 0 0 8px;
	font-size: 100%
}

#breadcrumbs a,
#breadcrumbs a:link,
#breadcrumbs a:visited,
#breadcrumbs a:active
{
	color: #2A5BC8;
	text-decoration: none;
	border-right: solid 1px #d60000;
	padding: 0 8px 0 0;
}

#breadcrumbs a:hover
{
	color: #2A5BC8;
	text-decoration: underline
}

#content
{
	padding: 0 0 22px 0;
	border-bottom: solid 20px #fff;
	background: url(../images/content_bg.gif) repeat-y left top;
	height: 100%
}

#content > div
{
	float: left;
}

#content p
{
	line-height: 1.5;
	padding-bottom: 8px;
}

/* ---- minimum height buffer ---- */
#minHeight
{
	height: 341px;
	float: left;
	margin: 0;
	padding: 0;
	border: 0;
	width: 1px;
}


/* sub nav lists */
#subNav
{
	width: 201px;
	margin: 0 20px 0 0;
}

#subNav ul
{
	border-top: solid 1px #d60000;
	margin: 4px 0 0 0;
}

#subNav li
{
	border-bottom: solid 1px #d60000;
	padding: 7px 0 7px 0;
}


#subNav li li
{
	font-size: 100%;
	margin: 4px 0 0 11px;
}

#subNav li.lastLi
{
	border-bottom: none
}

#subNav li li li
{
	font-size: 100%;
	border-bottom: none;
	padding: 0 10px 0 0;
	margin: 4px 4px 0 11px;
}

#bodyCopy
{
	width: 744px;
	padding: 0 0 0 22px;
	/*border-left: solid 1px #d60000;*/
}

#bodyCopy p
{
	margin: 8px 10px 0 0;
}

#bodyCopy ul
{
	margin: 4px 0 20px 0;
}

#bodyCopy li
{
	list-style: url(../images/bullet.gif);	
	padding: 4px 10px 4px 1px;
	margin: 0 10px 0 60px;
	font-size: 100%
}

#bodyCopy a
{
	color: #2A5BC8;
}

#bodyCopy a:link
{
	color: #2A5BC8;
	text-decoration: none;
}

#bodyCopy a:visited
{
	color: #666;
	text-decoration: underline;
}

#bodyCopy a:visited:hover
{
	color: #666;
	text-decoration: underline;
}

#bodyCopy a:hover
{
	color: #2A5BC8;
	text-decoration: underline
}


#footer
{
	border-style: solid;
	border-width: 10px 0 0 0;
	border-color: #D60000;
	padding: 5px 0;
	font: 10px Helvetica, Arial, sans-serif;
}

#footer div
{
	width: 990px;
	margin: 0 auto;
}

#footerLinks
{
	float: left;
	color: #fff;
}

#footerLinks a
{
	color: #fff;
	text-decoration: none;
	margin: 0 8px 0 0;
}

#footerLinks a:hover
{
	text-decoration: underline;
}


#footerLinks .linkBdr
{
	border-right: solid 1px #d60000;
	padding: 5px 8px 3px 0;
}

#copyright
{
	float:right;
	color: #999;
	width: auto;
}


/* ---- popup windows --- */

.popUp
{
	background: #fff;
	padding: 30px;
}


#popContent
{
	padding: 0 0 22px 0;
	border-bottom: solid 20px #fff;
	height: : 100%
}


#popContent p
{
	line-height: 1.2;
}

.closeWindow
{
	padding: 5px 0;
	text-align: center;
}


.closeWindow a
{
	color: #2A5BC8;
}

.closeWindow a:link
{
	color: #2A5BC8;
	text-decoration: none;
}

.closeWindow a:visited
{
	color: #666;
	text-decoration: underline;
}

.closeWindow a:visited:hover
{
	color: #666;
	text-decoration: underline;
}

.closeWindow a:hover
{
	color: #2A5BC8;
	text-decoration: underline
}

/* ---- case study ----*/

.caseStudy
{
	width: 160px;
	float: right;
	padding: 70px 10px 3px 10px;
	margin: 0 0 10px 18px !important;
	margin: 0 0 0 18px;
	border-style: solid;
	border-width: 0 1px 1px 1px;
	border-color: #d60000;
	background: url(../images/case_study.jpg) no-repeat left top;
}
.caseStudy li
{
	padding: 5px;
	margin: 10px 10px 10px 20px !important;
	font-size: 88% !important;
}

.caseStudy li a:link
{
	color: #666 !important
}
.caseStudy li a:visited
{
	color: #666 !important
}

.caseStudy li a:visited:hover
{
	color: #666 !important
}

.caseStudy li a:hover
{
	color: #2A5BC8 !important
}




/* ---- homepage specific ---- */

#stage
{
	border-bottom: solid 3px #2A5BC8;
	margin: 0 0 13px 0;
	padding: 0;
	background: #f90
}

#stage object
{
	border: none;
	margin: 0;
	padding: 0;
	vertical-align: bottom;	
}

#homeContent
{
	background: url(../images/content_separators_bg.gif) no-repeat center 36px;
	padding: 0 0 22px 0;
	border-bottom: solid 20px #fff; 
}

#homeContent > div
{
	float: left;
}

#news
{
	width: 248px;
	padding: 0 0 0 10px;
}

.newsTeaser
{
	width: 210px;
	border-bottom: solid 1px #d60000;
	margin: 0 0 14px 0;
	padding: 0;
}

#news p
{
	padding: 7px 0 2px 11px;
	margin: 0 0 2px 0;
	background: url(../images/bullet.gif) no-repeat left 14px;
	line-height: 1;
}

.more
{	
	margin: 0;
	padding: 0 14px 0 176px;
	vertical-align: bottom
}
.more a
{
	/*background: url(../images/more0.gif) no-repeat right bottom;*/
	padding: 2px 10px 0 0;
	margin: 0;
	font: italic 116% "Times New Roman", Times, serif;
	color: #2A5BC8;
}
.more a:link,
.more a:active,
.more a:visited,
.more a:hover
{
	text-decoration: none;
}

.more a:hover
{
	color: #d60000;
}

#solutions
{
	width: 505px;
	padding: 0 50px 0 15px;
}

#solutions li
{
	list-style: url(../images/bullet.gif);	
	padding: 4px 10px 4px 1px;
	margin: 0 10px 0 60px;
	font-size: 100%
}
/*
#solutions p
{
	background: url(../images/bullet.gif) no-repeat left 13px;
	padding: 5px 10px 6px 13px;
	margin: 0 60px 0 50px;
	
}*/

#clients
{
	width: 150px;
	padding: 0 0 0 12px;
}


#clients img
{
	margin: 0 0 50px 0;
}

.formTable
{
	margin: 0 0 0 60px;
}

.formTable table
{
}

.formTable td
{
	padding: 0 4px 8px 4px;
	vertical-align: top;
}

.requiredField
{
	color: #900;
	padding: 0 1px 0 0;
}

label.rightLabel
{
	float: right;	
}

fieldset
{
	border: none;
}


.form_table {
    border-spacing: 0px;
    margin:0; 
    border-collapse:collapse; 
}

.form_table td {
    vertical-align: top;
    text-align: left;
    padding: 4px 4px 4px 4px;
}

.form_table th {
    vertical-align: top;
    text-align: left;
    padding: 4px;
}

.servicesTable
{
}

.servicesTable table
{
	font-size: 90%
}

.servicesTable tr
{
	border-bottom: solid 1px #edeff3
}
.servicesTable thead
{
}
.servicesTable th
{
	color: #000;
	border-style: solid;
	border-width: 1px 1px 0 0;
	border-color: #ccc;
	padding: 4px;
	background: #efefef;
}
.tableLegend
{
	color: #666;
	background: #fff;
	text-align: right;
	font-size: 85%;
	border-top: 0;
	padding: 4px;
}
.servicesTable tbody
{
}
.servicesTable td
{
	padding: 6px 8px;
	border-style: solid;
	border-width: 0 1px 0 0;
	border-color: #edeff3;
}

.servicesTable tr.alt
{
	background: #f7f8fb;
	padding: 4px 8px;
}

.servicesTable tr.alt td
{
	background-color: #f7f8fb;
}

.firstTd
{
	width: 180px;
}

.checkMark
{
	background: url(../images/checkmark.png) no-repeat center center
}
.alt td.checkMark
{
	background: url(../images/checkmark_alt.png) no-repeat center center
}

#servicesTable
{
	display: none;
}

/* ---- utility ---- */

.clearfloat { 
	clear:both;
    height:0;
    font-size: 1px;
    line-height: 0px;
}