/* Styles for content pages */

/************************************************************
Banner (Home Page) */

#banner {
	position:relative;
	margin:1.5em 0 0.2em;
}


/* Next/prev navigation */
#banner-next,
#banner-prev {
	position:absolute;
	z-index:2;
	top:35%;
	height:57px;
	width:58px;
	background:transparent url('../images/icons/slider-arrows.png') no-repeat left center;
	text-indent:-9999px;
	outline:none;
}
#banner-prev {
	background-position:right center;
	left:-11px;
}
#banner-next {
	right:-13px;
}

.banner-notice {
	background-color: #f9d90a;
	padding: 13px;
	border-radius: 5px;
	width: auto;
	position: absolute;
	right: 0;
	top: -3.8em;
	height: 50px;
}
.banner-notice p {
	color: #414141;
	font: 18pt/1 MuseoSlab,Arial,Helvetica,sans-serif;
	text-align: center;
	margin: 0;
}

/* Tiles */
#banner-tiles {
	list-style:none;
	margin:0;
	padding:0;
	height:371px;
	font:10.5pt/1.6 MuseoSlab,Arial,Helvetica,sans-serif;
}
#banner-tiles li {
	display:none;
	position:absolute;
	border-radius:0.5em;
	width: 100%;
}
#banner-tiles>li:first-child {
	display:block;
}
#banner-tiles .banner-image {
	display:block;
	border-radius:0.5em;
	width: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	height: 370px;
}
#banner-tiles div:not(.banner-image) {
	position:absolute;
	width:100%;
	bottom:0;
	left:0;
	padding:0.7em 2.5em;
	background:rgba(255,255,255,0.9);
	border-radius:0 0 0.4em 0.4em;

	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}
#banner-tiles h2 {
	position:relative;
	border-bottom:1px dashed #dedcd7;
	padding:0 20px 0.2em;
}
#banner-tiles h2:after {
	content:' ';
	position:absolute;
	width:100%;
	height:0;
	left:0;
	bottom:-4px;
	border-bottom:1px dashed #dedcd7;
}
#banner-tiles p {
	padding:0 20px;
	margin:0 0 0.5em;
}



/* Bullet navigation */
#banner-nav {
	text-align:center;
	list-style:none;
	margin:0.7em 0 0;
	padding:0;
}
#banner-nav li {
	display:inline-block;
}
#banner-nav a {
	margin:0 1px;
	display:block;
	text-indent:-9999px;
	outline:none;
	width:0.9em;
	height:0.9em;
	background:rgba(150,150,150,0.5);
	border-radius:100%;
	box-shadow:inset -2px 1px 4px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.9);
}
#banner-nav li.sel a {
	background:rgba(255,255,255,0.8);
}



/************************************************************
Quote area (home page) */

.quote {
	position:relative;
	margin-top:1.5em;
	padding:1em 1em 0;
}


/* Borders */
.quote:before,
.quote:after {
	content:' ';
	position:absolute;
	width:100%;
	top:0;
	left:0;
	border-bottom:1px dashed #dedcd7;
}
.quote:before {
	margin-top:-3px;
}


/* Testimonial area */
.quote blockquote {
	position:relative;
	display:inline-block;
	vertical-align:middle;
	font:10pt/2 MuseoSlab,Arial,Helvetica,sans-serif;
	color:#68655d;
	margin:0;
	width:75%;
	padding:0 0 0 4em;
}
.quote blockquote:before {
	content:'\201C';
	position:absolute;
	left:0;
	top:0;
	font-size:87pt;
	line-height:0.8;
	color:#dddddb;
}

/* Button area */
.quote>p {
	display:inline-block;
	vertical-align:middle;
	margin:0 0 0 1em;
}


/************************************************************
Testimonials page */

#testimonials blockquote {
	position:relative;
	color:#68655d;
	margin:2em 0 0;
	padding:0 0 0 4em;
}
#testimonials blockquote:before {
	content:'\201C';
	position:absolute;
	left:-0.1em;
	top:0;
	font:87pt/0.8 MuseoSlab,Arial,Helvetica,sans-serif;
	color:#dddddb;
}
#testimonials cite {
	display:block;
	text-align:left;
	margin:0 0 2em 5em;
	font:10pt/1 MuseoSlab,Arial,Helvetica,sans-serif;
}
#testimonials cite:before {
	content:' - ';
}

/* When no name is present... make more space. */
#testimonials blockquote+blockquote {
	margin-top:3em;
}


/************************************************************
FAQs page */

#faqs {
	position:relative;
	margin:1.5em 0;
	padding-left:2.5em;
}
#faqs dt {
	font:14pt/1.3 MuseoSlab,Arial,Helvetica,sans-serif;
	color:#283890;
}
#faqs dd {
	margin:0 0 2.5em;
	padding:0;
}

