/*
Theme Name: XPLANE
Theme URI: http://xplane.com
Description: This theme was custom developed for XPLANE.com, and may not be used for any other purpose without the express written consent of XPLANE Corp.
Version: 1.0
Author: Cory Duncan
Author URI: http://coryduncan.com
Other developers and designers: Bill Keaggy; Jason McCoskery http://www.mccoskery.com/

Colors:
	blue - #3777BC
	orange - #C37134
	green - #8FB73E
	gray - #777
*/

/* -- 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, button, table, caption, tbody, tfoot, thead, tr, th, td { background: transparent no-repeat 0 0; border: 0; font-size: 100%; margin: 0; outline: none; padding: 0; vertical-align: baseline; }
input, textarea, select { margin: 0; padding: 0; }
ol, ul { list-style: none; }
ins { text-decoration: none; }
del { text-decoration: line-through; }
table {	border-collapse: collapse; border-spacing: 0; }
object { display: block; }

/* -- defaults -- */
body {
	color: #000;
	font: 12px/1.5 Helvetica, "Helvetica Neue", Univers, Arial, Trebuchet, Verdana, sans-serif;
	padding: 0;
}
a:link, a:visited { color: #000; }
a:hover { color: #777; }
p { margin: 0 0 1.5em; }
blockquote {
	border-left: 2px solid;
	float: left;
	font-size: 14px; font-weight: bold;
	line-height: 1.2em; /* 18px */
	margin: 4px 15px 1.2em; /* 18px */
	padding: 6px 12px 0;
	}
blockquote p { margin: 0; }
blockquote cite { 
	color: #000;
	font-size: 11px; font-style: normal; font-weight: normal;
	line-height: 1.0909em; /* 10px */
	}
h1 a, h2 a, h3 a { text-decoration: none; }
h1 {
	font-size: 30px;
	line-height: 1.2em; /* 36px */
	margin: 0 0 0.5em; /* 15px */
	}
h2 {
	font-size: 24px;
	line-height: 1.125em; /* 27px */
	margin: 0 0 0.625em; /* 15px */
	}
h3 {
	font-size: 18px;
	line-height: 1.3333em; /* 24px */
	margin: 0 0 0.1666em; /* 3px */
	}
h5 {
	font-size: 12px;
	line-height: 1.5em;
	}
h5 em { font-weight: normal; }
h6 {
	font-size: 9px;
	line-height: 1em;
	}
blockquote, h1, h2, h3 { color: #777; }
.align-right {
	float:right;
	margin: 0 0 15px 15px;
	}

/* -- structure -- */
#wrap {
	margin: 0 auto;
	padding: 0 15px;
	position: relative;
	width: 920px;
	}
.col { float: left; }
.wrap { overflow: hidden; width: 100%; }
.sub { 
	float: left;
	padding: 15px 0;
	width: 273px;
	}
.main { 
	background: url(img/structure/bg.png) repeat;
	float: right;
	margin: -153px 0 0;	
	padding: 180px 24px 27px;
	position: relative;	
	width: 599px;	
	}
.main .col {
	border-right: 6px solid #fff;
	margin: 0 0 -282px;
	padding: 18px 24px 300px;
	}
.main .last { border: none; }
.main .s-2 { 
	border-top: 6px solid #fff;
	margin: 0 0 -27px -24px;
	overflow: hidden;
	width: 653px;
	}
.main .s-2 .col { width: 273px; }
.main .s-2 .last { width: 272px; }
.main .col-main {
	float: left;
	width: 380px;
	}
.main .col-sub {
	float: right;
	width: 170px;
	}
#content:after, .main:after { clear: both; content: "."; display: block; height: 0; visibility: hidden; }

/* -- header -- */
#headerimg { 
	overflow: hidden;
	height: 138px;
	margin: 0 0 0 -15px;
	width: 950px;
	}
#headerimg img { display: block; }
#branding {
	overflow: hidden;
	margin: 0 0 15px;
	width: 100%;
	}
#branding img { float: left; margin: 0; }
#branding a {
	background-image: url(img/logo-screen.png);
	float: left;
	height: 47px;
	overflow: hidden;
	text-indent: -9999px;
	width: 40px;
	}
