/* ==========================================================================
   Common
   ========================================================================== */
.container {
	width: 960px;
	margin: 0 auto;
}

#content a,#secondary a,#content-left div.submit input {
	background: #69CD4C;
	border: none;
	border-radius: 4px;
	color: #000;
	text-decoration: none;
	padding: 0.1em 0.25em;
}

#content a:active,#content a:hover,#secondary a:active,#secondary a:hover,#content-left div.submit input:active,#content-left div.submit input:hover
	{
	color: #FFF;
	text-shadow: 0 -1px 1px #005F00;
}

#content a.read-more,#secondary a.read-more {
	background-color: #69CD4C;
	background-image: url(/assets/img/background/button-arrow-sprite.gif);
	background-repeat: no-repeat;
	background-position: right -4px;
	display: block;
	display: inline-block;
	padding: 6px 24px 6px 10px;
	margin: 0.5em 0 0 0;
}

#content a.read-more:active,#content a.read-more:hover,#secondary a.read-more:active,#secondary a.read-more:hover
	{
	background-position: right -44px;
}

#content ul li,#secondary li li {
	list-style: none;
	line-height: 1.8em;
	background-image: url(/assets/img/background/list-item.gif);
	background-position: 0 3px;
	background-repeat: no-repeat;
	padding-left: 20px;
}

#secondary a.read-more {
	background-position: right -6px;
}

#secondary a.read-more:active,#secondary a.read-more:hover {
	background-position: right -46px;
}

.chromeframe {
	background: #EEE;
	border: 1px solid #DDD;
	color: #000;
	text-align: center;
	margin: 0 0 2em 0;
	padding: 1em 2em;
}

/* ==========================================================================
   Structure
   ========================================================================== */
html {
	min-width: 960px;
	background: #000 url(/assets/img/background/logo-repeating-dark.gif)
		center 49px repeat;
}

body {
	min-width: 960px;
}

#skip-to-content {
	width: 100%;
	color: #FFF;
	text-align: center;
	display: block;
	margin: 0 auto;
	position: absolute;
	top: -2em;
}

/* ==========================================================================
   Header
   ========================================================================== */
#header {
	height: 90px;
	text-shadow: 0 0 0.2em #000;
	position: relative;
}

#header h1 {
	color: #FFF;
	position: absolute;
	top: -2em;
	left: 0;
}

#header-logo {
	color: #FFF;
	float: left;
	margin: 12px 0 0 0;
}

/* ==========================================================================
   Banner
   ========================================================================== */
#banner {
	width: 960px;
	border-top: 1px solid #555;
	font-size: 0.9em;
	position: relative;
	padding: 3.2em 0 0 0;
	margin: 0 auto 3.2em auto;
}

#banner-data {
	width: 960px;
	height: 342px;
	box-shadow: 0 0 1em #000;
	list-style: none;
	overflow: hidden;
	position: relative;
	padding: 0;
	margin: 0;
}

#banner-data li {
	width: 100%;
	height: 100%;
	background: #000;
	float: left;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

#banner-data li.next {
	z-index: 2;
}

#banner-data li.active {
	z-index: 3;
}

#banner div.caption {
	position: absolute;
	right: 34px;
	bottom: 1em;
}

#banner p {
	height: 1.2em;
	padding: 12px 20px;
	color: #FFF;
	float: right;
	overflow: hidden;
	white-space: nowrap;
	margin: 0;
}

#banner p.title {
	background: #69CD4C;
	background: rgba(105, 205, 76, 0.8);
	font-weight: bold;
	color: #000;
}

#banner:hover p.title {
	background: #69CD4C;
}

#banner p.description {
	font-weight: 100;
	background: #000;
	background: rgba(0, 0, 0, 0.8);
}

#banner:hover p.description {
	background: #000;
}

#banner p {
	-webkit-transition: background 200ms linear;
	-moz-transition: background 200ms linear;
	-o-transition: background 200ms linear;
	-ms-transition: background 200ms linear;
	transition: background 200ms linear;
}

#banner-nav {
	height: 26px;
	list-style: none;
	padding: 0;
	position: absolute;
	left: 34px;
	bottom: 1em;
	z-index: 99;
	margin: 0;
}

#banner-nav li {
	float: left;
	margin: 0 0.4em 0 0;
}

#banner-nav a {
	width: 24px;
	border: 1px solid #000;
	background: #000;
	line-height: 24px;
	color: #AAA;
	text-align: center;
	text-decoration: none;
	float: left;
}

#banner-nav li.active a {
	background: #555;
	border: 1px solid #AAA;
	color: #FFF;
	text-shadow: 0 1px 0 #000;
}

/* ==========================================================================
   Navigation
   ========================================================================== */
#header-nav {
	height: 90px;
	font-size: 0.9em;
	list-style: none;
	float: right;
	padding: 0;
	margin: 0 34px 0 0;
}

