/* -----------------------------------------------------------------------------------------------------------------------
File Author:	Ryan Marincovich
Date Created:	2010.02.09
Client:			Life Time Fitness Athletic Events
File Purpose:	Framework style sheet
REVISIONS:
-------------------------------------------------------------------------------------------------------- */


/* ------------------------------  GLOBAL DEFS  -------------------------------------------------------- */

/* ------------------------------  RESETS  -------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
	outline: 0;
}
body {
	font-family: Arial, Helvetica, sans-serif;
	color: #000000;
	background-image: url(/_images/framework/bg.gif);
	background-position: top left;
	background-repeat: repeat-x;
	height: 100%;
}
ol, ul {
	list-style: none;
	margin: 0 0 12px 0;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
p { 
	padding: 0 0 11px 0; 
}
p.no-results {
	text-align: center;
	font-style: italic;
}
div.details {
	clear: left;
}
.details ol, .details ul {
	list-style: outside disc;
	margin: 0 0 11px 30px;
}
/* ------------------------------  END RESETS  ---------------------------------------------------- */

/* ------------------------------  GLOBAL IMG DEFS  ---------------------------- */
img {
	border: 0;
	display: block;
}
img.float-right {
	float: right;
}
img.float-left {
	float: left;
}
img.link-overlay {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 50;
}
/* ------------------------------  END GLOBAL IMG DEFS  ------------------------ */

/* ------------------------------  GLOBAL TEXT HEADER DEFS  ---------------------------- */
/* page header */
h1 {
	font-size: 1.125em;
	line-height: 1.375em;
}
h1.page-title {
	padding: 4px 0 15px 0;
	font-weight: bold;
}
h2 {
	font-size: 0.9375em;
	line-height: 1.625em;
}
h2#eventFilterDetails {
	padding: 14px 10px 16px 10px;
	font-weight: normal;
}
#schedule h2 { 
	padding: 0 0 5px 0; 
	float: left;
}
#schedule h2.padded { padding: 14px 0 5px 0; }
.volunteer-position h2 { padding: 0 0 3px 0; }

