/* ==========================================================================



CORE
========================================================================== */

*,
ul,
p,
dl {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a,
button,
input,
select,
textarea,
.mask,
.loadanim,
#gnav {
	transition: all 0.3s ease-in-out;
}

button,
input,
select,
textarea,
header,
footer {
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	border-radius: 0;
}

body {
	line-height: 140%;
/* 	background-color: #f5f5f5; */
	background-color: #fff;
	color: #4a4a4a;
	font-family: 'Source Sans Pro', arial, sans-serif;
	font-size: 15px;
}
	@media (min-width: 768px) {
		body {
			font-size: 18px;
		}
	}	

h1, h2, h3, h4, h5, h6 {
	line-height: 133%;
	margin: 0 0 1em;
	color: #6F4B66;
	font-weight: 600;
}
h2 {
	font-size: 26px;
}
	@media (min-width: 768px) {
		h2 {
			margin-bottom: 0.5em;
			font-size: 36px;
		}
	}

strong {
	font-weight: 600;
}

a {
	color: #6F4B66;
	text-decoration: none;
}
a.mdr {
/* 	background: linear-gradient(#fff 50%, #fff 50%) repeat-x 0 1.3em; */
/* 	background-size: 1px 1px; */
	background: -webkit-linear-gradient(#fff, #fff) center 1.2em no-repeat;
	background: linear-gradient(#fff, #fff) center 1.2em no-repeat;
	background-size: 0 1px;
	transition: .2s ease;
}
a.mdr:active,
a.mdr:hover,
a.mdr:focus {
	background-size: 100% 1px;
}

a i:after {
	content: "\203A";
	font-style: normal;
	margin-left: 13px;
}

button {
	background: none;
	border: none;
	cursor: pointer;
}
button:active,
button:hover,
button:focus {
	outline: 0;
}

nav li {
	list-style: none;
}

p {
	line-height: 120%;
}

/* ==========================================================================



COMMON / MODULES
========================================================================== */

.btn {
	padding: 10px 25px;
	display: inline-block;
	vertical-align: top;
	border: 2px solid #6F4B66;
	background: none;
	color: #6F4B66;
	font-size: 16px;
	font-family: 'Source Sans Pro', arial, sans-serif;
	font-weight: 500;
	line-height: 22px;
	text-align: center;
}
.btn:active,
.btn:hover,
.btn:focus {
	background-color: #6F4B66;
	color: #fff;
}
.btn.alt {
	border-color: #F1EEE9;
	color: #F1EEE9;
	box-shadow: 0 3px 5px 0px rgba(0,0,0,0.5);
}
.btn.alt:active,
.btn.alt:hover,
.btn.alt:focus {
	background-color: #F1EEE9;
	color: #4a4a4a;
}
	@media (min-width: 768px) {
		.btn {
			padding: 17px 30px 15px;
			font-size: 18px;
			line-height: 23px;
		}
	}

.btn.ico {
	padding: 15px 22px;
	border-color: #4a4a4a;
	color: #4a4a4a;
	text-transform: uppercase;
	font-size: 13px;
	line-height: 16px;
}
.btn.ico i {
	width: 12px;
	height: 12px;
	margin-right: 8px;
	position: relative;
	display: inline-block;
	background: url(/i/gfx/sprite.svg) no-repeat -495px -51px;
	background-size: 600px;
}
.btn.ico i:after {
	content: '';
	width: 100%;
	height: 100%;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	background: url(/i/gfx/sprite.svg) no-repeat -507px -51px;
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}
.btn.ico:active,
.btn.ico:hover,
.btn.ico:focus {
	background-color: #4a4a4a;
	color: #fff;
}

.btn.ext i {
	background-position: -507px -63px;
}
.btn.ext i:after {
	background-position: -519px -63px;
}


.btn.dl i {
	background-position: -495px -51px;
}
.btn.dl1 i {
	background-position: -507px -51px;
}

.btn.dl i:after {
	background-position: -507px -51px;
}
.btn.dl1 i:after {
	background-position: -495px -51px;
}

.btn.ico:active i:after,
.btn.ico:hover i:after,
.btn.ico:focus i:after {
	opacity: 1;
}



.logo {
	width: 165px;
	height: 0;
	padding-top: 64px;
	overflow: hidden;
	display: inline-block;
	line-height: 120%;
	background: url(/i/gfx/logo.png) no-repeat 0 0;
	background-size: 165px auto;
}
	@media (min-width: 768px) {
		.logo {
			width: 220px;
			padding-top: 79px;
			background-size: 220px auto;
		}
	}

.container {
	position: relative;
	display: block;
}
	@media (min-width: 980px) {
		.container {
			width: 980px;
			margin: 0 auto;
		}
	}

.mask {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -39;
	background-color: rgba(255, 255, 255, 0);
}
.menu-on .mask {
	z-index: 100;
	background-color: rgba(255, 255, 255, 0.9);
}

.bkimg,
.bk {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.hero {
	height: 130px;
	padding-top: 80px;
	position: relative;	
}
.hero .head {
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
	z-index: 5;
	text-align: center;
	color: #fff;
	/* 	font-size: 43px; */
	font-size: 26px;
	line-height: 32px;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
.hero .content:before,
.hero:not(.lrg) .bkimg:before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(111, 75, 102, 0.76);
	mix-blend-mode: multiply;
}
.hero:not(.lrg) .bkimg:before {
	background-color: rgba(111, 75, 102, 1);
}
.hero:not(.lrg) .bkimg:after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(255, 255, 255, 0.05);
}
.hero .content p {
	margin-top: 22px;
	position: relative;
	text-align: center;
	z-index: 5;
}

.hero.lrg {
	height: 400px;
	padding-top: 0;
}
.hero.lrg .content {
	padding: 20px 0;
	position: absolute;
	right: 0;
	bottom: 84px;
	left: 0;
}
	@media (min-width: 768px) {
		.hero {
			height: 330px;
			padding-top: 230px;
		}
		.hero .head {
			font-size: 72px;
		}
		.hero .content {
			padding-top: 44px;
			padding-bottom: 53px;
		}
		.hero .content p {
			margin-top: 44px;
		}
		.hero.lrg {
			height: 567px;
		}
		.hero.lrg .head {
			font-size: 36px;
			line-height: 44px;
		}
	}


/* banner variations */
body.serviceDetailPage .hero:not(.lrg) .bkimg:before,
body.servicesDentistryAsleep .hero:not(.lrg) .bkimg:before,
body.servicesChildrensDentistry .hero:not(.lrg) .bkimg:before,
body.pid-42 .hero:not(.lrg) .bkimg:before {
	background-color: rgba(74, 74, 74, 0.65);
}


.headln {
	position: relative;
	overflow: hidden;
	text-align: center;
}
.headln span {
	position: relative;
}
.headln span:before,
.headln span:after {
	content: '';
	height: 1px;
	position: absolute;
	top: 50%;
	background-color: #6F4B66;
}
.headln span:before {
	right: 100%;
	margin-right: 25px;
	left: -500%;
}
.headln span:after {
	left: 100%;
	margin-left: 25px;
	right: -500%;
}
	@media (min-width: 768px) {
		.headln {
			margin-bottom: 40px;
		}
	}

.mod {
	padding: 48px 20px 56px;
}
	@media (min-width: 768px) {
		.mod .container .headln {
			margin-right: 20px;
			margin-left: 20px;
		}
	}

.img {
	width: 100%;
	position: relative;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.img:after {
	content: '';
	padding-top: 100%;
	display: block;
}


.testis {
	list-style: none;
}
.testis li {
	margin: 35px 0;
}
.testis p {
	font-style: italic;
	font-weight: 500;
}
.testis p:last-of-type {
	margin-top: 1em;
	font-style: normal;
	font-weight: 400;
}


.mod.testi {
	background: url(/i/gfx/bk-sand-light.jpg) repeat center center;
}
.mod.testi .more ul {
	list-style: none;
	text-align: center;
}
.mod.testi .more li {
	margin: 62px 0;
}
.mod.testi .more a {
	display: block;
	background: none;
	color: #4a4a4a;
	font-weight: 700;
}
.mod.testi .more a div span {
	position: relative;
	display: inline-block;
}
.mod.testi .more div + span {
	margin-top: 18px;
	display: inline-block;
	border-bottom: 1px solid transparent;
	transition: border-color 0.3s ease-in-out;
}
.mod.testi .more img {
	width: 100%;
	margin: 0 auto;
	display: block;
}
.mod.testi .more a div span:after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #6F4B66;
	mix-blend-mode: multiply;
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}
.mod.testi .more a:active div + span,
.mod.testi .more a:hover div + span,
.mod.testi .more a:focus div + span {
	border-color: #4a4a4a;
}

.mod.testi .more a:active div span:after,
.mod.testi .more a:hover div span:after,
.mod.testi .more a:focus div span:after {
	opacity: 0.4;
}
	@media (min-width: 360px) {
		.mod.testi .more img {
			width: 300px;
		}
	}
	@media (min-width: 768px) {
		.mod.testi .container {
			padding-right: 390px;
			padding-left:  20px;
		}
		.mod.testi .more {
			width: 300px;
			position: absolute;
			top: 0;
			right: 20px;
		}
	}

.videobox {
	margin: 22px auto;
	position: relative;
}
.videobox:before {
	content: "";
	padding-top: 56.25%;
	display: block;
}
.videobox iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
	@media (min-width: 768px) {
		.videobox {
			margin-top: 44px;
			margin-bottom: 44px;
		}
	}

.pageheader p {
	margin: 34px auto 22px;
	padding: 0 20px;
	font-size: 18px;
}
.pageheader .videobox {
	margin: 62px 20px;
}
.pageheader .heading {
	margin: 0;
	padding: 35px 20px;
	background-color: #fff;
}
	@media (min-width: 768px) {
		.pageheader p {
			margin-top: 68px;
			margin-bottom: 44px;
			margin-bottom: 68px;
			font-size: 36px;
		}
		.pageheader .heading {
			padding: 35px 0;
		}
	}
	@media (min-width: 980px) {
		.pageheader .heading .container {
			padding: 35px 20px;
		}
	}

.pageheader .intro {
	padding: 0 20px;
}
.pageheader .intro img {
	width: 100%;
}


.con h3 {
	margin-top: 2em;
}
.con p:first-of-type strong,
.heading {
	margin-bottom: 10px;
	display: block;
	font-weight: 500;
	font-size: 20px;
	line-height: 26px;
}
.con p {
	margin-top: 1em;
	margin-bottom: 1em;
	line-height: 21px;
}
	@media (min-width: 768px) {
		.con p:first-of-type strong,
		.mdrn .heading {
			margin-bottom: 22px;
			font-size: 32px;
			line-height: 45px;
		}
		.con p {
			line-height: 25px;
		}
	}

.con ul,
.con ol {
	margin-top: 1em;
	margin-bottom: 1em;
	padding-left: 1.5em;
}
.con li {
	margin: 5px 0;
	line-height: 120%;
}


.ctawrap {
	padding-top: 20px;
/* 	padding: 0 10px; */
	list-style: none;
	text-align: center;
}
.ctawrap li {
	width: 280px;
	margin: 10px 0;
	position: relative;
	display: inline-block;
	vertical-align: top;
}
.ctawrap .box {
	padding: 20px;
	background-color: #E1D8CA;
}
.ctawrap li p {
	line-height: 21px;
}
.ctawrap li strong {
	margin-bottom: 10px;
	display: block;
	color: #6F4B66;
	font-weight: 600;
	font-size: 20px;
	line-height: 26px;
}
.ctawrap li .btnw {
	padding-top: 20px;
}
.ctawrap .btn.alt:active,
.ctawrap .btn.alt:hover,
.ctawrap .btn.alt:focus {
	color: #6F4B66;
}
	@media (min-width: 600px) {
		.ctawrap {
			padding-top: 30px;
			margin-right: -10px;
			margin-left: -10px;
		}
		.ctawrap li {
			width: 50%;
			margin: 0;
		}
		.ctawrap li:before {
			content: '';
			padding-top: 110%;
			display: block;
		}
		.ctawrap .box {
			padding: 20px;
			position: absolute;
			top: 10px;
			right: 10px;
			bottom: 10px;
			left: 10px;
			background-color: #E1D8CA;
		}
		.ctawrap li .btnw {
			padding: 5px 0 20px;
			position: absolute;
			right: 0;
			bottom: 0;
			left: 0;
			z-index: 5;
			background-color: #E1D8CA;
		}
		.ctawrap li .btnw:before {
			content: '';
			height: 20px;
			position: absolute;
			right: 0;
			bottom: 100%;
			left: 0;
			z-index: 5;
			/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,e1d8ca+80,e1d8ca+100&0+10,1+80,1+100 */
			background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(28,27,25,0) 10%, rgba(225,216,202,1) 80%, rgba(225,216,202,1) 100%); /* FF3.6-15 */
			background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(28,27,25,0) 10%,rgba(225,216,202,1) 80%,rgba(225,216,202,1) 100%); /* Chrome10-25,Safari5.1-6 */
			background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(28,27,25,0) 10%,rgba(225,216,202,1) 80%,rgba(225,216,202,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
			filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#e1d8ca',GradientType=0 ); /* IE6-9 */

		}
	}
	@media (min-width: 640px) {
		.ctawrap li:before {
			padding-top: 100%;
		}
	}
	@media (min-width: 680px) {
		.ctawrap li:before {
			padding-top: 90%;
		}
	}
	@media (min-width: 700px) {
		.ctawrap li:before {
			padding-top: 80%;
		}
	}
	@media (min-width: 700px) {
		.ctawrap li:before {
			padding-top: 77%;
		}
	}
	@media (min-width: 768px) {
		.ctawrap .box {
			padding-top: 35px;
		}
		.ctawrap li:before {
			padding-top: 100%;
		}
		.ctawrap li strong {
			margin-bottom: 20px;
			font-size: 30px;
		}
		.ctawrap li p {
			line-height: 25px;
		}
		.ctawrap li .btnw {
			padding-bottom: 35px;
		}
	}
	@media (min-width: 820px) {
		.ctawrap li:before {
			padding-top: 90%;
		}
	}
	@media (min-width: 860px) {
		.ctawrap li:before {
			padding-top: 84%;
		}
	}
	@media (min-width: 900px) {
		.ctawrap li:before {
			padding-top: 79%;
		}
	}
	@media (min-width: 940px) {
		.ctawrap li:before {
			padding-top: 77%;
		}
		.ctawrap .box {
			padding-right: 35px;
			padding-left: 35px;
		}
	}
	@media (min-width: 980px) {
		.ctawrap {
			margin-right: auto;
			margin-left: auto;
			padding-right: 10px;
			padding-left: 10px;
		}
	}

.ctawrap .feat .box {
	background-size: cover;
	color: #fff;
}
.ctawrap .feat .box:before,
.ctawrap .feat .box:after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.ctawrap .feat .box:before {
	background-color: rgba(111, 75, 102, 1);
	mix-blend-mode: multiply;
}
.ctawrap .feat .box:after {
	background-color: rgba(111, 75, 102, 0.59);
}
.ctawrap .feat .box strong,
.ctawrap .feat .box p:not(.btnw) {
	position: relative;
	z-index: 10;
	color: #fff;
}
.ctawrap .feat .btnw {
	background: none;
}
.ctawrap .feat .btnw:before {
	display: none;
}
	@media (max-width: 599px) {
		.ctawrap .feat .btnw {
			position: relative;
			z-index: 10;
		}
	}


.pagenav {
	padding: 0 20px;
}
.pagenav ul {
	margin-bottom: 40px;
	text-align: center;
}
.pagenav li {
	width: 240px;
	position: relative;
	display: inline-block;
	text-align: left;
}
.pagenav li:not(.alt):after {
	content: '';
	width: 205px;
	position: absolute;
	bottom: 0;
	left: 0;
	border-bottom: 1px solid #e2e2e2;
}
.pagenav a {
	margin-left: 38px;
	padding: 10px 0;
	position: relative;
	display: inline-block;
	color: #4a4a4a;
}
.pagenav a:active,
.pagenav a:hover,
.pagenav a:focus {
	color: #6F4B66;
}
.pagenav .id-79 {
	margin-top: 10px;
}
.pagenav .alt a {
	margin-left: 16px;
	font-weight: 600;
}

.pagenav li.active a {
	color: #6F4B66;
}
.pagenav li.active a:before {
	content: '';
	width: 9px;
	height: 13px;
	position: absolute;
	right: 100%;
	margin-right: 11px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform:     translateY(-50%);
	transform:         translateY(-50%);
	background: url(/i/gfx/sprite.svg) no-repeat -486px -51px;
	background-size: 600px;
}

	@media (min-width: 700px) {
		.pagenav {
			width: 240px;
			position: absolute;
			top: 190px;
			left: 0;
		}
		.pagenav li {
			width: auto;
			display: block;
		}
		.pageheader .intro {
			margin-top: 25px;
			padding-left: 260px;
		}
		.pageheader .intro .heading {
			padding-right: 0;
			padding-left: 0;
		}
		.pagecontent .con {
			padding-left: 240px;
		}
		.pagecontent .sedation {
			padding-left: 240px;
		}
	}
	@media (min-width: 768px) {
		.pagenav {
			top: 390px;
		}
		.pageheader .intro {
			padding-left: 280px;
		}
		.pagecontent .con {
			padding-left: 260px;
		}
		.pagecontent .sedation {
			padding-left: 260px;
		}
	}
	@media (min-width: 980px) {
		.pagenav {
			top: 450px;
			left: 50%;
			margin-left: -490px;
		}
		.pageheader .intro {
			margin-top: 75px;
			padding-left: 340px;
		}
		.pagecontent .con {
			padding-left: 320px;
		}
		.pagecontent .sedation {
			padding-left: 320px;
		}
	}



.instructions {
	max-width: 620px;
	margin: 50px auto;
	display: block;
}
.instructions li {
	min-height: 100px;
	margin: 20px;
	padding: 25px 0;
	position: relative;
	display: block;
	list-style: none;
	background-color: #E1D8CA;
	text-align: center;
}
.instructions p {
	margin: 0;
}
.instructions p strong {
	font-weight: 700;
}
.instructions .dlw {
	margin-top: 20px;
}
	@media (min-width: 440px) {
		.instructions li {
			padding-left: 20px;
			text-align: left;
		}
		.instructions li p:first-of-type {
			padding-right: 205px;
			line-height: 120%;
			position: absolute;
			top: 50%;
			-webkit-transform: translateY(-50%);
			-ms-transform:     translateY(-50%);
			transform:         translateY(-50%);
			left: 20px;
		}
		.instructions .dlw {
			margin-top: 0;
			position: absolute;
			top: 25px;
			right: 20px;
		}
	}
	@media (min-width: 980px) {
		.instructions li p:first-of-type {
			font-size: 20px;
		}
	}



.imgtxtgroup {
	list-style: none;
}
.imgtxtgroup li {
	margin: 30px 0;
	position: relative;
}
.imgtxtgroup .heading {
	margin: 1em 0;
	display: block;
	color: #66594C;
}
.imgtxtgroup .img {
	width: 100%;
	margin: 0 auto;
}
.imgtxtgroup .img:after {
	padding-top: 85%;
}
.imgtxtgroup .img:last-of-type {
	display: none;
}
	@media (min-width: 440px) {
		.imgtxtgroup .img {
			height: 340px;
		}
		.imgtxtgroup .img:after {
			display: none;
		}
	}
	@media (min-width: 640px) {
		.imgtxtgroup li {
			margin: 10px 0;
		}
		.imgtxtgroup .img {
			width: 320px;
			height: auto;
		}
		.imgtxtgroup .img:after {
			display: block;
		}
		.imgtxtgroup li:first-of-type .heading {
			margin-top: 0;
		}
		.imgtxtgroup li:nth-of-type(odd) .img {
			float: left;
		}
		.imgtxtgroup li:nth-of-type(odd) .con {
			padding-left: 340px;
		}
		.imgtxtgroup li:nth-of-type(even) .img {
			float: right;
		}
		.imgtxtgroup li:nth-of-type(even) .con {
			padding-right: 340px;
		}
	}
	@media (min-width: 840px) {
		.imgtxtgroup .img {
			width: 400px;
		}
		.imgtxtgroup li:nth-of-type(odd) .con {
			padding-left: 430px;
		}
		.imgtxtgroup li:nth-of-type(even) .con {
			padding-right: 430px;
		}
	}
	@media (min-width: 940px) {
		.imgtxtgroup li:nth-of-type(odd) .con {
			padding-left: 435px;
		}
		.imgtxtgroup li:nth-of-type(even) .con {
			padding-right: 435px;
		}
	}
	@media (min-width: 980px) {
		.imgtxtgroup {
			padding-right: 20px;
			padding-left: 20px;
		}
	}



ul.forms {
	list-style: none;
	text-align: center;
}
ul.forms li {/* 	width: 100%; */max-width: 520px;margin: 61px auto;display: block;color: #fff;}
ul.forms .box {
	padding: 61px 20px 14px;
	position: relative;
	background-color: #6F4B66;
}
ul.forms strong {
	margin-bottom: 1em;
	display: block;
	font-size: 16px;
	font-weight: 700;
}
ul.forms strong:before,
ul.forms strong:after {
	content: '';
	width: 90px;
	height: 90px;
	position: absolute;
	top: -45px;
	left: 50%;
	margin-left: -45px;
/* 	background-color: red; */
}
ul.forms strong:before {
	border-radius: 50%;
	background-color: #AB90A4;
	box-shadow: 0 2px 4px 0 rgba(0,0,0,0.5);
}
ul.forms strong:after {
	background: url(/i/gfx/sprite.svg) no-repeat -1000% -1000%;
	background-size: 600px;
}
ul.forms .reg strong:after {
	background-position: 0 -162px;
}
ul.forms .hist strong:after {
	background-position: -90px -162px;
}
ul.forms .rel strong:after {
	background-position: -180px -162px;
}
ul.forms .preana strong:after {
	background-position: -270px -162px;
}
ul.forms .con {
	margin-bottom: 25px;
}
ul.forms .btn {
	width: 170px;
	margin: 6px;
	border-color: #fff;
	color: #fff;
	box-shadow: none;
	text-align: left;
}
ul.forms .btn:active,
ul.forms .btn:hover,
ul.forms .btn:focus {
	background-color: #fff;
	color: #4a4a4a;
}

	@media (min-width: 768px) {
		ul.forms li {
			width: 33.33%;
			margin-bottom: 0;
			padding: 10px;
			display: inline-block;
			vertical-align: top;
		}
		ul.forms .box {
			height: 455px;
			padding-right: 30px;
			padding-left: 30px;
		}
		ul.forms strong {
			font-size: 20px;
			line-height: 30px;
		}
		ul.forms .btnw {
			position: absolute;
			right: 0;
			bottom: 21px;
			left: 0;
		}
		ul.forms .con p {
			font-size: 16px;
			line-height: 23px;
		}
	}
	@media (min-width: 980px) {
		ul.forms {
			padding-right: 10px;
			padding-left: 10px;
		}
		.mod.forms .con {
			padding-right: 20px;
			padding-left: 20px;
		}
	}




/* ==========================================================================



ANIMATIONS
========================================================================== */


.loadanim span {
/*	font-size: 50px;*/
	-webkit-animation-name:            seqblink;
	-webkit-animation-duration:        1.4s;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-fill-mode:       both;
	-moz-animation-name:               seqblink;
	-moz-animation-duration:           1.4s;
	-moz-animation-iteration-count:    infinite;
	-moz-animation-fill-mode:          both;
	-ms-animation-name:                seqblink;
	-ms-animation-duration:            1.4s;
	-ms-animation-iteration-count:     infinite;
	-ms-animation-fill-mode:           both;
	-o-animation-name:                 seqblink;
	-o-animation-duration:             1.4s;
	-o-animation-iteration-count:      infinite;
	-o-animation-fill-mode:            both;
	animation-name:                    seqblink;
	animation-duration:                1.4s;
	animation-iteration-count:         infinite;
	animation-fill-mode:               both;
}

.loadanim span:nth-child(2) {
	-webkit-animation-delay: 0.2s;
	-moz-animation-delay:    0.2s;
	-ms-animation-delay:     0.2s;
	-0-animation-delay:      0.2s;
	animation-delay:         0.2s;
}

.loadanim span:nth-child(3) {
	-webkit-animation-delay: 0.4s;
	-moz-animation-delay:    0.4s;
	-ms-animation-delay:     0.4s;
	-0-animation-delay:      0.4s;
	animation-delay:         0.4s;
}

@-webkit-keyframes seqblink {
	0% {
		opacity: 0.1;
	}
	20% {
		opacity: 1;
	}
	100% {
		opacity: 0.1;
	}
}
@-moz-keyframes seqblink {
	0% {
		opacity: 0.1;
	}
	20% {
		opacity: 1;
	}
	100% {
		opacity: 0.1;
	}
}
@-ms-keyframes seqblink {
	0% {
		opacity: 0.1;
	}
	20% {
		opacity: 1;
	}
	100% {
		opacity: 0.1;
	}
}
@-o-keyframes seqblink {
	0% {
		opacity: 0.1;
	}
	20% {
		opacity: 1;
	}
	100% {
		opacity: 0.1;
	}
}
@keyframes seqblink {
	0% {
		opacity: 0.1;
	}
	20% {
		opacity: 1;
	}
	100% {
		opacity: 0.1;
	}
}


@-ms-keyframes spinner {
	from { -ms-transform: rotate(0deg); }
	to { -ms-transform: rotate(360deg); }
}
@-moz-keyframes spinner {
	from { -moz-transform: rotate(0deg); }
	to { -moz-transform: rotate(360deg); }
}
@-webkit-keyframes spinner {
	from { -webkit-transform: rotate(0deg); }
	to { -webkit-transform: rotate(360deg); }
}
@keyframes spinner {
	from {
		transform:rotate(0deg);
	}
	to {
		transform:rotate(360deg);
	}
}




/* ==========================================================================



FORM
========================================================================== */

input[type=text],
input[type=email],
input[type=url],
textarea,
select {
	width: 100%;
	margin: 16px 0;
	padding: 11px 10px 10px;
	position: relative;
	z-index: 5;
	display: block;
	border: 1px solid #c6c6c6;
	/* border-radius: 3px; */
	background-color: #fff;
	color: #000;
	font: 400 normal 15px/17px 'Source Sans Pro', arial, sans-serif;
}
input[type=text],
input[type=email],
input[type=url],
textarea {
	-webkit-appearance:none;
}
select {
	height: 45px;
}

.mdrn input:-webkit-autofill::-webkit-input-placeholder,
.mdrn textarea:-webkit-autofill::-webkit-input-placeholder,
.mdrn select:-webkit-autofill::-webkit-input-placeholder,
.mdrn input:-webkit-autofill,
.mdrn textarea:-webkit-autofill,
.mdrn select:-webkit-autofill {
	color: #000;
}

textarea {
	height: 107px;
}
/* 	@media (max-width: 965px) {
		textarea {
			width: 100%;
		}
	}
 */
input[type=text]:hover,
input[type=email]:hover,
input[type=url]:hover,
textarea:hover,
select:hover {
	border-color: #000;
	outline: 0;
}
input[type=text]:active,
input[type=text]:focus,
input[type=email]:active,
input[type=email]:focus,
input[type=url]:active,
input[type=url]:focus,
textarea:active,
textarea:focus,
select:active,
select:focus {
	border-color: #4B94EA;
	box-shadow: 0px 0px 0px 1px #C7E1FF;
	outline: 0;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	color: #a6a6a6;
	font-style: italic;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
	color: #a6a6a6;
	font-style: italic;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
	color: #a6a6a6;
	font-style: italic;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	color: #a6a6a6;
	font-style: italic;
}

.formwrap {
/* 	max-width: 460px; */
	margin: 45px auto;
}
.formwrap > div {
	position: relative;
}
/* visuallyhidden */
.formwrap label:not(.vis) {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.formwrap label {
	cursor: pointer;
}

.formwrap .error {
	border-color: #D0021B;
	color: #D0021B;
}
.formwrap .error::-webkit-input-placeholder {
	color: #D0021B;
}
.formwrap .error:-moz-placeholder {
	color: #D0021B;
}
.formwrap .error::-moz-placeholder {
	color: #D0021B;
}
.formwrap .error:-ms-input-placeholder {
	color: #D0021B;
}

.formwrap .mask {
	position: fixed;
	display: none;
}
.formwrap .mask.on {
	opacity: 1;
	background-color: rgba(255, 255, 255, 0.95);
}
.formwrap.submitting .mask {
	display: block;
	z-index: 2000;
}
.mask.display-on,
.mask .box.display-on {
	display: block;
}
.mask .box {
	width: 100%;
/* 	height: 22px; */
	line-height: 22px;
	position: fixed;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform:     translateY(-50%);
	transform:         translateY(-50%);
	left: 0;
	font-size: 18px;
	font-weight: 700;
	text-align: center;

	display: none;
	opacity: 0;
	transition: all 0.3s ease-in-out;
}
.mask .box.on {
	opacity: 1;
}
	@media (min-width: 768px) {
		.mask .box {
			height: 40px;
			line-height: 40px;
			margin-top: -20px;
			font-size: 32px;
		}
	}

.mask .box .successmsg {
	max-width: 440px;
	margin: 0 auto;
	padding: 0 40px;
	/* display: none; */
}
.mask .box .successmsg em {
	margin-top: 1em;
	display: block;
	font-style: normal;
	font-size: 0.7em;
	font-weight: 500;
}
.mask .box .successmsg .btn {
	margin: 1.5em auto;
	display: block;
}


.radiogroup {
	max-width: 220px;
	margin: 0 auto;
	text-align: center;
}
.radiogroup label {
	width: 100px;
	margin: 0 0 16px;
	line-height: 22px;
	display: inline-block;
	text-align: left;
}
.radiogroup input:checked + label .radiobtn {
	background-color: #6F4B66;
}
.radiogroup label:active .radiobtn,
.radiogroup label:hover .radiobtn,
.radiogroup label:focus .radiobtn {
	border-color: #000;
}
.radiobtn {
	width: 22px;
	height: 22px;
	margin-right: 10px;
	/* 	position: absolute; */
	display: inline-block;
	vertical-align: top;
	border-radius: 50%;
	border: 1px solid #979797;
	box-shadow: inset 1px 1px 3px 0px rgba(0,0,0,0.15);
	transition: all 0.3s ease-in-out;
}

.submitw {
	margin-top: 34px;
	line-height: 46px;
}
.submitw .btn:disabled {
	border-color: #e2e2e2;
	background-color: #f8f8f8;
	color: #ccc;
}
.submitw .btn {
	margin-right: 10px;
	border-color: #4a4a4a;
	color: #4a4a4a;
	transition: all 0.3s ease-in-out;
}
.ng-valid-required.ng-valid-email .submitw .btn {
	cursor: pointer;
}
.ng-valid-required.ng-valid-email .submitw .btn:active,
.ng-valid-required.ng-valid-email .submitw .btn:hover,
.ng-valid-required.ng-valid-email .submitw .btn:focus {
	background-color: #4a4a4a;
	color: #fff;
}
.submitw button {
	color: #6F4B66;
	font-size: inherit;
}

.errmsg {
	width: 100%;
	margin: 0;
	padding: 3px 13px 5px;
	font-size: 15px;
	line-height: 22px;
	background-color: rgba(208, 2, 27, 0.16);
	color: #D0021B;
	position: absolute;
	top: 0;
	overflow: hidden;
	opacity: 0;
	transition: all 0.3s ease-in-out;
}

.ng-invalid-required.ng-touched,
.ng-invalid-email.ng-touched {
	margin-bottom: 45px;
	border-color: #D0021B;
}
.ng-invalid-required.ng-touched + .errmsg,
.ng-invalid-email.ng-touched ~ .invalid {
	top: 40px;
	opacity: 1;
	transition: all 0.3s ease-in-out;
}

	@media (min-width: 440px) {
		.radiogroup {
			max-width: none;
		}
		.radiogroup label {
			width: auto;
			margin-right: 10px;
		}
	}
	@media (min-width: 768px) {
		.radiogroup label {
			width: auto;
			margin-right: 10px;
		}
		.submitw {
			line-height: 59px;
		}
	}

/* ==========================================================================



GLOBAL
========================================================================== */

#wrapper {
	padding-top: 84px;
}

#container {
	position: relative;
}

#header {
	height: 84px;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 200;
}
#headertop {
	height: 100%;
	position: relative;
	z-index: 250;
	background: url(/i/gfx/bk-tiles.jpg) no-repeat right top;
}
#headertop h1 {
	margin: 0;
}

