/* (1) ====================== UNIVERSAL BASIC STYLES ======================== */
/* (1.1) --------------------- STANDARDIZE DEFAULTS ------------------------- */
/* whitespace reset [ref:http://leftjustified.net/journal/2004/10/19/global-ws-reset/] */
	* { padding:0; margin:0; }
	h1, h2, h3, h4, h5, h6, p, pre, blockquote, label, ul, ol, dl, fieldset, address { margin:1em 0; }
	input { padding: 0.08em 0; }
	option { margin-right:0.5em; }
	li, dd { margin-left:2em; }
	fieldset { padding:0.5em; }
/* /whitespace */

/* font : set base size, then configure for em usage */
	body { font-size: 100.01%; } /* fixes a Win IE font scaling issue with ems */
	* { font-size:1em; }
	input, select, textarea { font-size:1em; }
/* /font */

/* forms require fieldsets: null their default styling */
	fieldset { border:none; }
/* /fieldsets */

img { border:none; }
a:focus { outline:none; }

/* sometimes treated as inline, sometimes not, but that's for me to decide isn't it? */
object { display:block; }
/* (/1.1) ------------------ /STANDARDIZE DEFAULTS -------------------------- */


/* (1.2) ----------------------- ACCESSIBILITY ------------------------------ */
/* send accessibility-only link off-left */
#skipToAccessibilityLink {
	position:absolute;     /* remove from flow */
	overflow:hidden;       /* prevent side-scrolling */
	height:1px; width:1px; /* it's technically visible */
	text-indent:-99%;      /* pull text off to the left -- but not all the way, so text-readers see it */
}
/* (/1.2) --------------------- /ACCESSIBILITY ------------------------------ */
/* (/1) =================== /UNIVERSAL BASIC STYLES ========================= */




/* (2) ============================ PAGE LAYOUT ============================= */
/* (2.1) ----------------------- SITE-WIDE GENERAL -------------------------- */
#page {
	width:800px;
	margin:0 auto 20px auto;
}

#brand {
	position:relative;
	left:4px;
	width:823px;
	margin-right:-23px;
	height:111px;
}

#navSite {
	position:relative;
	float:right;
	width:823px;
	min-height:169px;/* 29px + #banner + #contentSide-top-margin */
	margin:0 -23px 0 -636px;
	z-index:1;
}

#banner {
	float:left;
	margin:31px -164px 29px 0;
	z-index:2;
}

#contentGroup {
	position:relative;
	z-index:10;
}
#contentMain {
	clear:left;
	float:left;
	width:615px;
	margin-bottom:30px;
}
#contentSide {
	clear:right;
	float:right;
	width:164px;
	margin-bottom:30px;
}


#foot {
	clear:both;
	text-align:center;
}
/* (/2.1) --------------------- /SITE-WIDE GENERAL -------------------------- */

/* (2.2) -----------------------  -------------------------- */
/* (/2.2) --------------------- / -------------------------- */
/* (/2) ========================== /PAGE LAYOUT ============================= */



/* (3) ====================== BACKGROUNDS AND COLORS ======================== */
/* (3.1) --------------------------- BASELINE ------------------------------- */
body {
	color:#000;
	background-color:#fff;
}
/* (/3.1) ------------------------- /BASELINE ------------------------------- */

/* (3.2) ---------------------------- GENERAL ------------------------------- */
#contentMain {
	padding-bottom:10px;
	background:transparent url(img/sprite_smilebug-dottedhr.gif) 0% 100% no-repeat;
}
#contentMain.serious {
	padding-bottom:5px;
	background-image:none;
}
/* (/3.2) -------------------------- /GENERAL ------------------------------- */
/* (/3) ==================== /BACKGROUNDS AND COLORS ======================== */


