/* ------------------------------ general styles ------------------------------ */
header, nav, section, article, aside, footer {
	display:block;
}
* {
	margin:0;
	padding:0;
}
body {
	font-family:sans-serif;
	color:#555;
	position:relative;
}
h1, h2, h3, h4, h5 {
	color:#f22;
	font-weight:bold;
}
h1 {font-size:1.8em; line-height:2.6em;}
h2 {font-size:1.6em; line-height:2.4em;}
h3 {font-size:1.4em; line-height:2.2em;}
h4 {font-size:1.2em; line-height:2.0em;}
h5 {font-size:1.0em; line-height:1.8em;}
h6 {font-size:0.8em; line-height:1.6em;}
p, section li {
	font-size:0.8em;
	line-height:1.5em;
}
section li {
	list-style: circle inside;
}
p, section ul, table {
	margin:0 0 1.2em 0;
}
section ul {
	padding:0 2em;
}
a:link, a:visited, a:active {
	color:#b30000;
}
a:hover {
	color:#f22;
}
img {
	outline:none;
	border:none;
	text-decoration:none;
}
.clearfloats {
	clear:both;
}
.floatleft {
	float:left;
}
.clearleft {
	clear:left;
}
::selection {
	background: #f22;
	color: #fff;
	text-shadow: none;
}

::-moz-selection {
	background: #f22;
	color: #fff;
	text-shadow: none;
}

