/*
	Website		Impulse Development Application Framework
	Author		Impulse Development
	Date		June 2009
=============================================== */

/* =GENERAL
----------------------------------------------- */

/* GENERAL: =Reset */

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, button {
	font-family: Arial, Helvetica, sans-serif;
	margin: 0;
	padding: 0;
}

body {
	font-size: 62.5%;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset, img {
	border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
	font-style: normal;
	font-weight: normal;
}

ol, ul {
	list-style: none;
}

caption, th {
	text-align: left;
}

h1, h2, h3, h4, h5, h6, textarea, button {
	font-size: 100%;
	font-weight: normal;
}

q:before, q:after {
	content: '';
}

abbr, acronym {
	border: 0;
}

button::-moz-focus-inner{
	padding:0;
	border:none
}

/* =TYPOGRAPHY
----------------------------------------------- */

/* TYPOGRAPHY: =Headings */

h1 {
  height: 25px;
  margin-bottom: 1em;
  overflow: hidden;
  text-indent: -5000px;
  width: 100%;
}
  
  .home#index h1 {
    display: none;
  }
  
  .home#page_not_found h1 {
    background: url(../images/h1-page_not_found.gif) no-repeat;
  }
  
  .about#index h1 { 
    background: url(../images/h1-about_us.gif) no-repeat;
  }
  
  .about#news h1 {
    background: url(../images/h1-news_archive.gif) no-repeat;
  }
  
  .courses#index h1 { 
    background: url(../images/h1-courses.gif) no-repeat;
  }
  
  .courses#full h1 { 
    background: url(../images/h1-full_marathon_information.gif) no-repeat;
  }
  
  .courses#half h1 { 
    background: url(../images/h1-half_marathon_information.gif) no-repeat;
  }
  
  .courses#five_k h1 { 
    background: url(../images/h1-5k_race_information.gif) no-repeat;
  }
  
  .questions h1 {
    background: url(../images/h1-frequently_asked_questions.gif) no-repeat;
  }
  
  .register h1 { 
    background: url(../images/h1-register.gif) no-repeat;
  }
  
  .expo h1 { 
    background: url(../images/h1-expo.gif) no-repeat;
  }
  
  .sponsors h1 { 
    background: url(../images/h1-sponsors.gif) no-repeat;
  }
  
  .visitors h1 { 
    background: url(../images/h1-visitors.gif) no-repeat;
  }
  
  .volunteer h1 { 
    background: url(../images/h1-volunteers.gif) no-repeat;
  }
  
  .contact h1 { 
    background: url(../images/h1-contact.gif) no-repeat;
  }
  
  .espanol h1 { 
    background: url(../images/h1-espanol.gif) no-repeat;
  }

  .results h1 { 
    background: url(../images/h1-results.gif) no-repeat;
  }

h2 {
	color: #e01b22;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1em;
	margin-bottom: 0.8em;
}
  
  h2.replaced {
    height: 25px;
    overflow: hidden;
    text-indent: -5000px;
    width: 100%;
  }
  
  #h2-news {
    background: url(../images/h2-news.gif) no-repeat;
  }
  
  #h2-register_today {
    background: url(../images/h2-register_today.gif) no-repeat;
  }
  
  #h2-downloads {
    background: url(../images/h2-downloads.gif) no-repeat;
  }
  
  #h2-awards {
    background: url(../images/h2-awards.gif) no-repeat;
  }
  
  #h2-hotels {
    background: url(../images/h2-hotels.gif) no-repeat;
  }
  
  #h2-location {
    background: url(../images/h2-location.gif) no-repeat;
  }
  
  #h2-results {
    background: url(../images/h2-results.gif) no-repeat;
  }

h3 {
	color: #393939;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1em;
	margin-bottom: 0.8em;
}

/* TYPOGRAPHY: =Paragraphs */

p {
	color: #333333;
	font-size: 1.2em;
	line-height: 1.4em;
	margin-bottom: 1em;
}

/* TYPOGRAPHy: =Lists */

ul {
	list-style: disc outside;
	margin-bottom: 1em;
	padding-left: 24px;
}

	ul li {
		color: #333333;
		font-size: 1.2em;
		line-height: 1.4em;
	}
	