#logo {
	position: fixed;
	top: 10px;
	left: 20px;
	z-index: 2500;
}

	@media (min-width: 768px) {
		#wrapper {
			padding-top: 162px;
		}
		#header {
			height: 162px;
			background-color: #FEFEFE;
		}
		#logo {
			top: 39px;
		}
	}
	@media (min-width: 980px) {
		#logo {
			left: 50%;
			margin-left: -470px;
		}
	}

/* #container,
#footer {
	position: relative;
	z-index: 10;
} */

#gnav {
	padding: 10px 0;
	position: fixed;
	/* 	top: 84px; */
	top: -160px;
	right: 0;
	left: 0;
	z-index: 200;
	background-color: #fff;
	font-size: 16px;
	/* 	background: url(/i/gfx/bk-tiles.jpg) repeat-y right top; */
	/* 	height: 0; */
	/* 	overflow: hidden; */
}
.menu-on #gnav {
	top: 84px;
}

#gnav a {
	padding: 3px 20px;
	display: block;
	background: none;
	color: #4a4a4a;
	font-weight: bold;
}
#gnav a:active,
#gnav a:hover,
#gnav a:focus {
	background-color: #4a4a4a;
	color: #fff;
}
#gnav .login,
#gnav .phone {
	font-size: 14px;
}

