@import url("reset.css");

/** BODY */

body {
  background-attachment: fixed;
  background-color: #000;
  background-position: top center;
  background-repeat: no-repeat;
  color: #000e1a;
  font: normal 15px/18px Helvetica, Arial, sans-serif;
}

/** BODY: Themes */

body.open-water #content-wrap { 
  background: #5b4d44 url(../images/backgrounds/open-water.jpg) top center no-repeat; 
}

body.swimmers #content-wrap { 
  background: #2a2e37 url(../images/backgrounds/swimmers.jpg) top center no-repeat; 
}

body.biking #content-wrap { 
  background: #78756e url(../images/backgrounds/biking.jpg) top center no-repeat; 
}

body.marathon #content-wrap { 
  background: #536069 url(../images/backgrounds/marathon.jpg) top center no-repeat; 
}

body.trail #content-wrap { 
  background: #2d250d url(../images/backgrounds/trail.jpg) top center no-repeat; 
}

/** PAGE LAYOUT */

#masthead-wrap, #main-wrap, #footer-wrap { width: 100%; }

#masthead, #content, #footer {
  margin: 0 auto;
  width: 940px;
}

/** PAGE LAYOUT: Masthead */

#masthead-wrap {
  background: transparent url(../images/masthead-background.jpg) top center repeat-x;
  border-top: 10px solid #000;
  border-bottom: 5px solid #000;
  /* Positioning is necessary for IE z-index stacking bug. */
  position: relative;
  z-index: 100;
}

#masthead {
  position: relative;
}

#masthead a#branding {
  background: transparent url(../images/branding.png) center center no-repeat;
  display: block;
  height: 70px;
  width: 215px;
  text-indent:-9999px;
}

#masthead .navigation {
  position: absolute;
  right: 0;
  top: 20px;
}

#masthead .navigation > li {
  float: left;
  position: relative;
}

#masthead .navigation > li > a {
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border: 3px solid #000;
  background-color: #000;
  color: #fff;
  display: block;
  float: left;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: -1px;
  margin-left: 7px;
  padding: 4px 8px;
}

#masthead .navigation > li > a:hover,
#masthead .navigation > li > a.submenu-expanded {
  border-color: #4da5e6;
}

#masthead .navigation > li.has-submenu > a.submenu-expanded {
  -moz-border-radius-bottomleft: 0;
  -moz-border-radius-bottomright: 0;
  -webkit-border-bottom-left-radius: 0;
  -webkit-border-bottom-right-radius: 0;
  border-bottom-color: #000;
}

#masthead .navigation > li > a.active,
body.news #masthead .navigation > li.news > a,
body.calendar #masthead .navigation > li.calendar > a,
body.classifieds #masthead .navigation > li.classifieds > a,
body.contact #masthead .navigation > li.contact > a,
body.media #masthead .navigation > li.media > a,
body.membership #masthead .navigation > li.membership > a,
body.resources #masthead .navigation > li.resources > a {
  background: url(../images/navigation-item-background.gif) top left repeat-x;
  border-color: #fff;
}

#masthead .navigation .submenu {
  -moz-border-radius-topright: 5px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 5px;
  -webkit-border-top-right-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  background-color: #000;
  position: absolute;
  top: 32px;
  left: 7px;
  padding: 5px 10px;
  width: 110px;
  z-index: 5;
}

#masthead .navigation .submenu li {
}

#masthead .navigation .submenu li a {
  color: #fff;
  line-height: 25px;
}

#masthead .navigation .submenu li a:hover {
  font-weight: bold;
}

/** PAGE LAYOUT: Content */

#content-wrap {
  background-color: #111;
}

#content-background {
  background: transparent url(../images/content-background.png) top center no-repeat;
  margin: 0 auto;
  padding: 15px 0 0 0;
  width: 960px;
}

#content {
  background-color: #fff;
  padding: 15px 0 0 0;
  position: relative;
  z-index: 1;
}

/** PAGE LAYOUT: Primary Content */

#primary-content {
  min-height: 1700px;
  padding: 0 40px 40px 40px;
  width: 560px;
}

/** PAGE LAYOUT: Secondary Content */

#secondary-content {
  border-left: 1px solid #dedede;
  border-right: 1px solid #dedede;
  bottom: 0;
  left: 640px;
  margin-top: 35px;
  position: absolute;
  top: 15px;
  width: 286px;
}

#secondary-content #upcoming-events h3 {
  -moz-border-radius-topleft: 8px;
  -moz-border-radius-topright: 8px;
  -webkit-border-radius: 8px;
  background-color: #7cc576;
  color: #fff;
  font-size: 15px;
  line-height: 18px;
  margin: -35px -1px 0 -1px;
  padding: 8px 10px 8px 10px;
}

#secondary-content #upcoming-events dl {
  background: transparent url(../images/upcoming-events/background.gif) top center no-repeat;
  font-size: 16px;
  font-weight: bold;
}

