@CHARSET "ISO-8859-1";

/*default*/
#novaContent{position:relative;background: url("images/background.jpg") no-repeat; height: 579px; overflow: hidden;padding-top:0;margin:0;width: 100%;}
#fullcolum{padding-top:0;}
#hide{display:none;}
table{width: 100%;}

/*class*/
.clear{clear:both;}
.r-rounded{-webkit-border-top-right-radius: 5px;
-webkit-border-bottom-right-radius: 5px;
-moz-border-radius-topright: 5px;
-moz-border-radius-bottomright: 5px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;}
.l-rounded{-webkit-border-top-left-radius: 5px;
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-topleft: 5px;
-moz-border-radius-bottomleft: 5px;
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;}
.rounded{-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;}
.textshadow, h1, h2, h3, p{
	 text-shadow: 1px 1px 3px #1d0f33;
}
.spacing{padding-top:15px;}
.progress-bar{height: 30px; background: #9fa2a6;margin:0 20px 0px 20px;border:1px solid #9fa2a6;position: relative; overflow: hidden;}
.progress-current{background: #ffbe00;height: 100%;}
.shadow{ -moz-box-shadow:    3px 3px 3px 3px #19242f;
  -webkit-box-shadow: 3px 3px 35px 3px #19242f;
  box-shadow:         3px 3px 3px 3px #19242f;}
.progress-text{position: absolute;top:8px;left:90px; font-weight: bold; font-size: 13px;text-transform: uppercase;}
.tmp-white h3{padding:10px 4px;}
.tmp-white .container{background:#fff;}
.tmp-white .container  ul{padding-bottom:5px;}
.tmp-white li{color:#000; list-style-image: url("/indigo/images/starbullet.png") !important;}

a.button:link, a.button:visited, a.button:active{float:right;background:#0b84b1;color:#fff !important;padding:4px 8px;}
a.button:hover{text-decoration: none;}
.darkbg, .content-scroll table.projects tfoot td, .tmp-white h3, a.button:hover{background: url("images/dark-grunge-bg.gif");}

/*Tables*/
table.projects{width: 630px;margin-bottom:0;border-collapse: separate; border-spacing:0px 2px;}
.content-scroll table.projects{padding-bottom: 4px;}

.td_name{width: 60%;}
.td_name a{display: block;float:left;}
.td_name a.gear_link{text-indent: -999em;background:url("http://dev.eclipse.org/small_icons/emblems/emblem-system.png") no-repeat;width: 16px; height: 16px;margin-left:5px;}
.td_version, .td_download{width: 20%; text-align: center;}
#td_count{border-top: 1px #d4b6fe solid;text-align: right;}


table.projects tr{margin-bottom:3px; border-spacing: 2px;
}
table.projects thead td{font-weight: bold;font-size: 14px;border-bottom: 1px #d4b6fe solid;}
table.projects td{padding:8px;}
.content-scroll table.projects td{	
	/* Fallback for web browsers that doesn't support RGBa */
	background: rgb(11, 38, 49);
	/* RGBa with 0.6 opacity */
	background: rgba(11, 38, 49, 0.56);
	/* For IE 5.5 - 7*/
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#0b2631, endColorstr=#0b2631);
	/* For IE 8*/
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#0b2631, endColorstr=#30b2631)";
}
table.projects tfoot td{font-weight: bold;}

/*text*/
h1{text-indent: -999em;position:fixed;}
h1, h2, h3{color:#fff;text-decoration: none;border-bottom:0;margin-bottom: 1em;padding-top:0;}
h2{font-size: 25px;line-height: 1.1em;margin-bottom:15px;}

h3{font-size: 16px;margin-bottom:5px;}
#window a:link, #window a:visited, #window a:active{color: #cef1ff;}
#window a:hover{}
#window ul li{margin-left: 2em; list-style-position: }
#window, #window li, #window p{font-size:15px;}
#ticker{height: 250px; overflow: hidden;margin-right:50px}
#ticker li{font-size: 18px;line-height: 23px;list-style: square;}
#sidebar h2{margin-bottom:14px;font-size: 18px;}

#sidebar h2, #sidebar p, #sidebar h3{padding-left:20px;}
#sidebar p{line-height: 2em;width: 80%;font-size: 13px;}
p.tagline{width: 89%;}
#friend_box h3{padding-top:10px;}
#friend_box p, #friend_box h3 {text-align: center;padding-left:0px;}
#friend_box p{margin-bottom: 18px;}
.content-scroll{overflow-y: scroll;height: 273px;}



/*layout*/
#junoLogo{padding:2px 0 16px 26px;}
#release-date{display:block;color: #fff; position:absolute; top:110px; left:304px;}
#nav{background:url("images/menu-bg.png") repeat-x; height: 58px;position:absolute;z-index: 2;top:136px;width:100%;}
#nav ul{padding:10px 50px;}
#nav li{display:block;float:left;padding-right:102px;}
#nav li.last{padding-right:0;}
#nav a:link, #nav a:visited, #nav a:active{text-transform: capitalize;color:#fff;font-size:18px;display:block}
#nav a:hover, #nav a.active, #nav a.active:hover{text-decoration: none;background:url("images/menu-over.png") no-repeat center 36px;height: 70px; color:#c2eeff;}
#nav a.active{color:#d4b6fe; }
#nav li:hover{}
#window{padding:58px 0 10px 0;height: 335px;color: #fff;position: relative;}
#main, #sidebar{height: 310px; overflow: hidden;padding-top:20px;}
#main{float:right;width:659px;}
.friends #main{float:left;}
.friends #sidebar{float:right;}
#sidebar .progress-text{left:48px; }
#sidebar{float:left; width:290px;padding-right: 15px;}
.friends #sidebar{width:230px;}
.friends .progress-bar{float:right;width: 300px; color:#fff;}
.friends #main{margin-left:20px;}
.friends hr{margin-top:18px;margin-bottom:10px;background:#ccc;height: 0;border:0;}
#window p.legal{font-size: 9px;line-height: 12px;position:absolute;bottom:5px;width: 680px;border-top:1px solid #000;padding-top:6px;}
a.btn-donate span{float:left; font-size: 26px;padding:10px 0 0 15px;}
.btn-donate{float:left;}
a.btn-donate:hover{color:#ffbe00 !important;}
.btn-donate img{float:left;}
#friend_box{padding-bottom: 10px;width: 90%;margin-top:23px;border:1px solid #D4B6FE;}
#btn_continue{float:right;margin:0px 15px 0 0;}
#eclipse-logo-sm{padding-left:15px;}

#friend_box + a.button{float: left;margin-left:0px;}
.frontpage #main{ overflow-y: scroll; }