/* (4) ========================= FONTS AND COLORS =========================== */
/* (4.1) --------------------------- BASELINE ------------------------------- */
body {
	font:16px Helvetica, Arial, sans-serif; /* REQ: Win IE font-resizing fix */
}
#page {
	font-size:0.8125em;
	line-height:1.22;
}
/* (/4.1) ------------------------- /BASELINE ------------------------------- */
/* (4.2) ---------------------------- LINKS --------------------------------- */
a         { color:#f00; text-decoration:none; }
a:link,
a:visited { color:#f00; }
a:hover, 
a:active  { color:#f00; text-decoration:underline; }
/* (/4.2) -------------------------- /LINKS --------------------------------- */

h1 {
	font:22px/24px Georgia, "Times New Roman", Times, serif;
	color:#630;
	font-weight:normal;
	letter-spacing:0.25px;
	margin:0 0 0.75em 0;
}
h2 {
	font:14px Helvetica, Arial, sans-serif;
	color:#06c;
	font-weight:normal;
	letter-spacing:0.5px;
	margin:1em 0 0 0;
}
h3 {
	font-size:14px;
	color:#960;
	font-weight:bold;
	margin:0;
}
h4 {
	font-size:1em;
	font-weight:bold;
	margin:1em 0 0 0;
}

p { margin:0 0 1.25em 0; }
.numeric,
.no-widow { white-space:nowrap; }

.noBullets {
	list-style:none;
	margin:1em 0;
}
.noBullets li {
	margin:0;
}
.spacedItems li {
	margin:1em 0;
}


#contentSide h2 {
	margin:0;
}
#contentSide h3 {
	font-weight:normal;
	font-size:1em;
}
#contentSide p { margin-bottom:0.92em; }
/* (/4) ======================= /FONTS AND COLORS =========================== */



/* (5) ================================ FORMS =============================== */
input.defaultToTitleDefault { color:#cca; }

form div.error {
	margin:1em auto;
	padding:0.5em 1em;
	width:75%;
	border:1px solid #900;
	background-color:#fee;
	color:#300;
}
/* (/5) ============================== /FORMS =============================== */



/* (6) ========================= COMMON STRUCTURES ========================== */
/* (6.1) -------------------------- NAVIGATION ------------------------------ */
/* (6.1.1) -------------------------- MAINNAV ------------------------------- */
#navSite {
	list-style:none;
	background:transparent url(img/sprite_postit-nav.gif) 4px -111px no-repeat;
}
#navSite li {
	float:right;
	margin:0;
	padding:0;
	width:0;
}
#navSite li a {
	position:absolute;
	height:25px;
	top:0; left:0;
	overflow:hidden;
	text-indent:-1000em;
}


body.secServices #navSiteServices a,
#pgWhitening #navSiteWhiten a,
body.secOralhealth #navSiteOralHealth a,
body.secFaq #navSiteFAQs a,
body.secAbout #navSiteAbout a,
#pgContact #navSiteContact a,
body.secLocations #navSiteLoc a,
#navSite li a:hover,
#navSite li a:active {
	height:24px;
	border-bottom:1px solid #352817;
}
#navSite #navSiteHome         { display:none; }
#navSite #navSiteServices   a { left:4px; width:72px; }
#navSite #navSiteWhiten     a { left:91px; width:188px; }
#navSite #navSiteOralHealth a { left:294px; width:150px; }
#navSite #navSiteFAQs       a { left:457px; width:37px; }
#navSite #navSiteAbout      a { left:509px; width:75px; }
#navSite #navSiteContact    a { left:594px; width:96px; }
#navSite #navSiteLoc        a { left:700px; width:87px; border-color:#f30; }
/* (/6.1.1) ------------------------ /MAINNAV ------------------------------- */
/* (6.1.2) ---------------------- SUBORDINATE NAV --------------------------- */
#navSite ul {
	position:relative;
	left:-187px;/* width plus negative margin of #navSite */
	display:none;
	list-style:disc;
	padding:169px 0 8px 0.9em;
	margin:0 0 20px 0;
	background:transparent url(img/sprite_smilebug-dottedhr.gif) 0% 100% no-repeat;
	height:auto;
	width:164px;
	font-size:1.3em;
	line-height:1.125;
}
#navSite li li {
	float:none;
	margin:0;
	padding:0;
	height:auto;
	width:164px;
}
#page #navSite li li a {
	position:static;
	display:inline;
	border:none;
	text-indent:0;
	color:#960;
}
#page #navSite li li a:hover,
#page #navSite li li a:active {
	color:#f00;
}