#secondary-content #upcoming-events dl dt {
  background: transparent url(../images/upcoming-events/date-background.png) center center no-repeat;
  display: block;
  float: left;
  margin: 10px;
  height: 52px;
  width: 52px;
}

#secondary-content #upcoming-events dl dt span {
  color: #fff;
  display: block;
  text-align: center;
}

#secondary-content #upcoming-events dl dt span.month {
  line-height: 26px;
}

#secondary-content #upcoming-events dl dt span.day {
  font-size: 34px;
  line-height: 20px;
}

#secondary-content #upcoming-events dl dd {
  background: transparent url(../images/upcoming-events/item-background.png) bottom right no-repeat;
  border-bottom: 1px solid #eeeeee;
  min-height: 42px;
  font-weight: bold;
  padding: 15px 25px 15px 70px;
}

#secondary-content #sponsors ul {
  margin-top: 10px;
}

#secondary-content #sponsors ul li {
  padding-bottom: 5px;
  text-align: center;
}

#secondary-content a {
  color: #000;
}

/** PAGE LAYOUT: Membership Prompt */

#membership-prompt a {
  background-color: #6fc26e;
  border-top: 1px solid #dedede;
  color: #fff;
  display: block;
  font-size: 16px;
  font-weight: bold;
  line-height: 18px;
  margin: 0 auto;
  padding: 10px;
  text-align: center;
  width: 920px;
}

/** PAGE LAYOUT: Footer */

#footer-wrap {
  background: transparent url(../images/masthead-background.jpg) top center repeat-x;
  border-bottom: 60px solid #000;
  border-top: 5px solid #000;
}

#footer {
  color: #fff;
  font-size: 12px;
  padding: 10px 0;
}

#footer p#copyright {
  float: left;
}

#footer ul.navigation {
  float: right;
}

#footer ul.navigation li {
  display: inline;
}

#footer ul.navigation li a {
  color: #fff;
  display: block;
  float: left;
  margin-left: 15px;
}

#footer ul.navigation li a:hover {
  color: #53abe8;
}

/** TEXT STYLES */

a {
  text-decoration: none;
}

.meta {
  color: #959595;
  font-size: 12px;
  margin-bottom: 15px;
}

/** TEXT STYLES: Primary Content */

#primary-content a {
  color: #53abe8;
  font-weight: bold;
  text-decoration: none;
}

#primary-content a:hover {
  border-bottom: 1px dotted #ccc;
}

#primary-content h1 {
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  background-color: #53abe8;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  line-height: 18px;
  padding: 8px 10px;
  margin-bottom: 20px;
}

img.icon {
  margin-right: 4px;
  vertical-align: top;
}

#primary-content h2 {
  font-size: 32px;
  line-height: 40px;
  margin-bottom: 10px;
}

#primary-content h2 a {
  color: #000;
}

#primary-content h2 a:hover {
  border-bottom: none;
}

#primary-content p {
  margin-bottom: 15px;
}

#primary-content p:last-child {
  margin-bottom: 0;
}

#primary-content p.empty {
  color: #999;
  margin: 75px 0;
  text-align: center;
}

#primary-content strong {
  font-weight: bold;
}

#primary-content em {
  font-style: italic;
}

/** FEATURE */

#feature {
  background-color: #fff;
  line-height: 0px;
  width: 960px;
  margin: 0 auto;
}

/** ENTRY LISTS */

ol.list li {
  background: transparent url(../images/list-item-background.png) bottom right no-repeat;
  border-bottom: 1px solid #dedede;
  margin: 20px -40px 0 -40px;
  min-height: 80px;
  padding: 0 40px 20px 40px;
}

ol.list li:last-child {
  border-bottom: none;
}

/** FORM STYLES */

form ul {
  list-style-type: none;
}

form ul li {
  border-bottom: 1px solid #eee;
  color: #555;
  font-size: 11px;
  padding: 10px 0;
  margin-left: 140px;
}

form ul li:last-child,
form ul li.buttons {
  border-bottom: 0;
}

form ul li label {
  color: #333;
  display: block;
  float: left;
  font-size: 13px;
  margin-left: -140px;
}

form ul li ul.errorlist li {
  color: #900;
  font-size: 11px;
  line-height: 30px;
  margin: 0;
  padding: 0;
}

form ul li .optional,
form ul li .help {
  color: #aaa;
  padding-left: 10px;
}

/** CALENDAR */

body.calendar #primary-content h2 {
  border-bottom: 1px solid #ccc;
  font-size: 22px;
}

body.calendar #primary-content ol {
  padding-bottom: 20px;
}

body.calendar #primary-content li {
  border-bottom: 1px solid #EEEEEE;
  padding: 15px;
}

body.calendar #primary-content li:last-child {
  border-bottom: none;
}

body.calendar #primary-content li h3 a {
  color: #000;
}

body.calendar #primary-content li .meta {
  margin-bottom: 5px;
}

body.calendar #primary-content li .description {
  color: #333;
  font-size: 12px;
}

/** CLASSIFIEDS */

body.classifieds #description,
body.classifieds #photos,
body.classifieds #contact-details {
  margin-bottom: 30px;
}