#branding a:hover { background-position: 0 -47px; }
#branding a img { display: inline; float: none; }
#branding p {
	background-image: url(img/tagline6.png);
	float: right;
	height: 30px;
	margin: 15px 15px 0 0;
	text-indent: -9999px;
	width: 400px;
	}

/* -- footer -- */
#foot {
	border-top: 1px solid #ccc;
	line-height: 1.5em;
	margin: 60px 0 0 -15px;
	overflow: hidden;
	padding: 1em 15px 0;
	text-transform: uppercase;
	width: 920px;
	}
#foot a { text-decoration: none; }
#foot a:link, #foot a:visited { color: #777; }
#foot a:hover { text-decoration: underline; }
#foot div { float: left; }
#foot p { float: right; }
#foot span { color: #333; margin: 0 2px; }

/* -- forms -- */
label {
	display: block;
	font-size: 14px; font-weight: bold;
	line-height: 1.0714em;
	margin: 0 0 0.2142em;
	}
input.txt, textarea, select {
	border: none;
	background: #fff;
	padding: 9px;
	width: 581px;
	-moz-border-radius: 1em;
	-webkit-border-radius: 1em;	
	}
select { width: 598px; }
button {
	background: #fff;
	cursor: pointer;
	float: right;
	padding: 9px;
	-moz-border-radius: 1em;
	-webkit-border-radius: 1em;		
	}
.field { margin: 0 0 1em; }
.submit { overflow: hidden; width: 100%; }

/* -- content -- */
.xtra {
	background: #c5c5c5 url(img/structure/corners.png) no-repeat 0 100%;
	border-top: 5px solid #fff;
	font-size: 18px;
	line-height: 1em;
	margin: 27px 0 -27px -24px;
	padding: 15px 24px 18px;
	width: 100%;
	}
.cms ul { margin: 0 0 1.5em; }
.cms ul li { 
	background: url(img/icons/bullet.gif) no-repeat 0 0.6em;
	padding: 0 0 0 8px;
	}
.cms ol { margin: 0 0 1.5em 18px; } 
.cms ol li { list-style: decimal; }
.sec { margin: 0 0 2em; }
#intro { font-weight: bold; text-transform: uppercase; }
#meta li {
	font-size: 14px;
	line-height: 1em; /* 18px */
	margin: 0 0 0.2em; /* 3px */
	}
#meta strong { font-style: italic; }

/* - post - */
.hentry .meta {
	font-size: 11px;
	line-height: 1.0909em; /* 12px */
	}
.mini p { margin: 0; }
.mini p br { display: none; }
.mini img { display: block; margin: 0 0 3px; }
.mini .hentry { margin: 0 0 2em; }

/* - paging - */
.paging {
	margin: 1em 0 0;
	overflow: hidden;
	width: 100%;
	}
.paging a { font-weight: bold; text-decoration: none; }
.paging a:hover { text-decoration: underline; }
.paging div { width: 49%; }
.paging .prev { float: left; }
.paging .next { float: right; text-align: right; }

/* - dated - */
ol.dated { margin: 0; }
ol.dated li {
	line-height: 1.25em; /* 15px */
	list-style: none;
	margin: 0 0 1em; /* 12px */
	}
ol.dated em {
	display: block;
	font-style: normal; font-weight: bold;
	}
ol.dated em span { font-weight: normal; }

/* - list - */
.lst li { 
	font-size: 11px; font-style: italic;
	line-height: 1.0909em; /* 12px */
	margin: 0 0 30px;
	}
.lst a { display: block; text-decoration: none; }
.lst img { display: block; margin: 0 0 6px; }

/* - latest - */
#latest a { display: block; text-decoration: none; }
#latest h4 {
	font-size: 15px; font-weight: normal;
	line-height: 1.2em; /* 18px */
	margin: 0;
	text-transform: uppercase;
	}
#latest li {
	line-height: 1.25em;
	margin: 25px 0 0;
	width: 200px;
	}
#latest img {
	display: block;
	margin: 0 0 6px;
	}	
.sub #latest h4 {
	width: 180px;
	}
	
