/* Universal
--------------------------------------------------------------------------------------------------*/

body {
	background-color: #fafafa;
	font: 12px/1.5 'Lucida Grande', Verdana, Arial, sans-serif;
	color: #666;
}

a         { color: #d2b700; }
a:focus   { outline: 1px dotted invert; }
a:hover   { color: #a38e00; }
a:visited { color: #d2b700; }

hr {
	border-color: #ccc;
	border-style: solid;
	border-width: 1px 0 0;
	clear: both;
	height: 0;
}

#footer {
	font-size: 11px;
	text-align: center;
	margin: 18px auto;
}

#footer a {
	color: #555;
}


/* Forms
--------------------------------------------------------------------------------------------------*/

table.form-table {
	border: none;
	border-top: 1px solid #ddd;
}

table.form-table tbody tr th {
	background-color: #fafafa;
	border-bottom: 1px solid #ddd;
	text-align: left;
	padding: 5px 5px 5px 10px;
	vertical-align: middle;
}

table.form-table tbody tr td {
	border-bottom: 1px solid #ddd;
	padding: 5px 5px 5px 10px;
	vertical-align: middle;
}

/* TODO: better error lists, someday */
table.form-table ul.errorlist {
	margin: 0 0 4px;
	padding: 3px 10px;
	background-color: #fdfae8;
}

table.form-table ul.errorlist li {
	font-size: 11px;
	margin: 0;
	padding: 0;
	list-style: none;
}

p.submit {
	
}

/* Fancy Headings
--------------------------------------------------------------------------------------------------*/

h1 {
	margin: 40px 0 20px;
	padding: 0;
	line-height: 0;
	padding-bottom: 15px;
	border-bottom: 1px solid #f2f2f2;
	text-indent: -9999em;
	height: 41px;
}

h1#the-cal-poly-triathlon-team {
	background: transparent url('images/titles/the-cptri-team.gif') top center no-repeat;
}
h1#about-the-cal-poly-tri-team {
	background: transparent url('images/titles/about-the-cal-poly-tri-team.gif') top center no-repeat;
}
h1#events-races {
	background: transparent url('images/titles/events-races.gif') top center no-repeat;
}
h1#workouts {
	background: transparent url('images/titles/workouts.gif') top center no-repeat;
}
h1#create-account {
	background: transparent url('images/titles/create-account.gif') top center no-repeat;
}
h1#great-success {
	background: transparent url('images/titles/great-success.gif') top center no-repeat;
}
h1#login {
	background: transparent url('images/titles/login.gif') top center no-repeat;
}
h1#logged-out {
	background: transparent url('images/titles/loggedout.gif') top center no-repeat;
}
h1#chainsoflove {
	background: transparent url('images/titles/chainsoflove.gif') top center no-repeat;
}
h1#join_cptri {
	background: transparent url('images/titles/join_cptri.gif') top center no-repeat;
}
h1#reset_password {
	background: transparent url('images/titles/reset_password.gif') top center no-repeat;
}

h2#sponsors {
	margin: 70px 0 20px;
	padding: 0;
	line-height: 0;
	padding-bottom: 12px;
	border-bottom: 1px solid #fff;
	text-indent: -9999em;
	height: 14px;
	width: 185px;
	background: transparent url('images/titles/team-sponsors.gif') top left no-repeat;
}


/* Accounts Bar
--------------------------------------------------------------------------------------------------*/

#accounts {
	background-color: #f7d700;
	height: 18px;
}
#accounts .container {
	height: 18px;
	font-size: 11px;
	line-height: 18px;
	text-align: right;
}

#accounts a {
	color: #444;
	margin: 0 0 0 8px;
}


/* Logged-in User Stuff
--------------------------------------------------------------------------------------------------*/

a.edit {
	text-decoration: none;
	background-color: #eee;
	border: 1px solid #ccc;
	font-size: 11px;
	padding: 1px 4px;
	color: #666;
}
a.edit:hover {
	border: 1px solid #aaa;
	background-color: #bbb;
	color: #333;
}

/* Header
--------------------------------------------------------------------------------------------------*/

#header {
	position: relative;
	height: 90px;
}

#logo {
	display: block;
	width: 410px;
	height: 46px;
	overflow: hidden;
	
	position: absolute;
	left: -19px;
	top: 28px;
	
	background: transparent url('images/header-logo.gif') top left no-repeat;
	text-indent: -9999em;
}
#logo:hover {
	background-position: 0 -46px;
}

#nav {
	list-style: none;
	font-size: 0;
	line-height: 14px;
	
	position: absolute;
	right: 0;
	bottom: 27px;
	
	text-align: right;
}