dl {
  width: 100%;
}

  dt {
    color: #333333;
    font-size: 1.2em;
    font-weight: bold;
    line-height: 1.4em;
  }
  
  dd {
    color: #333333;
    font-size: 1.2em;
    line-height: 1.4em;
    margin-bottom: 1em;
  }
	
/* TYPOGRAPHY: =Links */

a {
	color: #e01b22;
	font-weight: bold;
	text-decoration: underline;
}

a:hover {
	color: #ac0c12;
	text-decoration: underline;
}
	
/* TYPOGRAPHY: =Variants */

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

.notice {
  color: #e01b22;
  font-weight: bold;
}

/* =STRUCTURE
----------------------------------------------- */

/* STRUCTURE: =Background */

html {
	background: url(../images/bg-html.gif) repeat #999999;
}

body {
  background: url(../images/bg-body.gif) repeat-x bottom left;
}

/* STRUCTURE: =Layout */

#pageContainer {
  background: url(../images/bg-container.gif) repeat-x top left;
	width: 100%;
}

#pageHeader {
	height: 240px;
	margin: 0 auto;
	position: relative;
	width: 875px;
}

#pageBody {
  background: url(../images/bg-page_body.gif) repeat-y top left;
  margin: 0 auto;
  padding: 20px 9px 20px 5px;
	position: relative;
	width: 861px;
}

	#bodyContent {
	  float: right;
	  padding-right: 24px;
	  width: 526px;
	}
	
	#bodySidebar {
	  display: inline;
	  float: left;
	  width: 287px;
	}
	
#pageFooter {
	clear: both;
	height: 32px;
	margin: 0 auto;
	padding-top: 34px;
	position: relative;
	width: 875px;
}

/* =HEADER
----------------------------------------------- */

/* HEADER: =Logo */

#headerTitle {
	left: 66px;
	position: absolute;
	top: 20px;
}

	#headerTitle p {
		margin: 0;
	}
	
		#headerTitle p a {
			background: url(../images/logo-main.png) no-repeat;
			display: block;
			height: 157px;
			overflow: hidden;
			text-indent: -5000px;
			width: 186px;
		}
		
/* HEADER: =Countdown */

#headerCountdown {
  background: url(../images/bg-count_down.gif) no-repeat;
  height: 88px;
  position: absolute;
  right: 0;
  top: 0;
  width: 176px;
}

  #headerCountdown p {
    display: none;
  }
    
/* HEADER: =Newsletter */

#headerNewsletter {
  background: url(../images/bg-newsletter_input.png) no-repeat left;
  height: 26px;
  position: absolute;
  right: 0;
  top: 154px;
}

  #headerNewsletter label {
    display: none;
  }
  
  #headerNewsletter input {
    background: transparent;
    border: 0;
    color: #ffffff;
    display: inline;
    float: left;
    font-size: 1.1em;
    height: 12px;
    margin: 3px 0 3px 3px;
    padding: 3px 6px;
    width: 183px;
  }
  
  #headerNewsletter button {
    background: transparent;
    border: 0;
    cursor: pointer;
    margin: 0;
    padding: 0;
  }
  
    #headerNewsletter button span {
      background: url(../images/btn-newsletter_submit.png) no-repeat;
      display: block;
      height: 26px;
      overflow: hidden;
      text-indent: -5000px;
      width: 67px;
    }
		
/* HEADER: =Navigation */