/* normal font size 11px */
h3, h4, h5, .regular-text, p, .details ol, .details ul, .drop-nav-panel li, a.header-link {
	font-size: 0.6875em;
	line-height: 1.375em;
}
h3.form-header { padding: 6px 0 0 0; }
/* ------------------------------  END GLOBAL TEXT HEADER DEFS  ------------------------ */
/* --------------------------- LINK DEFS ----------------------------------- */
a { font-weight: bold; color: #3080f9; }
a, a:visited { text-decoration: none; }
a:hover, a:active { text-decoration: underline; }
a.opposite, a:visited.opposite { text-decoration: underline; }
a.opposite:hover, a.opposite:active { text-decoration: none; }
a.light { font-weight: normal; }
a.green-normal { font-weight: normal; color: #bed63d; }
#footerBlog a { color: #f60; }
#footer a, .related-feed ul.header-bar a, .standings-table ul.header li.links a { color: #fff; font-weight: normal; }
a.header-link { 
	position: absolute;
	top: 11px;
	right: 0;
}
/* --------------------------- END LINK DEFS ------------------------------- */

/* --------------------------- TEXT DEFS ----------------------------------- */
p.page-text { padding: 6px 0 12px 0; }
.form-text { padding: 16px 0 0 0; }
.form-text span, .dynamic-form-text span { color: #c00; }
.no-records, .centered-text {
	padding: 6px 0 12px 0;
	text-align: center;
}
.alt-row { background-color: #e5e5e5; }
.related-feed .alt-row { background: #fff url(/_images/framework/hdivider.gif) top left repeat-x; }
.eligible { font-weight: bold; color: #4da228; }
.ineligible { color: #c00; }
/* --------------------------- END TEXT DEFS ------------------------------- */

/* --------------------------- ERROR DEFS ---------------------------------- */
#errorPageContainer {
	padding: 20px 15px;
}
.textError {
	width: 100%;
	font-size: 12px;
	font-weight: bold;
	color: #c00;
	background-color: #fee;
	padding: 0 0 10px 0;
}
.textError h1 {
	padding: 10px;
	font-size: 18px;
	font-weight: bold;
	color: #000;
	float: left;
}
.textError ul {	padding: 5px 10px; }
.textError a { text-decoration: underline; }
.textError a.back { padding: 0 10px; }
.textErrorSmall {
	font-size: 11px;
	padding: 5px;
	color: #c00;
}
.form-row-error, .form-error-alert {
	width: 100%;
	border-top: 1px solid #c00;
	border-bottom: 1px solid #c00;
	background: #fcc url(/_images/framework/error-form-left.gif) top left repeat-y;
	float: left;
}
.form-error-alert, .form-confirm-alert { margin: 0 0 15px 0; }
.form-error-mod, .form-error-mod-alert {
	background: url(/_images/framework/error-form-right.gif) top right repeat-y;
	float: left;
}
.form-error-mod { 
	width: 100%;
	padding: 0 0 5px 0; 
}
.form-error-mod-alert { 
	width: 680px;
	padding: 10px; 
}
span.error-message {
	color: #c00;
	padding: 0 0 0 25px;
	background-image: url(/_images/framework/error-form-icon.gif);
	background-position: top left;
	background-repeat: no-repeat;
	font-weight: bold;
	text-align: left;
	float: left;
}
.form-confirm-alert {
	width: 100%;
	border-top: 1px solid #390;
	border-bottom: 1px solid #390;
	background: #dafbca url(/_images/modules/confirm-form-left.gif) top left repeat-y;
	float: left;
}
.form-confirm-mod {
	width: 680px;
	padding: 10px;
	background: url(/_images/modules/confirm-form-right.gif) top right repeat-y;
	float: left;
}
span.confirm-message {
	padding: 11px 0 0 10px;
	text-align: left;
	float: left;
}
/* --------------------------- END ERROR DEFS ------------------------------ */

/* --------------------------- FIXES FOR IE6 ------------------------------ */
.clearfix:after {
     content: " "; 
     display: block; 
     height: 0; 
	 font-size: 0;
     clear: both; 
     visibility: hidden;
}
.clearfix {display: inline-block;}
/* Hides from IE-mac \*/

* html .clearfix {height: 1%;}
.clearfix {display: block;}

/* End hide from IE-mac */

/* --------------------------- END FIXES FOR IE6 -------------------------- */

/* --------------------------- OVERLAY DEFS -------------------------- */
#mainOverlay {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	visibility: hidden;
	z-index: 900;
}
#overlayBG {
	width: 100%;
	height: 100%;
	background-repeat: repeat;
}
.overlay-container {
	width: 620px;
	padding: 70px 0 0 0;
	margin: 0 auto;
	position: relative;
}
.overlay-layer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.overlay-header {
	width: 100%;
	height: 50px;
	background-position: top left;
	background-repeat: no-repeat;
	float: left;
}
.overlay-body h2 {
	padding: 14px 30px 0 30px;
}
img.close { margin: 20px 20px 0 0; }
#photoGalleryAddThis, #videoPlayerAddThis { margin: 20px 10px 0 0; }
img.close, #photoGalleryAddThis, #videoPlayerAddThis {
	float: right;
	display: inline;
	position: relative;
}
img.head {
	margin: 10px 0 0 20px;
	float: left;
	display: inline;
}
.overlay-body {
	width: 100%;
	background-position: top left;
	background-repeat: repeat-y;
	float: left;
}
.overlay-body h1 {
	padding: 15px 0 4px 0;
}
.overlay-body p {
	padding: 12px 0;
	text-align: center;
}
.overlay-gradient {
	width: 500px;
	margin: 0 auto;
	padding: 0 40px;
	background: url(/_images/overlay/gradient.gif) bottom left no-repeat;
}
.overlay-footer {
	width: 100%;
	height: 20px;
	float: left;
}
#videoPlayer, #photoGallery {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	visibility: hidden;
}
#videoFrame {
	width: 560px;
	padding: 13px 0px 0px 0px;
	margin: 0px auto;
}
#photoGalleryFlash {
	width: 560px;
	margin: 13px auto 0 auto;
	background-color: #000;
}
#videoFrame, #photoGalleryFlash {
	border: none;
	text-align: center;
	position: relative;
}
#galleryLinks {
	width: 150px;
	margin: 10px 30px 0 0;
	padding: 0;
	float: right;
	display: inline;
	text-align: left;
	background: url(/_images/framework/hdivider.gif) top left repeat-x;
	position: relative;
}
#galleryLinks a { 
	width: 100%;
	padding: 6px 0 4px 0;
	float: left;
	background: url(/_images/framework/hdivider.gif) bottom left repeat-x;
}
#galleryInstructions {
	width: 390px;
	padding: 7px 0 0 30px;
	text-align: left;
	float: left;
	display: inline;
}
/* --------------------------- END OVERLAY DEFS ---------------------- */

