/* Reset */
* {
	margin: 0;
	padding: 0;
	background: none;
	border: 0 none;
}

/* High-level elements */
body {
	background-color: #1F1FAF;
	font-family: sans-serif;
}
header, nav, article, footer {
	display: block;
}

/* Navigation lists */
nav > ul > li {
	list-style-type: none;
}

/* Accessibility link */
body > a.skip {
	display: none;
}

/* Banner */
div.banner {
	background-color: #1E1744;
	position: relative;
}
div.banner img {
	width: 970px;
	height: 90px;
	position: absolute;
	left: 50%;
	margin-left: -485px;
}
div.banner > p {
	padding-top: 90px;
	padding-bottom: 10px;
	text-align: center;
}
div.banner > p > a {
	color: #ffffff;
}

/* Header */
body.index > header {
	background-color: #DFDFDF;
	background-image: url("../images/bbxm-monitor.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 500px;
}
body.not-index > header {
	background-color: #DFDFDF;
	background-image: url("../images/ifc6410-bbxm.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 400px;
}
body > header > * {
	max-width: 940px;
	margin: 0 auto;
}
body > header > nav {
	padding-top: 20px;
	height: 66px;
}
body > header > nav > a > img {
	float: left;
	margin-left: 10px;
}
body > header > nav > ul {
	float: right;
	margin: 20px 0;
}
body > header > nav > ul > li {
	float: left;
}
body > header > nav > ul > li > a {
	margin: 0 10px;
	padding: 5px 10px;
	background-color: #DFDFDF;
	background-color: rgba(233, 233, 233, 0.75);
	color: #000000;
	font-size: 16px;
	line-height: 16px;
	font-weight: bold;
	text-decoration: none;
}
body > header > nav > ul > li > a.cur,
body > header > nav > ul > li > a:hover {
	background-color: #1F1FAF;
	background-color: rgba(31, 31, 175, 0.75);
	color: #DFDFDF;
}
body > header > h1 {
	margin-top: 100px;
	background-color: #DFDFDF;
	background-color: rgba(233, 233, 233, 0.75);
	max-width: 320px;
	padding: 10px 20px;
	font-size: 24px;
	line-height: 125%;
	clear: both;
}

/* Article */
body > article * {
	font-size: 16px;
	line-height: 125%;
}
body > article {
	max-width: 940px;
	margin: -50px auto 0 auto;
	padding: 20px;
	background-color: #DFDFDF;
	overflow: auto;
}
body > article h1, body > article h1 * {
	font-weight: bold;
	font-size: 24px;
	margin-bottom: 20px;
	clear: both;
}
body > article h2, body > article h2 * {
	font-weight: bold;
	font-size: 20px;
	margin-bottom: 20px;
}
body > article h3, body > article h3 * {
	font-weight: bold;
	font-size: 16px;
	margin-bottom: 20px;
}
body > article p {
	font-size: 16px;
	margin-bottom: 20px;
}
body > article pre {
	white-space: pre-wrap;
	white-space: -moz-pre-wrap;
	white-space: -pre-wrap;
	white-space: -o-pre-wrap;
	word-wrap: break-word;
}
body > article a {
	text-decoration: none;
	color: #1F1FAF;
}
body > article ul, body > article ol {
	margin-bottom: 20px;
	padding-left: 32px;
}
body > article address {
	font-style: normal;
	margin-left: 20px;
}
body > article .conspicuous {
	text-transform: uppercase;
}
body > article sup {
	font-size: 75%;
}
body > article > *:last-child {
	margin-bottom: 0;
}

/* About */
img.bio-portrait {
	width: 256px;
	height: 256px;
	border: 1px solid #AFAFAF;
	float: left;
}
.bio {
	margin-left: 278px;
}

/* Support */
body > article > nav > ul {
	margin-bottom: 0;
	padding-left: 0;
}
body > article > nav.support {
	float: left;
}
body > article > nav.support > ul > li > a {
	display: block;
	width: 300px;
	height: 32px;
	margin-bottom: 10px;
}
body > article > nav.support > ul > li > a > img {
	float: left;
	width: 32px;
	height: 32px;
}
body > article > nav.support > ul > li > a > span {
	display: block;
	margin: 0 0 0 40px;
	vertical-align: middle;
	height: 32px;
	line-height: 32px;
}
body > article > section.support {
	margin-left: 320px;
}
body > article > section.support > img.header {
	float: right;
	width: 128px;
	height: 128px;
	margin: 0 0 20px 20px;
}

/* Footer */
body > footer {
	max-width: 940px;
	margin: 0 auto;
	position: relative;
}
body > footer > * {
	margin: 30px 1% 20px 1%;
	float: left;
}
@media only screen and (max-width: 460px) {
	body > footer > * {
		margin: 30px auto 20px auto;
		float: none;
		width: 100% !important;
		text-align: center;
	}
}
body > footer > nav {
	width: 24%;
}
body > footer > section.contact {
	width: 46%;
}
body > footer > section.legal {
	width: 24%;
}
body > footer > section.bottom {
	clear: both;
	width: 100%;
	margin: 0 auto 20px auto;
	text-align: center;
}
body > footer > * > h1 {
	font-size: 18px;
	font-weight: bold;
	color: #6F6FAF;
}
body > footer > * a {
	font-size: 16px;
	color: #6F6FAF;
	text-decoration: none;
}
body > footer > * a:hover {
	color: #DFDFDF;
}
body > footer > * p {
	font-size: 16px;
	color: #6F6FAF;
}