body.classifieds #photos h3,
body.classifieds #contact-details h3 {
  border-bottom: 1px solid #eee;
  line-height: 30px;
  margin-bottom: 10px;
}

body.classifieds #photos li {
  display: inline;
}

body.classifieds #photos li img {
  background-color: #eee;
  border: 1px solid #ccc;
  padding: 5px;
  vertical-align: middle;
}

/** BOARD */

body.board img.headshot {
  border: 1px solid #e0e0e0;
  float: left;
  margin: 0 15px 15px 0;
  padding: 3px;
}

/** MEDIA: VIDEOS */

body.video .body {
  text-align:center;
}

/** MEDIA: PHOTOS */

body.photo #primary-content ul.gallery {
  padding: 30px 0;
}

body.photo #primary-content ul.gallery li {
  display: inline;
}

body.photo #primary-content ul.gallery li a {
  display: block;
  float: left;
  height: 140px;
  width: 140px;
}

body.photo #primary-content ul.gallery li a:hover {
  border-bottom: 0;
}

/** TWITTER */

body.twitter #latest-tweets {
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  background-color: #f2f2f2;
  padding: 10px;
  margin-top: 20px;
}

body.twitter #latest-tweets h3 {
  border-bottom: 1px solid #ccc;
  padding: 5px;
}

body.twitter .tweet-list li {
  border-bottom: 1px solid #ddd;
  font-size: 13px;
  padding: 15px;
}

body.twitter .tweet-list li:last-child {
  border-bottom: none;
}

/** PAGINATION */

ul.pagination {
  margin: 40px 0 0 0;
  text-align: center;
}

ul.pagination li {
  color: #bbb;
  display: inline;
  margin: 0 100px;
}

/** ARCHIVES */

#primary-content ol.archive li {
  border-bottom: 1px solid #eee;
  padding: 10px 0;
}

#primary-content ol.archive a.title {
  color: #000;
}

#primary-content ol.archive .meta {
  display: inline;
  font-size: 11px;
}

/** MEMBERSHIP FORM */

body.membership form .introduction {
  font-size: 14px;
  margin-bottom: 15px;
}

/** COMMENTS */

#comments {
  margin-top: 30px;
}

body.comments #comments {
  margin-top: 0;
}

#comments h3 {
  border-bottom: 1px solid #ddd;
  padding-bottom: 5px;
}

#comments #comment-list li {
  border-bottom: 1px dotted #ddd;
  padding: 15px 5px;
}

#comments #comment-list li:last-child {
  border-bottom: none;
}

#comments #comment-list li.empty {
  color: #aaa;
  padding: 50px;
  text-align:center;
}

#comments #comment-list li .content {
  font-size: 12px;
}

#comments #comment-list li .content .removed {
  color: #777;
  font-weight: bold;
}

#comments #comment-list li .meta {
  font-size: 11px;
  margin: 5px 0 0 0;
}

#comments #comment-list li .meta a {
  color: #555;
  font-weight: normal;
}

#comments form {
  margin-top: 20px;
}

#comments form h4 {
  font-size: 13px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 5px;
  margin-bottom: 10px;
}

#comments .honeypot {
  display: none;
}

#secondary-content #blog-entries, 
#secondary-content #search-form {
	padding: 10px;
	margin-top: 10px;
}

#secondary-content #blog-entries li {
	border-top: 1px solid #eee;
	font-size: 13px;
	padding-top: 5px;
	margin-top: 5px;
}

#secondary-content #blog-entries li a {
	font-weight: bold;
}

#secondary-content #blog-entries li .publish-at {
	color: #aaa;
	font-size: 11px;
}

/** SEARCH */

body.search form.search {
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	background-color: #eee;
	padding: 10px;
	margin-bottom: 10px;
}

body.search form.search label {
	font-size: 12px;
	font-weight: bold;
}

body.search ul#search-results li {
	border-bottom: 1px solid #ddd;
	padding: 10px 0;
}

body.search ul#search-results li .url {
	color: #999;
	font-size: 11px;
	margin-bottom: 5px;
}

body.search ul#search-results li .abstract {
	color: #333;
	font-size: 12px;
}

body.search ul#search-results li .abstract a {
	font-size: 11px;
}

#secondary-content #search-form h3 {
	-moz-border-radius-topleft: 8px;
	-moz-border-radius-topright: 8px;
	-webkit-border-top-left-radius: 8px;
	-webkit-border-top-right-radius: 8px;
	background: #62baf7 url(../images/icons/search.png) 5px center no-repeat;
	border-bottom: 1px solid #eee;
	color: #fff;
	padding: 8px 10px;
}

#secondary-content #search-form form {
	-moz-border-radius-bottomleft: 8px;
	-moz-border-radius-bottomright: 8px;
	-webkit-border-bottom-left-radius: 8px;
	-webkit-border-bottom-right-radius: 8px;
	background: #f4f4f4;
	border: 1px solid #ddd;
	border-top: none;
	padding: 10px;
	text-align: center;
}