/* 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;}
table {border-collapse:separate;border-spacing:0;}
caption, th, td {text-align:left;font-weight:normal;}
table, td, th {vertical-align:middle;}
a, img, object {border:none; outline:none;}
.hide {display:none;}

@font-face {
	font-family: 'OptimaBold';
	src: url('optima-webfont.eot');
	src: local('OptimaBold'), url('optima-webfont.woff') format('woff'), url('optima-webfont.ttf') format('truetype'), url('optima-webfont.svg#webfontu3xvgJJ0') format('svg');
}

/* Layout */
body {background: #2d1d00;}
.wrap {width: 960px; margin: 0 auto;}
#banner-wrap {background: url(../images/banner-wrap-bg.jpg) repeat-x; width: 100%; height: 223px;}
#banner {background: url(../images/banner-bg.png) no-repeat; height: 223px; position: relative;}
#green-bg {background: url(../images/green-pattern.jpg) repeat; clear: both;}
#gradient-bg {background: url(../images/gradient.png) repeat-x; padding-top: 49px;}
#content-wrap {background: url(../images/content-wrap-bg.png) repeat-y; width: 960px; /*min-height: 820px;*/ position: relative;}
#content {width: 580px; margin: 40px 60px 0 0; float: right;}
#footer-wrap {background: url(../images/footer-wrap-bg.png) repeat-x; width: 100%;}
#footer {background: url(../images/footer-bg.png) no-repeat; min-height: 80px; padding: 55px 0 0 0; clear: both;}
#left-col {position: absolute; top: 48px; left: 89px; z-index: 10; width: 182px;}
#left-col #sub, #left-col-floated #sub {text-align: right;} 
#left-col-floated {float: left; margin: 48px 0 0 89px;}
/*.callout {padding: 0; text-indent: -9999px; overflow: hidden;}*/
#callout-consult {width: 182px; height: 102px; margin: 60px 0 20px;}
#callout-magazine {width: 182px; height: 241px; margin: 0 0 20px;}
#subnav {margin: 0 0 40px 0;}
.map {width: 550px; height: 400px; border: solid 1px #4f3911; padding: 3px; background-color: #EBE0C3; margin: 0 0 15px;}

.right {float: right;}
.left {float: left;}
.bump-right {margin-left: 25px;}

div.hr {height: 1px; background-color: #dacca6; border: solid 1px #fff; border-width: 1px 0 0 0; margin: 20px 0; padding: 0; clear: both;}
hr {display: none; height: 1px; background-color: #dacca6; border: solid 1px #fff; border-width: 1px 0 0 0; clear: both;}
div#sm-hr {width: 182px; height: 0; background-color: #e9ece8; border: solid 1px #e9ece8; border-width: 1px 0 0 0; margin: 62px 0 45px 0; padding: 0;}

/* Images */
.img-border {border: solid 1px #4f3911; padding: 3px; background-color: #ebe0c3;}
.img-left {margin: 5px 25px 15px 0; float: left; }
.img-left-border {border: solid 1px #4f3911; margin: 5px 25px 15px 0; padding: 3px; background-color: #ebe0c3; float: left; clear: left;}
.img-right {margin: 5px 0 15px 25px; float: right; }
.img-right-border {border: solid 1px #4f3911; margin: 5px 0 15px 25px; padding: 3px; background-color: #ebe0c3; float: right; clear: right;}
.img-right-border2 {border: solid 1px #4f3911; margin: 5px 0 15px 25px; padding: 3px; background-color: #ebe0c3; float: right;}
.img-center-border {border: solid 1px #4f3911; margin: 15px auto; display: block;}
.lr-border {border: solid 1px #dacca6; border-width: 0 1px;}
.layout {display: block;}
#tagline {float: right; clear: right; margin: 135px 36px 0 0;}
.logo {margin: 9px 0 30px 0;}

/* Typo */
body {font-family: Tahoma, Geneva, sans-serif; font-size: 12px; line-height: 18px;}
#content {color: #422b01;}
#footer {color: #fff; text-transform: uppercase; text-align: center; font-size: 10px;}
#subnav {color: #1e3d14; text-transform: uppercase;}
#subnav ul {margin: 0; padding: 0; list-style: none;}

.text_nav {margin: 20px 0 0;}

p.address {font-size: 20px; font-weight: bold; line-height: 20px; color: #422b01; margin: 0 0 50px 0;}
p.address span {font-size: 16px; color: #1e3d14;}
p {margin: 0 0 18px 0;}

blockquote {margin: 0 30px 18px 30px;}
sup {font-size: 10px;}
em {font-style: italic;}

/* Links */
a {color: #1e3d14;}
a:hover,  a.active {color: #9e6600;}
#subnav li.active a {cursor: default; color: #9e6600;}
#footer a {color: #fff; text-decoration: none;}
#footer a:hover {text-decoration: underline;}
.back-to-top {background: url(../images/back-to-top.gif) no-repeat 0 4px; padding-left: 20px; clear: both;}
.pdf {background: url(../images/pdficon_small.gif) no-repeat 0 2px; padding-left: 25px; display: inline-block; height: 20px;}
.doc {background: url(../images/docicon_small.gif) no-repeat 0 2px; padding-left: 25px; display: inline-block; height: 20px;}

/* Headings */
h1.headline {font-size: 30px; font-weight: normal; font-style: italic; font-family: "OptimaBold", Tahoma, Geneva, sans-serif; margin: 0 0 20px -5px; color: #a0b606; line-height: 38px; clear: both;}
h2 {font-size: 22px; font-weight: normal; margin: 0 0 18px; line-height: 22px; color: #1e3d14;}
h3 {font-size: 16px; font-weight: bold; font-style: italic; margin: 0 0 9px; color: #422b01;}
h4 {font-size: 12px; font-weight: normal; margin: 0 0 9px;}

h1#logo {background: url(../images/ritucci-friedman-logo.png) no-repeat; width: 308px; height: 173px; margin: 30px 0 0 25px; padding: 0; text-indent: -999em; overflow: hidden; border: none; float: left;}
h1#logo a {width: 308px; height: 173px; display: block;}
h2#welcome {font-size: 16px; font-weight: normal;}

/* jQuery home page slideshow */
#slideshow-home {background: url(../images/slideshow-bg.gif) no-repeat; width: 860px; height: 329px; margin: 0 0 0 50px;}

/* Flash */
.flash {width: 500px; margin: 15px auto; display: block;}
p.flash_notice {margin: 18px; padding: 9px; color: #ff0000; border: 1px dotted #ff0000; background: #ffffff; text-align: center;}
#flash-color-your-retainer {width: 300px; margin: 15px auto; display: block;}

/* Flash Videos */
.video {border: solid 1px #4f3911;}

/* Lists */
ul, ol {margin: 0 0 18px 30px;}
dl dt {font-size: 16px; font-weight: bold;}
dl dd ul {margin: 0; list-style-type: none;}

/* Main Navigation */
#nav {background: url(../images/nav-bg.png) no-repeat; width: 938px; height: 56px; padding: 0 11px; position: absolute; z-index: 100; top: 223px; left: 0;}
#nav ul {width: 938px; height: 56px; margin: 0; padding: 0; list-style: none;}
#nav li {margin: 0; height: 49px; padding: 0; list-style: none; display: inline; float: left;}
#nav li a {height: 49px; display: block; text-decoration: none; text-indent: -9999px; overflow: hidden;}


#meet-the-team, #for-new-patients, #about-orthodontics, #about-braces, #ortho-treatments, #first-aid {background: url(../images/nav-bg.png) no-repeat; }

#meet-the-team {background-position: -11px 0; width: 159px;}
#nav li:hover #meet-the-team, #nav li.active #meet-the-team, #nav li.sfhover #meet-the-team {background-position: -11px -56px;}
#for-new-patients {background-position: -170px 0; width: 166px;}
#nav li:hover #for-new-patients, #nav li.active #for-new-patients, #nav li.sfhover #for-new-patients {background-position: -170px -56px;}
#about-orthodontics {background-position: -336px 0; width: 190px;}
#nav li:hover #about-orthodontics, #nav li.active #about-orthodontics, #nav li.sfhover #about-orthodontics {background-position: -336px -56px;}
#about-braces {background-position: -526px 0; width: 140px;}
#nav li:hover #about-braces, #nav li.active #about-braces, #nav li.sfhover #about-braces {background-position: -526px -56px;}
#ortho-treatments {background-position: -666px 0; width: 175px;}
#nav li:hover #ortho-treatments, #nav li.active #ortho-treatments, #nav li.sfhover #ortho-treatments {background-position: -666px -56px;}
#first-aid {background-position: -841px 0; width: 108px;}
#nav li:hover #first-aid, #nav li.active #first-aid, #nav li.sfhover #first-aid {background-position: -841px -56px;}


/* Drop Down */
#nav li ul {background: #422b01 url(../images/nav/dropdown-bg.gif) repeat-x; margin: 0; padding: 10px; width: 200px; height: auto; position: absolute; z-index: 50; left: -9999px; text-shadow: 0 -2px rgba(0,0,0,0.90);}

#nav li:hover ul, #nav li.sfhover ul {left: auto; margin: 0;}
#nav li ul li {display: block; width: 200px; height: 22px; padding: 0; margin: 0;}
/*#nav li ul li:hover {background: none;}*/
#nav li ul li a {padding: 0 0 5px 10px; margin: 5px 0; width: auto; height: 12px; display: block; text-transform: uppercase; text-indent: 0; color: #fff;}
#nav li ul li a:hover {color: #fbeabe; border: solid 1px #fbeabe; border-width: 0 0 0 1px; padding-left: 9px;}

/* Utility Nav */
#utility-nav {height: 15px; margin: 13px 28px 0 0; padding: 0; float: right;}
#utility-nav ul {margin: 0; padding: 0;}
#utility-nav li {margin: 0 0 0 10px; padding: 0; height: 15px; list-style: none; display: inline; float: left;}
#utility-nav li a {height: 15px; display: block; text-decoration: none; text-indent: -999em; overflow: hidden;}

#patient-login {background: url(../images/nav/patient-login.png); width: 116px;}
#doctor-login {background: url(../images/nav/doctor-login.png); width: 96px;}
#contact-us {background: url(../images/nav/contact-us.png); width: 102px;}
#home {background: url(../images/nav/home.png); width: 57px;}

#utility-nav a:hover, #utility-nav li.active a,
#utility-nav li:hover #patient-login, #utility-nav li.sfhover #patient-login,
#utility-nav li:hover #doctor-login, #utility-nav li.sfhover #doctor-login,
#utility-nav li:hover #contact-us, #utility-nav li.sfhover #contact-us,
#utility-nav li:hover #home, #utility-nav li.sfhover #home {background-position: 0 -15px;}
#utility-nav li.active a {cursor: default;}

/* Clear Fix */
.clear {clear: both;}
.cf:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}
.cf {display: inline-block;} /*this trips hasLayout for ie7*/
.cf {display: block;} /*this returns it back to normal*/
* html .cf {height: 1px;}

/* Rainbow Text */
.rainbow {
	background: transparent;
	display: block;
	position: relative;
	height: 1px;
	overflow: hidden;
	z-index: 4;
	}

	.rainbow span {
		position: absolute;
		top: 0;
		left: 1px;
		display: block;
		xwhite-space: nowrap;
		}
	
	a .rainbow span { /* For within floated elements. */
		white-space: nowrap; 
		}

.rainbows-highlight {
	color: #fff !important;
	display: block;
	position: absolute;
	top: -1px;
	left: 0px;
	z-index: 2;
	}

.rainbows-shadow {
	color: #000 !important;
	display:block;
	position: absolute;
	top: 1px;
	left: 2px; /* can be one or two depending on 90 or 135 degree global light */
	z-index: 3;
	}

.back .text .rainbows-shadow {
	color: #fff !important;
	opacity: 0.3;
	}

/* Sesame Content ------------------------- */ 

/* Emergency Care */
ul#toggle-emergency {
	list-style: none;
	margin: 0 0 1em 0;}
ul#toggle-emergency .img-left-border {
	padding: 0;
	}
ul#toggle-emergency li {
	border: solid 1px #dacca6; /* Customize me! */
	border-width: 0 0 1px 0;
	padding: 1em 0;
	margin: 0;}
.general-soreness {
	background: url(http://media.sesamehost.com/images/emergency-care/general-soreness.gif) no-repeat;
	width: 80px;
	height: 60px;}
.headgear {
	background: url(http://media.sesamehost.com/images/emergency-care/headgear.gif) no-repeat;
	width: 80px;
	height: 60px;}
.loose-appliance {
	background: url(http://media.sesamehost.com/images/emergency-care/loose-appliance.gif) no-repeat;
	width: 80px;
	height: 60px;}
.loose-bracket {
	background: url(http://media.sesamehost.com/images/emergency-care/loose-bracket.gif) no-repeat;
	width: 80px;
	height: 60px;}
.loose-wire {
	background: url(http://media.sesamehost.com/images/emergency-care/loose-wire.gif) no-repeat;
	width: 80px;
	height: 60px;}
.poking-wire {
	background: url(http://media.sesamehost.com/images/emergency-care/poking-wire.gif) no-repeat;
	width: 80px;
	height: 60px;}


/* Invisalign Teen */
span.indent {
	padding-left: 40px;
	}
#invisalign-sidebar {
	background: #FFFEFC;
	width: 275px;
	margin: 0 0 15px 25px;
	padding: 0;
	border: solid 1px #4f3911;
	line-height: 18px;
	font-size: 11px;
	float: right;
	clear: right;
	}
#invisalign-sidebar a {
	color: #036;
	}
#invisalign-sidebar h3 {
	background: #93A774;
	margin: 0;
	padding: 15px;
	color: #fff;
	}
#invisalign-sidebar p {
	padding: 0 15px;
	margin: 15px 0;
	}
.thumb {
	border: solid 1px #4f3911;
	margin: 0 10px 10px 0;
	float: left;
	clear: left;
	}


/* Common Treatments */
div.box {
	float: right;
	clear: right;
	width: 335px;
	background-color: #FFFEFC; /* Customize me! */
	padding: 5px 0 5px 5px;
	margin: 0 0 20px 20px;
	border: solid 1px #4f3911; /* Customize me! */
	-moz-border-radius: 5px; /* Optional - you may customize or remove */
	-webkit-border-radius: 5px;
}
div.box img {
	float: left;
	border: solid 1px #4f3911; /* Customize me! */
	margin-right: 5px;
}
div.box p {
	float: left;
	width: 50%;
	margin: 0;
	padding: 0;
}



/* Office Tour */

/* IMPORTANT - This prevents a flash of unstyled content */
#gallery {  }

/* GALLERY CONTAINER */
.gallery { background: #FFFEFC; border: 1px solid #4f3911; padding: 10px; margin: 10px auto; -moz-border-radius: 5px; -webkit-border-radius: 5px;}

/* LOADING BOX */
.loader { background: url(../images/loader.gif) center center no-repeat #ddd; }

/* GALLERY PANELS */
.panel {}

/* DEFINE HEIGHT OF PANEL OVERLAY */
/* NOTE - It is best to define padding here as well so overlay and background retain identical dimensions */
.panel .panel-overlay,
.panel .overlay-background { height: 25px; padding: 5px 10px 0 10px; } /* Change height to 0 if no captions are required */

/* PANEL OVERLAY BACKGROUND */
.panel .overlay-background { background: #222; }

/* PANEL OVERLAY CONTENT */
.panel .panel-overlay { color: #fff; font-size: 12px; }
.panel .panel-overlay a { color: white; text-decoration: underline; font-weight: bold; }

/* FILMSTRIP */
/* margin will define top/bottom margin in completed gallery */
.filmstrip { margin: 5px; }

/* FILMSTRIP FRAMES (contains both images and captions) */
.frame {}

/* WRAPPER FOR FILMSTRIP IMAGES */
.frame .img_wrap { border: 1px solid #aaa; }

/* WRAPPER FOR CURRENT FILMSTRIP IMAGE */
.frame.current .img_wrap { border-color: #000; }

/* FRAME IMAGES */
.frame img { border: none; }

/* FRAME CAPTION */
.frame .caption { font-size: 11px; text-align: center; color: #888; }

/* CURRENT FRAME CAPTION */
.frame.current .caption { color: #000; }

/* POINTER FOR CURRENT FRAME */
.pointer {
	border-color: #000;
}

/* TRANSPARENT BORDER FIX FOR IE6 */
/* NOTE - DO NOT CHANGE THIS RULE */
*html .pointer {
	filter: chroma(color=pink);
}

/*-----------------------------------------------
	Forms
	*/
	/* Global form styles */
	div.referral-form, div.appointment-form, div.comments {
		width: 100%;
		letter-spacing: normal;
	}

	fieldset {border: 0; padding: 0; margin: 0;}
		fieldset h2 {margin: 0 0 9px;}
		fieldset p {margin: 0 0 18px;}
		fieldset p.disclaimer {font-size: 90%; font-style: italic; margin: 0;}
		fieldset dl {}
			fieldset dl dt {font-size: 16px; clear: both; margin: 9px 0 0;}
				fieldset dd ul {margin: 9px 0;}
					fieldset dd ul li, fieldset dd ol li {list-style: none;}
					fieldset dd li {
						clear: both;
						margin: 3px 0;
						padding: 5px 0 4px 10%;
						overflow: auto;
						height: auto;
						position: relative;
						}
					fieldset dd li input:hover, fieldset dd li input:focus,
					 fieldset dd li select:hover, fieldset dd li select:focus,
					 fieldset dd li textarea:hover, fieldset dd li textarea:focus {
					 	background: #f1f1f1;/* customize me - this is the hover color change of form fields*/
					 	outline-color: #537197;/* customize me */
					 	}
						fieldset li h3 {font-size: 12px; line-height: 18px; margin: 0;}
						fieldset li div {float: left; display: inline-block; width: 40%; position: relative; padding-right: 5%;}
						fieldset li div.input-street {width: 85%;}
						fieldset li div.input-city {width: 60%;}
						fieldset li div.input-full-name {width: 85%;}
						fieldset li div.input-phone-full {width: 85%;}
						fieldset li div.input-email {width: 85%;}
						fieldset li div.input-zip {width: 20%;}
						fieldset li div.content-switch, fieldset li div.radio, fieldset li div.checkbox {width: 85%;}
							fieldset li div.radio input {border: none;}
							fieldset li div.radio label {padding-right: 9px; font-size: 90%;}
						/*fieldset li div.hidden-content, fieldset li.hidden-content {display: none;}*/
						fieldset li div.input-select-full {width: 85%;}
						fieldset li div.input-comments {width: 85%;}
							li div.input-comments textarea {height: 63px; overflow: auto;}
						fieldset li div.input-captcha {width: 50%;}
						fieldset li div.verification {width: 35%;}
							li div.verification img {
								border: 1px solid;
								margin-top: 9px;
								}
							fieldset li div label {
								line-height: 18px;
								font-weight: bold;
								margin-bottom: 9px;
								font-size: 80%;
								color: #537197;/*override to match site*/
								}
							fieldset li div input, fieldset li div textarea, fieldset li div select {
								display: block;
								line-height: 18px;
								width: 100%;
								border: 1px solid;
								padding: 4px 0 3px;
								text-indent: 4px;
								margin-top: 9px;
								-moz-border-radius: 4px; /*for Moz, optional*/
								-webkit-border-radius: 4px; /*for Webkit Browsers, optional*/
								}
							fieldset li div select {height: 25px;}
							fieldset li div.radio input {display: inline; width: auto; margin-right: 4px;}
							fieldset li div div {width: 100%;}
						fieldset dl dd.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*/
							display: block;
							width: 125px;
							height: 34px;
							text-align: center;
							margin: 0;
							background:#224118;/* customize me! */
							border: 1px solid #537197;
							line-height: 34px;
							color:#fff;/* customize me! */
							font-size:12px;
							font-weight:bold;
							-moz-border-radius: 4px; /*for Moz, optional*/
							-webkit-border-radius: 4px; /*for Webkit Browsers, optional*/
							}





	/* appointment form
	* Styles only for the appointment request form
	*/


	/* comment form
	* Styles only for the comments form
	*/
	/*numbering added by jQuery*/
	fieldset ol li span.comment-number {
		font-size: 150%;
		color: #537197;/* customize me*/
		position: absolute;
		left: 9px;
		top: 9px;
	}


	/* referral form
	* Styles only for the referral form
	*/
	.referral-form fieldset li div.radio {width: 40%;}

	/* JQuery */
	input.error, select.error, textarea.error {border-color: #a52003; background: #fefda1;}
	div.error {
		background: url(../images/validate_error.png) 0 0 no-repeat;
		color: #a52003;
		width: 18px;
		height: 18px;
		position: absolute;
		top: 0;
		right: 0;
		overflow: hidden;
		display: block;
		margin: 12px -2% 0 0;
		text-indent: -999em;}
	div.success {
		background: url(../images/validate_ok.png) 0 0 no-repeat;
		width: 18px;
		height: 18px;
		position: absolute;
		top: 0;
		right: 0;
		overflow: hidden;
		display: block;
		margin: 12px -2% 0 0;
		text-indent: -999em;}

	.contact-form div.error, .contact-form div.success {margin-left: 0;}
	
	/* jQuery Cycle Before and After */
#before-after-container {
	width: 495px;
	line-height: 18px;
	margin: 0 0 18px 0;
	padding: 10px 0 10px 10px;
	background-color: #96aa77; /* Customize me */
	border: solid 1px #333; /* Customize me */
	-moz-border-radius: 5px; /* Optional - you may customize or remove */
	-webkit-border-radius: 5px; /* Optional - you may customize or remove */
	}
#before-after-container ul.slideshow {
	list-style: none; 
	margin: 0; 
	padding: 0;
	width: 500px;
	height: 182px;
	overflow: hidden;
	}
ul#before-after-cycle li img {
	width: 232px;
	float: left;
	margin-right: 10px;
	border: solid 1px #333; /* Customize me */
	}
#before-after-container p {
	float: left;
	width: 50%;
	margin: 0 0 10px 0;
	}
#before-after-container div.cycle-detail {
	min-height: 55px; /* Increase this number to accomodate longer or shorter description text and to prevent "bumping" of lower content */
	clear: both;
	background-color: #fff6df; /* Customize me */
	padding: 10px;
	margin: 0 10px 0 0;
	border: solid 1px #333; /* Customize me */
	-moz-border-radius: 5px; /* Optional - you may customize or remove */
	-webkit-border-radius: 5px; /* Optional - you may customize or remove */
	}
#before-after-container .before-after-nav {
	background: #fff6df; /* Customize me */
	margin: 0 10px 10px 0;
	padding: 5px 3px;
	border: solid 1px #333; /* Customize me */
	-moz-border-radius: 5px 5px 0 0; /* Optional - you may customize or remove */
	-webkit-border-top-left-radius: 5px; /* Optional - you may customize or remove */
	-webkit-border-top-right-radius: 5px; /* Optional - you may customize or remove */
	}
#before-after-container .before-after-nav a {
	text-decoration: none; 
	font-size: 12px; 
	padding: 5px; 
	margin: 0 3px; 
	outline: none;
	color: #333; /* Customize me */
	}
#before-after-container .before-after-nav a.activeSlide, #before-after-container .before-after-nav a:hover {color: #009EC7;} /* Customize me */


