/* null margins and padding to give good cross-browser baseline */
html,body,address,blockquote,div,
form,fieldset,caption,
acronym,abbr,
h1,h2,h3,h4,h5,h6,
hr,ul,li,menu,ol,ul,
table,tr,td,th,p,img {
	margin:0;
	padding:0;
}

img,fieldset {
	border:none;
}

html, body {
	position:relative;
	height:100%;
}

body {
	text-align:center; /* center #container in IE 5.x */
	letter-spacing:1px;
	font:normal 85%/140% tahoma,helvetica,sans-serif;
	color:#FFF;
	background:#000 url(images/bodyBackground.png) top center repeat-y;
}

#container {
	overflow:hidden; /* wrap floats */
	min-height:100%;
	min-width:768px;
	margin:0 auto;
	text-align:left;
}

* html #container {
	/* 
		IE6/earlier has no min-height, but will incorrectly treat
		height as such when overflow is visible - thankfully the 
		height trips haslayout, so floats will still be wrapped
	*/
	overflow:visible; 
	height:100%;
	width:expression(
		(document.body.clientWidth>800) ? "auto" : "768px"
	);
}

h1 {
	position:relative;
	height:128px;
	margin-top:16px;
	text-align:center;
	text-transform:uppercase;
	vertical-align:bottom;
	font:bold 70px/70px "tahoma black",tahoma,helvetica,sans-serif;
	color:#000;
	background:#EEE url(images/h1Background.png) 0 0 repeat-x;
	border-bottom:2px solid #667;
}

h1 a {
	display:block;
	padding:22px 0 0 18px;
	text-decoration:none;
	letter-spacing:24px;
	color:#000;
}

h1 small {
	display:block;
	letter-spacing:2px;
	font:bold 21px/21px tahoma,helvetica,sans-serif;
}

h1 span {
	font-style:normal;
	color:#F00;
}

h1 i,
h1 b {
	position:absolute;
	left:0;
	width:100%;
}

h1 i {
	top:28px;
	height:100px;
	background:url(images/h1Logo.png) top center no-repeat; 
}

h1 b {
	top:-12px;
	height:28px;
	background:url(images/h1TopButtons.png) top center no-repeat; 
}

h2 {
	padding:10px 0.5em 7px;
	margin-bottom:0.7em;
	text-align:center;
	text-transform:uppercase;
	font:bold 100%/120% tahoma,helvetica,sans-serif;
	color:#FFF;
	background:#444 url(images/contentBackgrounds.gif) 0 0 repeat-x;
	border-bottom:1px solid #000;
}

h3 {
	padding:0 0.5em 0.5em;
	font:bold 110%/120% tahoma,helvetica,sans-serif;
}

p {
	padding:0 0.5em 1em;
}

.backLink {
	padding:0 1em 1em;
	float:left;
}

.forwardLink {
	padding:0 1em 1em;
	float:right;
}

#content p {
	text-align:justify;
}

acronym {
	border:0;
}

code {
	display:block;
	overflow:auto;
	margin:0 1em 1em;
	padding:0.5em;
	letter-spacing:0;
	white-space:pre;
	font:normal 100%/120% "courier new",courier,monospace;
	color:#F92;
	background:#310;
	border:3px solid;
	border-color:#888 #FFF #FFF #888;
}

p acronym {
	color:#444;
	font-weight:bold;
}

h2 acronym {
	color:#F44;
}

a {
	color:#800;
}

a:visited {
	color:#642;
}

a:active,
a:focus,
a:hover {
	color:#D00;
}

#mainMenu {
	position:relative; /* depth sort over content */
	z-index:100;
	height:64px;
	margin-bottom:-8px;
	text-align:center;
	background:url(images/mainMenuBackground.png) top center no-repeat;
}

#mainMenu ul {
	list-style:none;
	overflow:hidden; /* wrap floats */
	width:566px;
	padding-left:188px;
	padding-top:11px;
	margin:0 auto;
}

#mainMenu li {
	display:inline;
}

#mainMenu a {
	float:left;
	position:relative;
	padding:4px 1px 8px 11px;
	margin-right:10px;
	letter-spacing:1px;
	text-decoration:none;
/* 	text-transform:uppercase; */
	font:bold 14px/16px arial,helvetica,sans-serif;
	color:#FFF;
	background:url(images/mainMenuButtons.png) 0 0 no-repeat;
}

#mainMenu a span {
	position:absolute;
	right:-10px;
	top:0;
	/* 1px of overlap fixed Firefux being a retard about what 'right' means */
	width:11px;
	height:28px;
	background:url(images/mainMenuButtons.png) -169px 0 no-repeat;
}