body.secServices #navSiteServices ul,
body.secOralhealth #navSiteOralHealth ul,
body.secFaq #navSiteFAQs ul,
body.secAbout #navSiteAbout ul,
body.secLocations #navSiteLoc ul { display:block; }
/* (/6.1.2) -------------------- /SUBORDINATE NAV --------------------------- */
/* (6.1.3) ------------------------- FOOT NAV ------------------------------- */
#foot {
	font-size:0.923em;
}
#callus a {
	display:block;
	width:520px;
	height:32px;
	margin:0 auto;
	font:1.25em sans-serif;
	font-weight:bold;
	text-transform:lowercase;
	color:#000;
	overflow:hidden;
	text-indent:-1000em;
	background:#fff url(img/sprite_foot.gif) -270px -18px no-repeat;
}

#footNav {
	text-align:left;
	float:left;/* shrinkwrap */
	margin:0 0 0 55px;
	position:relative;
	left:50%;
}
#footBrand {
	position:absolute;
	right:150%;
	display:block;
	width:130px;
	height:35px;
	overflow:hidden;
	text-indent:-1000em;
	background:#fff url(img/sprite_foot.gif) -58px -17px no-repeat;
}
#footNav span {
	display:block;
	position:relative;
	left:-50%;
	line-height:0.8;
	padding:0.5em 0 0 0;
}
#footNav span a {
	padding:0 0.25em 0 0.45em;
	border-left:1px solid #f00;
}
#footNav span a:first-child,
#footNav span a.first-child {
	padding-left:0;
	border:none;
}
#copyright {
	clear:both;
	padding:1em;
}
/* (/6.1.3) ----------------------- /FOOT NAV ------------------------------- */
/* (/6.1) ------------------------ /NAVIGATION ------------------------------ */

/* (6.2) --------------------------- HEADER IR ------------------------------ */
#brand h1, #brand p {
	position:absolute;
	top:0; left:0;
	margin:0;
}
#brand a {
	display:block;
	height:111px;
	overflow:hidden;
	text-indent:-1000em;
	background:transparent url(img/brand.gif) 0 0 no-repeat;
}
#brand h1 a { width:452px; }
#brand p { left:452px; }
#brand p a {
	width:371px;
	background:transparent url(img/sprite_postit-nav.gif) -452px 0px no-repeat;
}
/* (/6.2) ------------------------- /HEADER IR ------------------------------ */

/* (6.3) ------------------------- BANNER SLIDES ---------------------------- */
#banner {
	list-style:none;
	padding:0;
	position:relative;
	z-index:1;
}
#banner li {
	list-style:none;
	margin:0; padding:0;
	position:absolute;
	top:0; left:0;
	visibility:hidden;
	z-index:1;
}
#banner.innerfade li { visibility:visible; }
/* (/6.3) ----------------------- /BANNER SLIDES ---------------------------- */

/* (6.4) ------------------------- IMAGE EFFECTS ---------------------------- */
img.hasBorder {
	display:block;
	background:#fff url(img/spinner.gif) center center no-repeat;
	border:1px solid #e3e3e3;
	padding:5px;
}
img.floatLeft {
	float:left;
	margin:0 1em 0.25em 0;
}
img.floatRight {
	float:right;
	margin:0 0 0.25em 1em;
}
/* (/6.4) ----------------------- /IMAGE EFFECTS ---------------------------- */

/* (6.5) --------------------------- SIDEBOXES ------------------------------ */
#contentSide>div {
	padding-bottom:1px;
	margin-bottom:8px;
	background:transparent url(img/sprite_smilebug-dottedhr.gif) 100% 100% no-repeat;
	overflow:hidden;
	clear:both;
}

#contentGroup #contentSide div.boxy {/* extra specificity because the lt-ie7 stylesheet conflicts */
	width:149px;
	border:1px solid #e3e3e3;
	background:#fff;
	padding:7px 7px 9px 6px;
	margin:0 0 8px 0;
	overflow:hidden;
}
#contentSide div.boxy img {
	float:right;
}
#contentSide div.linked {
	cursor:pointer;
}

#contentGroup #contentSide div.promotion {/* extra specificity because the lt-ie7 stylesheet conflicts */
	background:#f00;
	color:#fff;
	padding:10px;
}
#contentSide div.promotion h3+p  { padding-top:0.25em; }
#contentSide div.promotion p:last-child,
#contentSide div.promotion p.last-child {
	margin-bottom:0;/* otherwise, there's a lot of background color showing through */
}
/* (/6.5) ------------------------- /SIDEBOXES ------------------------------ */