#gnavtoggle {
	width: 60px;
	height: 0;
	padding-top: 60px;
	overflow: hidden;
	position: fixed;
	right: 12px;
	top: 12px;
	z-index: 200;
	background: url(/i/gfx/sprite.svg) no-repeat -540px -135px;
	background-size: 600px;
}

	@media (min-width: 768px) {
		#gnav {
			position: absolute;
			top: auto;
			left: auto;
			right: 10px;
			bottom: 41px;
			z-index: 250;
			background: none;
			text-align: right;
		}
		#gnav li {
			margin: 0 10px;
			display: inline-block;
		}
		#gnav a {
			padding: 0;
			position: relative;
			line-height: 22px;
		}
		#gnav a:after {
			content: '';
			height: 0;
			position: absolute;
			top: 100%;
			margin-top: 4px;
			right: 0;
			left: 0;
			background-color: rgba(111, 75, 102, 0);
			transition: all 0.3s ease-in-out;
		}
		#gnav a:active,
		#gnav a:hover,
		#gnav a:focus,
		#gnav li.active a {
			background: none;
			color: #4a4a4a;
		}
		#gnav a:active:after,
		#gnav a:hover:after,
		#gnav a:focus:after,
		#gnav li.active a:after {
			height: 3px;
			background-color: rgba(111, 75, 102, 1);
		}
		#gnav .phone {
			font-size: 18px;
		}
		#gnav .login {
			position: fixed;
			top: 0;
			right: 10px;
		}
		#gnav .login a {
			width: 126px;
			/* height: 74px; */
			padding: 15px 0;
			display: block;
			background: #6F4B66;
			color: #fff;
			line-height: 22px;
			text-align: center;
			box-shadow: 0 2px 4px 0 rgba(0,0,0,0.5);
		}
		#gnav .login a:active,
		#gnav .login a:hover,
		#gnav .login a:focus {
			background-color: #4a4a4a;
		}
		#gnav .login a:after {
			display: none;
		}
		#gnav .home,
		#gnavtoggle {
			display: none;
		}
	}
	@media (min-width: 980px) {
		#gnav {
			width: 600px;
			position: absolute;
			right: auto;
			left: 50%;
			margin-left: -110px;
		}
		#gnav .container {
			width: 100%;
			padding: 0 10px;
		}
		#gnav .login {
			right: auto;
			left: 50%;
			margin-left: 345px;
		}
	}


