/* ==========================================================================
   Base
   ========================================================================== */
html,
button,
input,
select,
textarea {
	color: #222;
}
html {
	min-width: 320px;
	font-family: "Nunito", sans-serif;
	font-size: 1em;
	font-weight: 300;
	line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */
::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}
::selection {
	background: #b3d4fc;
	text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */
audio,
canvas,
img,
video {
	vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */
fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
	resize: vertical;
}

/* ==========================================================================
   Browse happy
   ========================================================================== */
.browse-happy {
	background: #eee;
	border-bottom: 1px solid #ddd;
	text-align: center;
	padding: 0.2em 0;
	margin: 0 auto;
}

/* ==========================================================================
   Structure
   ========================================================================== */
#window {
	max-width: 1140px;
	padding: 0 1em;
	margin: 0 auto;
}
.container {
	width: 100%;
	clear: left;
	margin: 0 auto;
}

/* ==========================================================================
   Common
   ========================================================================== */
a {
	color: #900;
}
.shadow {
	-moz-box-shadow: -0.1em 0.1em 0.2em rgba(0, 0, 0, 0.25);
	-webkit-box-shadow: -0.1em 0.1em 0.2em rgba(0, 0, 0, 0.25);
	box-shadow: -0.1em 0.1em 0.2em rgba(0, 0, 0, 0.25);
}
.rounded {
	border-radius: 5px;
}
.float-left {
	float: left;
}
.float-right {
	float: right;
}
input.search-value {
	height: 2em;
	background: #fff url(../img/header-sprite.png) right no-repeat;
	border: 1px solid #fff;
	border-radius: 4px;
	text-indent: 10px;
}
.col {
	float: left;
}
.col-half {
	width: 48%;
}
.phone-icon {
	width: 20px;
	height: 18px;
	background: url(../img/header-sprite.png) top left no-repeat;
	float: left;
}
iframe {
	width: 100%;
	border: none;
}

/* ==========================================================================
   Header
   ========================================================================== */
#skip {
	position: absolute;
	top: -99em;
}
#header {
	padding: 2em 0 1em 0;
}
#header * {
	padding: 0;
	margin: 0;
}
#header h1 {
	float: left;
	margin-bottom: 0.5em;
}
#header h1 img {
	display: block;
}
#header-phone {
	line-height: 18px;
	float: right;
	margin: 1.2em 2.4em 0 0;
}

/* ==========================================================================
   Navigation
   ========================================================================== */
#main-nav {
	width: 100%;
	font-size: 0.75em;
	background: #343434;
	background: -moz-linear-gradient(top, #343434 0%, #1c1c1c 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #343434), color-stop(100%, #1c1c1c));
	background: -webkit-linear-gradient(top, #343434 0%, #1c1c1c 100%);
	background: -o-linear-gradient(top, #343434 0%, #1c1c1c 100%);
	background: -ms-linear-gradient(top, #343434 0%, #1c1c1c 100%);
	background: linear-gradient(to bottom, #343434 0%, #1c1c1c 100%);
	clear: left;
	float: left;
	position: relative;
	z-index: 20;
	margin-bottom: 0.6em;
}
#main-nav * {
	padding: 0;
	margin: 0;
}
#main-nav li {
	border-right: 1px solid #000;
	font-weight: bold;
	list-style: none;
	float: left;
	position: relative;
}
#main-nav-top > li:first-child,
#main-nav-top > li:first-child a.top {
	-moz-border-radius-topleft: 5px;
	-moz-border-radius-bottomleft: 5px;
	-webkit-border-top-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
}
#main-nav li:hover > ul {
	display: block;
}
#main-nav a {
	height: 100%;
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	float: left;
	padding: 0 3em;
}
#main-nav a.top {
	line-height: 68px;
}
#main-nav-top li:hover a.top {
	-moz-border-radius-bottomleft: 0;
	-webkit-border-bottom-left-radius: 0;
	border-bottom-left-radius: 0;
}
#main-nav a:focus,
#main-nav a:hover,
#main-nav li.selected > a,
#main-nav li.ancestor a.top {
	background: #900;
}
#main-nav ul ul {
	width: 22em;
	background: #1c1c1c;
	-moz-box-shadow: -0.1em 0.1em 0.2em rgba(0, 0, 0, 0.25);
	-webkit-box-shadow: -0.1em 0.1em 0.2em rgba(0, 0, 0, 0.25);
	box-shadow: -0.1em 0.1em 0.2em rgba(0, 0, 0, 0.25);
	display: none;
	position: absolute;
	top: 68px;
	left: 0;
	z-index: 20;
}
#main-nav ul ul li {
	width: 100%;
	height: 30px;
	border: none;
	border-top: 1px solid #000;
	font-weight: normal;
}
#main-nav ul ul a {
	width: 19em;
	line-height: 30px;
	padding-right: 0;
}
#main-nav ul ul ul {
	top: 30px;
	left: 2em;
}
#header-search {
	height: 68px;
	text-align: right;
	display: inline;
	display: inline-block;
	float: right;
	margin-right: 3em;
	*margin-right: 1.5em;
}
#header-search input {
	width: 10em;
	height: 26px;
	line-height: 26px;
	margin-top: 20px;
	vertical-align: top;
}

