@charset "UTF-8";
/* CSS Document */

/*
Slate: #1E2F30;
Olive: #708968;
Sage: #F1F3EF;
Camel: #A86B28;
Cream: #FBF1E6;
Light Green: #F1F3EF;
font-family: Nobel, sans-serif;
font-family: Bookmania, serif;
*/

body {
	margin: 0;
	padding: 0;
	font-size: 21px;
	font-family: Nobel, sans-serif;
	font-weight: 200;	
}
body *, body *:before, body *:after {
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-o-font-smoothing: antialiased;
	transition: all .4s ease-in-out;
}
h1, h2, h3, h4, h5, h6 {
	font-family: Bookmania, serif;
	font-weight: 700;	
}
h1, h2 {
	max-width: 12em;
	margin: 0 auto;
	color: #A86B28;
	font-size: 3.5em;
	line-height: 1.1em;
	text-align: center;
}
h2 {
	max-width: 10em;
	color: #708968;
}
.subhead {
	display: block;
	color: #708968;
	font-size: .7em;
	font-family: Nobel, sans-serif;
	font-weight: 200;
}
h3 {
	margin: .5em 0 .25em;
	color: #A86B28;
	font-size: 2.25em;
	line-height: 1.2em;
}
h4 {
	margin: .5em 0 .25em;
	color: #708968;
	font-size: 1.75em;
	line-height: 1.3em;
}
h5 {
	margin: .75em 0 .35em;
	color: #A86B28;
	font-size: 1.5em;
	line-height: 1.4em;
}
h6 {
	margin: 1em 0 .5em;
	color: #708968;
	font-size: 1.25em;
	line-height: 1.5em;
}
.h-green {
	color: #708968;
}
.h-tan {
	color: #A86B28;
}
.h-white {
	color: #FFF;
}
p {
	margin: 1em 0 .5em;
	font-size: 1em;
	line-height: 1.5em;
}
.center {
	max-width: 30em;
	margin: .75em auto 1.5em;
	font-size: 1.48em;
	text-align: center;
}
.small {
	font-size: .85em;
}
ul, ol {
	margin: 1.5em 0 .5em;
	padding-left: 1em;
}
li {
	margin: .75em 0 .5em;
	font-size: 1em;
	line-height: 1.5em;
}
a {
	color: #708968;
	text-decoration: none;
	font-style: italic;
	font-weight: 200;
}
.a-tel {
	position: relative;
	z-index: 1;
	color: inherit;
	font-style: normal;
}
.a-tel:after {
	content: '';
	position: absolute;
	top: .8em;
	left: -.2em;
	z-index: -1;
	width: 0;
	border-bottom: 12px solid rgba(112, 137, 104, .4);
}
.a-tel:hover:after {
	width: calc(100% + .4em);
}
.button {
	position: relative;
	z-index: 1;
	display: inline-block;
	overflow: hidden;
	margin: 1.5em 0 .5em;
	padding: 1em 2.5em;
	border: 1px solid #708968;
	line-height: 1em;
	font-weight: 200;
	font-style: normal;
	text-transform: uppercase;
}
.button:hover {
	color: #FFF;
}
.button:after {
	content: '';
    position: absolute;
    top: 0;
    left: -100%;
	z-index: -1;
    display: block;
	width: 100%;
	height: 100%;
	background: #708968;
}
.button:hover:after {
	left: 0;
}
.button-tan {
    border-color: #A86B28;
    color: #A86B28;
}
.button-tan:after {
    background: #A86B28;
}
.links .button {
	margin-top: 0;
    border-color: #FFF;
    color: #FFF;
}
.links .button:not(:first-of-type) {
	margin-left: 1.5em;
}
.links .button:after {
    background: #FFF;
}
.links .button:hover {
	color: #708968;
}
.arrow-button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: stretch;
	width: 24.1em;
	overflow: hidden;
	margin: 1.5em auto 0;
	border: 1px solid #1E2F30;
}
.arrow-button:before {
	content: '';
    position: absolute;
    top: 0;
    left: 0;
	z-index: -2;
    display: block;
	width: 100%;
	height: 100%;
	background: #708968;
}
.arrow-button:after {
	content: '';
    position: absolute;
    top: 0;
    left: -100%;
	z-index: -1;
    display: block;
	width: 100%;
	height: 100%;
	background: #A86B28;
}
.arrow-button:hover:after {
	left: 0;
}
.arrow-button-text {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	overflow: hidden;
	padding: 0 2.5em;
    color: #FFF;
	line-height: 1em;
	font-weight: 200;
	font-style: normal;
	text-transform: uppercase;
}
.arrow-button:hover .arrow-button-text {
	color: #FFF;
}
.arrow-button-arrow {
	position: relative;
	z-index: 1;
	overflow: hidden;
	padding: .75em 1.25em;
	border-left: 1px solid #1E2F30;
}
.arrow-button:hover .arrow-button-arrow svg {
	-moz-animation: arrowbuttonhover .8s ease .4s 1 forwards;
	-webkit-animation: arrowbuttonhover .8s ease .4s 1 forwards;
	-ms-animation: arrowbuttonhover .8s ease .4s 1 forwards;
	animation: arrowbuttonhover .8s ease .4s 1 forwards;
}
@-moz-keyframes arrowbuttonhover {
	0%   { transform: translate(0, 0); }
	25% { transform: translate(.25em, 0); }
	50%   { transform: translate(-.125em, 0); }
	75% { transform: translate(.125em, 0); }
	100%   { transform: translate(0, 0); }
}
@-webkit-keyframes arrowbuttonhover {
	0%   { transform: translate(0, 0); }
	25% { transform: translate(.25em, 0); }
	50%   { transform: translate(-.125em, 0); }
	75% { transform: translate(.125em, 0); }
	100%   { transform: translate(0, 0); }
}
@-ms-keyframes arrowbuttonhover {
	0%   { transform: translate(0, 0); }
	25% { transform: translate(.25em, 0); }
	50%   { transform: translate(-.125em, 0); }
	75% { transform: translate(.125em, 0); }
	100%   { transform: translate(0, 0); }
}
@keyframes arrowbuttonhover {
	0%   { transform: translate(0, 0); }
	25% { transform: translate(.25em, 0); }
	50%   { transform: translate(-.125em, 0); }
	75% { transform: translate(.125em, 0); }
	100%   { transform: translate(0, 0); }
}
.buttons {
    text-align: center;
}
.buttons .button:nth-of-type(even) {
	margin-left: 1.5em;
}
@media screen and (max-width: 1200px) {
	.center {
		font-size: 1.25em;
	}
}
@media screen and (max-width: 1000px) {
	body {
		font-size: 18px;
	}
	h1, h2 {
		font-size: 2.75em;
	}
	h3 {
		text-align: center;
	}
}
@media screen and (max-width: 800px) {
	.arrow-button {
		width: 100%;
		margin: 0;
		border-color: #708968;
		color: #708968;
	}
	.arrow-button:before, .arrow-button:after {
		display: none;
	}
	.arrow-button-text {
		display: block;
		width: 100%;
		padding: 1em;
		background: none;
		color: #708968;
		text-align: center;
	}
	.arrow-button-arrow {
		display: none;
	}
	.links .button:nth-of-type(n),
	.buttons .button:nth-of-type(n) {
		width: 100%;
		margin-left: 0;
	}
}
@media screen and (max-width: 600px) {
	h1, h2 {
		font-size: 2em;
	}
	h3 {
		font-size: 1.75em;
	}
	h4 {
		font-size: 1.5em;
	}
	h5 {
		font-size: 1.25em;
	}
	h6 {
		font-size: 1.1em;
	}
	.button {
		width: 100%;
		text-align: center;
	}
	.center {
		font-size: 1em;
		text-align: left;
	}
}