#footer {
	padding: 25px 0;
	background-color: #4a4a4a;
	color: #fff;
	font-size: 14px;
	text-align: center;
}
#footer .container {
	padding: 0 20px;
	display: inline-block;
	text-align: left;
}
#footer .container p {
	margin-bottom: 10px;
}
#footer a {
	color: #fff;
}
#footer p:first-of-type span {
	display: block;
}
#footer p:first-of-type a {
	background-size: 100% 1px;
}
#footer p:first-of-type a:active,
#footer p:first-of-type a:hover,
#footer p:first-of-type a:focus {
	background-size: 0 1px;
}

#footer p:nth-of-type(2) a:first-of-type {
	font-weight: 700;
}
#footer p:last-of-type {
	margin-top: 1em;
}
#footer i {
	width: 1px;
	height: 1em;
	margin: 0 5px;
	display: inline-block;
	vertical-align: middle;
	background-color: #fff;
}
#footer p:first-of-type i:last-of-type {
	display: none;
}
	@media (min-width: 420px) {
		#footer p:first-of-type span {
			display: inline;
		}
		#footer p:first-of-type i:last-of-type {
			display: inline-block;
		}
	}
	@media (min-width: 768px) {
		#footer .container {
			display: block;
		}
		#footer .container p {
			margin-bottom: 0;
		}
		#footer p:last-of-type {
			position: absolute;
			bottom: 0;
			right: 20px;
		}
	}