/* ------------------------------  END GLOBAL DEFS  ---------------------------------------------------- */

/* ------------------------------  FRAMEWORK STYLES  -------------------------------------------------------- */
#container {
	width: 100%;
}
#globalBar { height: 30px; }
#headerBar { 
	height: 150px; 
	background-image: url(/_images_local/framework/bg-header.gif);
}
#homeBar {
	height: 360px;
	color: #797979;
	background-image: url(/_images_local/framework/bg-home.gif);
}
#breadcrumbBar {
	color: #797979;
	background-image: url(/_images/framework/bg-breadcrumb.gif);
	background-color: #d6d6d6;
}
#breadcrumbBar div.bottom-shadow {
	width: 100%;
	background: url(/_images/framework/bg-breadcrumb-shadow.gif) bottom center repeat-x;
}
.container-bar {
	width: 100%;
	background-position: top;
	background-repeat: repeat-x;
}
.content-width, .body-width {
	margin: 0 auto;
}
.content-width {
	width: 960px;
}
.body-width {
	width: 970px;
}
#header {
	width: 100%;
	height: 110px;
	float: left;
}
#bodyMinHeight {
	width: 1px;
	height: 250px;
	float: left;
	overflow: hidden;
}
#body {
	text-align: left;
	background: #fff;
}
#footerStandings {
	height: 235px;
	background-color: #000;
	background-image: url(/_images/framework/bg-footer-standings.gif);
}
#footer {
	padding: 0 0 20px 0;
	color: #fff;
	background-image: url(/_images_local/framework/bg-footer.gif); 
}
#footerStandings .body-width { position: relative; }
/* ------------------------------  SITE HEADER STYLES  ------------------------------------------------------ */
.header-sponsors {
	width: 220px;
	height: 110px;
	padding: 0 0 0 20px;
	float: left;
	display: inline;
	background: url(/_images_local/framework/divider-sponsors.gif) top left no-repeat;
}
.header-sponsors img.produced {
	margin: 0 0 0 10px;
	float: left;
	display: inline;
}
#breadcrumb {
	width: 950px;
	margin: 0 auto;
}
#homeBar #breadcrumb {
	padding: 10px 0 0 0;
}
#breadcrumb ul.chain {
	margin: 0;
	padding: 17px 0 0 5px;
	float: left;
}
#breadcrumb ul.chain li {
	padding: 0 5px 0 0;
	float: left;
	display: inline;
	font-weight: bold;
	color: #666;
}
#breadcrumb ul.chain li span {
	padding: 0 5px 0 0;
}
ul#socialBar {
	padding: 0 0 5px 0;
	margin: 5px 3px 0 0;
	float: right;
}
ul#socialBar li { 
	height: 40px;
	float: left; 
}
ul#socialBar li.divided { background: url(/_images/framework/vdivider.gif) top left repeat-y; }
ul#socialBar li.social { padding: 0 0 0 5px; }
ul#socialBar li.social img { 
	margin: 3px 0 0 1px;
	float: left;
	display: inline;
}
ul#socialBar li.padded { padding: 0 7px 0 8px; }
ul#socialBar li.padded img { margin: 10px 0 0 0; }

/* ------------------------------  END SITE HEADER STYLES  -------------------------------------------------- */