/* ==========================================================================
   Banner
   ========================================================================== */
#banner {
	height: 460px;
	overflow: hidden;
	position: relative;
}
#banner ol {
	list-style: none;
	position: relative;
	margin: 0;
	padding: 0;
	z-index: 1;
}
#banner li {
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
#banner li.active {
	z-index: 3;
}
#banner li.next {
	z-index: 2;
}
#banner-overlay {
	width: 50%;
	position: absolute;
	left: 25%;
	top: 38%;
	z-index: 10;
}
#banner-caption {
	width: 70%;
	background: #900;
	font-size: 1.2em;
	font-weight: 100;
	color: #fff;
	text-transform: uppercase;
	float: left;
	padding: 1em 1.5em 0.9em 1.5em;
	margin-right: 0.2em;
}
#banner-controls {
	float: left;
}
#banner-controls a {
	width: 42px;
	background: #fff;
	font-size: 1.2em;
	color: #b4b4b4;
	line-height: 42px;
	text-align: center;
	text-decoration: none;
	float: left;
	margin-right: 0.2em;
}
#banner-controls a:active,
#banner-controls a:focus {
	background: #900;
	color: #fff;
}

/* ==========================================================================
   Call to actions
   ========================================================================== */
#call-to-actions {
	width: 98%;
	list-style: none;
	overflow: auto;
	position: relative;
	z-index: 10;
	padding: 0 1%;
}
#call-to-actions.home {
	margin: -2.25em auto 1.5em auto;
}
.call-to-action {
	width: 22%;
	background: #f4f3f1;
	font-size: 0.7em;
	text-align: center;
	float: left;
	padding: 0;
	margin-left: 2.4%;
}
.call-to-action a {
	color: #222;
	text-decoration: none;
	display: block;
	padding: 1em 1.5em;
}
.home .call-to-action a {
	padding: 7em 1.5em 8em 1.5em;
}
.call-to-action h2 {
	background-image: url(../img/cta-heading-sprite-off.png);
	background-position: top center;
	background-repeat: no-repeat;
	font-size: 1.4em;
	text-transform: uppercase;
	padding-top: 4em;
}
.call-to-action a h2 {
	color: #444;
}
.call-to-action.what-we-do-and-why h2 {
	background-position: center -160px;
}
.call-to-action.the-future h2 {
	background-position: center -320px;
}
.call-to-action.how-money-works h2 {
	background-position: center -480px;
}
.call-to-action span.read-more {
	text-transform: uppercase;
}
.call-to-action span.highlight {
	color: #900;
}
.call-to-action p {
	margin: 1.5em 0 2em 0;
}
.call-to-action span.arrow 
.call-to-action a:focus,
.call-to-action a:hover,
.call-to-action.active a {
	background: #900;
	color: #fff;
}
.call-to-action:focus h2,
.call-to-action:hover h2,
.call-to-action.active h2 {
	background-image: url(../img/cta-heading-sprite-on.png);
}
.call-to-action a:focus,
.call-to-action a:hover,
.call-to-action.active a,
.call-to-action a:focus h2,
.call-to-action a:hover h2,
.call-to-action.active a h2,
.call-to-action a:focus span,
.call-to-action a:hover span,
.call-to-action.active span {
	color: #fff;
}

/* ==========================================================================
   Main
   ========================================================================== */
