/* Unless created by Jackrabbit, icons used on this site come from komodomedia.com. */



/* ========================================================================= */
/* UNIVERSAL STYLES                                                          */
/* ========================================================================= */

	* { margin: 0; padding: 0; font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; }
	html, body { font-size: 12px; line-height: 150%; background: #C7C7C7 url(../images/bg_body.gif) repeat-x 0 0; padding-top: 1px; color: #555; }



/* ========================================================================= */
/* LAYOUT STYLES                                                             */
/* ========================================================================= */

	#wrapper { width: 1000px; margin: 7px auto 40px auto; background: #fff; overflow: hidden; }
	#wrapper-inner { margin: 10px 20px 20px 20px; }
	#header { float: left; margin-bottom: 20px; _margin-bottom: 5px; }
	#banner { clear: both; margin: 20px 0; *margin: -25px 0 20px 0; _margin: -20px 0 20px 0; }
	#contentarea { padding: 1px 0 0 0; margin: 20px 0; float: left; width: 960px;  }
	#info { width: 260px; float: right; font-size: 11px; padding: 0 20px; line-height: 150%; border-left: 1px solid #cecece; }
	#about { width: 280px; float: left; padding: 0 20px; }
	#news { width: 280px; float: left; font-size: 11px; padding: 0 20px 20px 20px; line-height: 150%; border-right: 1px solid #BEBEBE; border-left: 1px solid #BEBEBE; }
	#content { margin: 0 120px 0 220px;  }
	#content.right-subnav { margin: 0 240px 0 5px;  }
	#content.full-column { margin: 0 310px 0 20px;  }
	#content-sub { width: 180px; padding: 1px 20px 0 0; float: left; border-right: 1px solid #cecece; }
	#content-sub.noline { border-right: none; }
	#content-sub-right-subnav { width: 180px; width: 200px; padding: 1px 0 0 0; float: right; }
	#footer { clear: both; background: url(../images/bg_footer.gif) no-repeat 0 0; height: 75px; margin-top: 20px; }

	body#homepage #info { border: none; }



/* ========================================================================= */
/* ELEMENT STYLES                                                            */
/* ========================================================================= */

	h1 { font-size: 18px; margin: 0 0 20px 0; color: #00467d; text-transform: uppercase; }
	h1 span { font-size: 14px; font-weight: bold; color: #555; text-transform: none; margin-top: 5px; display: block; }
	h2 { font-size: 16px; margin: 20px 0; color: #00467d; }
	h2 span { font-size: 12px; font-weight: bold; color: #555; text-transform: none; margin-top: 5px; display: block; }
	h3 { font-size: 14px; margin: 0 0 5px 0; color: #00467d; }
	h3 span { font-size: 12px; font-weight: bold; color: #555; text-transform: none; margin-top: 5px; display: block; }
	h4 { font-size: 12px; margin: 0 0 5px 0; color: #00467d; }
	p { margin: 5px 0 15px 0; }
	ul { margin: 20px; }
	ol { margin: 20px 20px 20px 25px; }
	a { text-decoration: none; color: #438DBC; }
	a:hover { text-decoration: underline; }
	/* a:focus { -moz-outline-style: none; } activate this style if you do not want the dotted border appearing on click of anchor tags in Firefox. However, it will render the css invalid. */
	blockquote { margin: 20px 20px 0 20px; }
	cite { margin: 0 20px 20px 20px; }
	hr { background: #cecece; border: none; height: 1px; margin: 20px 0; }
	img { margin: 20px 0 30px 0; }
	iframe { margin: 20px 0 0 0; }
	

/* = ELEMENT STYLES: Classes and ID's ====================================== */	

	.float-left { float: left; margin: 0 20px 20px 0; _margin: 0 10px 20px 0; }
	.float-right { float: right; margin: 0 0 20px 20px; _margin: 0 0 20px 10px; }
	
	img.center { margin: 20px auto 30px auto; display: block; }

	#topnav { float: right; font-size: 11px; margin-top: 0; *margin-right: 40px; _margin-right: 20px; }
	#topnav p { margin: 0; }
	
	#header h1.logo a { display: block; text-indent: -9000px; background: url(../images/logo.gif) no-repeat 0 0; margin: 30px 0 30px -2px; width: 530px; height: 35px; }
	
	#clientlist { overflow: hidden; display: none; }
	#clientlist ul { margin: 0; }
	#clientlist li { list-style: none; list-style-image: none; float: left; margin: 0 18px; _margin: 0 9px; }
	#clientlist li img { margin: 0; }
	#clientlist li strong { display: block; margin: 10px 0 0 0; color: #646464; }
		
	a.more { text-transform: uppercase; font-weight: bold; font-size: 10px; }
	a.external { background: url(../images/icon_link.gif) no-repeat 100% 50%; padding-right: 10px; }
	
	.indent { padding: 0 0 0 22px; padding/*\**/: 1px 0 0 22px; }
	.pdf { background: url(../images/icon_pdf.jpg) no-repeat 0 1px; }
	.video { background: url(../images/icon_video.jpg) no-repeat 0 1px; }
	.rss { background: url(../images/icon_rss.jpg) no-repeat 0 1px; }
	.profile { background: url(../images/icon_profile.jpg) no-repeat 0 1px; }
	span.profile { color: #555; }
	
	#info p { margin: 5px 0 20px 0; }
	#info img { margin: 0 0 10px 0; }
	
	#contentarea ul li { list-style: url(../images/icon_bullet-gray.gif); }
	#contentarea #about form ul li, 
	#contentarea #nav-sub ul li, 
	#contentarea form ul li { list-style: url(../images/icon_bullet-iehack.gif); list-style-type: none; }
	
	.block { border: 1px solid #cecece; background: url(../images/bg_feature.gif) repeat-x 0 0; padding: 15px 20px 5px 20px; font-size: 11px; line-height: 150%; margin-bottom: 20px; }
	.block .feature { font-size: 11px; overflow: hidden; margin: 10px 0 0 0; }
	.block .feature h3 { margin: 0 0 0 170px; }
	.block .feature p { margin: 20px 0 20px 170px; }
	.block .feature ul { margin: 5px 0 0 107px; }
	
	.event,
	.post,
	.press-release { margin: 0 0 10px 0; padding: 0; }
	.post li,
	.press-release li { margin: 20px 0; }
	.post li strong,
	.press-release li strong { font-size: 12px; margin: 0 0 5px 0; color: #00467d;  }
	.post li em,
	.press-release li em { font-size: 10px; color: #555; font-style: normal;  }
	.post li p em,
	.press-release li p em { font-size: 12px; color: #555; font-style: italic;  }

	#contentarea ul.press-release li { list-style: none; list-style-image: none; }
	#contentarea ul.event li { list-style: none; list-style-image: none; }
	#contentarea ul.post li { list-style: none; list-style-image: none; }

	.post h4 span,
	.press-release h4 span { font-size: 10px; color: #555; font-weight: normal; display: block; }
	.events li { list-style: none; }
	.event li em { font-size: 12px; margin: 0 0 5px 0; color: #00467d; font-weight: bold; font-style: normal; }
	.event li p em { font-style: italic; color: #555; font-weight: normal; }
	
	.team-member { overflow: hidden; }
	.team-member ul { margin: 0 0 0 180px; }
	
	#content-sub p.quote { font-size: 16px; font-style: italic; line-height: 150%; color: #bbb; }
	#content-sub.content-sub-menu { border-right: none; }
	#content-sub p.tagcloud { margin: 10px 0 20px 0; }
	#content-sub p.tagcloud a { display: block; border-bottom: 1px solid #ddd; padding: 5px 0; }
	
	
	#footer p { color: #FFF; font-size: 10px; padding: 10px 10px 0 10px; margin: 0; }
	#footer p a { color: #FFF; display: block; float: right; }
	#footer p.optout { margin: -10px 0 0 0; padding: 0 10px 0 0; float: right; text-align: right; }
	#footer p.optout a { display: inline; float: none; }
	#footer p img { border: none; padding: 5px 0 0 10px; margin: 0; }

	
	table.data { border-collapse: collapse; border-spacing: 0; margin: 20px 0; }
	table.data tr.head { background: #50A7D6; text-transform: uppercase; font-size: 11px; color: #fff; font-weight: bold; }
	table.data tr.odd { background: #B5E6FA; }
	table.data td { padding: 5px 10px; vertical-align: top; }
	table.data td.subhead {  font-size: 11px; font-weight: bold; text-transform: uppercase; border-right: 1px solid #50A7D6; }
	table.data.right { float: right; margin: 0 0 20px 20px;  }
	
	body#homepage #contentarea p { font-size: 12px; line-height: 150%; }
	
	ul#twitter_update_list { list-style: none; margin: 5px 0 20px 0; padding: 0; }
	ul#twitter_update_list li { list-style: none; list-style-image: none; margin: 0; padding: 0;  }
	ul#twitter_update_list li a { display: inline; text-transform: inherit; }
	ul#twitter_update_list li a.tweet-time { font-size: 10px; font-weight: bold; text-transform: uppercase; margin-top: 5px; }
	
	h3.twitter { background: url(../images/icon_twitter.gif) no-repeat 0 1px; padding: 0 0 2px 22px; }
	
	#hiring { float: right; clear: right; position: relative; *height: 30px; *margin: -1px 40px 0 0; }
	#hiring img { border: none; }
	
	p.readmore { text-align: right; }
	p.readmore a { display: inline-block; padding: 5px 20px 5px 10px; background: #50A7D6 url(../images/icon_arrow.gif) no-repeat 100% 50%; color: #fff; text-transform: uppercase; font-size: 10px; }
	p.readmore a:hover { text-decoration: none; background: #438DBC url(../images/icon_arrow.gif) no-repeat 100% 50%; }
	
	.blog h2 span { font-size: 10px; font-weight: normal; }
	
	.postnav { overflow: hidden; border-top: 1px solid #ddd; padding: 5px 0 0 0; }
	.postnav .left { float: left; }
	.postnav .right { float: right; }	
	
	#comments { margin: 40px 0 0 0; }
	#comments ul { margin: 0 0 40px 0;}
	#comments ul li.comment { padding: 20px; list-style-image: none; list-style: none; overflow: hidden; border-bottom: 1px solid #dfdfdf; }
	#comments ul li.comment span.name { float: left; width: 150px; font-size: 10px; }
	#comments ul li.comment span.name strong { font-size: 12px; }
	#comments ul li.comment p { margin: 0; width: 400px; float: right; }
	#comments ul li.comment.odd { background: #fafafa; }
	
	a.button { font-size: 13px; font-weight: bold; background: url(../images/button.gif) no-repeat 100% -50px; display: inline-block; color: #fff; margin: 0 0 20px 0; }
	a.button span { line-height: 42px; padding: 0 5px 0 15px; margin: 0 10px 0 0; background: url(../images/button.gif) no-repeat 0 0; display: inline-block; }
	a.button:hover { text-decoration: none; background: url(../images/button.gif) no-repeat 100% -150px; }
	a.button:hover span { background: url(../images/button.gif) no-repeat 0 -100px; }
	
	.widget { margin: 0 0 30px 0; }
	.widget a { display: block; }
	.widget ul { margin: 0; padding: 0; font-size: 11px; line-height: 140%; }
	.widget ul li { padding: 5px 0; border-bottom: 1px solid #dfdfdf; }
	#contentarea .widget ul li { list-style: none;  }
	/*.widget_tag_cloud a { display: block; margin: 0; padding: 5px 0; border-bottom: 1px solid #dfdfdf; font-size: 10px !important; }*/
	.widget_tag_cloud a { display: inline-block; margin: 0 5px 0 0; padding: 0; text-transform: capitalize; line-height: 100%; }
		a.rsswidget { display: inline; }
		a.rsswidget img { margin: 0; }
		
	#wp-calendar { font-size: 10px; width: 100%; }
	#wp-calendar td { text-align: center; background: #fefefe; border: 1px solid #eee; }
	#wp-calendar td.pad { background: #fff; border: none; }
	#wp-calendar td a { font-weight: bold; background: #eee; }
	#wp-calendar td a:hover { font-weight: bold; background: #50A7D6; color: #fff; text-decoration: none; }
	#wp-calendar caption { background: #50A7D6; color: #fff; font-weight: bold; padding: 2px 0; } 
	
	.alignleft { float: left; margin: 0 20px 20px 0; _margin: 0 10px 20px 0; }
	.alignright { float: right; margin: 0 0 20px 20px; _margin: 0 0 20px 10px; }


/* ========================================================================= */
/* NAV STYLES                                                                */
/* ========================================================================= */

	#nav-sub { background: url(../images/bg_nav-sub.gif) no-repeat 0 0; width: 200px; padding-top: 1px; float: left; margin-bottom: 20px;  }
	#nav-sub h3 { color: #fff; text-shadow: #5a5a5a 0px 1px 0px; margin: 10px 0 0 15px; font-weight: normal; }
	#nav-sub ul { margin: 10px 0 0 0; }
	#nav-sub li { list-style: none; padding: 1px 0; margin: 0 10px; }
	#nav-sub li.nav-sub_first { border-top: 1px solid #DA5074; padding-top: 5px; }
	#nav-sub li.nav-sub_last { background: url(../images/bg_nav-sub-hover.gif) no-repeat 0 100%; height: 5px; margin: 0; }
	#nav-sub li a { background: url(../images/icon_bullet.gif) no-repeat 5px 10px; padding: 3px 15px; color: #fff; font-size: 11px; text-decoration: none; display: block; }
	#nav-sub li a:hover,
	#nav-sub li a#on-subnav { background: #DA5074 url(../images/icon_bullet.gif) no-repeat 5px -90px; }


/* ========================================================================= */
/* FORM STYLES                                                               */
/* ========================================================================= */

	form ul { margin: 0; }
	form li { list-style: none; margin: 10px 0 15px 0; }
	form li ul { margin: 0; }
	form li ul li { margin: 5px 0; }
	label.description { display: block; font-weight: bold; margin: 0 0 5px 0; color: #00467d; }
	label.choice { padding-left: 5px; }
	label.screen-reader-text { display: none; }
	input.text { width: 300px; border: 1px solid #BEBEBE; background: #d6d6d6; padding: 2px; color: #777; }
	input#s { width: 100px; border: 1px solid #BEBEBE; background: #d6d6d6; padding: 2px; color: #777; }
	input.checkbox {  }
	input.radio {  }
	input.submit,
	input#searchsubmit { background: #50A7D6; color: #fff; text-transform: uppercase; border: none; font-weight: bold; padding: 2px; }
	textarea { width: 300px; height: 100px; font-size: 12px; border: 1px solid #BEBEBE; background: #d6d6d6; padding: 2px; color: #777; font-size: 11px; }
	select { width: 300px; }
	
	form.signup ul { margin: 15px 0 0 0; }
	form.signup li { margin: 0; }
	form.signup input.text { width: 175px; margin-right: 10px; }
	form.signup label.description {  }
	
	
	
	
	