/* ==========================================================================



HOME
========================================================================== */

.homepage .hero .head {
	max-width: 380px;
}
.homepage .hero .bkimg {
	background-position: center top;
}
	@media (min-width: 580px) {
		.homepage .hero .head {
			max-width: none;
		}
	}
	@media (min-width: 768px) {
		.homepage .hero .btn {
			width: 300px;
		}
	}

.knowus {
	background: url(/i/gfx/bk-sand.jpg) repeat center center;
	text-align: center;
}
.knowus li {
	width: 220px;
	margin: 0 10px 40px;
	position: relative;
	display: inline-block;
	vertical-align: top;
}
.knowus li:before {
	content: '';
	width: 81px;
	height: 81px;
	margin: 0 auto 20px;
	display: block;
	border-radius: 50%;
	background-color: #F1EEE9;
}
.knowus li:after {
	content: '';
	width: 81px;
	height: 81px;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -40px;
	background-image: url(/i/gfx/sprite.svg);
	background-repeat: no-repeat;
	background-position: -1000% -1000%;
	background-size: 300px auto;
}
.knowus li strong {
	display: block;
}
.knowus li p {
	margin-top: 10px;
}
.knowus footer {
	margin-top: 10px;
}

.knowus .comm:after {
	background-position: 0 0;
}
.knowus .pro:after {
	background-position: -81px 0;
}
.knowus .exp:after {
	background-position: -162px 0;
}

	@media (min-width: 768px) {
		.knowus li:before,
		.knowus li:after {
			width: 162px;
			height: 162px;
		}
		.knowus li:after {
			margin-left: -81px;
			background-size: 600px auto;
		}
		.knowus .comm:after {
			background-position: 0 0;
		}
		.knowus .pro:after {
			background-position: -162px 0;
		}
		.knowus .exp:after {
			background-position: -324px 0;
		}
		.knowus footer {
			margin-top: 20px;
		}
		.knowus footer .btn {
			width: 300px;
		}
	}
	@media (min-width: 800px) {
		.knowus li {
			margin-right: 20px;
			margin-left: 20px;
			margin-right: 3%;
			margin-left: 3%;
		}
	}
	@media (min-width: 980px) {
		.knowus li {
			margin-right: 0;
			margin-left: 0;
		}
		.knowus li:nth-of-type(2) {
			margin-right: 15%;
			margin-left: 15%;
		}
	}