#nav li {
	display: inline;
}

#nav li a {
	background-color: #ccc;
	padding: 3px 20px 4px;
	color: #fff;
	font-weight: bold;
	font-size: 11px;
	text-decoration: none;
	letter-spacing: 1px;
	margin-right: 1px;
}
#nav li.active a,
#nav li a:hover {
	background-color: #999;
}

/* Layouts
--------------------------------------------------------------------------------------------------*/

/* Content + Sponsor Sidebar */

#content-with-sponsors {
	/* Fake equal-height columns */
	background: white url('images/content-with-sponsors-bg.gif') top right repeat-y;
	
	-moz-box-shadow: 0 4px 18px #aaa;
	-webkit-box-shadow: 0 4px 18px #aaa;
	box-shadow: 0 4px 18px #aaa;
}

#content-with-sponsors #content {
	float: left;
	width: 625px; /* span-16 */
	margin-right: 15px;
	padding-right: 40px; /* append-1 */
	padding-left: 40px; /* prepend-1 */
	padding-bottom: 40px;
	background-color: #fff;
}

#sponsors-sidebar {
	float: left;
	width: 185px;
	padding: 0 20px 50px;
	
	text-align: center;
	font-size: 11px;
	
	background-color: #f2f2f2;
}

/* Content (plain) */

#content-plain {
	background-color: white;
	
	-moz-box-shadow: 0 4px 18px #aaa;
	-webkit-box-shadow: 0 4px 18px #aaa;
	box-shadow: 0 4px 18px #aaa;
}

#content-plain #content {
	float: left;
	width: 865px; /* span-22 */
	padding-right: 40px; /* append-1 */
	padding-left: 40px; /* prepend-1 */
	padding-bottom: 40px;
	background-color: #fff;
}

/* Sponsors Sidebar
--------------------------------------------------------------------------------------------------*/

p.sponsors-logos {
	text-align: center;
}

p.sponsors-logos a {
	display: inline-block;
	margin-bottom: 18px;
}

p.sponsors-logos a:hover {
	margin: -10px -10px 8px;
	padding: 10px;
	background-color: #ececec;
}

/* About Page
--------------------------------------------------------------------------------------------------*/

.subscribe-email-box {
	border: 1px solid #ddd;
	border-right: 2px solid #aaa;
	border-bottom: 2px solid #aaa;
	padding: 5px 20px;
	
	margin-bottom: 20px;
}

.subscribe-email-box h3 {
	border-bottom: 1px solid #ddd;
	margin: -5px -20px 10px;
	padding: 6px 20px 6px;
	background-color: #f2f2f2;
	
	font-size: 13px;
}

.subscribe-email-box h3 a {
	font-size: 12px;
	margin-top: 0;
	float: right;
}

.subscribe-email-box p.submit {
	text-align: right;
	margin: 5px 0 5px;
}

/* Event Page
--------------------------------------------------------------------------------------------------*/

