@charset "UTF-8";


html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}
body {
  line-height: 1.5;
}
table {
  border-collapse: separate;
  border-spacing: 0;
}
caption, th, td {
  text-align: left;
  font-weight: normal;
}
table, td, th {
  vertical-align: middle;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
}
blockquote, q {
  quotes: "" "";
}
a img {
  border: none;
}



body  {
	font: 75% Arial, Helvetica, sans-serif;
	margin: 0; /* it's good practice to zero the margin and padding of the body element to account for differing browser defaults */
	padding: 0;
	text-align: center; /* this centers the container in IE 5* browsers. The text is then set to the left aligned default in the #container selector */
	color: #000000;
}

body { /* TODO: Temporary fix. Proper typography section needed. */
	/*font-size:12px;*/
}


#container { 
	width: 960px;  /* using 20px less than a full 800px width allows for browser chrome and avoids a horizontal scroll bar */
	margin: 0 auto; /* the auto margins (in conjunction with a width) center the page */
	text-align: left; /* this overrides the text-align: center on the body element. */
} 
#header {
} 
#header h1 {
	margin: 0; /* zeroing the margin of the last element in the #header div will avoid margin collapse - an unexplainable space between divs. If the div has a border around it, this is not necessary as that also avoids the margin collapse */
	padding: 10px 0; /* using padding instead of margin will allow you to keep the element away from the edges of the div */
}
#sidebar1 {
	float: left; /* since this element is floated, a width must be given */
	width: 165px; /* the actual width of this div, in standards-compliant browsers, or standards mode in Internet Explorer will include the padding and border in addition to the width */
	padding: 15px 0 15px 0; /* padding keeps the content of the div away from the edges */
}
#sidebar2 {
	float: right; /* since this element is floated, a width must be given */
	width: 260px; /* the actual width of this div, in standards-compliant browsers, or standards mode in Internet Explorer will include the padding and border in addition to the width */
	padding: 0 0 15px 0; /* padding keeps the content of the div away from the edges */
}
#mainContent { 
	width: 460px;
	float: left;
	padding-left: 35px;
	padding-right: 19px;
	border-right: 1px solid #ddd;
} 
#mainContent.no_left_nav { 
	float: none;
	margin: 0 280px 0 165px;
} 

#footer { 
	border-top:1px solid #ddd;
	padding: 0 10px 0 20px; /* this padding matches the left alignment of the elements in the divs that appear above it. */
	color: #666;
} 
#footer p {
	margin: 0; /* zeroing the margins of the first element in the footer will avoid the possibility of margin collapse - a space between divs */
	padding: 10px 0; /* padding on this element will create space, just as the the margin would have, without the margin collapse issue */
	font-size: 0.8333em
}
.fltrt { /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
	float: right;
	margin-left: 8px;
}
.fltlft { /* this class can be used to float an element left in your page */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* this class should be placed on a div or break element and should be the final element before the close of a container that should fully contain a float */
	clear: both;
    height: 0;
    font-size: 1px;
    line-height: 0px;
	margin-bottom: 20px;
}
.clearleft { /* this class should be placed on a div or break element and should be the final element before the close of a container that should fully contain a float */
	clear: left;
    height: 0;
    font-size: 1px;
    line-height: 0px;
	margin-bottom: 20px;
}

.clearfix:after { /* The clearfix solution for containing floats from blue-anvil.com */
	content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
} 
a {
	text-decoration: none;
	color: #900;
	
}
a:hover {
	text-decoration: underline;
	color: #f00;
}


/* Top menu. An unordered list. */
#mainmenu {
	margin: 0;
	/* Need 10px at the bottom to see the hurdler's foot */
	padding: 0px 26px 10px 26px;
	list-style: none;
	/* For a horizontal nav bar, the width also needs to be specified */
	width: 960px;
	background: url(images/nav_background.gif) no-repeat;
	float: left;
	position: relative;
	z-index: 998;
	/* Present in the  original, but not included here
	height: 35px;
	min-height: 35px;
	height: auto !important;
	*/
}
#mainmenu li {
	/* Horizontal menu, float list items left */
	float: left;
	/* Make list items positioned, to serve as a context for the sub-menus */
	position: relative;
	/* Present in the original, but not included here
	color: #fff;
	background: #900 url('images/nav_background.png') -60px -20px;
	margin-top: 20px;
	list-style-image: none;
	*/
}
#mainmenu li a {
	/* The red part of the background is 30px high. */
	line-height: 30px;
	max-height: 30px;
	text-decoration: none;
	display: block;
	padding: 0 15px;
	color: #FFF;
	white-space: nowrap;
}
#mainmenu li a:hover, #mainmenu li.on a, #mainmenu li a:focus, #mainmenu li a.sffocus {
	/* use menu_over.png for hovers on the main menu list item anchors */
	background: transparent url(images/menu_over.png) repeat-x;
}

