h1.title {
	padding-top:15px;
	font-size:22px;
	padding-left:20px;
	margin-bottom:3px;
	font-family:Arial,Times,serif;
	text-align:left;
}

h6 {
	font-size:14px;
	font-family:Arial,Times,serif;
}

/*************** Display Container (Ajax Window) *******/
#displayContainer {
	clear:both;
	overflow:hidden;
	padding-right:250px;
}

#ajaxContent {
	float:left;
	width:100%;
}	

#rightNav {
	vertical-align:top;
	float:left;
	width:230px;
	padding-left:10px;
	padding-right:10px;
	margin-right:-250px;	
}

#widecontainer { 
}


#jreWarning {
	position:relative;
	top:10px;
	margin-left:680px;
}

#jreWarning p {
	position:absolute;
	top:-40px;
	color:#555;
	font-size:10px;
	padding:0px;	
	margin:0px;
}

#googleAds {
	clear:both;
	padding:10px 0px;
	text-align:center;
}

/*************** TOP NAV *******************************/
#topnav {
	padding-left:10px;
	width:100%;
	float:left;
	white-space:nowrap;	
}
#tabNav ul li {
	padding:15px 0 0 0;
	margin-left:0px !important;
	display:inline;
	float:left;
	list-style-type: none;
}
#tabNav ul li a {
	font-family:Arial,Times,serif;
	font-size:14px;
	font-weight:normal;
	display:block;
	height:28px;
	margin-bottom:-3px;	
	cursor:pointer;
	text-align:center;
	padding-top:17px;
	
}
#tabNav ul li a:hover {
	text-decoration: none !important;
}
#tabNav ul li.start {
	width:171px;
	background: transparent url('images/tabs.jpg') 0px 0px no-repeat;
}
#tabNav ul li.start a {
	margin-left:11px;
}
#tabNav ul li.middle {
	width:161px;
	background: transparent url('images/tabs.jpg') -172px 0px no-repeat;
}
#tabNav ul li.end a{
	margin-right:10px;	
}
#tabNav ul li.end {
	width:170px;
	background: transparent url('images/tabs.jpg') -333px 0px no-repeat;
}
#tabNav ul li.start:hover {
	background: transparent url('images/tabs.jpg') 0px -61px no-repeat;
}
#tabNav ul li.middle:hover {
	background: transparent url('images/tabs.jpg') -172px -61px no-repeat;
}
#tabNav ul li.end:hover {
	background: transparent url('images/tabs.jpg') -333px -61px no-repeat;
}
#tabNav ul li.start.active{
	background: transparent url('images/tabs.jpg') 0px -121px no-repeat;
}
#tabNav ul li.middle.active{
	background: transparent url('images/tabs.jpg') -172px -121px no-repeat;
}
#tabNav ul li.end.active {
	background: transparent url('images/tabs.jpg') -333px -121px no-repeat;
}

#tabNav ul li#torrents {
	background: transparent url('images/galileoTab.png') 0px 0px  no-repeat !important;	
}
#tabNav ul li#torrents.active {
	background: transparent url('images/galileoTab.png') 0px -61px no-repeat !important;	
}


#tabNav ul li#torrents a {
	color:#FFF;	
	font-weight:bold;
	font-size:13px;
	
}

li.active, li.active a:hover {
	color:#dd8e04;
}

#topDivider {
	width:100%;
	text-align:left;
	background:transparent url('images/topDivider.png') repeat-x;
	height:30px;
	position:relative;
	top:-2px;
	clear:both;
	padding-top:7px;
}

#leftSection {
	float:left;
}

#rightSection {
	float:right;
}

#bittorrents {
	color:#555;
	font-weight:bold;
	position:relative;
	right:5px;
	clear:none;
	text-align:right;
	font-size:12px;
}


#subCat {
	padding-left:15px;
	position:relative;
	text-align:left;
	list-style-type:none;	
	font-size:12px;
	top:-5px;
}

#subCat li {
	text-transform:lowercase;
	color:#666;
	float:left;
	list-style-image:none;	
	margin-left:0px !important;	
	padding-right:15px;
}

#subCat li a {
	display:block;
	cursor:pointer;	
}

#subCat li.active a {
	color:#DD8E04;	
}

#subCatTitle {
	font-family:Arial,Times,serif;
	font-weight: normal;
}

#packagesVersion, #developerVersion {
	font-family:Arial,Times,serif;
	font-weight: normal;
	color:#666;
	padding-left:15px;
	font-size:12px;
}

.smaller {
	font-size:10px !important;	
	font-weight:normal !important;
}

.smallType {
	padding-left:20px;	
}

.bottomRow td {
	padding-bottom:20px;	
}
.invisible {
	display:none;	
}

#projectsTable{
	font-size:12px;
}

#projectsTable tr td {
	margin-left:10px;	
}

#projectsTable tr td a {
	font-size:12px;	
}

.topLevel td {
	margin-top:10px;
}

.subProject td {
	padding-left:20px;	
	padding-top:5px;
}

.yui-skin-sam .yui-tt{
	visibility:hidden;
    position:absolute;
    font-family:arial,helvetica,verdana,sans-serif;
    padding:8px;
    max-width:400px;
    width:auto;
    background-image:url('images/tooltipStripe.png');
	background-color:#F8F8F8;
	border: 1px solid #BBB;
	color:#555;
}

.yui-skin-sam .yui-tt .bd {
	background:none;
	border:0px;	
}

.yui-skin-sam .yui-tt .yui-tt-shadow {
	display:none;
}

.contentTable {
	border-collapse:separate;	
}

.contentTable tr.tableData td  {
	border-bottom:1px solid #DDD; 
	padding: 7px 0 7px 10px;
	font-size:12px;
	line-height:14px;
}

.contentTable tr.topItem td {
	border-top:1px solid #DDDDDD;
	border-collapse:separate;
}

.packageTitle {
	padding:3px 0;
	line-height:14px;
	font-size:14px;
}

.packagingIcon { 
	text-align:center;
}

.bottomRow span{
	padding:5px 0;
	font-weight:bold;	
}