/* HEADER */
header {
	position: relative;
	z-index: 999;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #F1F3EF;
	border-bottom: 1px solid #708968;
}
/*.logo {
	display: flex;
	align-items: center;
	position: relative;
	z-index: 1;
	margin: 0 0 0 1.2em;
	font-size: 1.3em;
}
.logotype {
	position: relative;
	margin: 0 0 0 .4em;
	color: #A86B28;
	font-size: 1.2em;
	line-height: 1em;
	font-style: normal;
}
.logotype:after {
	content: '';
	position: absolute;
	top: .7em;
	left: -5px;
	z-index: -1;
	width: 0;
	border-bottom: 10px solid rgba(112, 137, 104, .4);
	transition: all .6s ease;
}
.logotype:hover:after {
	width: calc(100% + 10px);
}*/
.logo img {
    width: 13em;
    margin-left: 2em;
}
nav {
	display: flex;
}
@media screen and (min-width: 1226px) {
	nav a {
		position: relative;
		z-index: 1;
		overflow: hidden;
		padding: 1.8em 1.4em;
		color: #1E2F30;
		font-style: normal;
		text-transform: uppercase;
		border-left: 1px solid #708968;
	}
	nav a:after {
		content: '';
		position: absolute;
		top: 2.6em;
		left: 1.2em;
		z-index: -1;
		width: 0;
		border-bottom: 10px solid rgba(168, 107, 40, .4);
	}
	nav a:hover:after {
		width: calc(100% - 2.4em);
	}
	nav a:last-child {
		background: #708968;
		color: #FFF;
	}
	nav a:last-child:before {
		content: '';
			position: absolute;
			top: 0;
			left: 0;
		z-index: -1;
			display: block;
		width: 100%;
		height: 100%;
		background: #708968;
	}
	nav a:last-child:after {
		content: '';
			position: absolute;
			top: 0;
			left: -100%;
		z-index: -1;
			display: block;
		width: 100%;
		height: 100%;
		background: #A86B28;
	}
	nav a:last-child:hover:after {
		left: 100%;
	}
	nav a:last-child:hover:after {
		left: 0;
	}
}
@media screen and (max-width: 1600px) {
	nav {
		font-size: .8em;
	}
    nav a {
        padding: 2.3em 1.4em;
    }
	.logo {
		font-size: 1em;
	}
}
@media screen and (max-width: 1400px) and (min-width: 1226px) {
	nav {
		font-size: .7em;
	}
	.logo {
		font-size: .9em;
	}
}
@media screen and (max-width: 1225px) {
	.nav-button {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 4.5em;
		height: 4.5em;
		background: #708968;
		cursor: pointer;
	}
	.nav-button-lines {
		position: relative;
		width: 2em;
		height: 4px;
		background: #FFF;
	}
	.nav-button-lines:before {
		content: '';
		position: absolute;
		top: -12px;
		left: 4px;
		width: 1.6em;
		height: 4px;
		background: #FFF;
	}
	.nav-button-lines:after {
		content: '';
		position: absolute;
		bottom: -12px;
		left: 4px;
		width: 1.6em;
		height: 4px;
		background: #FFF;
	}
	.nav-show .nav-button-lines {
		width: 0;
		height: 0;
	}
	.nav-show .nav-button-lines:before {
		width: 2em;
		transform: rotate(45deg);
		top: 0;
		left: -1em;
	}
	.nav-show .nav-button-lines:after {
		width: 2em;
		transform: rotate(-45deg);
		bottom: -4px;
		left: -1em;
	}
	.nav-button:hover .nav-button-lines, .nav-show .nav-button-lines {
		-moz-animation: navbuttonhover .8s ease .4s 1 forwards;
		-webkit-animation: navbuttonhover .8s ease .4s 1 forwards;
		-ms-animation: navbuttonhover .8s ease .4s 1 forwards;
		animation: navbuttonhover .8s ease .4s 1 forwards;
	}
	@-moz-keyframes navbuttonhover {
		0%   { transform: translate(0, 0) scale(1, 1); }
		25% { transform: translate(0, .25em) scale(1, .9); }
		50%   { transform: translate(0, -.125em)  scale(1, 1.1); }
		75% { transform: translate(0, .125em)  scale(1, .95); }
		100%   { transform: translate(0, 0) scale(1, 1); }
	}
	@-webkit-keyframes navbuttonhover {
		0%   { transform: translate(0, 0) scale(1, 1); }
		25% { transform: translate(0, .25em) scale(1, .9); }
		50%   { transform: translate(0, -.125em)  scale(1, 1.1); }
		75% { transform: translate(0, .125em)  scale(1, .95); }
		100%   { transform: translate(0, 0) scale(1, 1); }
	}
	@-ms-keyframes navbuttonhover {
		0%   { transform: translate(0, 0) scale(1, 1); }
		25% { transform: translate(0, .25em) scale(1, .9); }
		50%   { transform: translate(0, -.125em)  scale(1, 1.1); }
		75% { transform: translate(0, .125em)  scale(1, .95); }
		100%   { transform: translate(0, 0) scale(1, 1); }
	}
	@keyframes navbuttonhover {
		0%   { transform: translate(0, 0) scale(1, 1); }
		25% { transform: translate(0, .25em) scale(1, .9); }
		50%   { transform: translate(0, -.125em)  scale(1, 1.1); }
		75% { transform: translate(0, .125em)  scale(1, .95); }
		100%   { transform: translate(0, 0) scale(1, 1); }
	}
	nav {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 4.5em;
		right: 0;
		width: 0;
		min-width: 0;
		height: 0;
		min-height: 0;
		overflow: hidden;
		background: #708968;
		opacity: 0;
		font-size: 1em;
	}
	.nav-show + nav {
		width: auto;
		min-width: 100%;
		height: auto;
		min-height: calc(100vh - 4.5em);
		opacity: 1;
	}
	nav a {
		color: #FFF;
		font-style: normal;
		text-transform: uppercase;
		margin: 0;
		padding: 0;
	}
	.nav-show + nav a {
		margin: 1em 0;
	}
}