#mainMenu a:active,
#mainMenu a:hover,
#mainMenu a:focus {
	color:#F00;
	background-position:0 -28px;
}

#mainMenu a:active span,
#mainMenu a:hover span,
#mainMenu a:focus span {
	background-position:-169px -28px;
}

#mainMenu .current a {
	color:#FFF;
	background-position:0 -56px;
}

#mainMenu .current a span {
	background-position:-169px -56px;
}

#mainMenu .current a:active,
#mainMenu .current a:hover,
#mainMenu .current a:focus {
	color:#800;
}

#columnWrapper {
	position:relative;
	z-index:50;
	zoom:1;
	max-width:1120px;
	padding:0 8px 0 28px;
	margin:0 auto;
}

* html #columnWrapper {
	width:768px;
	width:expression(
		(document.body.clientWidth>1152) ? "1120px" : "auto"
	);
}

#content {
	width:100%;
	float:right;
	padding-bottom:140px;
}

.reverseColumns #content {
	float:left;
}

.contentWrapper {
	position:relative;
	zoom:1;
	margin:0 0 24px 17em;
	margin-bottom:8px;
}

.reverseColumns .contentWrapper {
	margin-left:0;
	margin-right:288px;
}

.opacityShadow {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#000;
	opacity:0.3;
	-moz-opacity:0.3;
	filter:alpha(opacity=30);
}

/* 
	By the standards position:relative items should report their height to absolute positioned children for calculating 100%. IE6/earlier doesn't do this, so we use an expression to fake it. The transparent shadow will be broken for legacy IE users with javascript off - OH ***ing well. Anyone dumb enough to still use 6 by choice probable doesn't know how to turn .js off, while anyone forced to use it by thier workplace probably doesn't have that level of control over it.
*/


* html .opacityShadow {
	height:expression(
		this.parentElement.offsetHeight+'px'
	);
}

#sideBar {
	position:relative;
	float:right;
	width:16em;
	margin-right:-16em;
	padding-bottom:140px;
}

.reverseColumns #sideBar {
	float:left;
	width:272px;
	padding-left:16px;
	margin-right:0;
	margin-left:-288px;
}

#sideBar .infoBox img {
	display:block;
	margin:0 auto 0.5em;
}

.sideBarWrapper {
	position:relative;
	zoom:1;
	margin-bottom:16px;
}

.contentBox,
.sideBarBox {
	position:relative;
	top:-0.5em;
	left:-0.5em;
	overflow:hidden;
	zoom:1;
	color:#000;
	background:#DDD url(images/contentBackgrounds.gif) 0 -32px repeat-x;
	border:1px solid #000;
}

.sideBarBox h2 {
	margin-bottom:0.5em;
}

.sideBarBox h3 {
	text-align:center;
	padding:0.25em 0;
	margin:0 7px;
	color:#FFF;
	background:#888;
}

.sideBarBox p,
.sideBarBox ul {
	letter-spacing:0;
	font:normal 85%/140% tahoma,helvetica,sans-serif;
}

.sideBarBox ul {
	list-style:none;
	padding:4px 0.5em 4px;
}

.sideBarBox li {
	margin-bottom:0.5em;
}

#footer {
	clear:both;
	position:relative;
	overflow:hidden;
	height:96px;
	padding:16px 0;
	margin-top:-128px;
	text-align:center;
	background:#EEE url(images/footerBackground.png) repeat-x;
}

#footer div {
	min-width:768px;
	max-width:1120px;
	height:84px;
	margin:0 auto;
	vertical-align:middle;
}

* html #footer div {
	width:768px;
	width:expression(
		(document.body.clientWidth>1152) ? "1120px"
			: ((document.body.clientWidth>800) ? "auto" : "768px")
	);
}

#footer p {
	margin:0 16px;
	padding:6px 14px;
	font:normal 12px/18px tahoma,helvetica,sans-serif;
	color:#000;
	background:#CCC url(images/footerInnerBackground.png);
	border:6px solid;
	border-color:#666 #FFF #FFF #666;
}

#footer p span {
	white-space:nowrap;
}

.smallPlate {
	float:right;
	padding:0 0.5em 0.5em 1em;
}

#sideBar .smallPlate {
	padding-left:0.75em;
}

.oddPlate,
.evenPlate {
	width:256px;
	text-align:center;
	padding:4px 4px 1em;
	margin:0 16px 8px 16px;
	background:#FFF;
	font:normal 85%/120% tahoma,helvetica,sans-serif;
}


.oddPlate hr,
.evenPlate hr {
	height:6px;
	border:0;
	color:#CCC;
	background:#CCC;
	margin:4px -4px;
}