#headerNavigation {
  bottom: 19px;
  left: 0;
  list-style: none;
  margin: 0;
	padding: 0;
  position: absolute;
  width: 100%
}

	#headerNavigation li {
	  background: url(../images/bg-navigation_item.gif) no-repeat right;
	  display: inline;
	  float: left;
	  padding: 0 15px 0 10px;
	}
	
		#headerNavigation li a {
		  display:  block;
		  height: 25px;
		  overflow: hidden;
		  text-indent: -5000px;
		}
		
		#headerNavigation li.about a {
		  background: url(../images/nav-about_us.png) no-repeat top;
		  width: 70px;
		}
		
		#headerNavigation li.courses a {
		  background: url(../images/nav-courses.png) no-repeat top;
		  width: 61px;
		}
		
		#headerNavigation li.register a {
		  background: url(../images/nav-register.png) no-repeat top;
		  width: 62px;
		}
		
		#headerNavigation li.expo a {
		  background: url(../images/nav-expo.png) no-repeat top;
		  width: 38px;
		}
		
		#headerNavigation li.sponsors a {
		  background: url(../images/nav-sponsors.png) no-repeat top;
		  width: 68px;
		}
		
		#headerNavigation li.visitors a {
		  background: url(../images/nav-visitors.png) no-repeat top;
		  width: 57px;
		}
		
		#headerNavigation li.volunteer a {
		  background: url(../images/nav-volunteers.png) no-repeat top;
		  width: 81px;
		}
		
		#headerNavigation li.contact a {
		  background: url(../images/nav-contact.png) no-repeat top;
		  width: 60px;
		}
		
		#headerNavigation li.results a {
		  background: url(../images/nav-results.png) no-repeat top;
		  width: 54px;
		}
		
	#headerNavigation li.espanol {
	  background: none;
	}
		
		#headerNavigation li.espanol a {
		  background: url(../images/nav-espanol.png) no-repeat top;
		  width: 61px;
		}
		
		#headerNavigation li a:hover {
		  background-position: 0 -25px;
		}
		
		#headerNavigation li a.current {
			background-position: 0 -25px;
		}
		
/* =CONTENT
----------------------------------------------- */

/* CONTENT: =Banner */

#bodyContent #homeBanner, #bodyContent .html5_video {
  margin-bottom: 20px;
}

/* CONTENT: =Sections */

#bodyContent .section {
  background: url(../images/misc-vertical_rule.gif) repeat-y top right;
  display: inline;
  float: left;
  margin-right: 24px;
  min-height: 185px;
  padding: 0 29px 0 0;
  position: relative;
  width: 222px;
}

#bodyContent .section.last {
  background: transparent;
  margin-right: 0;
}

  #bodyContent .section ul {
    list-style: none outside;
    padding: 0;
  }
  
    #bodyContent .section ul li {
      margin-bottom: 1em;
    }

/* CONTENT: =Social Networking */

#links-social_networking {
  float: left;
  list-style: none;
  margin: 0 0 12px 0;
  width: 100%;
}

  #links-social_networking li {
    display: inline;
    float: left;
    margin: 0 !important;
    width: 100%;
  }
  
    #links-social_networking li a {
      display: block;
      height: 17px;
      overflow: hidden;
      text-indent: -5000px;
    }
    
    #links-social_networking li.facebook a {
      background: url(../images/logo-facebook.gif) no-repeat;
      width: 81px;
    }
    
    #links-social_networking li.twitter a {
      background: url(../images/logo-twitter.gif) no-repeat;
      width: 71px;
    }
    
/* CONTENT: =Sponsors */

#bodyContent .gallery {
  clear: both;
  float: left;
  margin-bottom: 1em;
  width: 100%;
}

  #bodyContent .gallery .row {
    clear: both;
    float: left;
    margin-bottom: 1em;
    width: 100%;
  }

  #bodyContent .gallery .image {
    float: left;
    margin-bottom: 1em;
    text-align: center;
    width: 50%;
  }
  
  #bodyContent .gallery .image p {
    margin: 1em 0 0 0;
  }
    
/* CONTENT: =Horizontal Rules */

.hr {
  border-bottom: 1px solid #cccccc;
  height: 1px;
  margin: 1.5em 0;
  width: 100%;
}

  .hr hr {
    display: none;
  }
	
/* =SIDEBAR
----------------------------------------------- */

/* SIDEBAR: =Sections */

#bodySidebar .section {
  background: url(../images/misc-vertical_rule.gif) repeat-y top right;
  display: inline;
  float: left;
  padding: 0 29px 0 24px;
  width: 234px;
}

  .home #bodySidebar .section {
    min-height: 185px;
  }

/* SIDEBAR: =More Links */

#bodySidebar .more p {
  margin: 0;
}

/* SIDEBAR: =Galleries */