/* CONTENT */
.content {
    padding: 5.75em 4.75em;
}
.content-i {
    max-width: 57em;
    margin: 0 auto;
}
.content-green {
    background: #F1F3EF;
}
.content-darkgreen {
	background: #708968;
	color: #FFF;
}
.content-tan {
	background: #FBF1E6;
}
.content-center {
    text-align: center;
}
.content-thirds {
    display: flex;
}
.content-thirds-img {
    flex: 1 1 60%;
	background-size: cover;
	background-position: center;
}
.content-thirds-index {
	background-image: url('/images/index/index-lg.jpg');
}
.content-thirds-new {
	background-image: url('/images/index/hero-lg.jpg');
}
.content-thirds-services {
	background-image: url('/images/new/services.jpg');
}
.content-thirds-session {
	background-image: url('/images/new/session.jpg');
}
.content-thirds-benefits {
	background-image: url('/images/new/benefits.jpg');
}
.content-thirds-float {
	background-image: url('/images/float/float.jpg');
}
.content-thirds-pemf {
	background-image: url('/images/pemf/pemf.jpg');
}
.content-thirds-text {
    flex: 1 1 30%;
    padding: 4.75em;
}
.content-thirds-text p {
	text-align: justify;
}
@media screen and (max-width: 1300px) {
	.content, .content-thirds-text {
			padding: 4em;
	}
	.content-thirds-img, .content-thirds-text {
		flex: 1 1 50%;
	}
}
@media screen and (max-width: 1000px) {
	.content {
			padding: 3em;
	}
	.content-thirds {
		display: block;
	}
	.content-thirds-img {
		width: 100vw;
		height: 50vw;
	}
	.content-thirds-text {
		padding: 3em;
		text-align: center;
	}
	.content-thirds-index {
		background-image: url('/images/index/index-sm.jpg');
	}
	.content-thirds-new {
		background-image: url('/images/index/hero-sm.jpg');
	}
	.content-thirds-services {
		background-image: url('/images/new/services-sm.jpg');
	}
	.content-thirds-session {
		background-image: url('/images/new/session-sm.jpg');
	}
	.content-thirds-benefits {
		background-image: url('/images/new/benefits-sm.jpg');
	}
	.content-thirds-float {
		background-image: url('/images/float/float-sm.jpg');
	}
}
@media screen and (max-width: 600px) {
	.content, .content-thirds-text {
		padding: 2em;
	}
}

