/* Makeshift CSS Reset */
{
	margin: 0;
	padding: 0;
}

/* Tell the browser to render HTML 5 elements as block */
header, footer, aside, nav, article, section {
	display: block;
}

body {
	margin: 0 auto;
	width: 940px;
	font: 13px/22px Helvetica, Arial, sans-serif;
	background: #2B4C7E;
	color: #fff;
	text-shadow:1px 1px black;
}

a {
	color: #DBF70C;
}

h2 {
	margin-bottom: 0px;
	font-size: 28px;
	padding: 22px 0;
}

h3 {
	margin-bottom: 0px;
	font-size: 18px;
	padding: 0 0;
	border-bottom: 1px solid #DBF70C;
}

p {
	padding-bottom: 22px;
}

#nav {
	position: absolute;
	left: 0;
	width: 100%;
	background: url("images/nav_background.png");
}

#nav ul {
	margin: 0 auto;
	width: 940px;
	list-style: none;
}

#nav ul li {
	float: left;
}

#nav ul li a {
	display: block;
	margin-right: 20px;
	width: 140px;
	font-size: 14px;
	line-height: 44px;
	text-align: center;
	text-decoration: none;
	color: #777;
}

#nav ul li a:hover {
	color: #fff;
}

#nav ul li.selected a {
	color: #fff;
	text-shadow:0 0 8px #F0B81F;
}

#nav input {
	font: 13px/22px Helvetica, Arial, sans-serif;
	margin: 8px 0px;
	padding: 1px 4px;
	background-color: #1b1b1b;
	border: 2px solid #2B4C7E;
	color: white;
}

#content {
	display: table;
	vertical-align:top;
}

#mainContent {
	display: table-cell;
	vertical-align:top;
	width: 760px;
	padding-right: 22px;
	padding-bottom:25px;
	padding-top: 60px;
}

#mainContent .item {
	margin-bottom: 5px;
}

#mainContent .item td {
	border-left: 1px solid #567ebb;
	border-top: 1px solid #567ebb;
	background-position:-1px 0;
	background-repeat:repeat-y;
	background-image:url("/images/sidebar_background.png");
	padding: 5px;
	width: 565px;
}

#mainContent .item td:hover {
	border-left: 1px solid #DBF70C;
}

#mainContent .item .detail {
	font-size: 0.9em;
	line-height:1.3em;
	padding: 5px;
}

#intro {
	margin-top: 53px;
        height: 255px;
	position:relative;
	padding: 0;
}

ul#introSlideshow {
        position: relative;
	padding: 0;
}       
        
ul#introSlideshow li {
        display: block;
        list-style: none;
        margin: 0;
        padding: 0;
        position: absolute;
        text-align: center;
}       

ul#introSlideshow li img {
}


.alert {
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	background:url(/images/icons/32x32/exclamation.png) no-repeat scroll 5px 5px #567EBB;
	color:#FFFFFF;
	font-weight:bold;
	text-shadow: 1px 1px 1px #000;
	padding:10px 10px 10px 45px;
	margin:15px;
}

.description {
	margin-left: 5px;
	margin-bottom: 10px;
	font-family:sans-serif;
	font-size:10px;
}

.block-box {
        border-radius:15px;
        -webkit-border-radius:15px;
        -moz-border-radius:15px;
        border-color:#1F1F20 #567EBB #567EBB #1F1F20;
        border-style:solid;
        border-width:1px;
	background: #315891;
        margin-left:10px;
        margin-right:10px;
        padding:10px;
        margin-bottom: 15px;
}

.block-box td {
	vertical-align: top;
}


aside img {
	vertical-align:	middle;
}

aside {
	background:url("/images/sidebar_background.png") repeat-y scroll left top transparent;
	display:table-cell;
	vertical-align:top;
	width:300px;
	padding-top: 60px;
}

footer {
	position: absolute;
	left: 0;
	width: 100%;
	background: #1F1F20;
	color: white;
}

footer div {
	display: table;
	margin: 0 auto;
	padding: 44px 0;
	width: 940px;
	color: #777;
	font-size: 12px;
}

#errorExplanation {
	background-color: #B84D32;
	border: 1px solid #ff0000;
	padding:15px;
	text-shadow: 1px 1px 1px #000;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	border-radius: 15px;
	margin-bottom:15px;
}

#errorExplanation h2 {
	font-size: 1.8em;
	margin: 5px;
	padding: 5px;
}

#infoExplanation {
	background-color: #A7B323;
	border: 1px solid #00ff00;
	padding:15px;
	text-shadow: 1px 1px 1px #000;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	border-radius: 15px;
	margin-bottom:15px;
}


.fieldWithErrors label {
	color: #ffdddd;
	text-shadow:1px 1px 2px #ff0000;
}

.fieldWithErrors input {
	background-color: #ff9999;
}

#softwareIntro {
	border-bottom: 1px solid #567EBB;
	margin-bottom: 10px;
	padding-bottom: 10px;
}

#softwareShot {
	padding: 1px;
        vertical-align:middle;
	border:1px solid;
	border-color:#1F1F20 #567EBB #567EBB #1F1F20;
}

#softwareDetails {
	width:100%;
}

#softwareDetails td {
	vertical-align: top;
	padding: 2px;
}

#softwareDetails p {
	margin: 0;
	padding: 0;
}

#softwareDetails tr:nth-child(odd)    { background-color:#325994; }
#softwareDetails tr:nth-child(even)    { background-color:#2B4C7E; }

#share-box {
	text-align: right;
	background-image: url( /images/share.png );
	background-repeat: no-repeat;
}
#download-box {
	text-align: right;
	background-image: url( /images/download.png );
	background-repeat: no-repeat;
}

/* Software tree stuff */
ul.dir {
	margin-left: -10px;
	margin-top: -3px;
	padding-top: 3px;
	padding-left: 0px;
	border-left: 1px solid #337;
}

li.dir, li.file {
	list-style: none;
	background-repeat: no-repeat;
	background-position: 0 0;
	padding: 3px 0px 3px 20px;
	margin: .4em 0 .4em .4em;
}

li.dir {
	 background-image: url(folder.png);
}

li.file {
	 background-image: url(file.png);
}

input + label + ul { display:none; }
input:checked + label + ul { display:block; }
li input { display:none; }