/* ------------------------------  FAMILY NAV, GLOBAL NAV  -------------------------------------------------- */
#familyLogo {
	width: 179px;
	height: 30px;
	float: left;
	background-position: bottom left;
	background-image: url(/_images/nav/logo.gif);
	background-repeat: no-repeat;
	position: relative;
}
ul#familyNavigation {
	margin: 0;
	padding: 0 1px 0 0;
	float: right;
	background: url(/_images/nav/vr.gif) top right no-repeat;
}
ul#familyNavigation ul.drop-nav-panel { right: 0; }
ul#familyNavigation li.image {
	height: 30px;
	margin: 0;
	padding: 0;
	float: left;
	background-position: bottom left;
	background-repeat: no-repeat;
	position: relative;
	z-index: 700;
}
ul#familyNavigation li#triathlon {
	width: 83px; 
	background-image: url(/_images/nav/triathlon.gif);
}
ul#familyNavigation li#running {
	width: 73px; 
	background-image: url(/_images/nav/running.gif);
}
ul#familyNavigation li#cycling {
	width: 68px; 
	background-image: url(/_images/nav/cycling.gif);
}
ul#familyNavigation li#kids {
	width: 46px; 
	background-image: url(/_images/nav/kids.gif);
}
ul#familyNavigation li#training {
	width: 75px; 
	background-image: url(/_images/nav/training.gif);
}
ul#globalNavigation {
	height: 40px;
	margin: 0 auto;
	padding: 0;
	clear: left;
}
ul#globalNavigation li {
	margin: 0;
	padding: 0;
	float: left;
	background-repeat: no-repeat;
	position: relative;
	z-index: 500;
}

ul#globalNavigation li span, #familyLogo span, ul#familyNavigation li span { display: none; }
ul#globalNavigation li.nav-on { 
	background-position: bottom left; 
	height: 40px;
}
ul#globalNavigation li.nav-off { 
	background-position: top left; 
	height: 40px;
}
ul#globalNavigation li a.global, #familyLogo a.graphic, ul#familyNavigation li a.graphic { 
	width: 100%;
	height: 100%;
	float: left;
}
li.nav-link {
	font-weight: bold;
	background-image: url(/_images/modules/wh-dot-divider.gif);
	background-position: bottom left;
	background-repeat: repeat-x;
	float: left;
}
li.nav-link a, li.nav-link span {
	width: 198px;
	padding: 4px 10px 5px 10px;
	float: left;
}
li.nav-link a { display: inline; }
li.nav-link span { display: none; }
ul.drop-nav-panel {
	position: absolute;
	width: 230px;
	margin: 0;
	float: left;
	visibility: hidden;
}
ul.drop-family {
	top: 30px;
	width: 270px;
	z-index: 600;
}
ul.drop-main { 
	top: 40px; 
	z-index: 500;
}
#familyLogoDrop { left: 0; }
ul.drop-family li { background: url(/_images/nav/bg-family-drop.gif) top left repeat-x; }
ul.drop-nav-panel li {
	width: 100%;
	margin: 0;
	float: left;
}
ul.drop-family li div.dead {
	width: 235px;
	padding: 4px 10px 5px 10px;
	margin: 0;
	float: left;
	display: inline;
	color: #999;
}
ul.drop-family a.drop-link, ul.drop-family a.drop-link-event {
	font-weight: normal;
	color: #fff;
}
ul.drop-family a.drop-link-event { width: 235px; }
ul.drop-family a.drop-link { width: 250px; }
ul.drop-main a.drop-link, ul.drop-main a.drop-link-event { 
	width: 210px;
	font-weight: normal;
}
ul.drop-nav-panel a.drop-link-event, ul.drop-nav-panel a.drop-link {
	padding: 4px 10px 5px 10px;
	margin: 0;
	float: left;
	display: inline;
}
ul.drop-main a.drop-link-event { 
	width: 210px;
	padding: 4px 10px 5px 10px; 
}
ul.drop-family a.drop-link-event { 
	width: 250px;
	padding: 4px 10px 5px 10px; 
}

ul.drop-nav-panel li .difficulty-meter {
	position: absolute;
	left: 5px;
	top: 3px;
	cursor: pointer;
}
/* ------------------------------  END 2NAV STYLES  -------------------------------------------------- */