.homepage .services {
	background: url(/i/gfx/bk-tiles-lrg.jpg) repeat right top;
	position: relative;
}
.services > .mod {
	margin: 0 auto;
	padding-top: 0;
	padding-right: 0;
	padding-left: 0;
	position: relative;
}
.services > .mod .content {
	position: relative;
}
.services > .mod h2 {
	padding: 24px 20px 0;
}
.services > .mod p {
	margin-top: 10px;
	padding: 0 20px;
}
.services > .mod footer {
	margin-top: 25px;
	padding: 0 20px;
}
	@media (min-width: 440px) {
		.services > .mod .img {
			width: 40%;
			position: absolute;
			top: 0;
			left: 0;
			bottom: 0;
		}
		.services > .mod {
			padding-left: 40%;
		}
	}
	@media (min-width: 768px) {
		.services > .mod {
			padding-left: 40%;
			padding-bottom: 72px;
		}
		.services > .mod h2 {
			padding-top: 82px;
		}
		.services > .mod .img {
		}
		.services > .mod footer {
			margin-top: 50px;
		}
	}
	@media (min-width: 840px) {
		.services > .mod {
			max-width: 1224px;
		}
		.services > .mod h2,
		.services > .mod p,
		.services > .mod footer {
			padding-right: 80px;
			padding-left: 40px;
		}
	}
	@media (min-width: 1224px) {
		.services > .mod {
			padding-left: 440px;
		}
		.services > .mod .img {
			width: 440px;
		}
		.services > .mod h2,
		.services > .mod p,
		.services > .mod footer {
			padding-right: 140px;
			padding-left: 100px;
		}
	}


.discover {
	background-color: #6F4B66;
	color: #fff;
	text-align: center;
}
.discover li {
	max-width: 260px;
	margin: 0 auto 40px;
	padding: 0 20px;
	display: inline-block;
	vertical-align: top;
}
.discover li strong {
	margin-bottom: 10px;
	display: block;
	font-size: 18px;
}
.discover .con {
	margin-bottom: 18px;
}
.discover a {
	color: #fff;
}
.discover li:not(.chat) a {
	font-weight: 700;
}
.discover a.map {
	margin-top: 27px;
	position: relative;
	display: block;
}
.discover a.map:after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(209, 198, 181, 0);
	mix-blend-mode: multiply;
	transition: all 0.3s ease-in-out;
}
.discover a.map:active:after,
.discover a.map:hover:after,
.discover a.map:focus:after {
	background-color: rgba(209, 198, 181, 1);
}
.discover img {
	width: 100%;
	height: auto;
	display: block;
}
	@media (min-width: 768px) {
		.discover {
			padding-bottom: 55px;
		}
		.discover li {
			width: 33.3%;
			max-width: none;
			margin-bottom: 0;
			padding-bottom: 0;
/* 			border-right: 1px solid rgba(169, 169, 169, 0.77); */
		}
		.discover li:after {
			content: '';
			position: absolute;
			top: 0;
			bottom: 0;
			border-right: 1px solid rgba(169, 169, 169, 0.77);
		}
		.discover li:first-of-type:after {
			left: 33%;
		}
		.discover li:nth-of-type(2):after {
			left: 66.7%;
		}
		.discover li:last-of-type:after {
			display: none;
		}
		.discover li > p:last-of-type {
			width: 33.33%;
			position: absolute;
			bottom: 15px;
			margin-left: -20px;
		}
		.discover li strong {
			margin-bottom: 26px;
			font-size: 22px;
			white-space: nowrap;
		}
		.discover .con {
			margin-bottom: 26px;
		}
	}
	@media (min-width: 900px) {
		.discover li {
			padding-right: 35px;
			padding-left: 35px;
		}
		.discover li > p:last-of-type {
			margin-left: -35px;
			bottom: 38px;
		}
	}