#header-nav li {
	float: left;
	position: relative;
	margin: 0 0 0 20px;
}

#header-nav a {
	width: 100%;
	height: 100%;
	color: #FFF;
	line-height: 90px;
	text-decoration: none;
	text-transform: uppercase;
	float: left;
}

#header-nav li.active>a,#header-nav a:active,#header-nav a:hover {
	color: #69CD4C;
}

#header-nav li:hover>ul {
	display: block;
}

#header-nav ul.sub {
	background: #000;
	display: none;
	position: absolute;
	top: 90px;
	left: -20px;
	padding: 0;
	margin: 0;
	z-index: 99;
}

#header-nav ul.sub.contact {
	text-align: right;
	left: auto;
	right: -20px;
}

#header-nav ul.sub li {
	width: 220px;
	border-top: 1px solid #555;
	margin: 0;
}

#header-nav ul.sub li a {
	width: 180px;
	line-height: 1em;
	padding: 14px 20px;
}

/* ==========================================================================
   Content
   ========================================================================== */
#content {
	background: #FFF;
	overflow: auto;
	padding: 3.4em 0;
}

#content .container {
	width: 892px;
}

.home #content-left,.internal.services #content-left {
	width: 430px;
	float: left;
}

.internal #content-left {
	width: 540px;
	float: left;
}

.home #content-right,.internal.services #content-right {
	width: 430px;
	float: right;
}

.internal #content-right {
	width: 328px;
	float: right;
}

#content h1,#content h2 {
	line-height: 1em;
}

.internal #content h1,.home #content h2 {
	font-size: 1.5em;
	line-height: 1em;
	color: #000;
	text-transform: uppercase;
	margin: 0 0 1em 0;
}

.internal #content h2,.home #content h3 {
	font-size: 1em;
}

.internal #content h2 {
	margin-top: 2em;
}

.internal.services #content h2 {
	font-size: 1.2em;
	margin-top: 0.1em;
}

#content div.figure a {
	background: none;
	padding: 0;
}

.home #content img {
	display: block;
}

/* ==========================================================================
   Content Left
   ========================================================================== */

/* ==========================================================================
   Content Right
   ========================================================================== */
#content-right div.figure {
	border-bottom: 1px solid #CDCDCD;
	margin-bottom: 1.5em;
}

#content-right div.figure img {
	border: 1px solid #999;
	display: block;
}

#content-right span.caption {
	background: url(/assets/img/background/figure-caption.gif) 0px 8px
		no-repeat;
	font-size: 0.9em;
	display: block;
	padding: 6px 0 2px 22px;
}

/* ==========================================================================
   Client Showcase
   ========================================================================== */
#content-full.listing div.overflow {
	border-bottom: 1px solid #CCC;
	overflow: auto;
	padding: 0 0 2em 0;
	margin: 0 0 2em 0;
}

#content-full.listing div.overflow.last {
	border-bottom: none;
	margin: 0;
}

#content-full.listing div.column.second {
	width: 296px;
	float: right;
	position: relative;
}

#content-full.listing div.column.first {
	width: 566px;
	float: left;
}

#content-full.listing div.column.first h2 {
	font-size: 1.2em;
	margin-top: 0.1em;
	overflow: visible;
}

#content-full.listing div.column.first blockquote {
	margin: 1em 0 0 0;
}

#content-full.listing img.logo {
	background: #FFF;
	border: 1px solid #AAA;
	box-shadow: 0 0.1em 0.2em rgba(0, 0, 0, 0.5);
	position: absolute;
	top: 3.2em;
	right: 30px;
}

#content-full.listing p.summary strong,#content-top p.summary strong {
	display: block;
}

#content div.full {
	clear: left;
}

#content div.full blockquote {
	background: #F2F2F2 url(/assets/img/background/blockquote.gif) 2em 2em
		no-repeat;
	border-radius: 1em;
	box-shadow: 0em 0.1em 0.4em rgba(0, 0, 0, 0.1) inset;
	color: #000;
	text-align: justify;
	text-shadow: 0 1px 0 #FFF;
	padding: 2em 2em 2em 7em;
	margin: 0;
}

#content div.full blockquote p {
	font-family: Georgia;
	font-style: italic;
	margin: 0 0 1em 0;
}

#content div.full blockquote cite {
	font-size: 0.9em;
	font-style: normal;
	color: #555;
	display: block;
	text-align: right;
}

#content div.full div.photo {
	box-shadow: 0 0.2em 1em rgba(0, 0, 0, 0.5);
	position: relative;
	margin: 1em auto 2em auto;
}

#content div.full p.summary {
	border-bottom: 1px solid #999;
	font-size: 1.2em;
	overflow: auto;
	position: relative;
	padding: 0 0 1em 0;
}

#content div.full p.summary img {
	float: left;
	margin: 0 1em 0 0;
}

.client-showcase #content-right {
	padding-top: 1em;
}

