* 									{ margin: 0; padding: 0; }
header, footer, section, article, aside, nav { display: block; }

/* STRUCTURE
====================================*/
html								{ overflow-y: scroll; }
body 								{ background-image: url('/template-v3/body-bg.gif'); background-repeat: repeat-y; background-color: #f4f4f4; background-position: center top; }
body 								{ color: #555; font: 14px/24px "ff-meta-web-pro-1", "ff-meta-web-pro-2", helvetica, arial, sans-serif; }

header								{ background: #eef0ef url('/template-v3/bg-body.png'); height: 96px; font-family: "ff-meta-web-pro-1", "ff-meta-web-pro-2"; }
div.banner							{ padding: 24px 0; background: #1a486c url('/template-v3/bg-banner.png'); font-family: "ff-meta-web-pro-1", "ff-meta-web-pro-2"; }
div.banner.subpage					{ height: 64px; }
div.sub-banner						{ padding: 24px 0; background: #a8beb7 url('/template-v3/green-bg.gif'); background-repeat: repeat-x; font-family: "ff-meta-web-pro-1", "ff-meta-web-pro-2"; }
div.content							{ padding-top: 24px; padding-bottom: 10px; background-image: url('/template-v3/content-bg.gif'); background-repeat: no-repeat; background-position: center top; }
div#content_container				{ padding-bottom: 15px; }
footer								{ clear: both; margin: 0px 0px; background: #242424 url('/template-v3/bg-footer.png'); color: #999; }
footer .footer_top					{ background-image: url('/template-v3/footer-top.gif'); background-repeat: no-repeat; height: 15px; margin-bottom: 5px; }
footer .footer_bottom				{ background-image: url('/template-v3/footer-bottom.gif'); background-repeat: no-repeat; height: 15px; clear: both; }

div#footerinfo						{ padding-top: 20px; font-size: 12px; color: #999; line-height: normal; }
div#footerinfo span.copyright		{ font-size: 14px; }
div#footerinfo .footerlinks a		{ font-weight: normal; display: block; float: right; margin-left: 13px; padding-right: 13px; color: #999; border-right: 1px solid #999; line-height: 11px; }
div#footerinfo .footerlinks a.last	{ padding-right: 0px; border-right: none; }
div#footerinfo .footerlinks a:hover	{ text-decoration: underline; color: #666666; }
div#footerinfo a#vortex				{ text-indent: -9999px; display: block; background-image: url('/template-v3/vortex.gif'); background-repeat: no-repeat; height: 19px; width: 72px; float: right; }
div#footerinfo a#vortex:hover		{ background-position: 0px -19px; }

div#socialbox						{ clear: both; margin-bottom: 10px; background-image: url('/template-v3/socialbox-bg.gif'); background-repeat: no-repeat; height: 200px; }

body.home div.banner				{ padding: 12px 0; }

div.container						{ width: 960px; margin: 0 auto; }
header div.container				{ background: url('/template-v3/bg-header.png'); }
div.banner div.container			{  }

div#greeting						{ float: left; }
div#testimonials					{ float: left; width: 430px; margin-left: 30px; position: relative; top: 20px; height: 230px; overflow: hidden; }
div#testimonials ul					{ list-style: none; margin: 0px; padding: 0px; }
div#testimonials li					{ list-style: none; margin: 0px; padding: 0px; }
div#testimonials blockquote			{ margin: 0px; padding: 0px; }
div#testimonials blockquote.testimonial		{ margin: 0px; padding: 0px; }
div#testimonials .testimonial p		{ color: #fff; }
div#testimonials .testimonial p.cite		{ color: #a8beb7; text-align: right; padding-right: 20px; }

div.column							{ float: left; margin: 0 10px; padding: 0 10px; }
div.column.quarter					{ width: 200px; }
div.column.third					{ width: 280px; }
div.column.half						{ width: 440px; }
div.column.two-thirds				{ width: 600px; }
div.column.rightcol					{ width: 650px; }
div.column.full						{ width: 920px; }

div.column.third.divider			{ background-image: url('/template-v3/third-divider.gif'); background-repeat: no-repeat; background-position: right center; }

div#casestudies						{ background-image: url('/template-v3/border900.png'); background-repeat: no-repeat; background-position: center bottom; padding-bottom: 22px; margin-bottom: 24px; padding-left: 10px; }
div#casestudies	ul, div#casestudies li { margin: 0px; padding: 0px; list-style: none; }
div.case-study						{ overflow: hidden; width: 940px; }
div.case-study div.images			{ margin: 0 0 0 0; padding-top: 2px; }
div.case-study div.image			{ position: relative; }
.newwindow							{ background-image: url('/template-v3/icon-newwindow.gif'); background-repeat: no-repeat; padding-left: 18px; background-position: left 6px; }

#casestudies_nav					{ padding-top: 8px; }
#casestudies_nav a,
#portfolio_nav a					{ background-image: url('/template-v3/circlenav.gif'); background-repeat: no-repeat; display: block; float: left; width: 18px; height: 18px; margin-right: 4px; text-indent: -9999px; }
#casestudies_nav a:hover, #casestudies_nav a.activeSlide,
#portfolio_nav a:hover, #portfolio_nav a.activeSlide { background-position: 0px -18px; }

div#portfolio						{ float: left; margin-left: 20px; padding-bottom: 10px; }
div#portfolio ul, div#portfolio li	{ margin: 0px; padding: 0px; list-style: none; }
div#portfolio li					{ width: 940px; }
div#portfolio div.item				{ position: relative; float: left; width: 220px; height: 154px; margin: 0px 0px 17px; padding: 0 0px; margin-right: 15px; }

#recent-projects ul, #recent-projects li { margin: 0px; padding: 0px; list-style: none; }

div.service							{ float: left; width: 600px; margin: 0 0 24px; }
div.service img						{ float: left; width: 200px; margin: 0 20px 0 0; }
div.service div.description			{ float: left; width: 380px; }


/* NAV
====================================*/
nav.global							{ clear: right; float: right; margin-top: 32px; font-size: 16px; font-weight: normal; line-height: 27px; }
nav.global ul						{ float: left; list-style: none; }
nav.global li						{ float: left; margin-left: 15px; list-style: none;  background-image: url('/template-v3/nav-bg.gif'); background-repeat: no-repeat; background-position: right 9px; }
nav.global #last					{ background-image: none; }
nav.global #last a					{ margin-right: 0px; }
nav.global a						{ display: block; color: #1a486c; text-decoration: none; margin-right: 15px; padding-left: 1px; padding-right: 1px; }
nav.global a:hover					{ color: #a4bab3; text-decoration: none; }
nav.global a.current,
nav.global a.current:hover			{ text-decoration: none; color: #1a486c; border-bottom: 3px solid #1a486c; }

#leftnav 							{ padding-top: 30px; }
#leftnav a							{ display: block; background-image: url('/template-v3/leftcol-divider.gif'); background-repeat: no-repeat; background-position: left bottom; height: 36px; line-height: 32px; margin-left: 10px; padding-left: 22px; }
#leftnav a:hover 					{ color: #a4bab3; text-decoration: none; }
#leftnav a.selected 				{ background-image: url('/template-v3/leftcol-selected.gif'); background-repeat: no-repeat; background-position: left bottom; color: #fff; }
#leftnav a.selected:hover 			{ text-decoration: none; }


/* TYPOGRAPHY
====================================*/
p									{ margin: 0 0 12px; }
p.intro								{ font-size: 18px; }

h1, h2, h3, h4						{ font-family: "ff-meta-web-pro-1", "ff-meta-web-pro-2"; }
h1									{ margin: 0 0 12px; color: #222; font-size: 28px; font-weight: normal; }
h2									{ margin: 0 0 12px; color: #222; font-size: 24px; font-weight: normal; }
h3									{ margin: 0 0 12px; color: #222; font-size: 18px; font-weight: normal; }

ul									{ margin: auto; padding: auto; margin-bottom: 15px; }
li									{ margin: auto; padding: auto; margin-bottom: 5px; margin-left: 35px; }

blockquote							{ margin: 14px 0 14px; font-family: "ff-meta-serif-web-pro-1", "ff-meta-serif-web-pro-2"; font-size: 16px; }
blockquote p						{ margin: 0; color: #1a486c; }
blockquote p.cite					{ color: #888; font-size: 14px; }


/* SPECIAL TYPOGRAPHY
====================================*/
h1.logo								{ background-repeat: none; text-indent: -9999px; }
h1.logo a							{ display: block; }
h2.slogan							{ font-size: 16px; font-style: italic; color: #999; text-transform: lowercase; float: left; position: relative; top: 34px; margin-left: 5px; }

h4.services							{ margin: -12px 0 4px; color: #888; font-weight: normal; font-size: 12px; text-transform: uppercase; }

header h1.logo						{ float: left; width: 220px; height: 96px; margin: 0 0 0 10px; background-image: url('/template-v3/logo-header.png'); }
header h1.logo a					{ width: 220px; height: 96px; }
footer h1.logo						{ width: 150px; height: 33px; margin: 0 0 18px; background-image: url('/template-v3/logo-footer.png'); }
footer h1.logo a					{ width: 150px; height: 33px; }

div.banner h1						{ margin: 0 0 0 20px; color: #fff; font-size: 36px; line-height: 48px; font-weight: normal; display: block; width: 170px; float: left; padding: 0px; margin-top: 2px; }
div.banner h2						{ color: #8199ab; font-weight: normal; font-size: 22px; line-height: 28px; margin-bottom: 8px; }

div#portfolio div.item h3			{ float: left; width: 430px; height: 36px; margin: 300px 0 0; padding: 0 10px; background: rgba(26, 72, 108, 0.8); color: #fff; font-size: 16px; line-height: 36px; }
div#portfolio div.item h3 span		{ font-weight: normal; }
div#portfolio div.item p			{ float: left; width: 430px; height: 60px; margin: 0; padding: 6px 10px; background: rgba(168, 190, 183, 0.8); color: #113f63; font-size: 12px; line-height: 18px; }

div.sub-banner h1					{ margin: 0 0 12px 20px; color: #1a486c; font-size: 36px; line-height: 48px; }
div.sub-banner h2					{ margin: 0 0 12px; }
div.sub-banner h2 span				{ font-family: "ff-meta-serif-web-pro-1", "ff-meta-serif-web-pro-2"; font-size: 18px; font-weight: normal; font-style: italic; text-transform: lowercase; }

div.banner div#greeting h1			{ margin: 24px 0 24px 20px; font-size: 24px; line-height: 24px; width: auto; float: none; }
div.banner div#greeting p			{ margin: 0 0 24px 20px; font-size: 18px; color: #a8beb7; }
div.banner div#greeting ul			{ float: left; width: 220px; margin: 0 10px 24px; list-style: none; }
div.banner div#greeting li			{ margin: 0px; }

ul.links							{ margin: 0 -10px 12px; line-height: 18px; list-style: none; }
ul.links li							{ padding: 6px 10px; background: url('/template-v3/border-dotted-blue.png') repeat-x; }
ul.links li:first-child				{ background: none; }
ul.links li a						{ display: block; }

ul.blog								{ margin: 0 0 12px; list-style: none; }
ul.blog li							{ padding: 0; list-style: none; }
ul.blog li a						{ display: block; }
ul.blog li a span					{ color: #999; font-weight: normal; }
ul.blog li a:hover span				{ color: #444; }

div.banner ul.links li				{ padding: 5px 10px 7px; }

div.solutions h2					{ margin: 0 0 12px 20px; }
div.solution h3						{ color: #1a486c; }
div.solution h3 span				{ font-family: "ff-meta-serif-web-pro-1", "ff-meta-serif-web-pro-2"; font-size: 14px; font-weight: normal; font-style: italic; text-transform: lowercase; }

footer h2							{ color: #fff; }

dl.contact							{ float: left; }
dl.contact dt						{ float: left; width: 60px; margin: 0 0 0 -10px; padding: 6px 10px; border-top: dotted 1px #555; color: #999; font-size: 12px; }
dl.contact dd						{ float: left; width: 180px; margin: 0 -10px 0 0; padding: 6px 10px; border-top: dotted 1px #555; color: #ccc; font-weight: normal; }
dl.contact dt:first-of-type,
dl.contact dd:first-of-type			{ border-top: none; }

blockquote.testimonial				{ padding: 0 0 24px; margin: 0 0 24px; }

.photo								{ border: 3px solid #dfdfe1; }

/* LINKAGE
====================================*/
a, a img							{ border: none; outline: none; }

a									{ color: #1a486c; text-decoration: none; }
a:hover								{ color: #1a486c; text-decoration: underline; }

a.description, a.description:hover	{ color: #fff; font-weight: normal; }
a.description h3					{ color: #fff; }

div.banner a						{ color: #fff; }
div.banner a:hover					{ color: #fff; text-decoration: underline; }

footer a							{ color: #fff; }
footer a:hover						{ color: #fff; text-decoration: underline; }


/* FORMS
====================================*/
div.form dl							{ float: left; }
div.form dt							{ clear: left; float: left; padding: 0 0 12px; }
div.form dd							{ float: left; padding: 0 0 12px; }

div.form label						{  }
div.form input,
div.form select,
div.form textarea					{ padding: 2px 5px; font-size: 14px; font-family: "ff-meta-web-pro-1", "ff-meta-web-pro-2", georgia, serif; }
div.form input.button				{ padding: 0px 5px; }

footer div.form						{ margin: 10px 0 0; }
footer div.form dt					{ width: 50px; }
footer div.form dd					{ width: 200px; margin: 0 0 0 10px; }
footer div.form label				{ display: block; padding: 2px 0; font-size: 12px; }
footer div.form input,
footer div.form textarea			{ width: 208px; border: solid 1px #555; background: #333; color: #ccc; }
footer div.form button				{ width: 220px; height: 36px; border: none; background: url('/template-v3/buttons.png') no-repeat -440px 0; text-indent: -9999px; cursor: pointer; }
footer div.form button:hover		{ background-position: -440px -36px; }


/* BUTTONS
====================================*/
a.button							{ display: block; float: left; background: url('/template-v3/buttons.png'); text-indent: -9999px; }
a.button.view-portfolio				{ width: 220px; height: 48px; margin: 0 20px 0 -10px; background-position: 0 0; }
a.button.view-portfolio:hover		{ background-position: 0 -48px; }
a.button.request-quote				{ width: 220px; height: 48px; margin: 0 -10px 0 0; background-position: -220px 0; }
a.button.request-quote:hover		{ background-position: -220px -48px; }
a.button.request-quote-blue			{ float: right; width: 220px; height: 48px; margin: 0; background-position: -220px -48px; }
a.button.request-quote-blue:hover	{ background-position: -220px 0; }


/* MISCELLANY
====================================*/

#container .box439 { background-image: url('/template-v3/box439-bg.gif'); background-repeat: repeat-y; width: 439px; }
#container .box439 .top { background-image: url('/template-v3/box439-top.gif'); background-repeat: no-repeat; height: 20px; }
#container .box439 .bottom { background-image: url('/template-v3/box439-bottom.gif'); background-repeat: no-repeat; height: 20px; }
#container .box439 .boxcontent { padding-left: 18px; padding-right: 34px; }

#container .box920 { background-image: url('/template-v3/box920-bg.gif'); background-repeat: repeat-y; width: 920px; }
#container .box920 .top { background-image: url('/template-v3/box920-top.gif'); background-repeat: no-repeat; height: 20px; }
#container .box920 .bottom { background-image: url('/template-v3/box920-bottom.gif'); background-repeat: no-repeat; height: 20px; }
#container .box920 .boxcontent { padding-left: 18px; padding-right: 34px; }

.datatable { border-left: 1px solid #e0e0e1; border-top: 1px solid #e0e0e1; margin-bottom: 10px; }
.datatable td { border-right: 1px solid #e0e0e1; border-bottom: 1px solid #e0e0e1; padding: 3px 9px; }
.datatable thead tr td { background-color: #fbfbfb; font-weight: bold; }

#container .clearfix:after 		{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
#container .clearfix 			{display: inline-block;}
* html .clearfix 				{ height: 1%; }
#container .clearfix			{display: block;}