/* ==========================================================================



ABOUT
========================================================================== */

.mod.team {
	background: url(/i/gfx/bk-tiles-2.jpg) repeat right top;
}

.members {
	list-style: none;
	text-align: center;
}
.members li {
	margin: 10px;
	display: inline-block;
	vertical-align: top;
}

.mod .members {
	margin-left: -10px;
	margin-right: -10px;
}

.mem {
	width: 280px;
	max-width: 400px;
	margin: 0 auto;
	position: relative;
	color: #fff;
	text-align: center;
}
.mem img {
	width: 100%;
	height: auto;
}
.mem figcaption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 16px 12px 12px;
}
.mem figcaption:before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(111, 75, 102, 0.9);
	mix-blend-mode: multiply;
}
.mem figcaption strong {
	position: relative;
	display: block;
	line-height: 22px;
}
.mem figcaption em {
	position: relative;
	font-style: normal;
}

.mem.lrg {
	width: 100%;
	margin-bottom: 20px;
}

	@media (min-width: 768px) {
		.mod.team .mem.lrg {
			width: 360px;
			margin-bottom: 0;
			float: left;
		}
		.mod.team .intro {
			margin: 60px 0 10px;
		}
		.mod.team .intro .con {
			padding-left: 380px;
		}
		.mem {
			width: 100%;
		}
		.mod .members {
			/* margin-right: 0; */
			/* margin-left: 0; */
			text-align: left;
		}
		.mod .members li {
			width: 33.33%;
			margin: 0;
		}
		.mod .members .box {
			padding: 10px;
		}
	}
	@media (min-width: 980px) {
		.mod.team .mem.lrg {
			width: 400px;
		}
		.mod.team .intro {
			margin-right: 20px;
			margin-left: 20px;
		}
		.mod.team .intro .con {
			padding-left: 480px;
		}
		.mod .members {
			margin-right: 10px;
			margin-left: 10px;
		}
	}

img.netw {
	width: 100%;
	max-width: 656px;
	margin: 50px auto;
	display: block;
	overflow: hidden;
}

.facimg {
	width: 100%;
	margin: 10px auto;
	position: relative;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center top;
}
.facimg:before {
	content: '';
	padding-top: 83%;
	display: block;
}
.facimgs {
	text-align: center;
}
.facilities .facimg:last-of-type {
	background-position: center bottom;
}
	@media (min-width: 400px) {
		.facilities .facimg {
			width: 47%;
			margin: 10px 5px;
			display: inline-block;
			vertical-align: top;
		}
	}
	@media (min-width: 768px) {
		.facilities .con {
			width: calc(100% - 380px);
			display: inline-block;
			vertical-align: top;
		}
		.facilities .facimgs {
			width: 360px;
			margin-left: 20px;
			display: inline-block;
			vertical-align: top;
		}
		.facilities .facimg {
			width: 100%;
		}
		.facilities .facimg:first-of-type {
			margin-top: 0;
		}
	}




/* ==========================================================================



SERVICES
========================================================================== */

/* .services .hero:not(.lrg) .bkimg:after {
	background-color: rgba(255, 255, 255, 0.17);
} */

.mod.services {
	padding-top: 20px;
	background: url(/i/gfx/bk-tiles-2.jpg) repeat right top;
}
.mod.services .ctawrap .btn {
	box-shadow: none;
}
	@media (min-width: 768px) {
		.mod.services {
			padding-top: 30px;
		}
		.mod.services .ctawrap .btn {
			width: 220px;
		}
	}
	@media (min-width: 980px) {
		.mod.services {
			padding-right: 0;
			padding-left: 0;
		}
	}

.services .con h2 {
	margin-top: 1em;
}
.services .con h3 {
	color: #4a4a4a;
}

.services .pageheader + .mod {
	padding-top: 0;
}

.featfaq {
	margin-bottom: 40px;
	padding: 36px 20px 53px;
	position: relative;
	background-color: rgba(209, 198, 181, 0.18);
	text-align: center;
}
.featfaq:before,
.featfaq:after {
	content: '';
	position: absolute;
	right: 20px;
	left: 20px;
	border-top: 1px solid #6F4B66;
}
.featfaq:before {
	top: 15px;
}
.featfaq:after {
	bottom: 15px;
}
.featfaq h3 {
	padding-top: 94px;
	position: relative;
	font-size: 1em;
	font-style: italic;
	font-weight: 700;
}
.featfaq h3:before {
	content: '';
	width: 50px;
	height: 71px;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -25px;
	background: url(/i/gfx/sprite.svg) no-repeat -540px 0;
	background-size: 600px;
}
.featfaq p {
	margin: 0;
	color: #292926;
	font-size: 13px;
	line-height: 19px;
}

.services.servicesDentistryAsleep .featfaq h3 {
	padding-top: 81px;
}
.services.servicesDentistryAsleep .featfaq h3:before {
	width: 54px;
	height: 51px;
	margin-left: -27px;
	background-position: -486px 0;
}
	@media (min-width: 700px) {
		.featfaq {
			margin-right: -20px;
		}
	}
	@media (min-width: 768px) {
		.featfaq p {
			font-size: 15px;
			line-height: 24px;
		}
	}
	@media (min-width: 980px) {
		.featfaq {
			margin-right: -40px;
		}
	}
	@media (min-width: 1020px) {
		.featfaq {
			margin-left: -20px;
		}
	}

.sedation .instructions {
	max-width: none;
	margin: 0;
}

.mod.faqs h2 {
	margin-top: 14px;
	padding-top: 65px;
	border-top: 1px solid #6F4B66;
}

/* ==========================================================================



FOR PATIENTS
========================================================================== */

.mod.patients {
	background: url(/i/gfx/bk-tiles-2.jpg) repeat right top;
}

.forms .con p:first-of-type strong {
	color: #66594C;
}

.services.meetyou {
	background: url(/i/gfx/bk-grain-brown.jpg) repeat right top;
	color: #fff;
}
.services.meetyou h2 {
	color: #fff;
}
.services.meetyou .btn {
	box-shadow: none;
}
	@media (min-width: 440px) {
		.services.meetyou > .mod .img {
			left: auto;
			right: 0;
		}
		.services.meetyou > .mod {
			padding-right: 40%;
			padding-left: 0;
		}
	}
	@media (min-width: 768px) {
		.services.meetyou > .mod {
			padding-right: 40%;
		}
	}
	@media (min-width: 840px) {
		.services.meetyou > .mod h2,
		.services.meetyou > .mod p,
		.services.meetyou > .mod footer {
			padding-left: 80px;
			padding-right: 40px;
		}
	}
	@media (min-width: 1224px) {
		.services.meetyou > .mod {
			padding-right: 440px;
		}
		.services.meetyou > .mod h2,
		.services.meetyou > .mod p,
		.services.meetyou > .mod footer {
			padding-left: 140px;
			padding-right: 100px;
		}
	}


/* ==========================================================================



NEW PATIENTS
========================================================================== */