#main {
	width: 93.2%;
	font-family: "Helvetica", sans-serif;
	font-size: 0.8em;
	line-height: 1.8em;
	float: left;
	padding: 0 3.4%;
	margin: 2em auto;
}
.home #main {
	margin-top: 1em;
}
#main h1,
#main h2 {
	font-family: "Myriad Pro", sans-serif;
	font-weight: normal;
	font-style: italic;
	color: #900;
	line-height: 1.2em;
}
.home #main h2 {
	font-size: 2em;
}
#main ol,
#main ul {
	padding-left: 2em;
}
#main #breadcrumbs {
	font-size: 0.9em;
	text-transform: uppercase;
	padding: 0;
	margin: 0 0 3em 0;
}
#main #breadcrumbs li {
	font-weight: normal;
	color: #b4b4b4;
	display: inline;
}
#main #breadcrumbs li span.separator {
	margin: 0 0.5em;
}
#main #breadcrumbs li:last-child:after {
	content: none;
}
#main #breadcrumbs a {
	font-weight: bold;
	color: #000;
	text-decoration: none;
}
#main #breadcrumbs a:focus,
#main #breadcrumbs a:hover {
	color: #900;
}
#main #search-results {
	list-style: none;
	padding: 0;
}
#search-results li {
	border-top: 1px dotted #ccc;
	margin: 0;
}
#search-results p.page {
	font-size: 0.9em;
	color: #555;
	margin: 0;
}
#search-results p.excerpt {
	margin-top: 0;
}
#main em.keyword {
	background: #900;
	font-style: normal;
	color: #fff;
	padding: 0 0.2em;
}
#main div.paging {
	border-top: 1px dotted #ccc;
	padding-top: 1em;
}
#main img {
	max-width: 100%;
}
#main div.aside-image {
	position: relative;
	overflow: hidden;
	margin-bottom: 1em;
}
#main div.aside-image:last-child {
	margin-bottom: 0;
}
#main div.aside-image img {
	min-width: 100%;
}
#main div.aside-caption {
	width: 11em;
	background: #900;
	font-size: 1.3em;
	font-weight: 100;
	color: #fff;
	text-transform: uppercase;
	position: absolute;
	top: 1.5em;
	right: 1.5em;
	padding: 1.2em 1em 1.1em 1.8em;
}
#main div.aside-caption.bottom {
	top: auto;
	bottom: 1.5em;
}
#main iframe.document {
	height: 40em;
}

/* ==========================================================================
   Forms
   ========================================================================== */
.form-row {
	text-align: right;
	margin-bottom: 1em;
}
.form-row.multiple {
	overflow: auto;
}
label {
	width: 25%;
	float: left;
	padding-top: 6px;
}
.form-row input.text,
.form-row textarea {
	width: 67%;
	height: 20px;
	border: 1px solid #aaa;
	-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset;
	-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset;
	line-height: 20px;
	padding: 5px 0.5em;
}
.form-row textarea {
	height: 6em;
}
.form-row input.text:focus,
.form-row textarea:focus {
	border: 1px solid #900;
	outline: none;
}
.form-row .input-wrapper {
	width: 67%;
	text-align: left;
	clear: right;
	float: right;
	padding: 6px 0.5em 0 0.5em;
}
.form-row .input-wrapper label {
	width: auto;
	float: none;
	margin-left: 0.5em;
}
.form-row span.error {
	font-size: 0.9em;
	color: #900;
	display: block;
}
form .submit {
	text-align: right;
}
form .submit input {
	background: #900;
	border-radius: 5px;
	border: none;
	color: #fff;
	padding: 1em;
}
form .submit input:focus,
form .submit input:hover {
	background: #A00;
}
form .submit input:active {
	background: #800;
}

/* ==========================================================================
   Footer
   ========================================================================== */
#footer {
	font-family: "Helvetica", sans-serif;
	font-size: 0.7em;
	text-transform: uppercase;
	color: #b4b4b4;
	text-align: center;
	position: relative;
	padding: 2em 0 8em 0;
}
#footer p {
	margin: 0;
}
#footer a {
	color: #b4b4b4;
}
#footer a:focus,
#footer a:hover {
	color: #999;
}
#footer-contact {
	list-style: none;
	position: absolute;
	left: 50%;
	bottom: 4em;
	margin: 0 0 0 -60px;
	padding: 0;
}
#footer-contact li {
	border-radius: 18px;
	float: left;
	overflow: hidden;
	margin: 0 2px;
}
#footer-contact a {
	width: 36px;
	background-color: #b4b4b4;
	background-image: url(../img/footer-contact-sprite.png);
	background-position: bottom;
	background-repeat: no-repeat;
	line-height: 36px;
	text-indent: -999em;
	float: left;
}
#footer-contact-linkedin a {
	background-position: top;
}
#footer-contact-facebook a {
	background-position: center;
}
#footer-contact a:focus,
#footer-contact a:hover {
	opacity: 0.9;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */
