/* -------------------------------------------------------------- 
  	GENERAL CROSS-BROWSER RESET 
-------------------------------------------------------------- */

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; */
}

/* Tables still need 'cellspacing="0"' in the markup. */
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
table, td, th { vertical-align: middle; }

/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }

/* Remove annoying border on linked images. */
a img { border: none; }

/* PC FF3 adds an outline to Flash objects? */
a, object {
	outline: none;
}

/* -------------------------------------------------------------- 
  	TYPOGRAPHIC DEFAULTS 
-------------------------------------------------------------- */
    
body {
	margin: 0;
	height: 100%;
	color: #000000;
	font: 62.5% arial, helvetica, sans-serif;
	text-align: center;
	background: #fff url(../images/design/body-bg.jpg) 0 0;
	padding-top: 20px;
}

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

h1, h2, h3, h4, h5, h6 {
    color: #0071BC;
	margin: 0 0 1em 0;
	font-weight: bold;
}  

h1, h2#home { font-size: 1.167em; margin-bottom: 1em; }
h2 { font-size: 1em; font-weight: bold; margin-bottom: 0; }
h3 { font-size: 1em; }
h4 { font-size: 0.917em; margin-bottom: 0.25em; }


/* Delete the following selectors if not using */

h1 a, h1 a:link { color: blue; }
h2 a, h2 a:link { color: blue; }
h3 a, h3 a:link { color: blue; }


h1 a:hover { color: blue; }
h2 a:hover { color: blue; }
h3 a:hover { color: blue; }


/* Text Elements
-------------------------------------------------------------- */

p { margin: 0 0 1.5em 0; }

a { text-decoration: underline; }
a,a:link { color: #0071BC; text-decoration: none;  }
a:visited { color: #0071BC; }
a:hover,a:active,a:focus { color: #F68B26; }

address {
	margin-bottom: 1.5em;
}


/* Lists
-------------------------------------------------------------- */

li ul, 
li ol       { margin:0 1.5em; }
ul, ol      { margin: 0 1.5em 1.5em 1.5em; }

ul          { list-style-type: disc; }
ol          { list-style-type: decimal; }

dl          { margin: 0 0 1.5em 0; }
dl dt       { font-weight: bold; }
dd          { margin-left: 1.5em;}


/* -------------------------------------------------------------- 
	PAGE STRUCTURE
	Elements that make up the skeleton of the layout and holds things together
----------------------------------------------------------- */
#page {
	background: url(../images/design/page_bg.jpg) 0 0 repeat-y;
	font-size: 1.2em; /* this, along with body font size of 62.5% renders type approximately 12px in size across all browsers */
	margin: 0 auto;
	padding: 0;
	position: relative;
	width: 916px;
	text-align: left;	
}

#wrapper {
	background: url(../images/design/wrapper_bg.jpg) 0 0 no-repeat;
}

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

#contentMain {
	min-height: 485px;
	margin-top: 25px;
}

#footer {
	clear: left;
	position: relative;
	height: 134px;
	background: url(../images/design/footer.gif) 0 0 no-repeat;
}
	
	#footer a {
		background: url(../images/design/blue-arrow.png) 0 0.5em no-repeat;
		padding-left: 32px;
		font-family: "Myriad Pro", helvetica, arial, san-serif;
		font-size: 1.083em;
		color: #F2F2F2;
		font-weight: bold;
		text-decoration: none;
		position: absolute;
		right: 5px;
		top: 15px;
	}
	
	body.products #footer a {
		top: 22px;
	}
	
	#footer a:hover {
		color: #FFE079;
	}
	
body.products #footer {
	height: 45px;
	background: url(../images/design/products-footer-bg.jpg) 0 0 no-repeat;
}

/* -------------------------------------------------------------- 
	PAGE STRUCTURE ELEMENTS
	Elements  such as logos, search bars, and any other design element repeated throughout the site, but doesn't effect the structural layout
----------------------------------------------------------- */

p.tagline {
	position: absolute;
	top: 25px;
	left: 25px;
	text-indent: -9999px;
	display: block;
	height: 45px;
	width: 184px;
	background: url(../images/design/tagline.gif) 0 0 no-repeat;
}

#logo {
	width: 328px;
	height: 56px;
	display: block;
	background: url(../images/design/logo.gif) 0 0 no-repeat;
	position: absolute;
	top: 30px;
	right: 0;
	margin: 0;
	padding: 0;
	font-size: 1em;
}

	#logo a {
		width: 328px;
		height: 56px;
		display: block;
		text-indent: -9999px;
	}

p.copyright {
	width: 916px;
	margin: 0 auto;
	text-align: left;
	color: #FFFFFF;
	padding: 5px 0 4em 0;
}

/* -------------------------------------------------------------- 
	ENTRY PAGE ELEMENT STYLES
	Styles for elements specific to the entry page
----------------------------------------------------------- */
#entryColumnMain,
#entryColumnSub { 
	float: left;
	padding-top: 25px;
}

#entryColumnSub {
	width: 244px;
	margin-right: 20px;
	text-align: center;
	padding-top: 25px;
	padding-bottom: 200px;
	position: relative;
}