#content-end {
	width: 100%;
	clear: left;
	clear: both;
	float: left;
	*float: none;
	margin: 2em 0 0 0;
}

#content-end p.back {
	border-top: 1px solid #999;
	padding-top: 1em;
	margin: 2em 0 0 0;
}

#content-end p.back a {
	display: block;
	display: inline-block;
	padding: 6px 10px;
}

/* ==========================================================================
   Contact
   ========================================================================== */
#content-right div.map {
	border: 1px solid #999;
}

#content-right div.map img {
	border: none;
}

/* ==========================================================================
   Enquiry
   ========================================================================== */
#content-left legend {
	font-weight: bold;
	padding: 1em 0;
}

#content-left label {
	width: 100px;
	float: left;
	padding: 6px 0 0 0;
}

#content-left div.select-row label {
	padding: 2px 0 0 0;
}

#content-left input.text,#content-left textarea {
	border: 1px solid #999;
	width: 300px;
	padding: 6px;
}

#content-left input.text:focus,#content-left textarea:focus {
	border: 1px solid #69CD4C;
	box-shadow: 0 0 0.2em #69CD4C;
}

#content-left textarea {
	min-width: 300px;
	max-width: 300px;
	min-height: 3.2em;
}

#content-left form div {
	margin-bottom: 1em;
}

#content-left div.submit {
	padding-left: 100px;
	margin: 0;
}

#content-left div.submit input {
	padding: 6px 10px;
}

#content-left div.submit input:focus {
	border: 1px solid #005F00;
	padding: 5px 9px;
}

/* ==========================================================================
   Secondary
   ========================================================================== */
#secondary {
	background: #F2F2F2 url(/assets/img/background/schematics.jpg) center
		repeat;
	border-top: 1px solid #CCC;
	box-shadow: 0 1px 0 #FFF inset;
	font-size: 0.9em;
	clear: both;
	overflow: auto;
	padding: 3.4em 0;
}

#secondary ul.container {
	padding: 0;
}

#secondary li.bucket {
	width: 236px;
	background: #FFF;
	border: 1px solid #CCC;
	box-shadow: 0 0em 0.4em rgba(0, 0, 0, 0.3);
	list-style: none;
	float: left;
	margin-right: 33px;
	padding: 24px 30px;
}

#secondary li.client,#secondary li.third {
	margin: 0;
}

#secondary h2 {
	background-image: url(/assets/img/background/bucket-icon-sprite.png);
	background-repeat: no-repeat;
	background-position: 24px 2px;
	border-left: 6px solid;
	font-size: 1.2em;
	line-height: 40px;
	color: #000;
	text-transform: uppercase;
	padding-left: 44px;
	margin: 0 0 1em -30px;
}

#secondary h3 {
	font-size: 1em;
}

#secondary li.bucket.services h2 {
	background-position: 24px -36px;
	padding-left: 52px;
}

#secondary li.bucket.client h2 {
	background-position: 24px -76px;
	padding-left: 58px;
}

#secondary li.bucket ul {
	padding: 0 0 0 1em;
}

#secondary li.bucket li {
	background-position: 0 2px;
}

#showcase-container {
	border-bottom: 1px solid #CCC;
	position: relative;
	padding: 0 0 1em 0;
}

#showcase-container img {
	display: block;
}

#showcase-focus {
	margin: 0 0 1em -30px;
}

#showcase-logo {
	background: #FFF;
	border: 1px solid #AAA;
	box-shadow: 0 0.1em 0.2em rgba(0, 0, 0, 0.5);
	position: absolute;
	top: 3.2em;
	right: 0;
}

#showcase-container strong {
	display: block;
}

#secondary blockquote {
	font-style: italic;
	margin: 1em 0;
}

#secondary blockquote p {
	font-family: Georgia;
}

#secondary cite {
	font-size: 0.9em;
	font-style: normal;
}

/* ==========================================================================
   Footer
   ========================================================================== */
#footer {
	width: 892px;
	font-size: 0.9em;
	line-height: 1.1em;
	color: #FFF;
	text-shadow: 0 0 0.2em #000;
	overflow: auto;
	padding: 2.2em 0;
}

#footer-nav {
	list-style: none;
	float: left;
	padding: 0;
}

#footer-nav li {
	border-right: 1px solid #FFF;
	float: left;
	padding: 0 10px 0 0;
	margin: 0 0 0 10px;
}

#footer-nav li.first {
	margin: 0;
}

#footer-nav li:last-child {
	border: none;
	padding: 0;
}

#footer-nav a {
	line-height: 1em;
	color: #FFF;
	text-decoration: none;
}

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

#footer p.legal {
	float: right;
}

/* ==========================================================================
   Smaller Screens
   ========================================================================== */
@media only screen and (max-width: 960px) {
	#banner {
		margin: 0 auto;
		padding: 0;
	}
	#banner-data {
		box-shadow: none;
	}
	#banner-data li {
		top: 0;
	}
}