.hidden {
	display: none !important;
	visibility: hidden;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */
.invisible {
	visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *`contenteditable` attribute is included anywhere else in the document.
 *Otherwise it causes space to appear at the top and bottom of elements
 *that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *`:before` to contain the top-margins of child elements.
 */
.clearfix:before,
.clearfix:after {
	content: " "; /* 1 */
	display: table; /* 2 */
}
.clearfix:after {
	clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.clearfix {
	*zoom: 1;
}

/* ==========================================================================
   Mobile screen sizes
   ========================================================================== */
@media only screen and (max-width: 1139px) {
	#header-phone {
		margin-right: 0.95em;
	}
	#main-nav a {
		padding: 0 1.2em;
	}
	#main-nav ul ul {
		width: 20.2em;
	}
	#header-search {
		margin-right: 1.2em;
	}
}
@media only screen and (max-width: 959px) {
	#header-search input {
		width: 3em;
		position: absolute;
		right: 1.2em;
	}
	#header-search input:focus {
		width: 10em;
		-moz-transition: width 200ms;
		-ms-transition: width 200ms;
		-o-transition: width 200ms;
		-webkit-transition: width 200ms;
		transition: width 200ms;
		-moz-box-shadow: 0 0 0.5em;
		-webkit-box-shadow: 0 0 0.5em;
		box-shadow: 0 0 0.5em;
	}
	#main iframe.document {
		height:	30em;
	}
}
@media only screen and (max-width: 767px) {
	.col-half {
		width: 100%;
	}
	.col-half.float-right {
		margin-top: 2em;
	}
	/* ====================================================================== */
	#header-phone {
		margin-right: 0;
	}
	#main-nav {
		height: auto;
		margin-bottom: 1.25em;
	}
	#main-nav-top > li {
		width: 100%;
		border: none;
		clear: left;
	}
	#main-nav-top > li:first-child {
		-moz-border-radius-topright: 5px;
		-moz-border-radius-bottomleft: 0;
		-webkit-border-top-right-radius: 5px;
		-webkit-border-bottom-left-radius: 0;
		border-top-right-radius: 5px;
		border-bottom-left-radius: 0;
		overflow: hidden;
	}
	#main-nav a {
		width: 84%;
		padding: 0 8%;
	}
	#main-nav a.top {
		border-top: 1px solid #444;
		border-bottom: 1px solid #000;
	}
	#main-nav-top > li:first-child,
	#main-nav-top > li:first-child a.top {
		-moz-border-radius-bottomleft: 0;
		-webkit-border-bottom-left-radius: 0;
		border-bottom-left-radius: 0;
	}
	#main-nav a.top:focus,
	#main-nav a.top:hover,
	#main-nav li.selected > a,
	#main-nav li.ancestor a.top {
		border-top: 1px solid #A00;
	}
	#main-nav ul ul,
	#main-nav ul ul ul {
		width: 100%;
		height: auto;
		position: static;
		top: auto;
		left: auto;
	}
	#main-nav ul ul li {
		width: 100%;
		height: auto;
		background: #1c1c1c;
		border-top: none;
		border-bottom: 1px solid #000;
	}
	#main-nav ul ul a {
		width: 92%;
		padding: 0 0 0 8%;
	}
	#main-nav ul ul ul li {
		border-top: 1px solid #000;
		border-bottom: none;
	}
	#main-nav ul ul ul a {
		width: 84%;
		padding: 0 0 0 16%;
	}
	#header-search {
		width: 84%;
		border-top: 1px solid #444;
		clear: left;
		float: none;
		text-align: left;
		padding: 0 8%;
		margin: 0;
	}
	#header-search input {
		width: auto;
		position: static;
		top: auto;
		right: auto;
	}
	#header-search input:focus {
		width: auto;
		-moz-box-shadow: 0 0 0.5em;
		-webkit-box-shadow: 0 0 0.5em;
		box-shadow: 0 0 0.5em;
	}
	/* ====================================================================== */
	#banner {
		height: 345px;
	}
	#banner img {
		width: 855px;
		height: 345px;
	}
	#banner-overlay {
		width: auto;
		top: auto;
		right: 1.5em;
		bottom: 1.5em;
		left: auto;
	}
	#banner-caption {
		display: none;
	}
	/* ====================================================================== */
	#call-to-actions {
		width: 100%;
		padding: 0;
	}
	#call-to-actions.home {
		margin: 0 auto 1.5em auto;
	}
	.call-to-action {
		width: 100%;
		background: #f4f3f1;
		font-size: 0.7em;
		text-align: center;
		float: left;
		padding: 0;
		margin: 1.5em auto 0 auto;
	}
	.home .call-to-action a {
		padding: 1em 8% 2em 8%;
	}
	/* ====================================================================== */
	#main {
		width: 100%;
		padding: 0;
	}
}
@media only screen and (max-width: 479px) {
	#header h1 {
		float: none;
		text-align: center;
	}
	#header h1 img {
		margin: 0 auto;
	}
	#header-phone {
		text-align: center;
		float: none;
	}
	#header-phone span.phone-icon {
		float: none;
		display: inline-block;
		vertical-align: top;
	}
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */
@media print {
	* {
		background: transparent !important;
		color: #000 !important; /* Black prints faster: h5bp.com/s */
		box-shadow: none !important;
		text-shadow: none !important;
	}
	a,
	a:visited {
		text-decoration: underline;
	}
	a[href]:after {
		content: " (" attr(href) ")";
	}
	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	/*
	 * Don't show links for images, or javascript/internal links
	 */
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content: "";
	}
	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	thead {
		display: table-header-group; /* h5bp.com/t */
	}
	tr,
	img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	@page {
		margin: 0.5cm;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
	h3 {
		page-break-after: avoid;
	}
}