@CHARSET "ISO-8859-1";
.clearfix:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
.clearfix { display: inline-block; }
#clearFooter { height: 0px !important; }
#fullcolumn.indigo { background:#00416a url('images/indigobg.png') no-repeat; height:560px; margin-bottom:7px; 
					 font-family:Arial, Verdana, Geneva, sans-serif; color:#FFF;}
#container { padding-left:0px; margin-top:0px; width:980px; }
#indigoLogo { position:relative; top:-10px;left:20px;}
.indigo p { padding-left:15px; font-size:17px; line-height:120%; }

#nav { background:#FFF url('images/menubg.png') repeat-x; height:44px; margin-bottom:0px; width:979px; }

#nav #spacer { background-color:#FFF;
			   background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#0278c2), to(#9ad9ff)); 
				width:8px; height:44px; float:left; }

#nav ul li {background:#FFF url('images/menubg.png');
			float:left; display:inline;
			height:16px;
			 padding:14px 40px; margin:0px;
			 
			}
			
#nav ul li:hover { background: #0277c3 url('images/menubg.png'); }
#nav ul li a { color:#333; font-size:16px; text-decoration:none;font-weight:bold;font-family:Arial; text-shadow:0px 0px 5px #EEE;}

#window { height:367px; width:979px; background:#00416a; background-color:rgba(0, 65, 106, 0.8);padding-top:20px; position:relative;}
#window.overflow {  overflow-y:scroll; }

table.projects { margin-left:15px; }
.header td { font-size:15px; font-weight:bold; border-bottom:1px solid white; }
.tableRow td a { color:#FFF; }
.tableRow td a:visited { color:#EEE; }
.wantedDesc { margin-left:20px; }
.wantedDesc a { color:#9ad9ff; }

#ticker { padding-left:20px;}
#ticker li { font-size:20px; line-height:26px; list-style-image:none; 	}


/*-------------------------------------*/
.wantedDesc { float:left;margin-top:0px;}

.wantedDesc.main { width:625px;}

.wantedDesc.recent { width:280px; background:#00416a; background-color:rgba(0, 65, 106, 0.8); height:260px; border:1px solid #1f5f86;}

.wantedDesc.recent h3 { text-shadow:0px 0px 5px #EEE;display:block; width:270px; color:#000; background: #9ad9ff url('images/menubg.png');  padding:5px; margin-right:-10px;}

.wantedDesc.recent .more { padding-left:10px; }

.wantedDesc li p{
	position:relative;
	top:-15px;
}

.wantedDesc li {
	list-style-position:inside;	
}

.wantedDesc h3 {
	display:inline;
	color:#FFF;
	border:0px;	
}

.donorList { clear:both; margin-left:20px;}

.donorList li{
	list-style-image:url("images/starbullet.png") !important;
	margin-bottom:0px !important;
	margin-right:10px;
}

h1.wanted {
	font-size:30px;
	margin-bottom:10px;
	text-shadow:0px 0px 3px #9ad9ff;
}

#bulletList {
	margin-left:30px;
}

.donate, h4.highlights {
	font-size:30px;	
	color:#9ad9ff;
	line-height:32px;
	text-shadow:0px 0px 3px #9ad9ff;
}

h4.highlights { 
	padding-left:20px; 
}
.star {
	float:left;
	width:40px;
	height:50px;
}

.counter {
	font-size:20px;	
	text-align:right;
	position:relative;
	top:-20px;
	right:3px;
}

span.active {
	font-size:20px;
	color:#9ad9ff;
	font-weight:bold;
}

span.train {
	position:absolute;
	top:370px;
	right:5px;
	text-align:right;
	
}

.progressBar {
	height:25px;
	width:925px;
	clear:both;
	background:#1f5f86;
	background-color:rgba(154, 217,255, 0.2);
	margin:30px 0;
	
}

.progress {
	background-image:url('images/progress.jpg');
	height:25px;
}


p.legal { clear:both;font-size:10px;color:#888;position:relative; top:-20px; }