/* --------------------------- COLUMN CONTAINERS ----------------------------------- */
ul#bodyColumns {
	width: 100%;
	margin: 0;
}
ul#bodyColumns li#mainColumn, ul#bodyColumns li#mainColumnHome {
	width: 590px;
	padding: 20px 0 25px 0;
	float: left;
}
/*ul#bodyColumns li#mainColumn { padding: 20px 0 25px 0; }
ul#bodyColumns li#mainColumnHome { padding: 16px 0 25px 0; }*/
li#mainColumn #content, li#mainColumnHome #content {
	width: 560px;
	padding: 0 0 0 15px;
}
* html ul#bodyColumns li#relatedColumn {
	margin: 0 0 0 602px;
}
ul#bodyColumns li#relatedColumn {
	width: 365px;
	margin: 0 0 0 605px;
}
li#mainColumn .relative, li#mainColumnHome .relative { position: relative; }
/* --------------------------- END COLUMN CONTAINERS ------------------------------- */

/* ------------------------------  END BODY STYLES  ---------------------------------------------------- */

/* ------------------------------  FOOTER STYLES  ------------------------------------------------------ */
#footerStandingsData {
	width: 480px;
	height: 220px;
	padding: 15px 0 0 5px;
}
#footerStandingsData ul.headers {
	width: 470px;
	margin: 0;
}
#footerStandingsData ul.headers, #footerStandingsData ul.headers li { float: left; }
#footerStandingsData ul.headers li.standings { width: 300px; }
#footerStandingsData ul.headers li.series { width: 160px; }
ul.footer-top-three {
	width: 220px;
	padding: 0 10px;
	margin: 0;
	float: left;
	display: inline;
}
ul.footer-top-three li {
	width: 100%;
	float: left;
	font-weight: bold;
}
ul.footer-top-three li span { padding: 0 5px 0 0; }
ul.footer-top-three li.name {
	width: 200px;
	padding: 2px 10px 3px 10px;
	vertical-align: top;
	color: #cbd1e8;
	background: #202f64;
	border-bottom: 5px solid #000;
}
p.footer-button {
	width: 100%;
	margin: 0;
	padding: 10px 0 0 0;
	float: left;
}
p.footer-no-results {
	width: 100%;
	margin: 0;
	padding: 15px 0 0 0;
	float: left;
	text-align: center;
	color: #fff;
}
p.footer-button a {
	width: 80px;
	height: 35px;
	margin: 0 auto;
	display: block;
}
#footerBlog {
	position: absolute;
	top: 0;
	right: 0;
	width: 480px;
	height: 250px;
	z-index: 100;
}
#footerBlogContents {
	width: 480px;
	height: 250px;
	background-position: top left;
	background-repeat: no-repeat;
}
.footer-blog-header {
	width: 450px;
	height: 35px;
	margin: 0 auto;
	padding: 5px 0 0 0;
	position: relative;
}
ul.footer-blog-links {
	width: 220px;
	margin: 0;
	float: right;
	color: #000;
}
ul.footer-blog-links li {
	padding: 11px 0 0 0;
	float: right; 
}
ul.footer-blog-links li a { position: relative; }
ul.footer-blog-links li.padded { padding: 11px 10px 0 10px; }
ul.footer-blog-links li.padded span { padding: 0 10px 0 0; }
ul.footer-blog-links li.icon { 
	width: 16px;
	padding: 10px 0 0 0; 
}
ul.footer-blog-links li.icon img { float: right; }
ul.footer-blog-articles {
	width: 450px;
	margin: 0 auto;
}
ul.footer-blog-articles li {
	width: 100%;
	height: 50px;
	position: relative;
	color: #d6d6d6;
}
ul.footer-blog-articles li p { padding: 6px 10px 0 10px; }
#footer ul.cols { margin: 0; }
#footer ul.cols li.column { 
	width: 230px;
	margin: 0;
	padding: 15px 0 0 10px;
	float: left;
	display: inline;
}
#footer ul.links { 
	margin: 0;
	padding: 11px 0 0 0; 
}
#footer ul.links li { 
	padding: 0 0 5px 0; 
}
#footer ul.links li img { 
	margin: 0 10px 0 0;
	float: left;
}
/* ------------------------------  END FOOTER STYLES  -------------------------------------------------- */
