/* Table of Contents:
	- CSS Imports
	- Global Containers
	- Typography
	- Header Layout
	- Middle Layout
	- Footer Layout
*/

/* CSS Imports
--------------------------------------------------------------------------------------- */
/*@import url("gymbuddy-nav.css");*/
@import url("lightbox.css");

/* Global Containers
--------------------------------------------------------------------------------------- */
* {
	margin: 0;
	padding: 0;
	text-shadow: rgba(0,0,0,.01) 0 0 0; /* Safari Font Smoothing Fix */
}

body {
	font-family: Arial, Helvetica, sans-serif;
	text-align: center;
	background: #3a77b9 url(../img/body-bg.jpg) top left repeat-x;
}

.floatleft {
	float: left;
}

.floatright {
	float: right;
}

img.floatright {
	margin: 0 0 18px 18px;
}

.clear {
	clear: both;
}

hr.clear {
	visibility: hidden;
	margin: 0;
	padding: 0;
	size: 0;
	height: 0;
	border: 0;
}

.center {
	text-align: center;
}

.hidden {
	visibility: hidden;
}

clearfix:after {
	content: ".";  
	display: block; 
	height:  0;  
	clear: both; 
	visibility:  hidden;
}

/* Link Styles
--------------------------------------------------------------------------------------- */
a, a:link, a:active {
	color: #1568c2;
}

a:visited {
	color: #1568c2;
}

a:hover {
	color: #ee2e24;
}

a img {
	border: 0;
}
/* Header Layout
--------------------------------------------------------------------------------------- */
#header {
	width: 910px;
	height: 155px;
	background: url(../img/header-bg.png) bottom center no-repeat;
	padding: 0 40px 0 0;
	margin: 4px auto 0 auto;
}

h1 {
	margin: 0;
	float: left;
}

h1 img {

}

h1 span {
	visibility: hidden;
	position: absolute;
}

#nav {
	margin: 39px 0 0 0;
	float: right;
	font-size: 14px;
	line-height: 38px;
	letter-spacing: 1px;
	list-style: none;
	width: 489px; /* IE needs this for some reason */
}

#nav li {
	float: left;
}

#nav a {
	display: block;
	padding: 0 14px;
	text-decoration: underline;
	color: #c61836;
}

#nav a:hover {
	text-decoration: underline;
	color: #ff7f00;
}

#nav li.current a {
	color: #3976b9;
	background: url(../img/current-triangle.jpg) bottom center no-repeat;
	text-decoration: none;
}

#blog {
	float: right;
	margin: 20px 8px 0 0;
}

#blog a {
	display: block;
	width: 270px;
	height: 50px;
	background: url(../img/blog-link.jpg) top left no-repeat;
}

#blog a:hover {
	background-position: bottom left;
}

#blog em {
	visibility: hidden;
	position: absolute;
}

/* Middle Layout
--------------------------------------------------------------------------------------- */
#container {
	width: 870px;
	margin: 0 auto;
	padding: 0 40px;
	text-align: left;
}

#middle {
	width: 848px;
	padding: 0 11px;
	margin: 0;
	background: url(../img/middle-stretch.png) top center repeat-y;
	float: left;
}

#top {
	padding: 1px 8px 8px 8px;
	border-bottom: solid 1px #1568c2;
	width: 832px;
	float: left;
	background: #fff;
}

#top img {
	float: left;
}

#order {
	float: left;
	width: 231px;
	height: 134px;
	margin: 0 8px 0 0;
	padding: 16px 0 0 0;
	background: #84b1e0;
	text-align: center;
	font-weight: bold;
	color: #fff;
	font-size: 16px;
	line-height: 24px;
}

#order a {
	display: block;
	margin: 12px auto;
	width: 170px;
	height: 30px;
	background: url(../img/order-online.jpg) top left no-repeat;
} 

#order a:hover {
	background-position: bottom left;
}

#order a span {
	visibility: hidden;
	position: absolute;
}

#order strong {
	color: #333;
	font-size: 20px;
}


/* Left Column Layout ------ */
#leftcol {
	background: #84b1e0;
	border: solid 8px #fff;
	width: 231px;
	clear: left;
	float: left;
}

p.order {
	text-align: center;
	font-weight: bold;
	color: #fff;
	font-size: 16px;
	line-height: 36px;
	border-bottom: dashed 2px #fff;
	margin: 0 0 8px 0;
	padding: 8px 0;
}