/* (6.6) --------------------------- PHOTO TOUR ----------------------------- */
ol.slideShow {
	position:relative;
	list-style:none;
	margin:0; padding:0;
	width:500px;
}
ol.slideShow li {
	margin:3em 0; padding:0;
}

ol.slideShowActive {
	overflow:hidden;
	z-index:1;
}
ol.slideShowActive li {
	z-index:1;
	width:100%;
/*	height:100%;*/
	margin:0 0 0 -100%;
	position:relative;
	left:100%;
	float:left;
/*	background:#fff;*/
}
ol.slideShowActive li.active {
	z-index:2;
}
ol.slideShowActive li.incoming {
	z-index:3;
}

div.slideShowControls {
	position:relative;
	z-index:100;
	text-align:center;
	line-height:31px;
	width:120px;
	margin:0.5em 0;
	padding:0 190px;
}
div.slideShowControls a {
	display:block;
	position:absolute;
	top:0; left:150px;
	height:32px; width:32px;
	background:#fff url(img/sprite_prevnext.jpg) 1px 3px no-repeat;
	overflow:hidden;
	text-indent:-1000em;
}
div.slideShowControls a.prev:hover    { background-position:0px -34px; }
div.slideShowControls a.prev:active   { background-position:1px   3px; }
div.slideShowControls a.prev.inactive { background-position:1px -74px; }

div.slideShowControls a.next:hover    { background-position:-35px -34px; }
div.slideShowControls a.next,
div.slideShowControls a.next:active   { background-position:-34px   3px; left:auto; right:150px; }
div.slideShowControls a.next.inactive { background-position:-34px -74px; }

div.slideShowControls span {
	font-weight:bold;
}
/* (/6.6) ------------------------- /PHOTO TOUR ----------------------------- */
/* (/6) ======================= /COMMON STRUCTURES ========================== */




/* (7) ======================== TARGETED OVERRIDES ========================== */
/* (7.1) ---------------------------- PAGE : HOME --------------------------- */
#pgHomepage #contentMain {
	margin-top:12px;
	width:450px;
}
#pgHomepage #contentSide {
	margin-top:9px;
	width:336px;
}
#pgHomepage #contentSide div.boxy {
	float:left;
	margin-left:8px;
}
#pgHomepage #contentSide div.boxy:first-child,
#pgHomepage #contentSide div.boxy-first-child {
	margin-left:0;
}
#pgHomepage fieldset {
	text-align:center;
}
#pgHomepage p+fieldset {
	margin-top:-1em;
}
#pgHomepage input {
	display:inline;
	line-height:2em;
}
#pgHomepage input[type=image] {
	height:1.5em;
	width:4em;
	background:transparent url(img/btn_go.gif) center center no-repeat;
	margin-bottom:-0.5em;
}
/* (/7.1) -------------------------- /PAGE : HOME --------------------------- */

/* (7.2) ---------------------------- PAGE : FAQs --------------------------- */
#pgFaqIndex .noBullets a { color:#960; }
#pgFaqIndex .noBullets a:hover,
#pgFaqIndex .noBullets a:active { color:#f00; }
/* (/7.2) -------------------------- /PAGE : FAQs --------------------------- */
/* (/7) ====================== /TARGETED OVERRIDES ========================== */




/* (8) ========================== MEDIA OVERRIDES =========================== */
/* (8.1) ----------------------------- PRINT -------------------------------- */
@media print {
	* { background-image:none !important; }
	#brand {
		height:auto;
		margin:0;
	}
	#brand h1 {
		position:static;
		margin:0 0 1em 0;
	}
	#brand h1 a {
		height:auto;
		width:auto;
		overflow:hidden;
		text-indent:0;
		content:url(img/sprite_brand-nav.gif);
		margin-bottom:-55px;
	}
	#brand p,
	#footNav { display:none; }
}
/* (/8.1) --------------------------- /PRINT -------------------------------- */
/* (/8) ======================== /MEDIA OVERRIDES =========================== */