/* - share - */
#share {
	bottom: -21px;
	height: 15px;
	left: 24px;
	position: absolute;
	width: 596px;
	}
#share a { float: right; }
/*
#share a.forward { background-image: url(img/buttons/forward.png); float: left; }
*/

/* - modal - */
#lbOverlay {
	background-color: #666;
	cursor: pointer;
	height: 100%;	
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9999;
	}
#lbCenter, #lbBottomContainer {
	background-color: #fff;
	position: absolute;
	z-index: 9999;
	overflow: hidden;
	}
.lbLoading { background: #fff url(img/loading.gif) no-repeat 50%; }
#lbImage {
	position: absolute;
	left: 0;
	top: 0;
	background-repeat: no-repeat;
	}
#lbPrevLink, #lbNextLink {
	display: block;
	position: absolute;
	top: 0;
	width: 50%;
	}
#lbPrevLink { left: 0; }
#lbPrevLink:hover { background: url(img/prevlabel.gif) no-repeat 0 15%; }
#lbNextLink { right: 0; }
#lbNextLink:hover { background: url(img/nextlabel.gif) no-repeat 100% 15%; }
#lbBottom {
	padding: 9px;
	}
#lbCloseLink {
	background: url(img/closelabel.gif) no-repeat 50%;
	height: 22px;
	float: right;
	width: 66px;
	}
#lbCaption, #lbNumber { margin-right: 71px; }
#lbCaption { font-weight: bold; } 
#lbNumber { font-size: 10px; line-height: 1.2em; /* 12px */ }

/* -- nav -- */
.nav {
	font-size: 15px;
	line-height: 1em;
	text-transform: uppercase;	
	}
.nav a { text-decoration: none; }
.nav li { margin: 0 0 6px; }
.nav span { display: block; }
.current_page_item, .current_page_ancestor { background-image: url(img/nav/active.gif); }
.current_page_item a, .current_page_ancestor a { color: #777; }

/* nav: global */
#nav {
	background: url(img/nav/bg.png) repeat;
	height: 108px;
	left: 0;
	padding: 15px;
	position: absolute;
	top: 62px;
	width: 258px;
	}
#nav a:link, #nav a:visited { color: #000; }
#nav a:hover { color: #77787B; }
#nav-work a:hover { color: #3777BC; }
#nav-company a:hover { color: #C37134; }
#nav-community a:hover { color: #8FB73E; }
.contact #nav-contact a:link, .contact #nav-contact a:visited { color: #777; }

/* nav: local */
#nav-local { margin: 0 0 3em; }
#nav-local a:link, #nav-local a:visited { color: #c5c5c5; }	
#nav-local li {
	background: url(img/nav/bullet.gif) no-repeat 0 50%;
	padding: 0 0 0 12px;
	}


/* -- section & page specific */

/* - work - */
.work a:hover, .work #foot a:link, .work #foot a:visited, 
.work #nav-local a:hover, .work #nav-local .current_page_item a, .work #nav-local .current_page_ancestor a,
.work h1, .work h2, .work h3, .work blockquote, .work #nav-work a:link, .work #nav-work a:visited { color: #3777BC; }
.work .main { background-image: url(img/structure/bg-work.png); }
.work .xtra { background-color: #d2e4ea; }
.work #nav-local .current_page_item, .work #nav-local .current_page_ancestor { background-image: url(img/nav/active-work.gif); }

/* work: solutions */
.solution .cms { margin-left: 81px; }
.solution img.alt {
	float: left;
	left: -12px;	
	position: relative;
	}
#solutions {
	margin: 18px 0 -27px -24px;
	overflow: hidden;
	width: 647px;
	}
#solutions a { text-decoration: none; }
#solutions a:link, #solutions a:visited { color: #3777BC; }
#solutions ul {
	margin: 0 0 0 -24px;
	overflow: hidden;
	width: 660px;
	}
#solutions li p { margin: 0; }
#solutions li:hover, #solutions li.hover { background-color: #d2e4ea; cursor: pointer; }
div#solutions {
	background: #f2f2f2;
	border-top: 6px solid #fff;
	padding: 18px 24px 0;
	width: 599px;
	}