p.quote {
	text-align: center;
	font-weight: bold;
	color: #fff;
	font-size: 14px;
	line-height: 18px;
	border-bottom: dashed 2px #fff;
	margin: 0 0 8px 0;
	padding: 24px 0 16px 0;
	background: url(../img/quote-open.jpg) top left no-repeat;
}

p.quote span {
	background: url(../img/quote-close.jpg) bottom right no-repeat;
	display: block;
	padding: 0 24px;
}

p.quote em {
	display: block;
	font-weight: normal;
	font-size: 12px;
	text-align: right;
	margin: 0 24px 8px 0;
}

p.quote a, p.fact a {
	display: block;
	font-weight: normal;
	text-align: center;
	color: #fff;
	margin: 0 0 8px 0;
}

p.fact {
	text-align: center;
	font-weight: bold;
	color: #fff;
	font-size: 16px;
	line-height: 20px;
	margin: 0;
	padding: 16px 24px;
}

p.fact a {
	font-size: 14px;
}

p.fact em {
	display: block;
	font-size: 36px;
	line-height: 40px;
}

p.testimonial {

}

p.testimonial span {
	font-size: 16px;
	line-height: 24px;
}

p.testimonial em {
	font-size: 14px;
	margin-top: 8px;
}

p.link {
	font-size: 16px;
	text-align: center;
	font-weight: bold;
}

p.link a {
	color: #fff;
}


/* Body Content Layout ------ */
#content {
	width: 784px;
	background: #fff;
	float: left;
	padding: 24px 32px 6px 32px;
}

#content.home {
	width: 600px;
	height: 610px;
	border-left: solid 1px #1568c2;
	padding: 0 0 6px 0;
	overflow: hidden;
}

#flash {
	width: 600px;
	height: 300px;
	margin: 0 0 12px 0;
}

#content.home p, #content.home h2 {
	margin-left: 32px;
	margin-right: 32px;
}

#content.home h3 {
	text-align: center;
	font-size: 24px;
}

#content.home p {
	font-size: 15px;
	line-height: 28px;
}
	
p, ul {
	font-size: 14px;
	line-height: 24px;
	margin: 0 0 14px 0;
	color: #333;
}

p strong {
	text-transform: uppercase;
	color: #14813e;
}

ul {
	margin-left: 18px;
}

ul li {

}

ul.float_list {
	float: left;
	width: 784px;
}

ul.float_list li {
	width: 260px;
	float: left;
}

h2 {
	font-family: "Arial Black", Arial, Helvetica, sans-serif;
	font-size: 36px;
	line-height: 36px;
	color: #1568c2;
	margin: 0 0 12px 0;
}

h3 {
	font-size: 16px;
	line-height: 20px;
	color: #14813e;
	margin: 0 0 4px 0;
}

h4 {
	font-size: 14px;
	line-height: 24px;
	margin: 0;
	color: #333;
}

#faq {
	list-style: none;
	font-weight: bold;
	margin-left: 0;
	color: #1568c2;
	font-size: 16px;
	line-height: 20px;
}

#faq li {
	border: solid 1px #1568c2;
	margin: 0 0 12px 0;
	background: #eee;
}

#faq li b {
	display: block;
	width: 752px;
	padding: 8px 15px;
	background: #eee;
	border-bottom: solid 1px #1568c2;
}

#faq ul {
	font-weight: normal;
	padding: 10px 15px 2px 15px;
	margin: 0;
	list-style: none;
	font-size: 14px;
	line-height: 18px;
	background: #fff;
}

#faq li li {
	border: none;
	float: none;
	margin: 0 0 8px 0;
	padding: 0;
	background: #fff;
}

#faq em {
	font-weight: bold;
}

#addcart {
	display: block;
	width: 200px;
	height: 50px;
	background: url(../img/add-to-cart.jpg) top left no-repeat;
	text-decoration: none;
	margin: 0 auto;
}

#addcart span {
	visibility: hidden;
}

#addcart:hover {
	background-position: bottom left;
}

#fit_nav {
	list-style: none;
	margin: 0 0 12px 0;
	width: 784px;
	float: left;
	font-weight: bold;
}

#fit_nav li {
	float: left;
	margin: 0 10px 0 0;
}

#fit_nav a {
	display: block;
	border: solid 1px #1568c2;
	padding: 2px 10px;
	text-decoration: none;
	color: #fff;
	background: #84b1e0;
}