#faqs dd:after {
	content:' ';
	position:absolute;
	width:100%;
	left:0;
	border-bottom:1px dashed #dedcd7;
}

/* Q/A letters */
#faqs dt:before,
#faqs dd:before {
	font:18pt/10pt MuseoSlab,Arial,Helvetica,sans-serif;
	position:absolute;
	left:0;
}
#faqs dt:before {
	content:'Q:';
}
#faqs dd:before {
	content:'A:';
}



/************************************************************
Compare gallery */

/* Categories */
#compare-cats {
	list-style:none;
	margin:0;
	padding:0;
}
#compare-cats li {
	display:inline-block;
	text-align:center;
	width:31%;
	padding:0.5%;
	margin:0.5em 0;
}
#compare-cats a {
	display:block;
}
#compare-cats img {
	display:block;
	margin:auto;
	background:#fff;
	padding:0.3em;
	margin-bottom:0.3em;
	box-shadow:0 0 0.2em rgba(0,0,0,0.3);
	max-width:120px;
}


/* Photo tiles */
#compare-photos {
	list-style:none;
	margin:0;
	padding:0;
}
#compare-photos li {
	display:inline-block;
	text-align:center;
	width:49%;
	line-height:1.2;
	margin:0.5em 0;
}
#compare-photos a {
	display:block;
}
#compare-photos img {
	max-width:120px;
	background:#fff;
	padding:0.3em;
	margin:0 0.15em;
	box-shadow:0 0 0.2em rgba(0,0,0,0.3);
}
#compare-photos strong {
	display:block;
	font-weight:normal;
	margin-top:0.3em;
}


/* Side-by-side */
#compare-modal {
	width:620px;
}
#compare-modal .col {
	width:48%;
	padding:0.5%;
	font-weight:bold;
	font-size:9.5pt;
	margin:0 0 1em 0;
	text-align:center;
}
#compare-modal img {
	display:block;
	margin:auto;
	max-width:300px;
	max-height:300px;
	margin-bottom:0.3em;
}



/************************************************************
Staff page */

/* Shared stuff */
#staff-bios dt,
#staff-tiles dt {
	display:inline-block;
	vertical-align:top;
}
#staff-bios dt img,
#staff-bios dt em,
#staff-tiles dt img,
#staff-tiles dt em {
	max-width:98%;
	padding:0.3em;
	background:#fff;
	box-shadow:0 0 0.2em rgba(0,0,0,0.3);
}
#staff-bios dt em,
#staff-tiles dt em { /* Placeholder */
	display:inline-block;
	font:10.5pt/1.5 MuseoSlab,Arial,Helvetica,sans-serif;
	text-align:center;
}
#staff-bios dd h3,
#staff-tiles h3 {
	margin:0;
	color:#283890;
}
#staff-bios dd,
#staff-tiles dd {
	display:inline-block;
	vertical-align:top;
}



/* Larger bios */
#staff-bios {
	margin:1em 0;
}
#staff-bios dt {
	width:35%;
}
#staff-bios dt em { /* Placeholder */
	width:205px;
	height:105px;
	padding:80px 0 0.3em;
	background:transparent url('../images/staff/noimage.jpg') repeat center center;
	background-size:contain;
	text-indent:-9999px;
	border:0.3em solid #fff;
}
#staff-bios dd {
	width:62%;
	margin:0 0 1em 2%;
}
#staff-bios dd h4 {
	margin-top:0;
	font-size:13pt;
}
#staff-bios dd p {
	margin:0.5em 0;
}
#staff-bios dd ul {
	margin:0.5em 0;
	padding:0 0 0 1.5em;
}


/* Photo tiles only */
#staff-tiles {
	margin:2em 0 1em;
}
#staff-tiles dt {
	width:18%;
	margin:0 0 1em;
}
#staff-tiles dt img,
#staff-tiles dt em {
	max-width:95%;
}
#staff-tiles dt em { /* Placeholder */
	width:100px;
	height:70px;
	padding:30px 0 0.3em;
	font-size:9.5pt;
	background:transparent url('../images/staff/thumb_noimage.jpg') repeat center center;
	text-indent:-9999px;
	border:0.3em solid #fff;
}
#staff-tiles dd {
	width:29%;
	margin:0 0.5% 1em 1%;
}
#staff-tiles h3 {
	font-size:14pt;
}
#staff-tiles h4 {
	margin:0;
}




/************************************************************
Headings and stuff */

.col>h1,
.col>h2,
.col>h3 {
	color:#283890;
}

.col.side>h3 {
	padding:0.4em 1em 0.4em 1.6em;
	margin:0.7em 0 0.3em -1.5em;
	background:rgba(102,99,91,0.12);
}
.col.side>img {
	margin-left:-1em;
}