/* QUOTE */
.quote {
    padding: 7em 4.75em;
    text-align: center;
}
.quote-i {
    position: relative;
    max-width: 40em;
    margin: 0 auto;
}
.quote-i:before,
.quote-i:after {
	position: absolute;
	color: #A86B28;
	font-family: Bookmania, serif;
	font-weight: 700;
	font-size: 21em;
	line-height: 0em;
}
.quote-i:before {
    content: "\201C";
	top: .4em;
	left: -.65em;
}
.quote-i:after {
    content: "\201D";
	bottom: -.35em;
	right: -.65em;
}
.quote-text {
    margin: 0;
    color: #708968;
    font-family: Bookmania, serif;
    font-size: 2.6em;
    line-height: 1.2em;
}
.quote-name {
	font-size: 1.3em;
	text-transform: uppercase;
}
@media screen and (max-width: 1550px) {
	.quote-i:before, .quote-i:after {
		font-size: 15em;
	}
}
@media screen and (max-width: 1300px) {
	.quote {
		padding: 11em 4em 4em;
	}
	.quote-i:before {
		display: none;
	} 
	.quote-i:after {
		bottom: 100%;
		right: 50%;
		margin-right: -.25em;
		font-size: 13em;
	}
	.quote-text {
		font-size: 2em;
	}
	.quote-name {
		font-size: 1.1em;
	}
}
@media screen and (max-width: 1000px) {
	.quote {
			padding: 9em 3em 3em;
	}
	.quote-i:after {
		font-size: 10em;
	}
	.quote-text {
		font-size: 1.5em;
	}
}
@media screen and (max-width: 600px) {
	.quote {
			padding: 8em 2em 2em;
	}
}