#fit_nav a:hover {
	text-decoration: underline;
	border: solid 1px #1e4c30;
	background: #5da47a;
}

#fit_nav li.current a {
	color: #c61836;
	background: #fff;
	border: solid 1px #ccc;
}

table.nutrition {
	margin: 0 0 18px 0;
	border: solid 1px #1568c2;
}

table.nutrition th, table.nutrition td {
	font-size: 14px;
	line-height: 24px;
	color: #333;
	padding: 4px 6px;
	border-bottom: solid 1px #eee;
}

table.nutrition th {
	white-space: nowrap;
	font-weight: normal;
	text-align: left;
	color: #1568c2;
	background: #F8F8F8;
	border-right: solid 1px #eee;
}

table.nutrition td {
	text-align: right;
}

div.quotes {
	width: 784px;
	float: left;
	margin: 0 0 18px 0;
}

div.quotes p {
	width: 330px;
	margin: 2px 20px;
	padding: 15px 10px;
	float: left;
	text-align: center;
	height: 120px;
	font-weight: bold;
	color: #1568c2;
	font-size: 16px;
	border: 1px #ccc;
	border-style: solid none;
}

div.quotes p em {
	display: block;
	font-weight: normal;
	font-size: 12px;
	color: #666;
}

div.floatright {
	margin: 0 0 12px 24px;
}

div.floatright p {
	margin: 0;
	font-size: 12px;
	line-height: 16px;
	text-align: center;
}

#prod_imgs {
	float: left;
	width: 784px;
	margin: 0 0 12px 0;
	list-style: none;
}

#prod_imgs li {
	float: left;
	margin: 0 14px 0 0;
}

#prod_imgs a {
	display: block;
}

#prod_imgs a img {
	border: solid 1px;
}

div.testimonial {
	margin: 10px 0 20px 0;
	border: 1px #1568c2;
	border-style: solid none;
	padding: 10px 20px 0 20px;
}

div.col {
	margin-right: 44px;
	width: 330px;
	float: left;
	display: inline;
}

div.right {
	margin-right: 0;
}

div.testimonial p.byline {
	text-align: right;
	font-style: italic;
	line-height: 16px;
	color: #14813e;
	margin-right: 20px;
}

/* Contact Form Layout
--------------------------------------------------------------------------------------- */
#contact {
	float: right;
	display: inline;
	width: 380px;
	background: #eee;
	border: solid 1px #14813e;
	padding: 4px 12px;
	margin: 0 0 10px 24px;
}

#contact p, #contact fieldset {
	margin-bottom: 6px;
	font-size: 12px;
	line-height: 16px;
	margin: 0 0 8px 0;
}

#contact .required {
	font-weight: bold;
	color: #14813e;
}

#contact p label {
	float: left;
	width: 64px;
	text-align: right;
	margin: 0 6px 0 0;
}

#contact p span label {
	float: none;
	margin: 0 0 0 10px;
}

#contact p.company {
	display: none;
}

#contact p.option label {
	float: none;
	width: auto;
}

#contact p input, #contact p select, #contact p textarea {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	line-height: 16px;
	border: solid 1px #ccc;
	padding: 1px 2px;
}

#contact p textarea:focus, #contact p input:focus, #contact p select:focus {
	background: #ffc;
	border: solid 1px #999;
}

#submit {
	font-size: 14px;
	line-height: 18px;
	display: block;
	margin: 0 auto 6px auto;
}

#MESSAGE {
	width: 360px;
}

#realname, #ADDRESS, #ADDRESS2, #email {
	width: 275px;
}

#CITY {
	width: 200px;
}

#STATE {
	width: 40px;
}

#ZIP {
	width: 100px;
}

#PHONE, #FAX {
	width: 150px;
}

#contact p.note {
	text-align: center;
	padding: 4px 40px 0 40px;
	color: #666;
	border-top: dashed 1px #ccc;
}

#contact fieldset {
	border: 0;
}

#contact fieldset legend {
	margin: 0 0 4px 0;
	color: #000;
}

#contact p.check {
	text-align: center;
}

#contact p.check label {
	width: auto;
	margin: 0 0 0 4px;
	float: none;
}

/* Cart & Checkout Pages
--------------------------------------------------------------------------------------- */
p.price {
	font-style: italic;
	font-size: 12px;
	text-align: center;
	margin-bottom: 6px;
	margin-top: 18px;
}