#entryColumnMain {
	width: 590px;
	margin-right: 60px;
}

	#entryColumnMain h2 {margin-bottom: 1em;}
	
	#entryColumnSub .training {
		position: absolute;
		bottom: 30px;
		left: 45px;
	}
	
		#entryColumnSub .training h1 {font-size: 21px; color: #0091d5; font-weight: bold; }
		#entryColumnSub .training h2 {font-size: 18px; color: #5d5d5d; font-weight: bold; margin-bottom: 10px; }
		#entryColumnSub .training h2 a {font-size: 18px; color: #5d5d5d; font-weight: bold; text-decoration: none; }
		#entryColumnSub .training span {font-size: 14px; color: #5d5d5d; }
		#entryColumnSub .training p {margin-bottom: 10px; color: #5d5d5d;}
	
	#entryColumnSub .classes {
		position: absolute;
		bottom: -128px;
		left: 45px;
	}
	
	#entryColumnSub .comingSoon {
		position: absolute;
		bottom: 0px;
		left: 45px;
	}
	
/* -------------------------------------------------------------- 
	INNER PAGE ELEMENT STYLES
	Shared styles for elements specific to the inner pages
----------------------------------------------------------- */
body.products #page { background: url(../images/design/product-page-bg.jpg) 0 0 repeat-y; }
body.products #wrapper { background: url(../images/design/product-wrapper-bg.jpg) 0 0 no-repeat; }

#innerColumnMain,
#innerColumnSub,
#innerColumnPhotos {  float: left; }

#innerColumnMain {
	width: 397px;
	padding: 40px 30px 0 30px; 
}

#innerColumnPhotos {
	width: 190px;
	padding: 0 21px 0 19px;
	margin-top: 20px;
}

	#innerColumnPhotos img {
		margin-bottom: 15px;
	}
	
#innerColumnFlash {
	width: 194;
	margin-bottom: 15px;	
}
	
#innerColumnSub {
	width: 199px;
	padding: 40px 30px 0 0; 
}

	#innerColumnSub .innerContent {
		padding-left: 30px;
	}
	
/* -------------------------------------------------------------- 
	NAVIGATION
----------------------------------------------------------- */

#mainNav {
	list-style: none;
	position: absolute;
	display: block;
	width: 333px;
	top: 13px;
	left: 273px;
}

	#mainNav li {
		float: left;
		display: block;
		margin-right: 15px;
	}
		
		#mainNav li a {
			display: block;
			text-indent: -9999px;
			background: url(../images/design/main-nav.gif) 0 0 no-repeat;
			height: 10px;
			overflow: hidden;
		}
		
		/* Image replacement on background */
		#mainNav li#products a { background-position: 0 0px; width: 64px; }
		#mainNav li#training a { background-position: -77px 0; width: 56px; }
		#mainNav li#contact a  { background-position: -208px 0; width: 56px; }
		#mainNav li#home a { background-position: -277px 0; width: 36px; }
		
		#mainNav li#products a:hover { background-position: 0 -10px; }
		#mainNav li#training a:hover { background-position: -77px -10px; }
		#mainNav li#contact a:hover  { background-position: -208px -10px; }
		#mainNav li#home a:hover { background-position: -277px -10px; }
		
		

/* Local Navigation
-------------------------------------------------------------- */
#localNav {
	text-align: left;
	list-style: none;
	margin-left: 25px;
	margin-top: 25px;
}

	#localNav li {
		background: url(../images/design/blue-arrow.png) 0 0 no-repeat;
		padding-left: 32px;
		margin-bottom: 30px;
		position: relative;
	}
	
		#localNav a {
			text-indent: -9999px;
			height: 11px;
			display: block;
		}
		
		#localNav li#productSelection a { background: url(../images/design/our-product-selection.gif) 0 0 no-repeat; width: 119px; }
		#localNav li#productSelection a:hover { background: url(../images/design/our-product-selection-hover.gif) 0 0 no-repeat; }
		
/* -------------------------------------------------------------- 
	TYPOGRAPHY
	Set any special typography here that isn't set in the typographic defaults section
----------------------------------------------------------- */	
	
span.michaelHarvey {
	float: left;
	display: block;
	width: 111px;
	height: 18px;
	padding-top: 60px;
	background: url(../images/design/michael_harvey_sign.png) 0 0 no-repeat;
	margin-right: 25px;
}

span.jimDavis {
	float: left;
	display: block;
	width: 80px;
	height: 18px;
	padding-top: 60px;
	background: url(../images/design/jim_davis_sign.png) 0 0 no-repeat;
}

.blueArrow {
	font-family: "Myriad Pro", helvetica, arial, san-serif;
	font-size: 1.083em;
	color: #666666;
	font-weight: bold;
	text-decoration: none;
	text-transform: uppercase;
	background: url(../images/design/blue-arrow.png) 0 0.3em no-repeat;
	padding-left: 32px;
}

a.blueArrow:hover {
	color: #FFE079;
}

ul.products {
	list-style: none;
	margin: 0 0 0.5em 0;	
}




/* -------------------------------------------------------------- 
	MISC
----------------------------------------------------------- */

.floatLeft { float: left; }
.floatRight { float: right; }
.clearLeft { clear: left; }
.clearRight { clear: right; }
.clear {clear: both;}
.first { margin-left:0; padding-left:0; }
.last  { margin-right:0; padding-right:0; }
.top   { margin-top:0; padding-top:0; }
.bottom { margin-bottom:0; padding-bottom:0; }


/* ----------------
	CLEAR FLOATS WITHOUT EXTRA HTML MARKUP
	add this class to the element that needs to be cleared - This works in modern browser that support the after pseudo element
    ------------- */ 
.clearFix:after { 
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden; 
}