.pid-24 .hero .bkimg:before {
    background-color: rgba(111, 111, 111, 1);
}
.forpatients .hero .bkimg:after {
	background-color: rgba(255, 255, 255, 0.17);
}
.forpatients .pageheader .container {
	padding: 0 20px;
}
.forpatients .pageheader p {
	padding: 0;
}
.forpatients .pageheader img {
	width: 100%;
	height: auto;
}

.mod.firstvisit {
	padding-bottom: 0;
	background: url(/i/gfx/bk-tiles-2.jpg) repeat right top;
}
.mod.firstvisit footer {
	margin-top: 35px;
	margin-right: -20px;
	margin-left: -20px;
	padding: 30px 0;
	background-color: rgba(209, 198, 181, 0.56);
	mix-blend-mode: multiply;
	text-align: center;
}
	@media (min-width: 768px) {
		.mod.firstvisit footer {
			margin-top: 70px;
			padding-top: 40px;
			padding-bottom: 40px;
		}
	}



/* ==========================================================================



PATIENT FORMS
========================================================================== */

.pid-54 .hero .bkimg:before {
    background-color: rgba(111, 111, 111, 1);
}



/* ==========================================================================



PATIENT INSTRUCTIONS
========================================================================== */

.pid-57 .hero .bkimg:before {
    background-color: rgba(111, 111, 111, 1);
}





/* ==========================================================================



PORTAL
========================================================================== */

.pid-24 .hero .bkimg:before {
    background-color: rgba(111, 111, 111, 1);
}

.mod.portalfeat {
	margin-top: 30px;
	padding-bottom: 0;
	background: url(/i/gfx/bk-tiles-2.jpg) repeat right top;
}

.portalfeat ul.forms li {
	color: #4a4a4a;
}
.portalfeat ul.forms .box {
	padding-top: 73px;
	border-top: 25px solid #D1C6B5;
	background-color: #E1D8CA;
}
.portalfeat ul.forms strong {
	color: #6F4B66;
	font-size: 24px;
	line-height: 32px;
	font-weight: 600;
}
.portalfeat ul.forms strong:before {
	background-color: #D1C6B5;
}
ul.forms .appoint strong:after {
	background-position: -180px -252px;
}
ul.forms .bal strong:after {
	background-position: -270px -252px;
}
ul.forms .comm strong:after {
	background-position: 0 -252px;
}
ul.forms .remind strong:after {
	background-position: -90px -252px;
}
.portalfeat footer {
	margin-right: -20px;
	margin-left: -20px;
	padding: 42px 0;
	background-color: rgba(102, 89, 76, 0.7);
	text-align: center;
}
.portalfeat footer .btn {
	width: 160px;
	box-shadow: none;
}
	@media (min-width: 640px) {
		.portalfeat ul.forms li {
			width: 50%;
			margin: 7px 0 41px;
			padding: 10px;
			display: inline-block;
			vertical-align: top;
		}
		.portalfeat ul.forms .box {
			height: 360px;
		}
	}
	@media (min-width: 768px) {
		.mod.portalfeat {
			margin-top: 62px;
		}
		.portalfeat ul.forms .box {
			height: 420px;
		}
		.portalfeat ul.forms strong {
			font-size: 36px;
			line-height: 44px;
		}
		.portalfeat ul.forms .con p {
			font-size: 18px;
			line-height: 25px;
		}
	}
	@media (min-width: 980px) {
		.portalfeat ul.forms .box {
			height: 380px;
		}
	}




/* ==========================================================================



CONTACT
========================================================================== */

.info dt,
.info dd {
	display: inline-block;
	vertical-align: top;
}
.info dt {
	width: 21px;
}
.info dd {
	width: calc(100% - 21px);
}
.hours dt {
	width: 80px;
}
.hours dd {
	width: calc(100% - 80px);
}
.info .head,
.info .head + dd {
	width: 100%;
	display: block;
}
.info .head {
	margin: 1em 0 0.5em;
	font-weight: 700;
}

	@media (min-width: 600px) {
		.info,
		.book {
			display: inline-block;
			vertical-align: top;
		}
		.info {
			width: 240px;
		}
		.book {
			width: calc(100% - 240px);
		}
		.book .radiogroup {
		    max-width: 220px;
		}
	}
	@media (min-width: 768px) {
		.book .radiogroup {
		    max-width: none;
		}
		.info {
			width: 280px;
		}
		.book {
			width: calc(100% - 280px);
		}
	}
	@media (min-width: 840px) {
		.book {
			width: 500px;
		}
		.info {
			width: calc(100% - 500px);
		}
	}


.contact .map {
	max-width: 1224px;
	height: 400px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
.map:before,
.map:after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 5;
	background-color: rgba(209, 198, 181, 1);
	mix-blend-mode: multiply;
}
.contact .map:after {
	background-color: rgba(209, 198, 181, 0);
	transition: all 0.3s ease-in-out;
}
.contact .map img {
	max-width: 1224px;
	width: auto;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -40%);
	-ms-transform:     translate(-50%, -40%);
	transform:         translate(-50%, -40%);
}
.contact .map figcaption {
	padding: 20px;
	position: absolute;
	top: 0;
	left: 20px;
	background-color: #6F4B66;
	color: #fff;
	z-index: 10;
}
.contact .map figcaption strong {
	font-weight: 400;
	font-size: 20px;
	line-height: 38px;
}
.contact .map figcaption p {
	margin: 0;
	font-weight: 300;
	line-height: 22px;
}
	@media (min-width: 768px) {
		.contact .map {
			height: 500px;
		}
		.contact .map img {
			-webkit-transform: translate(-50%, -40%);
			-ms-transform:     translate(-50%, -40%);
			transform:         translate(-50%, -40%);
		}
		.contact .map figcaption {
			padding: 29px 150px 37px 38px;
		}
		.contact .map figcaption strong {
			font-size: 32px;
			line-height: 44px;
		}
		.contact .map figcaption p {
			line-height: 26px;
		}
	}
	@media (min-width: 840px) {
		.contact .map {
			height: 619px;
		}
		.contact .map img {
			-webkit-transform: translate(-50%, -50%);
			-ms-transform:     translate(-50%, -50%);
			transform:         translate(-50%, -50%);
		}
	}
	@media (min-width: 980px) {
		.contact .map figcaption {
			position: absolute;
			left: 50%;
			margin-left: -470px;
		}
	}

.mapw {
	display: block;
}
.mapw:active .map:after,
.mapw:hover .map:after,
.mapw:focus .map:after {
	background-color: rgba(209, 198, 181, 1);
}




/* ==========================================================================



OFFICE POLICIES
========================================================================== */

.office-policies .hero .bkimg:before {
    background-color: rgba(74, 74, 74, 0.7);
}

.office-policies .con h1,
.office-policies .con h2 {
	font-size: 17px;
	color: #4a4a4a;
}

	@media (min-width: 768px) {
		.office-policies .pageheader .container p {
			width: 300px;
			margin-top: 106px;
			position: absolute;
			top: 100%;
			left: 0;
		}
		.office-policies .con h1,
		.office-policies .con h2 {
			font-size: 20px;
		}
		.office-policies article .mod {
			padding-top: 118px;
		}
		.office-policies article .con {
			padding-left: 320px;
		}
	}




.p404 .pageheader p {
	padding-top: 5vh;
	padding-bottom: 15vh;
	text-align: center;
}