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

/* typography */
body {font-size:75%;color:#666;font-family:Arial, Helvetica, sans-serif;}
h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#282f59;}
h1 {font-size:2em;line-height:1;margin-bottom:0.5em;}
h2 {font-size:1.5em;margin-bottom:0.75em;}
h3, dt {font-size:1.2em;line-height:1;margin-bottom:1em;}
h4 {font-size:1em;line-height:1.25;margin-bottom:1.25em;height:1.25em;}
h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
h6 {font-size:1em;font-weight:bold;}
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
p {margin:0 0 1.5em;}
p img {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
a:visited {color:#999;}
a:focus, a:hover {color:#153E8D;}
a {color:#282f59;text-decoration:underline;}
blockquote {margin:1.5em;color:#666;font-style:italic;}
strong {font-weight:bold;}
em, dfn {font-style:italic;}
dfn {font-weight:bold;}
sup, sub {line-height:0;}
abbr, acronym {border-bottom:1px dotted #666;}
address {margin:0 0 1.5em;font-style:italic;}
del {color:#666;}
pre, code {margin:1.5em 0;white-space:pre;}
pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
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; margin-left:2em;}
dl {margin:0 0 1.5em 0;}
dl dt {font-weight:bold;}
dd {margin-left:1.5em;}
table {margin-bottom:1.4em;width:100%;}
th {font-weight:bold;background:#C3D9FF;}
th, td {padding:4px 10px 4px 5px;}
tr.even td {background:#E5ECF9;}
tfoot {font-style:italic;}
caption {background:#eee;}
.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
.hide {display:none;}
.quiet {color:#666;}
.loud {color:#000;}
.highlight {background:#ff0;}
.added {background:#060;color:#fff;}
.removed {background:#900;color:#fff;}
.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;}

/* grid */
#container, .container {width:960px;margin:0 auto;}
body {margin:0;}
div.column {float:left;margin-right:0;}
div.last {margin-right:0;}
div.border {padding-right:4px;margin-right:5px;border-right:1px solid #eee;}
.box {padding:1.5em;margin-bottom:1.5em;background:#E5ECF9;}
hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;}
hr.space {background:#fff;color:#fff;}
.clearfix:after, .container:after {content:".";display:block;height:0;clear:both;visibility:hidden;}
.clearfix, .container {display:inline-block;}
 * html .clearfix, * html .container {height:1%;}
.clearfix, .container {display:block;}
.clear {clear:both;}

/* custom */
body {background: #eceef8 url(../images/layout/bg.png) top left repeat-x;}
#container {position:relative;}
#hd {background: url(../images/layout/hd.png) top left repeat-y; height:146px;}
.ellicott-city #hd {background-image: url(../images/layout/hd-ellicott-city.png);}
.rolling-road #hd {background-image: url(../images/layout/hd-rolling-road.png);}
.eastpoint #hd {background-image: url(../images/layout/hd-eastpoint.png);}
.lutherville #hd {background-image: url(../images/layout/hd-lutherville.png);}

#bd {background: url(../images/layout/bd.png) top left repeat-x; margin-top:55px; padding-left:10px; min-height:320px; _height:320px;}

#logo {height:120px; width:320px; position: absolute; top:10px; left:10px;}

#logo a {
	background: url(../images/layout/clear.gif) top left no-repeat;
	display:block; 
	height:120px;
	overflow: hidden;
	text-indent: -999em;
	width:320px;}

#content {background: url(../images/layout/content.png) top left repeat-y; width:600px; margin-right:20px;}
	#content h1 {font-size:2.5em;}
	img + hr {margin-top:1.5em;}
	dl.logos img {margin: 5px 0 20px 0;}
	dt a {display:block; font-weight:normal; margin-bottom:5px;}
	
	.flash-replaced {margin-bottom:20px;}
	.flash-replaced .alt {display:none;}
	.notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
	.notice a {color:#514721;}
	
	.inset {background-color: #ccc; border:1px solid #999; float:right; margin: 0 0 0 10px; padding-top:10px; width:180px;}
	.inset p, .inset ul {font-size: .9em; }
	.inset p,
	.inset h3 {margin-left:10px; margin-right:10px;}
	
	div.map {margin-bottom:1em;}
	
	ul.staff-group {list-style:none; margin:0;}
	ul.staff-group li {float:left; margin: 0 20px 20px 0; text-align:center;}
	ul.staff-group a {text-decoration:none;}

	/* images */
	img.border, img.auto {background-color: #fff; border:4px solid #4c5f75; padding: 1px;}
	img.auto {float: right; margin: 36px 0 15px 15px}

#sidebar {width:300px; margin-top:200px;}
ul#logos
{
	background:url(../images/layout/logos.png) top left no-repeat;
	height:160px;
	position: relative;
	width: 289px;
}
ul#logos li{overflow: hidden; text-indent: -999em;}
ul#logos .invisalign a
{
	display: block;
	height: 160px;
	width: 66px;
	position:absolute;
	top:0;
}

/* navigation */
#nav {position:absolute; top:151px; left:0;}

#nav ul, #util ul {
	list-style: none;
	margin: 0;}

#nav a {
	background: url(../images/nav/home.png) top left no-repeat;
	display: block;
	height: 28px; /* h */
	overflow: hidden;
	text-align: left;
	text-indent: -999em;
	width: 76px; /* w */
}

/* horizontal nav */
#nav li {float:left;}
#nav a:hover, #nav li:hover a, #nav li.sfhover a, #util a:hover {background-position: 0 -28px;} /* -h */
#nav li.active a {background-position: 0 -56px;} /* -2h */

/* set bg image for each link */
a#our-offices {background-image:url(../images/nav/our-offices.png); width:134px;}
a#your-first-visit {background-image:url(../images/nav/your-first-visit.png); width:157px;}
a#about-orthodontics {background-image:url(../images/nav/about-orthodontics.png); width:193px;}
a#braces-101 {background-image:url(../images/nav/braces-101.png); width:128px;}
a#fun-and-games {background-image:url(../images/nav/fun-and-games.png); width:152px;}
a#contact-us {background-image:url(../images/nav/contact-us.png); width:120px;}

/* subnav-flyout */
#nav li ul {
	background: #29305a url(../images/nav/subnav.png) top left repeat-x;
	left: -9999px;
	padding: 3px 8px 8px 8px;
	position: absolute;
	width: 150px;
	z-index: 10; 
	-moz-border-radius-bottomleft: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-radius-bottomright: 5px;
	-webkit-border-bottom-right-radius: 5px;
}
#nav li ul a {
	background-image: none;
	border-bottom: 1px #798798 dashed;
	color: #b5c6d0;
	height: 21px;
	margin-top: 4px;
	text-decoration: none;
	text-indent:0;
	width: 150px;}
#nav li ul a:hover {color:#fff;}
#nav li:hover ul,
#nav li.sfhover ul {left: auto; margin: 0 0 0 10px;}

#util
{
	background: url(../images/layout/util.png) top left no-repeat; 
	height:180px;
	padding-top:20px;
	position:absolute; 
	right:10px;
	text-align:left;
	top:200px;
	width:300px;
}
#util ul {width:200px;}
#util ul ul{margin-left:35px; padding-top:2px}
#util ul li {padding-bottom:6px;}
#util ul li.last {padding-bottom:0;}
#util a {color:#b5c6d0; text-decoration:none;}
#util a:hover {color:#fff;}
#util #patient-login, #util #doctor-login
{
	display: block;
	height: 20px;
	overflow: hidden;
	text-indent: -999em;
}

#ft {background: #5a87c5 url(../images/layout/ft.png) top left repeat-x; padding-top:20px;}
#ft, #ft a {color: #fff; text-decoration:none;}

#ft ul.locations {list-style:none; margin:0;}
#ft ul.locations h3 a {display: block; height:30px; overflow:hidden; text-indent: -999em;}
#ft ul.locations li {float:left; margin:0 20px 20px 0; width:225px; text-align:center;}
#ft ul.locations li {background:top left no-repeat;}
#ft ul.locations li.ellicott-city {background-image:url(../images/layout/ellicott-city-office.png)}
#ft ul.locations li.rolling-road {background-image:url(../images/layout/rolling-road-office.png)}
#ft ul.locations li.eastpoint {background-image:url(../images/layout/eastpoint-office.png)}
#ft ul.locations li.lutherville {background-image:url(../images/layout/lutherville-office.png); margin-right:0;}
#ft ul.locations p {font-size:.9em;}
#ft ul.locations p + p {font-size:1em;}
#ft ul.locations strong {font-size:1.2em;}

#ft .description {font-size:.9em; width:290px; float:right; margin-right:20px;}
#ft .sesame, #ft .sesame a, #ft .text_nav, #ft .text_nav a {color:#b5c6d0; font-size:.9em;}
#ft .text_nav a:hover, #ft .sesame a:hover {color: #fff;}
#ft .text_nav {margin-bottom:0;}
#ft .text_nav strong {color:#fff;}
#ft .sesame {margin-top:1.5em;}

/* games */
div#sesame-game {background: #000; line-height: 0; margin: 10px auto 30px auto; text-align: center; width: 400px}
ul#sesame-games {list-style: none; margin: 0 18px 0 0; padding: 0}
ul#sesame-games li {clear: both; display: block}
ul#sesame-games img {border: 0; float: right; margin: 0 0 10px 10px}
ul#sesame-games a.button {float:right; height:85px; width:200px}
ul#sesame-games p {padding-bottom: 1em}


/* Global form styles */
fieldset {border: none; padding: 9px 0;}
fieldset div {clear: both;}
.form-container {
	margin: 0 0 18px;
	width: 585px; 
	padding: 10px;
	border:solid 2px #ccc; /* optional, change color to match site */
	background:#fff; /* optional, change color of background */}
.form-container label span { /* sits below labels; holds instructions */
	color:#666;
	display:block;
	font-size:11px;
	font-weight:normal;
	text-align:right;
	width:200px;}
.form-container p.verification {margin-top: 0;}
.form-container p.verification img {border: 1px solid #999;} /* customize me! */
.form-header {border-bottom: 1px solid #ccc; /* optional, change color to match site */}
.form-header h3 {margin: 0 0 9px;}
.form-header p {margin: 0 0; padding-bottom: 18px;}
.form-footer {padding-top: 18px; text-align: center; border-top: 1px solid #ccc; /* optional, change color to match site */}
.form-footer button { /* these styles control the look of the button, change as necessary */
	clear:both; /* do not change, forces button to sit below floated elements */
	margin: 9px auto; /* do not change, controls positioning */
	display: block;
	width:125px;
	height:31px;
	background:#1B4391; /* customize me! */
	border: 2px solid #282F78; /* customize me! */
	text-align:center;
	line-height:31px;
	color:#fff; /* customize me! */
	font-size:12px;
	font-weight:bold;}

/* appointment form */
.appointment-form fieldset {border: none; padding: 9px 0;}
.appointment-form label { /* floats labels left */
	font-size: 12px;
	display:block;
	font-weight:bold;
	text-align:right;
	width:200px;
	float:left;
	line-height: 18px;
	padding-top: 4px;}
.appointment-form input, .appointment-form select, .appointment-form textarea {
	float:left;
	font-size:12px;
	padding:4px 2px;
	border:solid 1px #ccc; /* customize me! */
	width:200px;
	margin:9px 0 9px 10px;
	background: #fff;}
.appointment-form p.radio, .appointment-form p.verification {
	clear: both;
	margin: 9px 0 9px 210px;
	font-size: 12px;}
.appointment-form p.radio-float {
	clear: none;
	float:left;
	width: 200px;
	padding:0;
	margin:9px 0 9px 0;}
.appointment-form p.radio input, .appointment-form p.radio-float input {
	float: none;
	width: auto;
	margin: 0 0 0 10px;
	padding: 4px 2px;}

/* comment form */	
.comments li {font-weight: bold;}
.comments label { /* floats labels left */
	font-size: 12px;
	display:block;
	font-weight:bold;
	text-align:right;
	width:200px;
	float:left;
	padding-top: 4px;}
.comments .label-block label {float: none; clear: both; width: 100%; text-align: left;}
.comments input, .comments textarea {
	float:left;
	font-size:12px;
	padding:4px 2px;
	border:solid 1px #ccc; /* customize me! */
	width:200px;
	margin:9px 0 9px 10px;
	background: #fff;}
.comments p.verification {
	clear: both;
	margin: 9px 0 9px 210px;
	font-size: 12px;}
.comments p.radio-float {
	clear: none;
	float:left;
	width: 200px;
	padding:0;
	margin:9px 0 9px 0;}
.comments p.radio input, .comments p.radio-float input {
	float: none;
	margin: 0 0 0 10px;
	padding: 4px 2px;
	width: auto;}
.comments .radio {text-align: left; font-weight: normal;}
.comments .comments-box label {float: none; font-weight: normal; display: block; text-align: left;}
.comments .comments-box textarea {float: none; margin-left: 0; width:95%;}

/* referral form */
.referral-form fieldset {border: none; padding: 9px 0;}
.referral-form label { /* floats labels left */
	font-size: 12px;
	display:block;
	font-weight:bold;
	text-align:right;
	width:200px;
	float:left;
	line-height: 18px;
	padding-top: 4px;}
.referral-form input, .referral-form textarea {
	float:left;
	font-size:12px;
	padding:4px 2px;
	border:solid 1px #ccc; /* customize me! */
	width:200px;
	margin:9px 0 9px 10px;
	background: #ffffff;}
.referral-form p.radio, .referral-form p.verification {
	clear: both;
	margin: 9px 0 9px 210px;
	font-size: 12px;}
.referral-form p.radio-float {
	clear: none;
	float:left;
	width: 200px;
	padding:0;
	margin:9px 0 9px 0;}
.referral-form p.radio input, .referral-form p.radio-float input {
	float: none;
	width: auto;
	margin: 0 0 0 10px;
	padding: 4px 2px;}
.fancy-video{background:url(../images/video-bg2.jpg); width:170px; height:80px; display:block;}