div#solutions li {
	border: 6px solid #fff; border-bottom: none; border-left: none;
	float: left;
	font-size: 10px; font-weight: bold;
	line-height: 1.2em; /* 12px */
	margin: 0 0 -285px;
	padding: 15px 12px 300px;
	text-align: center;
	width: 190px;
	}
div#solutions img { display: block; margin: 0 auto; }
ul#solutions li {
	border-top: 6px solid #fff;
	overflow: hidden; 
	padding: 15px 24px;
	}
ul#solutions img { 
	float: left;
	left: -12px;
	position: relative;
	}
ul#solutions h3, ul#solutions p { margin-left: 81px; }

/* portfolio: more types */
ul#more-portfolios {
	overflow: hidden;
}
ul#more-portfolios li {
	border-top: 6px solid #fff;
	overflow: hidden; 
	padding: 15px 24px;
	float: left;
	width: 315px;
}
ul#more-portfolios img { 
	float: left;
	left: -12px;
	position: relative;
	}
ul#more-portfolios h3, ul#more-portfolios p { margin-left: 81px; border: 1px solid; }

/* work: case studies */
#case-studies ul { overflow: hidden; width: 528px; }
#case-studies li {
	background: none;
	line-height: 1.25em; /* 15px */
	margin: 1em 24px 1em 0;
	padding: 0;
	vertical-align: top;
	width: 240px;
	}
#case-studies li div { width: 240px; }
#case-studies ul > li { display: -moz-inline-box; display: inline-block; }
#case-studies a { text-decoration: none; }

/* work: clients */
.clients .main ol {	
	margin: 0 0 1.5em;
	overflow: hidden;
	width: 100%;
	}
.clients .main ol li {
	float: left;
	left: 18px;
	list-style: none;
	position: relative;
	width: 49%;
	}
.clients .main ol a {
	background: url(img/icons/information.png) no-repeat 0 50%;
	display: block;
	margin: 0 0 0 -18px;
	padding: 0 0 0 18px;
	}

/* - company - */
.company a:hover, .company .paging a:link, .company .paging a:visited, .company #foot a:link, .company #foot a:visited, 
.company #nav-local a:hover,  .company #nav-local .current_page_item a, .company #nav-local .current_page_ancestor a,
.company h1, .company h2, .company h3, .company blockquote, .company #nav-company a:link, .company #nav-company a:visited { color: #C37134; }
.company .main { background-image: url(img/structure/bg-company.png); }
.company .xtra { background-color: #eee1d1; }
.company #nav-local .current_page_item, .company #nav-local .current_page_ancestor { background-image: url(img/nav/active-company.gif); }

/* - community - */
.community a:hover, .community #foot a:link, .community #foot a:visited, 
.community #nav-local a:hover,  .community #nav-local .current_page_item a, .community #nav-local .current_page_ancestor a,
.community h1, .community h2, .community blockquote, .community #nav-community a:link, .community #nav-community a:visited { color: #8FB73E; }
.community .main { background-image: url(img/structure/bg-community.png); }
.community .xtra { background-color: #dbe599; }
.community #nav-local .current_page_item, .community #nav-local .current_page_ancestor { background-image: url(img/nav/active-community.gif); }

/* - contact - */
#offices h1 { float: left; }
#offices ul {
	margin: 1em 0 4em;	
	overflow: hidden;
	width: 100%;
	}
#offices li {
	float: left;
	width: 25%;
	}
#offices img { clear: both; display: block; }
#offices .phone { float: right; }

/* - home - */
.home a:link, .home a:visited, .home #foot a:link, .home #foot a:visited, .home .main, .home #latest h5, .home #latest a:hover { color: #3E5684; }
.home a { text-decoration: none; }
.home a:hover { text-decoration: underline; }
.home .main {
	background-image: url(img/structure/bg-home.png);
	margin-top: -290px;
	padding-top: 302px; padding-bottom: 0;
	}
.home .main p { 
	font-size: 21px; font-weight: normal;
	line-height: 1.2857em; /* 27px */	
	margin: 0 0 0.7142em; /* 15px */
	}

.home h1, .home h2, .home h3, .home blockquote, .work #nav-work a:link, .work #nav-work a:visited { color: #3E5684; font-size: 42px; font-weight: bold;}

