/* reset formatting */

	html, body { width: 100%; height: 100%; }
	html, body, table, img {	border:0;	margin:0;	padding:0;}
	p, h1, h2, h3, h4, h5, h6 {	margin:0;	padding:0;	font-weight:normal; font-size: 100%; line-height: 130%;}
	form {	margin:0;	padding:0;	display:inline;}
	a {text-decoration:none;}
	td { padding: 0; vertical-align: top;}
	ul,ol {list-style: none; margin:0;	padding:0;}
	ul li, ol li {list-style-type: none; margin:0; padding:0; position: relative;}


/* common formatting shortcuts */
 
	small {	font-size:0.85em;}
	sup {	position:relative;	bottom:0.3em;	vertical-align:baseline;}
	sub {	position:relative;	bottom:-0.2em;	vertical-align:baseline;}
	acronym, abbr {	cursor:help;	letter-spacing:1px;	border-bottom:1px dashed;} 
	.clear, .clear-hidden         { clear:both; }
	.clear-hidden	{ font-size: 0em; }
	.clear-after:after	{content: "."; display: block; height: 0; clear: both; visibility: hidden;}
	.float-left    { float:left; }
	.float-right   { float:right; }
	.text-left     { text-align:left; }
	.text-right    { text-align:right; }
	.text-center   { text-align:center; }
	.text-justify  { text-align:justify; }
	.bold          { font-weight:bold; }
	.italic        { font-style:italic; }
	.underline     { border-bottom:1px solid; }
	.highlight     { background:#ffc; } 
	.nopadding     { padding:0; }
	.noindent      { margin-left:0;padding-left:0; }
	.nobullet      { list-style:none;list-style-image:none; }

	
/*
 *   typography   *****************************************************************
 */
 
 	html,
	body,
	input,
	select,
	textarea
	{
		font-family: "trebuchet ms", verdana, arial, helvetica, sans-serif;
		font-size: 95%;	
		line-height: 130%;
		color: #4d4d4d;
	}

	/* links */
 
	a, a:link
	{
		color: #4271ab;
		text-decoration: underline;
	}
	a:visited
	{
		color: #2e2969;
	}
	a:hover
	{
		color: #ec870e;
		text-decoration: none;
	}
	
	
	ul
	{
		margin: 10px 0 10px 10px;
		list-style: disc;
	}
	ol
	{
		margin: 10px 0 10px 30px;
		list-style: decimal;
	}
	ol li
	{
		list-style-type: decimal;
		margin: 0 0 10px 20px;
	}
	ul li
	{
		margin: 0 0 10px 20px;
		list-style-type: disc;
	}
	
	 
 
/* 
 *   page blocks    ******************************************************
 */


	body
	{
		background: #457bb4;
		/*
		background-color: #2e2969;
		background-image: url(images/bg.jpg);
		background-position: top left;
		background-repeat: repeat-x;
		background-attachment: fixed;
		*/
		margin: 0;
	}
	
/* page wrapper */
	
	#page_wrap,
	#site_info
	{
		width: 770px;
		position: relative;
		margin-left: auto;
		margin-right: auto;
	}	

	#page_wrap
	{
		background-color: #fff;
		margin-top: 20px;
	}	

/* branding */

	#branding
	{
		height: 110px;
		width: auto;
		margin: 0 20px 40px 20px;
		position: relative;
		top: 20px;
	}
	
	/* hide heading */
	#branding h2
	{
		position: absolute;
		left: -9999px;
	}

	/* logo */
	
	#branding #logo
	{
		position: absolute;
		top: 8px;
		left: 0px;
	}
	
	/* photo */
	
	#branding #photo
	{
		position: absolute;
		top: 0px;
		right: 0px;
	}
	
/* slogan and quick contact info bar */

	#slogan
	{
		display: block;
		clear: both;
		background: #ec870e;
		margin: 20px 20px 20px 20px;
		padding: 7px 20px;
		color: #fae1c3;
	}	
	#slogan h2
	{
		position: absolute;
		left: -9999px;
	}
	#slogan p
	{
		text-align: right;
	}
	#slogan span
	{
		margin: 0 10px 0 0;
	}
	#slogan a,
	#slogan a:visited
	{
		color: #fae1c3;
		text-decoration: underline;		
	}
	#slogan a:hover
	{
		color: white;
		text-decoration: none;
	}
	
/* main nav */

	#nav_main
	{
		float: left;
		position: relative;
		margin: 0 0 0 20px;
		width: 160px;
		display: inline;
	}
	
	/* hide heading */
	#nav_main h2
	{
		position: absolute;
		left: -9999px;
	}
	#nav_main ul
	{
		list-style: none;
		margin: 0;
		padding: 0;
	}
	/* first level */
	#nav_main li
	{
		font-weight: bold;
		font-size: 120%;
		margin: 5px 0;
		padding: 0;
		list-style-type: none;
		position: relative;
	}
	/* second level */
	#nav_main li li
	{
		font-weight: normal;
		font-size: 80%;
		margin: 5px 0;
		padding: 0;
	}

	#nav_main li a,
	#nav_main li a:visited,
	#nav_main li.active li a,
	#nav_main li.active li a:visited
	{
		position: relative;
		color: #2e2969;
		background: none;
		text-decoration: none;
		padding: 10px;
		display: block;	
	}
	#nav_main li li a,
	#nav_main li li a:visited,
	#nav_main li.active li a,
	#nav_main li.active li a:visited
	{
		padding: 5px 0 5px 20px;
	}
	
	/* link hover */
	#nav_main a:hover,
	#nav_main li.active li a:hover
	{
		color: #ec870e;
	}

	/* selected link */
	#nav_main li.active a
	{
		background: #b4d800;
	}
	#nav_main li.active a,
	#nav_main li.active a:hover
	{
		color: white;
	}

/*
** content area
*/

	#content_main
	{
		display: inline;
		width: 530px;
		float: right;
		margin: 0 20px 0 0;
		position: relative;
	}
	#content_main h1
	{
		margin: 0;
		font-weight: normal;
		font-style: normal;
		font-size: 250%;
		color: #95b300;
		letter-spacing: -1px;
		line-height:100%;
		margin:0 0 0.4em;
	}
	#content_main h2
	{
		margin: .5em 0 .5em 0;
		font-weight: bold;
		font-size: 130%;
		color: #ec870e;
	}
	#content_main h3
	{
		margin: .5em 0 .5em 0;
		font-weight: normal;
		font-size: 120%;
		color: #ec870e;
	}
	#content_main p
	{
		margin: 0 0 .75em 0;
	}
	
	/* inline content */
	
	#content_main .inline
	{
		display: inline;
	}
	#content_main .left
	{
		float: left;
		margin: 0 15px 0 0;
	}
	#content_main .right
	{
		float: right;
		margin: 0 0 0 15px;
	}
	
	/* error message */
	#content_main .error
	{
		padding: 15px;
		border: solid 2px #eb4d96;
		background: #f28cbb;
		margin: 20px 0;
	}
	#content_main .error p
	{
		margin: 0;
		color: #fff;
		font-weight: bold;
	}

	/* forms */
	form fieldset
	{
		border: none;
		padding: 0;
		margin: 0;
	}
	form input[type="text"], 
	form textarea
	{
		border: solid 1px #ccc;
		padding: 4px;
	}	
	form fieldset.required input,
	form fieldset.required textarea
	{
		background: #ffc;
	}

	/* funding form */
	form#funding
	{
		display: block;
		margin-bottom: 20px;
	}
	form#funding label
	{
		display: block;
		clear: left;
		font-size: 85%;	
	}
	/* checkbox */
	form#funding #org_nonprofit
	{
		margin-bottom: 10px;
	}
	form#funding #org_nonprofit label
	{
		display: inline;
		margin: 0;
	}
	form#funding #org_nonprofit input
	{
		display: inline;
		margin: 0;
		width: 50px;
	}
	/* info */
	form#funding .info fieldset
	{
	}
	form#funding .info input
	{
		display: block;
		width: 90%;
		margin-bottom: 10px;
	}
	form#funding textarea
	{
		width: 90%;
		height: 100px;
	}
	form#funding #city,
	form#funding #state
	{
		float:left;
		margin-right: 10px;
	}
	form#funding #city input,
	form#funding #state input,
	form#funding #zipcode input
	{
		width: 100%;
	}
	
	form#funding #city
	{
		width: 200px;
	}
	form#funding #state
	{
		width: 50px;
	}
	form#funding #zipcode
	{
		width: 100px;
	}

	/* volunteer form */
	form#volunteer
	{
		display: block;
		margin-bottom: 20px;
	}
	form#volunteer label
	{
		display: block;
		font-size: 85%;	
	}
	/* personal info */
	form#volunteer .info fieldset
	{
	}
	form#volunteer .info input
	{
		display: block;
		width: 90%;
		margin-bottom: 10px;
	}
	form#volunteer textarea
	{
		width: 90%;
		height: 100px;
	}
	form#volunteer #contact_info,
	form#volunteer #interests,
	form#volunteer #skills,
	form#volunteer #comments
	{
		margin-bottom: 20px;
	}
	/* specific elements */
	form#volunteer #interests fieldset
	{
		position: relative;
	}
	form#volunteer #interests label
	{ 
		display: block;
		clear: both;
		margin-left: 30px;
	}
	form#volunteer #interests input
	{
		position: absolute;
		top: 0px;
		left: 0px;
	}
	form#volunteer #specify
	{
		margin-top: 5px;
		margin-left: 30px;
	}
	form#volunteer #specify label
	{
		margin: 0;
	}
	form#volunteer #specify input
	{
		position: relative;
		width: 400px;
	}
	
	/* pdf links */
	#content_main .pdf-link
	{
		margin:0 0 10px 15px;
		padding:10px 0 15px 50px;
		background: url(/images/pdf.gif) 0px 0px no-repeat;
	}
	
	/* race results tables */
	.race-results
	{
		border-collapse:collapse;
		width: 100%;
		margin-bottom: 15px;
		background: #dcecf7;
	}
	.race-results td
	{
		padding: 5px;
	}
	.race-results .header
	{
		font-weight: bold;
		background: #f2a952;
		color: #fff;
	}
	.race-results .even
	{
		background: #eef6fb;
	}
	.race-results .name
	{
		width: 35%;
	}
	.race-results .school
	{
		width: 30%;
	}
	.race-results .place
	{
		width: 15%;
	}
	.race-results .time
	{
		width: 30%;
	}

	/* photo gallery */
			
	.image-list
	{
		overflow: hidden;
		width: 100%;
	}
	.image-list 
	{
		margin: 0;
		list-style: none;
		width: 110%;
	}
	.image-list li
	{
		float: left;
		list-style-type: none;
		list-style: none;
		background: none;
		margin: 0 10px 10px 0px;
		padding: 0;
		height: 98px;
		width: 98px;
		text-align: center
	}
	.image-list a
	{
	}
	.image-list img
	{
		padding: 3px;
		border: solid 1px #ddd;
	}
	.image-list a:hover img
	{
		border: solid 1px #EC870E;
		background-color: #F2A952;
	}
	
	/* video player */
	
		.video
		{
			width: 320px;
			height: 260px;
			background: #000;
			border: solid 1px #457bb4;
		}

	
/*
 *  bottom extra nav
 */

	#nav_extra
	{
		margin: 40px 20px 25px 25px;
		padding: 0 0 0 40px;
		background-image: url(images/logo_icon.png);
		background-position: 0px 0px;
		background-repeat: no-repeat;
	}
	#nav_extra ul
	{
		display: block;
		clear: both;
		background: #ec870e;
		padding: 7px 20px;
		position: relative;
	}
	/* hide heading */
	#nav_extra h2
	{
		position: absolute;
		left: -9999px;
	}
	/* menu items */
	#nav_extra li
	{
		position: relative;
		display: inline;
		margin: 0 0 0 15px;
	}
	#nav_extra a,
	#nav_extra a:visited
	{
		color: #fae1c3;
		text-decoration: none;
	}
	#nav_extra a:hover
	{
		color: white;
		text-decoration: underline;
	}
	/* active */
	#nav_extra .active a,
	#nav_extra .active a:visited
	{
		color: white;
		font-weight: bold;
	}
	#nav_extra .active a:hover
	{
		text-decoration: none;
	}	
	
/*
** footer
*/

	#site_info
	{
		clear: both;
		display: block;
		position: relative;
		font-size: 90%;
		color: white;
		padding-top: 5px;
		text-align: right;
	}
	#site_info a,
	#site_info a:visited
	{
		color: white;
		text-decoration: underline;
	}
	#site_info a:hover
	{
		text-decoration: none;
	}

	
	
	
	