/* FOOTER */
footer {
	display: flex;
	flex-wrap: wrap;
}
.footer-contact {
	flex: 1 1 30%;
    padding: 4.75em;
	text-align: center;
}
.footer-map {
    position: relative;
    z-index: 2;
	flex: 1 1 60%;
    background-image: url("/images/footer/map.jpg");
    background-size: cover;
    background-position: center;
}
.footer-map-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -4.762em;
    margin-left: -1.65em;
}
.footer-contact p {
	font-size: 1.25em;
}
.footer-contact .button {
	width: 100%;
}
.footer-copyright {
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 0 0 100%;
	padding: 1em;
	background: #708968;
	color: #FFF;
	text-align: center;
}
.footer-copyright p {
	font-size: .85em;
}
.footer-copyright a {
	margin-left: 1em;
	padding-left: 1em;
	border-left: 1px solid #FFF;
	color: #FFF;
	font-style: normal;
}
.footer
@media screen and (max-width: 1300px) {
	.footer-contact {
			padding: 4em;
	}
	.footer-contact, .footer-map {
		flex: 1 1 50%;
	}
}
@media screen and (max-width: 1000px) {
	footer {
		flex-wrap: wrap;
	}
	.footer-contact {
		flex: 0 0 100%;
		order: 1;
		padding: 3em;
	}
	.footer-map {
		flex: 0 0 100%;
		order: 2;
		width: 100vw;
		height: 75vw;
	}
	.footer-contact p {
		font-size: 1em;
	}
	.footer-copyright {
		order: 3;
	}
}
@media screen and (max-width: 600px) {
	.footer-contact {
			padding: 2em;
	}
	.footer-copyright {
		display: block;
	}
	.footer-copyright a {
		margin: 1em 0 0;
		padding: 0;
		border: none;
	}
}
/* INDEX */
.hero {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100vw;
	height: calc(100vh - 4em);
	background-image: url('/images/index/hero-lg.jpg');
	background-size: cover;
	background-position: center;
	text-align: center;
}
.hero-i {
	width: 45.75em;
	padding: 5em 7em;
	background: rgba(255, 255, 255, .7);
	border: 1px solid rgba(112, 137, 104, .7);
	-moz-animation: hero 1.5s ease 0s 1 forwards;
	-webkit-animation: hero 1.5s ease 0s 1 forwards;
	-ms-animation: hero 1.5s ease 0s 1 forwards;
	animation: hero 1.5s ease 0s 1 forwards;
}
@-moz-keyframes hero {
	0%   { margin-top: 6em; opacity: 0; }
	100% { margin-top: 0; opacity: 1; }
}
@-webkit-keyframes hero {
	0%   { margin-top: 6em; opacity: 0; }
	100% { margin-top: 0; opacity: 1; }
}
@-ms-keyframes hero {
	0%   { margin-top: 6em; opacity: 0; }
	100% { margin-top: 0; opacity: 1; }
}
@keyframes hero {
	0%   { margin-top: 6em; opacity: 0; }
	100% { margin-top: 0; opacity: 1; }
}
.hero h1 {
	position: relative;
	margin-top: 0;
    color: #1E2F30;
	opacity: 0;
	font-family: Nobel, sans-serif;
	font-size: 3em;
	font-weight: 200;
	-moz-animation: heroh1 1s ease .5s 1 forwards;
	-webkit-animation: heroh1 1s ease .5s 1 forwards;
	-ms-animation: heroh1 1s ease .5s 1 forwards;
	animation: heroh1 1s ease .5s 1 forwards;
}
@-moz-keyframes heroh1 {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
@-webkit-keyframes heroh1 {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
@-ms-keyframes heroh1 {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
@keyframes heroh1 {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
.hero-text-top {
	display: block;
}
.hero-text-bottom {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: .5em 0;
}
.hero-green, .hero-tan {
    font-family: Bookmania, serif;
    font-size: 2em;
    line-height: 1em;
}
.hero-green {
	position: relative;
    color: #708968;
	opacity: 0;
	-moz-animation: herogreen 1s ease .75s 1 forwards;
	-webkit-animation: herogreen 1s ease .75s 1 forwards;
	-ms-animation: herogreen 1s ease .75s 1 forwards;
	animation: herogreen 1s ease .75s 1 forwards;
}
@-moz-keyframes herogreen {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
@-webkit-keyframes herogreen {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
@-ms-keyframes herogreen {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
@keyframes herogreen {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
.hero-tan {
	position: relative;
    color: #A86B28;
	opacity: 0;
	-moz-animation: herotan 1s ease 1.55s 1 forwards;
	-webkit-animation: herotan 1s ease 1.55s 1 forwards;
	-ms-animation: herotan 1s ease 1.55s 1 forwards;
	animation: herotan 1s ease 1.55s 1 forwards;
}
@-moz-keyframes herotan {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
@-webkit-keyframes herotan {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
@-ms-keyframes herotan {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
@keyframes herotan {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
.hero-and {
	position: relative;
    margin: -.4em .35em 0;
    line-height: 1em;
	opacity: 0;
	-moz-animation: heroand 1s ease 1.15s 1 forwards;
	-webkit-animation: heroand 1s ease 1.15s 1 forwards;
	-ms-animation: heroand 1s ease 1.15s 1 forwards;
	animation: heroand 1s ease 1.15s 1 forwards;
}
@-moz-keyframes heroand {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
@-webkit-keyframes heroand {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
@-ms-keyframes heroand {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
@keyframes heroand {
	0%   { top: 1em; opacity: 0; }
	100% { top: 0; opacity: 1; }
}
.hero-button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: stretch;
    width: 22.3em;
	margin: 1.5em auto 0;
}
.hero-button-text {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	overflow: hidden;
	padding: 0 2.5em;
    background: rgba(255, 255, 255, 0);
	border: 1px solid #1E2F30;
    color: #1E2F30;
	line-height: 1em;
	font-weight: 200;
	font-style: normal;
	text-transform: uppercase;
	transform: all .4s ease-in;
	opacity: 0;
	-moz-animation: herobutton .6s ease 2.5s 1 forwards;
	-webkit-animation: herobutton .6s ease 25s 1 forwards;
	-ms-animation: herobutton .6s ease 2.5s 1 forwards;
	animation: herobutton .6s ease 2.5s 1 forwards;
}
@-moz-keyframes herobutton {
	0%   { left: -1em; opacity: 0; background: rgba(255, 255, 255, 0); }
	100% { left: 0; opacity: 1; background: rgba(255, 255, 255, .8); }
}
@-webkit-keyframes herobutton {
	0%   { left: -1em; opacity: 0; background: rgba(255, 255, 255, 0); }
	100% { left: 0; opacity: 1; background: rgba(255, 255, 255, .8); }
}
@-ms-keyframes herobutton {
	0%   { left: -1em; opacity: 0; background: rgba(255, 255, 255, 0); }
	100% { left: 0; opacity: 1; background: rgba(255, 255, 255, .8); }
}
@keyframes herobutton {
	0%   { left: -1em; opacity: 0; background: rgba(255, 255, 255, 0); }
	100% { left: 0; opacity: 1; background: rgba(255, 255, 255, .8); }
}
.hero-button:hover .hero-button-text {
	color: #FFF;
}
.hero-button-text:after {
	content: '';
    position: absolute;
    top: 0;
    left: -100%;
	z-index: -1;
    display: block;
	width: 100%;
	height: 100%;
	background: #A86B28;
}
.hero-button:hover .hero-button-text:after {
	left: 0;
}
.hero-button-arrow {
	position: relative;
	z-index: 1;
	overflow: hidden;
	padding: .75em 1.25em;
    background: rgba(255, 255, 255, 0);
	border: 1px solid #1E2F30;
	opacity: 0;
	-moz-animation: heroarrow .6s ease 2.5s 1 forwards;
	-webkit-animation: heroarrow .6s ease 2.5s 1 forwards;
	-ms-animation: heroarrow .6s ease 2.5s 1 forwards;
	animation: heroarrow .6s ease 2.5s 1 forwards;
}
@-moz-keyframes heroarrow {
	0%   { right: -1em; opacity: 0; background: rgba(255, 255, 255, 0); }
	100% { right: 1px; opacity: 1; background: rgba(255, 255, 255, .8); }
}
@-webkit-keyframes heroarrow {
	0%   { right: -1em; opacity: 0; background: rgba(255, 255, 255, 0); }
	100% { right: 1px; opacity: 1; background: rgba(255, 255, 255, .8); }
}
@-ms-keyframes heroarrow {
	0%   { right: -1em; opacity: 0; background: rgba(255, 255, 255, 0); }
	100% { right: 1px; opacity: 1; background: rgba(255, 255, 255, .8); }
}
@keyframes heroarrow {
	0%   { right: -1em; opacity: 0; background: rgba(255, 255, 255, 0); }
	100% { right: 1px; opacity: 1; background: rgba(255, 255, 255, .8); }
}
.hero-button-arrow svg {
	-moz-animation: arrow .8s ease 3s 1 forwards;
	-webkit-animation: arrow .8s ease 3s 1 forwards;
	-ms-animation: arrow .8s ease 3s 1 forwards;
	animation: arrow .8s ease 3s 1 forwards;
}
@-moz-keyframes arrow {
	0%   { transform: translate(0, 0) scale(1, 1); }
	25% { transform: translate(.25em, 0) scale(1.03, 1); }
	50%   { transform: translate(-.125em, 0) scale(.95, 1); }
	75% { transform: translate(.125em, 0) scale(1.01, 1); }
	100%   { transform: translate(0, 0) scale(1, 1); }
}
@-webkit-keyframes arrow {
	0%   { transform: translate(0, 0) scale(1, 1); }
	25% { transform: translate(.25em, 0) scale(1.03, 1); }
	50%   { transform: translate(-.125em, 0) scale(.95, 1); }
	75% { transform: translate(.125em, 0) scale(1.01, 1); }
	100%   { transform: translate(0, 0) scale(1, 1); }
}
@-ms-keyframes arrow {
	0%   { transform: translate(0, 0) scale(1, 1); }
	25% { transform: translate(.25em, 0) scale(1.03, 1); }
	50%   { transform: translate(-.125em, 0) scale(.95, 1); }
	75% { transform: translate(.125em, 0) scale(1.01, 1); }
	100%   { transform: translate(0, 0) scale(1, 1); }
}
@keyframes arrow {
	0%   { transform: translate(0, 0) scale(1, 1); }
	25% { transform: translate(.25em, 0) scale(1.03, 1); }
	50%   { transform: translate(-.125em, 0) scale(.95, 1); }
	75% { transform: translate(.125em, 0) scale(1.01, 1); }
	100%   { transform: translate(0, 0) scale(1, 1); }
}
.hero-button:hover .hero-button-arrow svg {
	-moz-animation: arrowhover .8s ease .6s 1 forwards;
	-webkit-animation: arrowhover .8s ease .6s 1 forwards;
	-ms-animation: arrowhover .8s ease .6s 1 forwards;
	animation: arrowhover .8s ease .6s 1 forwards;
}
@-moz-keyframes arrowhover {
	0%   { transform: translate(0, 0) scale(1, 1); }
	25% { transform: translate(.25em, 0) scale(1.03, 1); }
	50%   { transform: translate(-.125em, 0) scale(.95, 1); }
	75% { transform: translate(.125em, 0) scale(1.01, 1); }
	100%   { transform: translate(0, 0) scale(1, 1); }
}
@-webkit-keyframes arrowhover {
	0%   { transform: translate(0, 0) scale(1, 1); }
	25% { transform: translate(.25em, 0) scale(1.03, 1); }
	50%   { transform: translate(-.125em, 0) scale(.95, 1); }
	75% { transform: translate(.125em, 0) scale(1.01, 1); }
	100%   { transform: translate(0, 0) scale(1, 1); }
}
@-ms-keyframes arrowhover {
	0%   { transform: translate(0, 0) scale(1, 1); }
	25% { transform: translate(.25em, 0) scale(1.03, 1); }
	50%   { transform: translate(-.125em, 0) scale(.95, 1); }
	75% { transform: translate(.125em, 0) scale(1.01, 1); }
	100%   { transform: translate(0, 0) scale(1, 1); }
}
@keyframes arrowhover {
	0%   { transform: translate(0, 0) scale(1, 1); }
	25% { transform: translate(.25em, 0) scale(1.03, 1); }
	50%   { transform: translate(-.125em, 0) scale(.95, 1); }
	75% { transform: translate(.125em, 0) scale(1.01, 1); }
	100%   { transform: translate(0, 0) scale(1, 1); }
}
.hero-button:hover .hero-button-arrow polygon {
	-moz-animation: arrowcolor .15s ease .4s 1 forwards;
	-webkit-animation: arrowcolor .15s ease .4s 1 forwards;
	-ms-animation: arrowcolor .15s ease .4s 1 forwards;
	animation: arrowcolor .15s ease .4s 1 forwards;
}
@-moz-keyframes arrowcolor {
	0%   { fill: #1E2F30; }
	100% { fill: #FFF; }
}
@-webkit-keyframes arrowcolor {
	0%   { fill: #1E2F30; }
	100% { fill: #FFF; }
}
@-ms-keyframes arrowcolor {
	0%   { fill: #1E2F30; }
	100% { fill: #FFF; }
}
@keyframes arrowcolor {
	0%   { fill: #1E2F30; }
	100% { fill: #FFF; }
}
.hero-button-arrow:after {
	content: '';
    position: absolute;
    top: 0;
    left: -100%;
	z-index: -1;
    display: block;
	width: 100%;
	height: 100%;
	background: #708968;
}
.hero-button:hover .hero-button-arrow:after {
	-moz-animation: arrowback .2s ease-out .4s 1 forwards;
	-webkit-animation: arrowback .2s ease-out .4s 1 forwards;
	-ms-animation: arrowback .2s ease-out .4s 1 forwards;
	animation: arrowback .2s ease-out .4s 1 forwards;
}
@-moz-keyframes arrowback {
	0%   { left: -100%; }
	100% { left: 0%; }
}
@-webkit-keyframes arrowback {
	0%   { left: -100%; }
	100% { left: 0%; }
}
@-ms-keyframes arrowback {
	0%   { left: -100%; }
	100% { left: 0%; }
}
@keyframes arrowback {
	0%   { left: -100%; }
	100% { left: 0%; }
}
.index .benefit-o {
    background: #F1F3EF;
}
.benefit {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    column-gap: 2em;
    row-gap: 3em;
    margin: 3em 0 3.5em;
}
.benefit-i {
    text-align: center;
}
.benefit-i h6 {
    margin: .5em 0 0;
}
.benefit-i:nth-of-type(even) h6 {
    color: #A86B28;
}
.benefit-i svg {
    opacity: .5;
}
@media screen and (max-width: 1300px) {
	.hero {
		height: auto;
		padding: 4em;
	}
	.hero-i {
		width: 100%;
	}
}
@media screen and (max-width: 1000px) {
	.hero {
		padding: 3em;
	}
}
@media screen and (max-width: 800px) {
	.hero {
		display: block;
		position: relative;
		width: 100vw;
		height: 75vw;
		padding: 0;
		background-image: url('/images/index/hero-sm.jpg');
	}
	.hero-i {
		position: absolute;
		top: calc(100% - 3em);
		z-index: 2;
		width: calc(100% - 6em);
		margin: 0 3em;
		padding: 3em;
		background: #A86B28;
		border: none;
	}
	.hero h1 {
		font-size: 2em;
		color: #FFF;
	}
	.hero-tan, .hero-green {
		color: #FFF;
	}
	.hero-button {
		width: 100%;
		margin: 0;
	}
	.hero-button-text {
		display: block;
		width: 100%;
		padding: 1em;
		background: none;
		border-color: #FFF;
		text-align: center;
	}
	.hero-button-arrow {
		display: none;
	}
	.hero + .content {
		padding-top: 19em;
	}
	.benefit {
		grid-template-columns: 1fr 1fr;
		margin: 2.5em 0 2em;
	}
	.benefit svg {
		font-size: .8em;
	}
}
@media screen and (max-width: 650px) {
	.hero-i {
		top: calc(100% - 2em);
		width: calc(100% - 4em);
		margin: 0 2em;
		padding: 2em;
	}
	.hero h1 {
		font-size: 1.75em;
	}
	.hero-tan, .hero-green {
		font-size: 1.5em;
	}
	.hero + .content {
		padding-top: 15em;
	}
	.benefit {
		grid-gap: 2em;
		margin: 2em 0 1em;
		font-size: .9em;
	}
}
@media screen and (max-width: 500px) {
	.benefit {
		grid-template-columns: 1fr;
		font-size: 1em;
	}
}

/* SERVICES */
.rate {
    display: flex;
    margin: 1em 0 0;
}
.rate-length,
.rate-price {
    flex: 0 0 auto;
    margin: 0;
    line-height: 1em;
}
.rate-dots {
    flex: 1 0 10%;
    border-bottom: 1px dotted #1E2F30;
}
.content-darkgreen .rate-dots {
    border-bottom-color: #FFF;
}

/* MEET THE TEAM */
.team {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 2em;
    row-gap: 2em;
    margin: 3em 0 0;
}
.team-i {
    position: relative;
    padding: 2em;
    color: #FFF;
    text-align: center;
    cursor: pointer;
	font-style: normal;
}
.team-background {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: #A86B28;
}
.team-i:nth-child(even) .team-background {
    background: #708968;
}
.team-i:hover {
    transform: scale(1.075);
}
.team-back {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 0;
    overflow: hidden;
    padding: 2em;
    opacity: 0;
}
.team-photo {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 auto;
    background: #1E2F30;
}
.team-name {
    margin-bottom: 0;
    color: #FFF;
}
.team-title {
    margin: .2em 0 0;
	line-height: 1.3em;
}
.team-bio {
    opacity: 0;
	text-align: left;
    transform: scale(-1, 1);
}
div.team-i-click .team-front {
    opacity: 0;
    transform: scale(-1, 1);
}
div.team-i-click .team-back {
    max-height: 100%;
    opacity: 1;
    transform: scale(-1, 1);
}
div.team-i-click .team-background {
    transform: scale(-1, 1);
}
div.team-i-click .team-bio {
    opacity: 1;
}
@media screen and (max-width: 1200px) and (min-width: 701px) {
	.team {
		grid-template-columns: 1fr 1fr;
	}
	.team-i:nth-child(1) .team-background,
	.team-i:nth-child(4) .team-background,
	.team-i:nth-child(5) .team-background,
	.team-i:nth-child(8) .team-background {
		background: #A86B28;
	}
	.team-i:nth-child(2) .team-background,
	.team-i:nth-child(3) .team-background,
	.team-i:nth-child(6) .team-background,
	.team-i:nth-child(7) .team-background {
		background: #708968;
	}
}
@media screen and (max-width: 700px) {
	.team {
		grid-template-columns: 1fr;
		margin: 1.5em 0 0;
	}
}

/* NEW TO MASSAGE */
@media screen and (max-width: 1000px) {
	.issues {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-column-gap: 4em;
		margin: 0;
		text-align: left;
	}
}
@media screen and (max-width: 650px) {
	.issues {
		display: block;
		margin: 1em 0 0;
	}
}

/* FLOAT */
.float-heading {
	max-width: 100%;
}
.float {
	display: flex;
	align-items: center;
}
.float:first-of-type {
	margin-top: 4em;
}
.float:nth-of-type(even) {
	margin: 5em 0;
}
.float-img {
	position: relative;
	flex: 1 1 55%;
	width: 55%
}
.float:nth-of-type(even) .float-img {
	order: 2;
}
.float-img:after {
	content: '';
	position: absolute;
	z-index: -1;
	top: 1em;
	left: 1em;
	width: 100%;
	height: 100%;
	background: rgba(112, 137, 104, .4);
}
.float:nth-of-type(even) .float-img:after {
	background: rgba(168, 107, 40, .4);
}
.float-img img {
	width: 100%;
}
.float-img iframe {
	width: 100%;
	height: 16em;
}
.float-text {
	flex: 1 1 40%;
	width: 40%;
	margin-left: 4em;
}
.float:nth-of-type(even) .float-text {
	margin: 0 3em 0 0;
}
.float:nth-of-type(odd) h4 {
	color: #A86B28;
}
.float-rates {
    margin-top: 1em;
}
.float-note {
    font-size: .8em;
}
p.float-note {
    margin-left: 1.5em;
}
.float-button {
    width: 100%;
    margin-top: 2em;
    padding-left: .5em;
    padding-right: .5em;
    text-align: center;
}
@media screen and (max-width: 1000px) {
	.float:nth-of-type(n) {
		display: block;
		margin: 3em 0;
	}
	.float:last-of-type {
		margin-bottom: 0;
	}
	.float-img, .float-text {
		width: 100%;
	}
	.float-img:after {
		display: none;
	}
	.float-img iframe {
		display: block;
		width: 80vw;
		height: 45vw;
		margin: 0 auto;
	}
	.float:nth-of-type(n) .float-text {
		margin: 2em 0 0;
	}
	.float-text h4 {
		text-align: center;
	}
}

/* CONTACT */
@media screen and (min-width: 1001px) {
	.contact-heading {
			margin-bottom: -1em;
	}
}

/* DECORATION */
.leaf-o {
	position: relative;
}
.leaf {
	position: absolute;
	z-index: 1;
	opacity: .1;
}
.leaf-index-left {
	bottom: -27em;
	left: -6em;
}
.leaf-index-right {
	bottom: -15em;
	right: 0;
}
.leaf-index-bottom {
	bottom: -12em;
	left: -2.5em;
}
.leaf-services-top {
    top: -3em;
    left: -1.5em;
    transform: scale(.9, .9);
}
.leaf-services-middle {
    top: -10.75em;
    right: 0;
}
.leaf-services-bottom {
    bottom: -8em;
    left: 0;
}
.leaf-team-top {
    top: 2em;
    left: 0;
    transform: scale(-1.1, 1.1);
}
.leaf-team-middle {
    bottom: -14em;
    right: -.75em;
    transform: scale(.9, .9);
}
.leaf-team-bottom {
    bottom: -12em;
    left: 0;
}
.leaf-new-left-1 {
	top: 0;
	left: 0;
}
.leaf-new-right-1 {
	bottom: -12em;
	right: 0;
}
.leaf-new-left-2 {
	top: -11em;
	left: 0;
}
.leaf-new-right-2 {
	top: -2em;
	right: 0;
}
.leaf-new-left-3 {
	bottom: -6.5em;
	left: 0;
}
.leaf-contact-top {
    top: 1em;
    left: 0;
    transform: scale(-.95, .95);
}
.leaf-contact-bottom {
    bottom: -1em;
    right: 0;
    transform: scale(1.1, 1.1);
}
.leaf-thanks-top {
    top: -2em;
    left: -3em;
}
.leaf-thanks-bottom {
    bottom: -6em;
    right: 0;
}
@media screen and (max-width: 1300px) {
	.leaf {
		z-index: -1;
		font-size: .8em;
	}
}

/* CANCELATION */
.cancel {
	max-width: 34em;
	margin: 1em auto 2em;
	font-size: 1.2em;
}
@media screen and (max-width: 1000px) {
	.cancel {
		font-size: 1em;
	}
}