td.month {
	padding: 5px 0;
	
	background-color: #f6f6f6;
	font-weight: bold;
	text-align: center;
	
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

/* Workouts - Season View */

table.season-list { width: 50%;}

table.season-list thead tr th {
	background-color: #fafafa;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	text-align: left;
	padding: 5px 5px 5px 10px;
}
table.season-list tbody tr td {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	padding: 5px 5px 5px 10px;
}

/* Workouts - Week View
--------------------------------------------------------------------------------------------------*/

.workouts-week-title-bar {
	position: relative;
	background-color: #fafafa;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	
	margin-bottom: 20px;
}

.workouts-week-title-bar h2 {
	margin: 5px 0;
	font-size: 16px;
	color: #666;
	text-align: center;
	font-weight: bold;
}

.workouts-week-title-bar .previous-week {
	position: absolute;
	left: 12px;
	line-height: 36px;
	color: #baa200;
}

.workouts-week-title-bar .next-week {
	position: absolute;
	right: 12px;
	line-height: 36px;
	color: #baa200;
}

p.week-description {
	font-size: 11px;
	font-style: italic;
}

/* Workouts - table */

table.workouts-week {
	margin-bottom: 30px;
}

table.workouts-week thead tr th {
	background-color: #fafafa;
	border: 1px solid #ddd;
}
table.workouts-week thead tr th.today {
	background-color: #e8f4df;
}

table.workouts-week tbody tr td {
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
	padding: 5px;
}
table.workouts-week tbody tr td.today {
	background-color: #f8fcf5; /*green-ish*/
}
table.workouts-week tbody tr td.today li a {
	border: 1px solid #ccc;
}

table.workouts-week ul.practices {
	list-style: none;
	margin: 0;
	padding: 0;
}

table.workouts-week ul.practices li {
	margin: 0 0 12px;
	background-color: #fff;
}

table.workouts-week ul.practices li a {
	display: block;
	text-align: right;
	padding-right: 6px;
	text-decoration: none;
	border: 1px solid #eee;
	
	background: transparent url(images/workout-icons/run.gif) 10px 10px no-repeat;
}
table.workouts-week ul.practices li a:hover {
	border-color: #bbb;
	
	-moz-box-shadow: 0 0 3px #ccc;
	-webkit-box-shadow: 0 0 3px #ccc;
	box-shadow: 0 0 3px #ccc;
}


table.workouts-week ul.practices li.swim a {
	background-image: url(images/workout-icons/swim.gif);
	background-position: 8px 15px;
}
table.workouts-week ul.practices li.bike a {
	background-image: url(images/workout-icons/bike.gif);
	background-position: 7px 8px;
}
table.workouts-week ul.practices li.run a {
	background-image: url(images/workout-icons/run.gif);
}
table.workouts-week ul.practices li.other a {
	background-image: url(images/workout-icons/other.gif);
	background-position: 8px 8px;
}

table.workouts-week ul.practices li a span {
	display: block;
	line-height: 1.3;
	margin: 0;
	padding: 0;
}

table.workouts-week ul.practices li a span.sport {
	font-size: 18px;
	font-weight: bold;
	padding: 3px 0 0;
}
table.workouts-week ul.practices li a:hover span.sport {
	text-decoration: underline;
}
table.workouts-week ul.practices li a span.time {
	color: #999;
	font-size: 13px;
	padding: 0 0 7px;
}
table.workouts-week ul.practices li a span.location {
	color: #666;
	background-color: #fcfaeb;
	border-top: 1px solid #fcef97;
	padding: 2px;
	font-size: 11px;
	text-align: center;
	margin-right: -6px;
}

/* Workouts - Practice View
--------------------------------------------------------------------------------------------------*/

.practice-title-bar {
	position: relative;
	background-color: #fafafa;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	
	margin-bottom: 20px;
}

.practice-title-bar h2 {
	margin: 5px 0;
	font-size: 16px;
	color: #666;
	text-align: center;
	font-weight: bold;
}

.practice-title-bar .week-link {
	position: absolute;
	left: 12px;
	line-height: 36px;
	color: #baa200;
}

.workouts {
	margin-bottom: 30px;
}

.workout {
	float: left;
	width: 50%;
	border: 1px solid #ddd;
}

.workouts.num_workouts_1 .workout {
	float: none;
	margin: 0 auto;
}

.workouts.num_workouts_2 .workout {
	width: 48%;
}
.workouts.num_workouts_2 .workout.second {
	float: right;
}

.workouts.num_workouts_3 .workout {
	width: 30.666%;
}
.workouts.num_workouts_3 .workout.second {
	float: left;
	margin-left: 4%;
}
.workouts.num_workouts_3 .workout.third {
	float: right;
}

.workout h3 {
	margin: 0;
	font-size: 16px;
	background-color: #eee;
	color: #333;
	border-bottom: 1px solid #ddd;
	text-align: center;
	line-height: 2;
}
.workout.green-group h3 {
	background-color: #effde8;
}
.workout.white-group h3 {
	background-color: #fff;
}
.workout.gold-group h3 {
	background-color: #fdfae8;
}
.workout.elite-group h3 {
	background-color: #eff4fd;
}

.workout dl.workout-attributes {
	font-size: 11px;
	padding: 5px 15px 1px;
	margin: 0;
	background-color: #fafafa;
	border-bottom: 1px solid #ddd;
}
.workout dl.workout-attributes dt {
	float: left;
	width: 80px;
	text-align: right;
}
.workout dl.workout-attributes dd {
	margin-left: 90px;
	margin-bottom: 5px;
}

.workout h4 {
	color: #666;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	padding: 5px 15px;
	border-bottom: 1px solid #ddd;
	border-top: 1px solid #ddd;
	margin-top: -1px;
	margin-bottom: 0;
}

p.workout-details {
	margin-bottom: 0;
	padding: 5px 15px;
}

/* Server messages. TODO: need a more semantic way of doing this. */

p.server-message {
	padding: 10px 20px;
	background-color: #fdfbef;
	border: 1px solid #ddd;
	font-size: 16px;
}

/* Extra links bar */

.links-bar {
	position: relative;
	background-color: #fafafa;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	padding: 3px 12px;
	font-size: 11px;
}
.links-bar a {
	margin: 0 12px 0 0;
	color: #968300;
	text-decoration: none;
}
.links-bar a:hover {
	text-decoration: underline;
}