p.price strong {
	font-size: 32px;
}

#cart {
	width: 784px;
	font-size: 12px;
	line-height: 16px;
	margin: 0;
	text-align: left;
	border: 1px #ccc;
	border-style: solid solid none solid;
	color: #333;
}

#cart th, #cart td {
	padding: 4px 6px;
	white-space: nowrap;
}

#cart th {
	font-weight: bold;
	color: #14813e;
	vertical-align: bottom;
	white-space: nowrap;
	border-bottom: solid 2px #14813e;
	border-right: dashed 1px #ddd;
}

#cart td {
	vertical-align: middle;
	border-bottom: solid 1px #ccc;
	border-right: dashed 1px #ddd;
	font-size: 14px;
}

#cart td.list, #cart td.price, #cart td.save, #cart th.list, #cart th.price, #cart th.save {
	text-align: right;
}

#cart td.desc {
	white-space: normal;
	font-weight: bold;
	width: 500px;
}

#cart td.desc span {
	font-weight: normal;
	font-size: 12px;
}

#cart td.list {
	text-decoration: line-through;
	font-size: 11px;
	padding-top: 5px;
	color: #777;
}

#cart td.price {
	font-size: 16px;
	color: #900;
	font-weight: bold;
}

#cart th.qty, #cart td.qty, #cart th.sub, #cart td.sub {
	border-right: none;
}

#cart input {
	font-family: "Courier New", Courier, monospace;
	font-size: 14px;
	line-height: 16px;
	text-align: right;
	width: 43px;
	background: #fefee6;
	border: solid 1px #ccc;
	padding: 1px;
}

#cart th.qty, #cart td.qty {
	border-right: dashed 1px #ddd;
	text-align: center;
}

#cart th.qty span, #cart td.qty span {
	display: block;
	font-size: 10px;
}

ul.totals {
	text-align: right;
	list-style: none;
	font-size: 16px;
	color: #900;
	font-weight: bold;
	margin: 0;
	padding: 10px 5px 0 5px;
	width: 225px;
	float: right;
	display: inline;
	border: 1px #ccc;
	border-style: none solid solid solid;
	background: #f6f6f6;
}

ul.totals li {
	padding: 4px 2px;
}

ul.totals li.total {
	border-top: solid 1px #000;
	font-size: 16px;
	padding-top: 8px;
	color: #14813e;
}

ul.totals li.total span {
	font-size: 16px;
}

ul.totals li.button {
	padding: 0;
}

ul.totals span {
	text-align: left;
	float: left;
	display: inline;
	width: 100px;
	font-size: 14px;
}

p.proceed {
	clear: right;
	float: right;
	text-align: center;
	display: inline;
	margin: 0;
	width: 237px;
	overflow: hidden;
}

#checkout, #submitorder {
	font-size: 16px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	margin: 10px 0 30px 0;
}

#submitorder {
	background: url(../img/button-submit-order.png) top left no-repeat;
}

#top.hide {
	padding: 0 8px;
	border: 0;
}

#checkout:hover, #submitorder:hover {
	background-position: bottom left;
	cursor: pointer;
}

#cart img.floatleft {
	margin: 15px 0 0 0;
}

p.ccards {
	font-size: 12px;
	clear: right;
	text-align: right;
	line-height: 20px;
}

p.secure {
	clear: both;
	float: left;
	width: 200px;
	display: inline;
}

#progress {
	list-style: none;
	float: left;
	display: inline;
	width: 784px;
	background: #ccc;
	font-weight: bold;
	margin-left: 0;
	font-size: 12px;
}

#progress li {
	float: left;
	padding: 4px 40px 4px 10px;
	margin: 0;
	color: #fff;
	border-right: solid 1px #fff;
	background: #999;
}

#progress li.current {
	background: #14813e;
}

#progress li.complete {
	background: #ccc;
}

div.checkout, div.next {
	width: 375px;
	height: 250px;
	float: left;
	display: inline;
	border: solid 1px #14813e;
	margin: 0 30px 15px 0;
}

div.right {
	margin-right: 0;
}

div.checkout h3 {
	background: #14813e;
	padding: 4px 15px 4px 15px;
	margin: 0 0 8px 0;
	color: #fff;
}

div.checkout p {
	font-size: 12px;
	line-height: 14px;
	margin: 0 15px 8px 15px;
}