.home .main p a {
	font-weight: bold; 
	}
.home .sub li { margin: 0px 0 8px; }
.home .sub a {
	display: block;
	overflow: hidden;
	text-indent: -9999px;
	width: 213px;
	}
.home .sub a.newsletter { background-image: url(img/buttons/newsletter.png); height: 42px; }
.home .sub a.newsletter:hover { background-position: 0 -42px; }
.home .sub a.solutions { background-image: url(img/buttons/solutions.png); height: 42px; }
.home .sub a.solutions:hover { background-position: 0 -42px; }
.home #latest {
	clear: both;
	margin: 0 0 0 -15px;
	overflow: hidden;
	padding: 60px 0 0;
	position: relative;
	width: 950px;
	}
.home #latest a:link, .home #latest a:visited { color: #000; }
.home #latest a:hover { color: #3E5684; }
.home #latest ul { overflow: hidden; width: 993px; }
.home #latest li {
	float: left;
	margin: 0 43px 0 0;
	width: 240px;
	}
.home #latest span {
	display: block;
	padding: 0 80px 0 0;
	}
.home #latest h4 {
	font-size: 18px;
	line-height: 1em;
	margin: 0 0 15px;
	}
.home #latest h5 {
	font-size: 12px; font-weight: normal;
	margin: 0 0 6px;
	text-transform: uppercase;
	}
.home #latest h6 {
	font-size: 10px; font-weight: normal;
	margin: 0 0 6px;
	text-transform: uppercase;
	}
.home #headerimg { height: 275px; }
.home #nav { height: 245px; }

.navigation a {
	color: rgb(55, 119, 188);
	text-decoration: none;
	font-size: 1.2em;
}

/* -- sIFR -- */
@media screen {
	.sIFR-flash { visibility: visible !important; margin: 0; padding: 0; }
	.sIFR-replaced, .sIFR-ignore { visibility: visible !important; }
	.sIFR-alternate { position: absolute; left: 0; top: 0; width: 0; height: 0; display: block; overflow: hidden; }
	.sIFR-replaced div.sIFR-fixfocus { margin: 0pt; padding: 0pt; overflow: auto; letter-spacing: 0px; float: none; }
}
@media print {
	.sIFR-flash { display: none !important; height: 0; width: 0; position: absolute; overflow: hidden; }
	.sIFR-alternate { visibility: visible !important; display: block !important; position: static !important; left: auto !important; top: auto !important; width: auto !important; height: auto !important;	}
}

/* sIFR headers */
@media screen {
	.sIFR-active .nav li
	,.sIFR-active #latest h4
	,.sIFR-active .home #latest h5 {
		line-height: 1.0;
		visibility: hidden;
		}
}

/* -- Contact Us Form Validation -- */
.validation-failed {
	border-color: #f00;
	border-style: solid;
	border-width: 2px;
}

.validation-passed {
}

.validation-advice {
  margin: 2px; 
  padding: 2px; 
  color:#f00;
  font-weight: bold;
}

/* --- dachis group transition --- */
#dachis-wide {
	width: 100%;
	height: 136px;
	margin-bottom: 27px;
	position: relative;
	background-color: #D0DEE9;
}
#dachis-header {
	width: 922px;
	margin-right: auto;
	margin-left: auto;
	background: url(img/header-bg.jpg) no-repeat 0 0;
	height: 136px;
	margin-bottom: 27px;
	position: relative;
}

#dachis-header .copy-block {
	width: 575px;	
	height: 136px;
	overflow: hidden;
	position: absolute;
	left: 321px;
}

#dachis-header .copy-block h1 {
	font-size: 30px;
	margin: 17px 0 7px;
}

#dachis-header .copy-block a {
	font-weight: bold;
}

#dachis-blur {
	width: 100%;
	position: absolute;
	top: 134px;
	left: 0;
	z-index: 5000;
	background: url(img/white-overlay.png) repeat;
}

#dachis-blur a.ok-badge {
	margin-right: auto;
	margin-left: auto;
	width: 278px;
	height: 81px;
	display: block;
	margin-top: 69px;
}