#content>h1 {
	display:table; /* The magic needed for fluid-width block-level */
	background:rgba(102,99,91,0.12);
	color:#283890;
	padding:0.4em 6em 0.4em 2em;
	margin:-0.7em 0 1.1em -1em;
}


/************************************************************
Tables */

table {
	border-collapse:collapse;
	position:relative;
	width:95%;
	margin:0 0 1.8em;
}
/*tbody td {
	border-top:1px solid #f2f2f2;
}
tbody tr:first-child td {
	border-top:none;
}*/
tbody th,
tbody td {
	padding:0.3em 0.4em;
}
tbody tr:before {
	content:' ';
	position:absolute;
	width:100%;
	height:2px;

	background-image:-moz-linear-gradient(left, #fdfdfd, #eee, #fff);
	background-image:-webkit-linear-gradient(left, #fdfdfd, #eee, #fff);
	background-image:-ms-linear-gradient(left, #fdfdfd, #eee, #fff);
	background-image:-o-linear-gradient(left, #fdfdfd, #eee, #fff);
	background-image:linear-gradient(left, #fdfdfd, #eee, #fff);
}
tbody tr:first-child:before {
	content:'';
	visibility:hidden;
}
tbody .align-top {
	vertical-align: top;
}

/* Borders below */
table:before,
table:after {
	content:' ';
	position:absolute;
	bottom:-1em;
	left:-2%;
	width:104%;
	border-bottom:1px dashed #dedcd7;
}
table:after {
	bottom:-0.75em;
}


/************************************************************
Callouts */

.callout {
	background:#ECECEB;
	color:#68655D;
	font:9pt/1.3 MuseoSlab,Arial,Helvetica,sans-serif;
	margin:3em 0 1.5em;
	padding:1em 1.5em;
	border-radius:0.4em;
}
.callout h3 {
	margin:0 0 0.2em;
	color:#283890;
	text-shadow:1px 1px 0 rgba(255,255,255,0.3), -1px -1px rgba(0,0,0,0.3);
}
.callout p {
	margin:0;
}
.callout:first-child {
	margin-top:0;
}
.callout .button {
	margin-top:0.8em;
}

.callout+.callout {
	margin-top:4em;
}


/* Red callout */
.callout.alt {
	background:#2eb24c;
	color:#fff;

}
.callout.alt h3 {
	color:#fff;
}
.callout.alt .button {
	background-color:#ECECEB;
	border-color:#ECECEB;
	color:#2eb24c !important;
}
.callout.alt .button:before,
.callout.alt .button:after {
	color:#ECECEB;
}


/************************************************************
Odds and Ends */

/* Map canvas */
#map-canvas {
	position:relative;
	left:-0.5em;
	margin:1.5em 0;
	height:250px;
	border:0.8em solid #fff;
	border-radius:0.5em;
	box-shadow:0 0 0.3em rgba(0,0,0,0.2);
}


.dentists {
	width:552px;
}

/************************************************************
RESPONSIVE */
@media screen and (max-width: 950px) {
	#content {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
	}
	#content > div {
		width: 100% !important;
	}
	#content>.col.main:before, #content>.col.side:before {
		display: none;
	}
	#content .col.side {
		padding-left: 0px;
	}
	#top-arrow {
		display: none;
	}
	#content .col.side+.col.main, #content .col.main+.col.side {
		padding-left: 0px;
	}
	table {
		width: 100%;
	}
	html,
	body {
		overflow-x: hidden !important;
	}
	#main-nav {
		position: fixed;
		top: 0px;
		right: 0px;
		height: 100%;
		width: 0px;
		background: #67645c url(../images/backgrounds/stitches.jpg) repeat-x center bottom;
		z-index: 500;
		padding-top: 100px;
		transition: all 0.3s ease 0s;
		box-shadow: 3px 0px 10px 3px #000000;
	}
	#contactForm > p {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		margin: 0px !important;
		margin-bottom: 15px !important;
	}
	#contactForm > p label {
		width:	100% !important;
		margin: 0px !important;
		text-align: left !important;
	}
	#main-nav>li.sel,
	#main-nav>li:hover {
		background: transparent !important;
	}
	#main-nav li {
		display: none;
		justify-content: flex-start;
		align-items: center;
		width: 100%;
		height: 50px;
		padding-left: 50px;
	}
	#top {
		height: 50px;
	}
	#nav-btn {
		display: block;
		margin: 0 30px;
		position: absolute;
		align-self: center;
		right: 0px;
		top: 16px;
		color: #edeae3;
	}
	#inner #nav-btn {
		color: #0C73AA;
	}
	#nav-close-btn {
		position: absolute;
		top: 16px;
		right: 20px;
		z-index: 5;
		color: #FFF;
	}
	.buttons {
		position: relative;
		top: 15px;
	}
}