/* ------------------------------ basic page format ------------------------------ */
header p { /*contact information line*/
	width:100%;
	margin:1em auto 0 auto;
	text-align:center;
	letter-spacing:.07em;
	font-size:1.1em;
	color:#fff;
	background:#777;
}
header p span {
	padding: 4px 1em;
	margin: 0 2px 0 0;
	border-left: 2px ridge #fff;
	border-right: 2px ridge #fff;
	display:inline-block;
}
nav {
	width:100%;
	margin:0 auto;
	text-align:center;
}
#logo {
	display:inline;
}
#logo img {
	height:5em;
	width:auto;
}
#navMenu {
	display:none;
}
nav ul {
	display:inline;
}
nav ul li {
	display:inline-block;
	vertical-align:top;
	padding:1.5em .5%;
	list-style-type:none;
	font-size:1.2em;
}
nav a:link, nav a:visited, nav a:active {
	color:#555;
	text-decoration:none;
	outline:none;
}
nav a:hover {
	color:#f22;
}
#socialMedia {
	display:inline-block;
	vertical-align:top;
	margin:1em 0 0 1em;
	height:40px;
}
#socialMedia img, #vidTrigger img {
	height:30px;
}
#socialMedia img:hover, #vidTrigger img:hover {
	-moz-border-radius:15px;
	-moz-box-shadow:1px 1px 5px #555;
	-o-border-radius:15px;
	-o-box-shadow:1px 1px 5px #555;
	-webkit-border-radius:15px;
	-webkit-box-shadow:1px 1px 5px #555;
	border-radius:15px;
	box-shadow:1px 1px 3px #555;
}
#container {
	width:80%;
	min-height:90%;
	margin:0 auto 5em;
}
section {
	width:100%;
	margin:0 2% 2em 2%;
}
section a img {
	float:left;
	margin-right:20px;
	height:150px;
	width:auto;
}
.quote {
	width:33%;
	float:right;
	border-left:#555 solid 1px;
	padding-left:2em;
	margin-left:2em;
}
.quote p {
	font-size:.9em;
}
/* ---------- three columns layout ---------- */
.threecolumns {
	float:left;
	width:28.3333333333%;
	margin-right:5%;
}
.threecolumns img {
	width:100%;
	margin-bottom:1.5em;
}
/* ---------- lightbox layout ---------- */
#lbBackdrop {
	opacity:0;
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	min-height:1024px;
	z-index:10;
	background:#000;
}
#vidLightbox {
	opacity:0;
	display:none;
	position:fixed;
	top:15px;
	margin:0 auto;
	text-align:center;
	width:70%;
	padding:0 5% 5% 5%;
	z-index:15;
	-moz-border-radius:10px;
	-o-border-radius:10px;
	-webkit-border-radius:10px;
	border-radius:10px;
	-moz-box-shadow:3px 3px 7px #555;
	-o-box-shadow:3px 3px 7px #555;
	-webkit-box-shadow:3px 3px 7px #555;
	box-shadow:3px 3px 7px #555;
	background:#F5F5DC;
}
#vidClose {
	opacity:0;
	display:none;
	position:absolute;
	top:-10px;
	left:-10px;
	color:#fff;
	background:#F55;
	padding:0 8px;
	-moz-border-radius:15px;
	-o-border-radius:15px;
	-webkit-border-radius:15px;
	border-radius:15px;
	border:#F5F5DC 3px solid;
	font-size:1.5em;
	text-decoration:none;
}
#vidlist {
	border-bottom:solid 1px #555;
	text-align:center;
	display:block;
	overflow-x:scroll;
	overflow-y:hidden;
	white-space:nowrap;
}
#vidlist li {
	display:inline-block;
	list-style:none;
	padding:2.5%;
}
#vidlist li a {
	text-decoration:none;
}
#vidlist li a:hover {
	text-decoration:underline;
}
#vids {
	margin:10% auto;
	width:100%;
	height:353px;
	display:block;
}
/* ---------- designby section ---------- */
#designby {
	font-size:.6em;
}
#designby a:link, #designby a:visited, #designby a:active {
	color:#555;
	text-decoration:none;
}
#designby a:hover {
	color:#f22;
	text-decoration:none;
}
/* ---------- footer section ---------- */
footer {
	clear:both;
	position:fixed;
	bottom:0;
	left:0;
	text-align:center;
	width:100%;
	font-size:.7em;
	padding:1em 0;
	background: #b30000; /*------------------------------------- gradient -----------------------------------*/
	background:-moz-linear-gradient(top, #ff0000, #890000);
	background:-webkit-linear-gradient(top, #ff0000, #890000);
	background:-o-linear-gradient(top, #ff0000, #890000);
	background:-ms-linear-gradient(top, #ff0000, #890000);
	background:linear-gradient(top, #ff0000, #890000);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#890000',GradientType=0);
	box-shadow:0 -3px 7px #333; /*------------------------------ drop shadow --------------------------------*/
	-moz-box-shadow:0 -3px 7px #333;
	-o-box-shadow:0 -3px 7px #333;
	-webkit-box-shadow:0 -3px 7px #333;
}
footer a:link, footer a:visited, footer a:hover, footer a:active {
	display:block;
	color:#fff;
	text-decoration:none;
}
/* ---------- home page ---------- */
#slideshow {
	position:relative;
	width:100%;
	height:545px;
	margin:0 auto;
}
#slideshow img {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0 auto;
	width: 100%;
	height:auto;
}
/*#slideshow blockquote {
	display:block;
	text-align:center;
	margin-top:6em;
	color:#f22;
}*/
/*------------------------------------- advert banner -----------------------------------*/
#banner {
	width:100%;
	height:2em;
	background: #000; /*------------------------------------- gradient -----------------------------------*/
	background:-moz-linear-gradient(bottom, #000000, #919191);
	background:-webkit-linear-gradient(bottom, #000000, #919191);
	background:-o-linear-gradient(bottom, #000000, #919191);
	background:-ms-linear-gradient(bottom, #000000, #919191);
	background:linear-gradient(bottom, #000000, #919191);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#919191', endColorstr='#000000',GradientType=0);
	box-shadow:0 3px 7px #333; /*------------------------------ drop shadow --------------------------------*/
	-moz-box-shadow:0 3px 7px #333;
	-o-box-shadow:0 3px 7px #333;
	-webkit-box-shadow:0 3px 7px #333;
	text-align:center;
	margin:0 auto 10px auto;
	white-space:nowrap;
	overflow:hidden;
}
#banner li {
	margin:.5em .9em;
	color:#fff;
	float:left;
	list-style:none;
	font-size:.9em;
}
/* ---------- schedule page ---------- */
.hours {
	display:table;
	width:100%;
	margin:1.5em 0 0 0;
}
.hours p {
	display:table-row;
	width:100%;
	line-height:1.6em;
}
.hours strong {
	display:table-cell;
	width:10em;
}
#grpclasses {
	width:15em;
	margin:0 auto;
	text-align:center;
	padding:0 2em;
}
#grpclasses li {
	list-style:none;
	border:ridge 1px #aaa;
	line-height:1.5em;
}
table {
	border:ridge 1px #aaa;
	background:#ddd;
	font-size:1em;
	line-height:1.4em;
	margin:0 auto;
}
table th, table td {
	text-align:center;
	vertical-align:middle;
	border:ridge 1px #aaa;
	padding:0 .75em;
}
table th span, table td span {display:inline;}
.apptonly {background-color:#fff;}
.grptrn {background:#9FC;}
.cardio {background:#f55;}
.closed {background:#ddd;}
/* ---------- pricing page ---------- */
#pricing .threecolumns div {
	display:block;
	height:4em;
}
#pricing .threecolumns div h5, #pricing .threecolumns div p {
	display:block;
	border:none;
	text-align:left;
	float:none;
}
cite {
	display:block;
	font-size:.7em;
}
/* ---------- location page ---------- */
iframe {
	float:right;
	width:50%;
	margin:0 2%;
}
/* ---------- about page ---------- */
#tabs {
	width:80%;
	-moz-border-radius:10px;
	-o-border-radius:10px;
	-webkit-border-radius:10px;
	border-radius:10px;
	-moz-box-shadow:3px 3px 7px #555;
	-o-box-shadow:3px 3px 7px #555;
	-webkit-box-shadow:3px 3px 7px #555;
	box-shadow:3px 3px 7px #555;
	padding:0 5% 5% 5%;
	background:#F5F5DC;
}
#sprytabs {
	border-bottom:solid 1px #555;
	text-align:center;
}
#sprytabs li {
	display:inline-block;
	list-style:none;
	padding:2.5%;
}
#sprytabs li a {
	text-decoration:none;
}
#sprytabs li a:hover {
	text-decoration:underline;
}
/* ---------- reviews page ---------- */
#reviews p {
	width:80%;
	-moz-border-radius:10px;
	-o-border-radius:10px;
	-webkit-border-radius:10px;
	border-radius:10px;
	-moz-box-shadow:3px 3px 7px #555;
	-o-box-shadow:3px 3px 7px #555;
	-webkit-box-shadow:3px 3px 7px #555;
	box-shadow:3px 3px 7px #555;
	padding:3%;
	background:#F5F5DC;
}
/* ---------- e-mail section ---------- */
fieldset {
	opacity:0;
	display:none;
	position:absolute;
	top:3.5em;
	right:20px;
	width:27%;
	padding:1.5% 3%;
	margin:0 auto;
	text-align:left;
	border:#555 solid 1px;
	background:#F5F5DC;
	box-shadow:3px 3px 7px #555;
	-moz-box-shadow:3px 3px 7px #555;
	-o-box-shadow:3px 3px 7px #555;
	-webkit-box-shadow:3px 3px 7px #555;
	border-radius:20px;
	-moz-border-radius:20px;
	-o-border-radius:20px;
	-webkit-border-radius:20px;
	z-index:10;
}
legend {
	font-size:1.2em;
	color:#f22;
	font-weight:bold;
}
fieldset br {
	line-height:1.75em;
}
#contact {
	display:table;
	width:100%;
}
#contact label {
	display:block;
	vertical-align:top;
	width:7em;
}
#name, #email, #subject, #marketing, #message {
	display:table-column;
	font-family:sans-serif;
	color:#555;
}
#name, #email, #subject, #marketing {
	width:17em;
}
#message {
	width:100%;
	min-height:9em;
}
.button {
	padding:5px 10px;
	margin:1em 35px 0 0;
	-moz-border-radius:7px;
	-o-border-radius:7px;
	-webkit-border-radius:7px;
	border-radius:7px;
	-moz-box-shadow:3px 3px 7px #555;
	-o-box-shadow:3px 3px 7px #555;
	-webkit-box-shadow:3px 3px 7px #555;
	box-shadow:3px 3px 7px #555;
}
/* --------------------------------------------------------------------------------------- */
/*                               settings 1360 pixel width                                 */
/* --------------------------------------------------------------------------------------- */
@media (max-width:1360px) {
	#slideshow {
		height:385px;
}
/* --------------------------------------------------------------------------------------- */
/*                               settings 1280 pixel width                                 */
/* --------------------------------------------------------------------------------------- */
@media (max-width:1280px) {
	#slideshow {
		height:365px;
}
/* --------------------------------------------------------------------------------------- */
/*                               settings 1080 pixel width                                 */
/* --------------------------------------------------------------------------------------- */
@media (max-width:1080px) {
	#slideshow {
		height:310px;
}
/* --------------------------------------------------------------------------------------- */
/*                               settings 1024 pixel width                                 */
/* --------------------------------------------------------------------------------------- */
@media (max-width:1024px) {
	#slideshow {
		height:290px;
}
/* --------------------------------------------------------------------------------------- */
/*                                tablet landscape settings                                */
/* --------------------------------------------------------------------------------------- */
@media (max-width:900px) {
	header {
		margin:0 0 1em 0;
	}
	#logo {
		display:block;
		width:100%;
	}
	nav ul li {
		padding:0 1.5%;
	}
	#slideshow {
		height:255px;
	}
	#container {
		width:90%;
	}
	section {
		margin:0 auto;
	}
	.quote {
		width:35%;
	}
	/* ---------- three columns layout ---------- */
	.threecolumns h5 {
		clear:both;
	}
	/* ---------- lightbox layout ---------- */
	#vidLightbox {
		top:25px;
		left:25px;
	}
	#vids {
		height:318px;
	}
	/* ---------- group schedule page ---------- */
	#grpclasses {
		padding:0 2em;
	}
	table {
		font-size:.9em;
		line-height:1.3em;
	}
	table th, table td {
		padding:0 .5em;
	}
	/* ---------- pricing page ---------- */
	#pricing div {
		display:block;
		height:4em;
	}
	/* ---------- equipment page ---------- */
	#offerings .threecolumns {
		margin-bottom:1em;
		height:25em;
	}
	#offerings img {
		margin-bottom:1em;
	}
	.equipment {
		display:block;
		height:auto;
	}
}
/* --------------------------------------------------------------------------------------- */
/*                                settings 800 pixel width                                 */
/* --------------------------------------------------------------------------------------- */
@media (max-width:800px) {
	#slideshow {
		height:240px;
}
/* -------------------------------------------------------------------------------------- */
/*                                tablet portrait settings                                */
/* -------------------------------------------------------------------------------------- */
@media (max-width:768px) {
	nav ul li {
		padding:0 .7%;
	}
	#slideshow {
		height:220px;
	}
	section {
		margin:0 auto;
	}
	.quote {
		width:32%;
	}
	/* ---------- lightbox layout ---------- */
	#vidLightbox {
		top:20px;
		left:20px;
	}
	#vids {
		height:271px;
	}
	/* ---------- equipment page ---------- */
	#offerings .threecolumns {
		height:25em;
		margin-bottom:1em;
	}
	.equipment {
		display:block;
	}
	/* ---------- group schedule page ---------- */
	table {
		font-size:.8em;
		line-height:1.2em;
	}
	table th, table td {
		padding:0 .4em;
	}
	/* ---------- pricing page ---------- */
	#pricing .threecolumns div {
		height:5em;
	}
	#pricing {
		margin-bottom:-3em;
	}
}
/* --------------------------------------------------------------------------------------- */
/*                                settings 800 pixel width                                 */
/* --------------------------------------------------------------------------------------- */
@media (max-width:600px) {
	#slideshow {
		height:180px;
}
/* --------------------------------------------------------------------------------------- */
/*                                mobile landscape settings                                */
/* --------------------------------------------------------------------------------------- */
@media (max-width:568px) {
	header {
		margin:0 0 .8em 0;
	}
	#logo {
		display:block;
	}
	nav ul {
		display:none;
	}
	#navMenu {
		display:block;
		font-size:1.2em;
	}
	#navMenu form, #navMenu a {
		display:inline-block;
		padding-right:2%;
	}
	#slideshow {
		height:170px;
	}
	section {
		margin:0 auto;
	}
	section a img {
		width:100%;
		height:auto;
		float:none;
		margin:0 auto;
	}
	.quote {
		width:100%;
		border-left:none;
		border-bottom:#555 solid 1px;
		padding:0 0 1em 0;
		margin:0 0 2em 0;
	}
	/* ---------- threecolumns becomes one column ---------- */
	.threecolumns {
		float:none;
		width:100%;
		margin:0 0 auto 0;
	}
	.threecolumns img {
		width:45%;
		float:left;
		margin-right:5%;
	}
	.threecolumns h4 {
		clear:both;
	}
	/* ---------- lightbox layout ---------- */
	#vidLightbox {
		top:15px;
		left:15px;
	}
	#vids {
		height:201px;
	}
	/* ---------- group schedule page ---------- */
	table th span, table td span {
		display:none;
	}
	/* ---------- pricing page ---------- */
	#pricing .threecolumns {
		margin-bottom:1em;
		float:none;
	}
	#pricing .threecolumns div {
		display:block;
		height:auto;
	}
	/* ---------- equipment page ---------- */
	#offerings .threecolumns {
		margin-bottom:1em;
		height:auto;
	}
	#offerings .threecolumns img {
		margin:1em;
	}
	.equipment {
		display:inline;
		height:auto;
	}
	/* ---------- location page ---------- */
	iframe {
		float:none;
		width:100%;
		margin:0;
	}
	/* ---------- reviews page ---------- */
	#reviews p {
		padding:5%;
	}
}
/* --------------------------------------------------------------------------------------- */
/*                               settings 480 pixel width                                  */
/* --------------------------------------------------------------------------------------- */
@media (max-width:480px) {
	#slideshow {
		height:140px;
	}
}
/* -------------------------------------------------------------------------------------- */
/*                                mobile portrait settings                                */
/* -------------------------------------------------------------------------------------- */
@media (max-width:320px) {
	header {
		margin:0 0 .8em 0;
	}
	#slideshow {
		height:100px;
	}
	section {
		margin:0 auto;
	}
	.threecolumns {
		float:none;
		width:100%;
		margin:0;
	}
	.threecolumns img {
		width:100%;
		float:none;
		margin-right:0;
	}
	.threecolumns p {
		width:100%;
		float:none;
		margin:0;
	}
	/* ---------- lightbox layout ---------- */
	#vidLightbox {
		top:10px;
		left:10px;
	}
	#vids {
		height:113px;
	}
	/* ---------- equipment page ---------- */
	#offerings .threecolumns {
		margin-bottom:1em;
	}
	#offerings img {
		margin-bottom:1em;
	}
	.equipment {
		display:inline;
		height:auto;
	}
	/* ---------- group schedule page ---------- */
	table {
		font-size:.75em;
		line-height:1em;
	}
	table th, table td {
		padding:0 .3em;
	}
	/* ---------- pricing page ---------- */
	#pricing {
		margin-bottom:-3em;
	}
	/* ---------- location page ---------- */
	iframe {
		float:none;
		width:100%;
		margin:0;
	}
	/* ---------- reviews page ---------- */
	#reviews p {
		padding:9%;
	}
}
/* ---------------------------------------------------------------------------- */
/*                                print settings                                */
/* ---------------------------------------------------------------------------- */
@media print {
	body {
		font-family:serif;
		color:#555;
		margin:0 auto;
	}
	nav, #slideshow, #banner, img {
		display:none;
	}
	header p {
		display:block;
		text-align:center;
	}
	#container {
		width:100%;
	}
	h1, h2, h3, h4, h5, h6 {
		color:#555;
	}
	/* ---------- three columns layout ---------- */
	.threecolumns {
		float:left;
		width:28.3333333333%;
		margin-right:5%;
	}
	.threecolumns p {
		float:none;
		width:100%;
		margin:0 0 1em 0;
	}
	.threecolumns h5 {
		clear:both;
	}
	/* ---------- equipment page ---------- */
	#offerings .threecolumns {
		min-height:15em;
	}
	.equipment {
		display:inline;
	}
	/* ---------- pricing page ---------- */
	#pricing {
		margin-bottom:-4em;
	}
	#pricing .threecolumns {
		margin-bottom:1em;
	}
	#pricing .threecolumns div {
		display:block;
		height:3em;
	}
	#pricing .threecolumns div ul {
		margin-bottom:0;
	}
	#pricing h5, #pricing p, #pricing ul li {
		display:block;
		float:none;
		margin-bottom:0;
	}
	cite {
		font-size:.7em;
		margin:0 0 0 3em;
	}
	/* ---------- group schedule page ---------- */
	#grpclasses {
		width:15em;
		margin:0;
	}
	#grpclasses li {
		list-style:none;
		border:ridge 1px #aaa;
		line-height:1.5em;
		text-align:left;
		padding-left:2em;
	}
	table {
		margin:0 auto;
		border:ridge 1px #aaa;
		background:#ddd;
		font-size:1em;
		line-height:1.4em;
		text-align:center;
	}
	table th, table td {
		text-align:center;
		vertical-align:middle;
		border:ridge 1px #aaa;
		width:3em;
	}
	table th span, table td span {display:inline;}
	.apptonly {background-color:#fff;}
	.grptrn {background:#9FC;}
	.cardio {background:#f55;}
	.closed {background:none;}
	/* ---------- location page ---------- */
	iframe {
		width:100%;
		height:3in;
	}
	/* ---------- footer ---------- */
	footer {
		background:none;
		color:#555;
		border:none;
		outline:none;
		width:100%;
		margin:0 auto;
		box-shadow:none;
		-moz-box-shadow:none;
		-o-box-shadow:none;
		-webkit-box-shadow:none;
	}
}