/* Top menu drop-downs */
#mainmenu li ul {
	/* Sub-menus are absolutely positioned */
	position: absolute;
	z-index: 999; /* In front of 998 */
	background: #222;
	color: #FFF;
	list-style: none;
	border-top: 1px solid #555;
	/* Initially way off to the left */
	margin-left: -999em;
	/* Sub-menus have a minimum width, not just determined by list item text */
	min-width: 150px;
	/* Required on IE 6 to stop drop-downs extending to right margin */
	width: 150px;
	/* allow underlying content to be partially visible */
	opacity: 0.97;
	/* Present in the original, but not included here
	top: 30px;
	padding: 0;
	background-image: none;
	*/

}
#mainmenu li:hover ul, #mainmenu li.sfhover ul  {
	/* Restore the position from way out left */
	margin-left: 0em;
}
#mainmenu li ul li {
	/* stop the sub-menu list items aligning horizontally */
	float: none;
	border-bottom: 1px solid #555;
	height: 2.1em;
	/* Present in the original, but not included here
	margin: 0;
	padding: 0;
	white-space: pre;
	background-image: none;
	background: transparent;
	*/
}
#mainmenu li ul a, #mainmenu li.on ul a {
	height: auto;
	float: none;
	/*width: 80%;*/
	line-height: 2.1em;
	display: block;
	background-image: none;
	/* Present in the original, but not included here
	color: #fff
	border: 0px;
	*/
}
#mainmenu li ul a:hover {
	color: #fff;
	background: #900 url(none);	
}

#sidebar1 ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top:1px solid #eee;
}
#sidebar1 a {
	display: block;
	width: 150px;
	height: 2.1em;
	line-height: 2.1em;
	text-decoration: none;
	color: #000;
	border-bottom: 1px solid #eee;
	padding-left: 15px;
}
#sidebar1 .current a {
	font-weight: bold;
	color: #900;
	background: transparent url(images/double_right.gif) no-repeat left center;
}
#sidebar1 a:hover {
	color: #900;
	border-bottom: 1px solid #900;
	background: transparent url(images/double_right.gif) no-repeat left center;
}

#mainContent h1 {
	font-family: Palatino, 'Palatino Linotype', serif;
	font-size: 2.166em;
	line-height: 1.154;
	padding: 15px 0 20px 0;
	border-bottom: 1px solid #900;
	margin-bottom: 20px;
}
#mainContent p {
	margin-bottom: 13px;
	font-size: 1.166em;
}
#mainContent .caption {
	margin-top: 4px;
	font-size: 12px;
	/*line-height: 1.25;*/
	color: #666666;
}

#mainContent img {
	display:inline-block;
	line-height: 3.0;
}

#upper-right {
	height: 500px;	
}
.promo-box {
	/*border: 1px solid #900;*/
	border-top: 8px solid #900;
	background: #f0f0f0;
	margin-bottom: 20px;
}
.promo-outer {
	margin: 15px 15px 25px 15px;
	padding: 1px;
	/*background: #fefefe;*/
}
.promo-outer h1 {
	font-family: Palatino, 'Palatino Linotype', serif;
	font-size: 1.4em;
}
.promo-inner {
	margin: 10px 10px 25px 10px;
	padding: 10px;
	background-color:#fff;
}
#promo-image {
	text-align: center;
	padding-bottom: 10px;
}
.promo-box p {
	font-size: 0.89em;
}
.promo-link {
	text-align: right;
}
.promo-link a {
	padding-left: 10px;
	background: transparent url(images/double_right.gif) no-repeat left center;
}
li li a {display:inline-block !important;}
li li a {display:block !important;}

.thumbnail {
	border: 6px solid #E0E0E0; 
	float: right; 
	margin: 5px 0px 10px 10px;
}

#news-wrapper h4 {
	font-size: 1.2em;
	font-weight: bold;
	padding-bottom: 1em;
}
#news-wrapper p {
	font-size: 1.1em;
}

#mainContent h1.news_listing_title {
	border: none;
	margin: 0;
}

a.article_excerpt {
	text-decoration: none;
	color: #000;
	display: block;
	border-top:1px solid #a20000;
	padding-top: 1em;
}

a.article_excerpt:hover {
	text-decoration: none;
	color: #000;
	background: #F2F2F2 none repeat;
}

a:hover h4 {
	color: #a20000;
}

.training_daily_div {
	margin-top: 10px;
	padding-top: 10px;
	border-top:1px dotted #a20000;
}

.calendar_icon {
	float: left;
	width: 59px;
	height: 61px;
	text-align: center;
	background: url(images/calendar_icon.gif) no-repeat;
	line-height: 1.2;
}

.training_day_and_date {
	padding-top: 16px;
}

.training_day_of_week {
	font-size: 0.8em;
	color: #a20000;
	font-weight: normal;	
}

.training_date {
	font-size: 1.3em;
	color: #a20000;
	font-weight: bold;	
}

.training_content {
	margin-left: 69px;
}

em {
	font-style: italic;
}

.subsequent_session {
	padding-top: 10px;
	border-top:1px dotted #a20000;
}

.session_title {
	font-size:1.166em;
	font-weight: bold;
}

.session_time {
	color: #888;
}

.membership_form {
	padding-top: 10px;
	text-align: center;
}

.gallery-wrapper {
	width: 220px;
	text-align: center;
}

.gallery-wrapper.left {
	float: left;
}

.gallery-wrapper.right {
	float: right;
}

.gallery-title {
	padding-top: 10px;
}

.gallery-wrapper p {
	margin: 0px !important;
	padding: 0px !important;
}

.gallery-date {
	color: #888;
}