#bodySidebar .gallery {
  display: inline;
  float: left;
  padding-left: 10px;
}

  .home #bodySidebar .gallery {
    height: 302px;
  }
  
  #bodySidebar .gallery .image {
    display: inline;
    float: left;
    margin: 0 0 12px 12px;
  }
		
/* =FOOTER
----------------------------------------------- */

/* FOOTER: =Typography */

#pageFooter p {
  font-size: 1.1em;
  line-height: 32px;
  margin: 0;
}

#pageFooter a {
  color: #333333;
}

/* FOOTER: =Copyright */

#footerCopyright {
  display: inline;
  float: left;
}

/* FOOTER: =Developer */

#footerDeveloper {
  display: inline;
  float: right;
}


/* =IMAGES
----------------------------------------------- */

.image {
}

	.image img {
	}
	
	.image a:hover img {
	}
	
/* =MISC
----------------------------------------------- */

.clearfix {
  clear: both;
  width: 100%;
}

/* =FORMS
----------------------------------------------- */

/* FORMS: =Field Containers */

fieldset {
  border: 1px solid #cccccc;
  margin-bottom: 1em;
  padding: 2%;
}

  fieldset legend {
    color: #222222;
    font-size: 1.4em;
    font-weight: bold;
  }

.textField,
.textArea,
.select,
.checkBox {
	display: inline;
	float: left;
	margin-bottom: 1em;
	width: 100%;
}

.row {
  clear: both;
  width: 100%;
}

  .row .textField,
  .row .select {
    width: 49%;
  }
  
  .row .last {
    float: right;
  }

/* FORMS: =Labels */

label,
.label {
	color: #222222;
	display: block;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 2em;
}

/* FORMS: =Text Fields & Areas */

.textField input,
.textArea textarea {
	background: #ffffff;
	border: 1px solid #cccccc;
	font-size: 1.2em;
	padding: 4px;
	width: 97%;
}

.textArea textarea {
	height: 75px;
}

/* FORMS: =Checkboxes */

.checkBox input {
  display: inline;
  margin-right: 0.5em;
}

.checkBox label {
  display: inline;
  font-weight: normal;
}

/* FORMS: =Fields With Errors */

.fieldWithErrors {
	display: inline;
}

.fieldWithErrors input,
.fieldWithErrors textarea {
	background-color: #fdf2f2;
}

/* FORMS: =Submit Buttons */

.submitButton {
	display: inline;
	float: left;
	text-align: center;
	width: 100%;
}

	.submitButton button {
		background: #f2f2f2;
		border: none;
		cursor: pointer;
		padding: 6px;
	}

		.submitButton button span {
			background-color: #ffffff;
			border: 1px solid #cccccc;
			color: #222222;
			display: block;
			font-size: 1.4em;
			font-weight: bold;
			padding: 4px 12px;
		}
		
	.submitButton button:hover {
		background: #999999;
	}
		
		.submitButton button:hover span {
			color: #000000;
  		border-color: #777777;
		}
		
/* FORMS: =Error Explanation */

.errorExplanation {
	background: #f7eded;
	border: 1px solid #b00000;
	margin: 12px 0;
	padding: 12px;
}

	.errorExplanation h2 {
		display: none;
	}

	.errorExplanation p {
		color: #b00000;
		font-size: 12px;
		font-weight: bold;
		text-align: center;
	}

	.errorExplanation ul {
		list-style: none;
		margin: 0;
		padding: 0;
		width: 100%;
	}

		.errorExplanation ul li {
			color: #b00000;
			font-size: 12px;
			line-height: 15px;
			list-style: none;
			margin-bottom: 0;
			text-align: center;
		}
		
/* FORM: = Price Fields */

.priceFields {
  clear: both;
  float: left;
  margin-bottom: 1em;
  width: 100%;
}

  .priceFields .textField {
    margin: 0;
    text-align: right;
  }
  
    .priceFields .textField label {
      display: inline;
    }
  
    .priceFields .textField input {
      border: 0;
      display: inline;
      text-align: right;
      width: 75px;
    }
    
  .priceFields .totalPrice {
    color: #900000;
  }
  
    .priceFields .totalPrice label,
    .priceFields .totalPrice input {
      color: red !important;
      font-size: 1.4em;
      font-weight: bold;
    }