.oddPlate {
	float:right;
}

.evenPlate {
	float:left;
}

.oddPlate img,
.evenPlate img {
	display:block;
	margin-bottom:1em;
}


.sysexChart {
	border-collapse:collapse;
	margin:0 auto 1em;
	font:normal 100%/120% "courier new",courier,monospace;
	background:#FFF;
}

.sysexChart caption {
	font-weight:bold;
	border-bottom:2px solid #000;
}

.sysexChart td,
.sysexChart th {
	padding:0.2em 0.75em;
	text-align:center;
}

.sysexChart th {
	background:#CDE;
	border-bottom:2px solid #000;
}

.sysexChart .even td {
	background:#DEF;
}

.sysexChart .text {
	text-align:left;
}

.warning {
	padding:0.5em;
	margin:0.5em 0.5em 1em;
	text-align:center;
	background:#FF4;
	border:2px dashed #F00;
}

.errorBox {
	text-align:center;
	padding-bottom:0.5em;
	color:#000;
	background:#CCC;
}

.newsItem li {
	overflow:hidden;
	width:100%; /* trip haslayout */
}

.newsItem span {
	float:right;
}

.contentBox ul {
	padding:0 0.5em 1em 2.5em;
}

.contentBox ol {
	padding:0 0.5em 0 2.5em;
}

.contentBox ol li {
	padding-bottom:1em;
}

.halfBox {
	width:49%;
	float:left;
}

.postHalves {
	clear:left;
}

.article h3 {
	margin-right:8px;
	padding-right:10em;
	font:bold 110%/140% arial,helvetica,sans-serif;
}

.article h3 span {
	display:block;
	text-align:right;
	margin-top:-1.4em;
	margin-right:-10em;
}

.author {
	padding:0 0 0 1em;
	font:normal 80%/120% tahoma,helvetica,sans-serif;
}

.article .author {
	text-align:right;
	margin:0 8px 1em;
	padding-bottom:1em;	
	border-bottom:2px solid #000;
}

.author b {
	color:#80F;
	font-weight:normal;
}

.specifications {
	list-style:none;
}

.specifications li {
	padding:0.25em 0;
}

.specifications b {
	display:-moz-inline-block;
	display:-moz-inline-box;
	display:inline-block;
	width:10em;
}

.specs em {
	font-style:normal;
	background:#EE8;
}

.review {
	margin:0 0.5em 1em;
	border-bottom:2px solid #000;
}

.review h3,
.review p {
	padding:0 0 1em;
}

.review img {
	float:right;
	padding:0 0 0.5em 1em;
}

.webMail {
	display:block;
	zoom:1;
	padding:0 1em 1em;
}

.webMail legend {
	display:none;
}

.webMail label {
	display:block;
	position:relative;
	width:12.5em;
	margin-bottom:-0.8em;
	color:#000;
}

.webMail label input,
.webMail label select,
.webMail label textarea {
	position:absolute;
	top:0;
	left:15em;
	margin:0;
	width:24em;
}

.webMail label textarea {
	width:23em;
}

.webMail label b,
.webMail label i,
.webMail label span {
	position:absolute;
	left:13em;
	top:0;
}

.webMail label b,
.webMail .infoBox b {
	color:#F00;
}

.webMail label i,
.webMail .infoBox i {
	font-style:normal;
	font-weight:bold;
	color:#080;
}

.webMail label span {
	font-weight:bold;
	color:#0F0;
}

.webMail .textEntry {
	height:13em;
	margin-bottom:-4em;
}

.webMail .textEntry textarea {
	height:12em;
}

.webMail .compareFailed {
	padding:0 0 0.6em 14em;
	color:#F00;
}

.webMail .submit {
	/* 
		the following three parameters are needed to make all versions of
		IE actually allow you to click anywhere on the submit.
	*/
	display:block;
	position:relative;
	zoom:1;
	margin:0 0 1em 2em;
	padding:0.3em 1em;
	color:#FFF;
	background:#CC2211;
	border:2px solid;
	border-color:#FF6644 #440000 #440000 #FF6644;
}

.webMail .required {
	background:#F0FFF0;
}

.webMail .error {
	background:#FFC;
}

.webMail .errorBox {
	margin:0 0.5em 1em;
	padding:0.5em;
	text-align:center;
	background:#FFC;
	border:2px dashed #F00;
}

.webMail .infoBox {
	margin:0 0.5em 1em;
}

h4 {
	margin:0 0.5em 1em;
}

.screenshots {
	text-align:center;
}

.screenshots img {
	display:block;
	margin:0 auto;
}

.screenshots a {
	display:block;
	padding-bottom:0.5em;
}