#username, #password {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	width: 225px;
}

p.sign_in {
	text-align: center;
	margin: 0;
	border-top: dashed 1px #ccc;
	padding: 10px 0;
}

p.sign_in input, #create_acct, #noact, #next {
	font-size: 16px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	margin: 0 0 4px 0;
}

p.sign_in a {
	display: block;
}

div.signin p.button, div.next p.button {
	margin-bottom: 4px;
	text-align: center;
}

div.checkout, div.next {
	height: auto;
}

div.account {
	width: 708px;
}

div.checkout label {
	float: left;
	width: 80px;
	text-align: right;
	margin: 2px 6px 0 0;
}

div.account label {
	float: none;
	display: block;
	width: auto;
	text-align: left;
	margin: 0;
}

div.account div {
	width: 250px;
	float: left;
}

div.checkout input, div.checkout select, div.checkout textarea {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	border: solid 1px #999;
	padding: 1px;
}

div.checkout textarea:focus, div.checkout input:focus, div.checkout select:focus {
	background: #ffc;
	border: solid 1px #666;
}

div.checkout p.check {
	background: #eee;
	padding: 10px 15px;
	margin: 0;
}

div.checkout p.check label {
	float: none;
	display: inline;
	text-align: left;
	width: auto;
	margin: 0 0 0 4px;
}

div.checkout p span label {
	float: none;
	margin-left: 10px;
}

#email1, #email2, #pass1, #pass2 {
	width: 200px;
}

#bfname, #blname, #sfname, #slname, #bcity, #scity {
	width: 180px;
}

#badd1, #badd2, #sadd1, #sadd2, #email, #cardname, #realname {
	width: 220px;
}

#bstate, #sstate {
	width: 126px;
}

#expyear {
	width: 60px;
}

#bzip, #szip, #expmonth, #cvv {
	width: 40px;
}

#bphone, #sphone, #bfax, #sfax, #cardnumber, #phone {
	width: 120px;
}

div.next  {
	clear: both;
	margin-left: 200px;
	background: #eee;
	padding: 14px 0 10px 0;
	text-align: center;
}

div.payment {
	width: 538px;
	margin: 0 122px 10px 122px;
}

div.payment label {
	width: 90px;
}

div.payment p {
	margin-bottom: 10px;
	float: left;
}

div.checkout p.cardtype {
	font-weight: bold;
	line-height: 18px;
	width: 110px;
	float: left;
	line-height: 20px;
}

p.cardtype label {
	float: none;
	font-size: 14px;
	color: #14813e;
}

p.instructions {
	width: 440px;
	margin: 18px 0 0 15px;
}

h3 a.printer {
	font-weight: normal;
	float: right;
	font-size: 14px;
	background: url(../img/icon-print.png) center left no-repeat;
	padding: 0 0 0 20px;
}

#print {
	background: none;
	text-align: left;
	margin: 0;
}

#print #container {
	width: 740px;
	margin: 0;
}

#print div.checkout h2 {
	color: #000;
	background: #fff;
}

div.note p {
	font-size: 12px;
	line-height: 14px;
}

/* ERROR 
--------------------------------------------------------------------------------------- */
div.cleanError {
	float: left;
	background-color: #eeeeee;
	border: 1px solid #999999;
	background-image: url('../img/ErrorCircle.png');
	background-position: 5px 5px;
	background-repeat: no-repeat;
	margin: 0px auto 10px 0px;
	width: 100%;
}
div.cleanError h1 {
	width: 100%;
	color: #000;
	margin: 7px 10px 6px 80px;
	padding: 0;
	font-size: 20px;
	font-weight: bold;
}
div.cleanError p {
	width: 100% !important;
	color: #000 !important;
	margin: 4px 10px 6px 80px;
	padding: 0;
	font-size: 12px;
}

div.cleanError ul {
	width: auto;
	color: #000000;
	margin: 4px 10px 6px 100px;
	padding: 0;
}

div.cleanError ul li {
	color: #000000;
}

.formError {
	background: yellow !important;
}


/* Footer Layout
--------------------------------------------------------------------------------------- */
#footer {
	width: 848px;
	padding: 4px 11px 0 11px;
	height: 50px;
	background: url(../img/footer-bg.png) top center no-repeat;
	clear: left;
}

#footer address {
	font-style: normal;
	text-align: center;
	font-size: 11px;
	line-height: 16px;
	color: #333;
}