html, body {
	margin: 0px; 
	height: 100%; 
	border: 0px; 
	padding: 0px;
	-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
	-webkit-text-size-adjust: none;
	font-family: 'Lato', sans-serif;
	background:#FFF;
	font-size: 110%;
}
* {
                -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
                -moz-box-sizing: border-box;    /* Firefox, other Gecko */
                box-sizing: border-box;         /* Opera/IE 8+ */
}
	
:root {overflow-y: scroll !important;}
.clear {clear:both;}
* img {border:0; border:none;}
.container {width:90%; margin:0 auto;}
.wide-container {width:90%; margin:0 auto;}
.right {float:right;}
.left {float:left;}
.auto {width:100%; height:auto !important;}

.scrollup {width: 40px; height: 40px; opacity: 0.3; position: fixed; bottom: 130px; right: 50px; display: none; text-indent: -9999px; background: url(../images/icon_top.png) no-repeat;}

/****** General Styles ******/

.wrapper {width:100%; margin:0;}

.row {display: flex; /* equal height of the children */}
.two-row {display: flex;}
.three-row {display: flex;}
.four-row {display: flex;}
.col {flex: 1; /* additionally, equal width */}
.flex-col {display:flex; flex-flow: row wrap;}
.flex-bottom {align-self:flex-end;}

hr {margin: 40px 0; color: #3fb7bb;}

/********* colors*********/

.purple {background:#5d3c6c;}
.pink {background: #b52d91;}
.ltblue {background: #bed1d8;}
.ltgrey {background: #efefef;}
.teal {background: #32a3a7;}

.pinkborder {border-top:#b52d91 5px solid;}



/******** headings ********/

h1 {font-size:33px; color:#5d3c6c; text-transform: uppercase; font-weight: normal;}
h2 {font-family: 'Oswald', sans-serif; text-transform: uppercase; text-align: center; font-size:30px; font-weight: normal;}
h3 {font-family: 'Oswald', sans-serif; font-size:30px; color:#5d3c6c;}

h3.class {font-family: 'Oswald', sans-serif; font-size:23px; color:#5d3c6c;}
h3.class span {color:#000; font-weight: normal;}

.h3style { position: relative;
	display:inline-block;
	font-size:30px;
	line-height: 60px;
	right: auto;
	width: auto;
	margin-bottom: 25px; margin-top:0;}

.h3style::after{
   background-color: #b52d91;
    content: '';
    left: 0;
    height: 8px;
    position: absolute;
    -webkit-transform: skew(-20deg,0deg) translateX(0);
    -ms-transform: skew(-20deg,0deg) translateX(0);
    transform: skew(-20deg,0deg) translateX(0);
    -webkit-transform-origin: bottom left;
    -ms-transform-origin: bottom left;
    transform-origin: bottom left;
    width: 60px;
}

h4 {font-family: 'Oswald', sans-serif;}
h5 {font-family: 'Oswald', sans-serif; text-align: center; text-transform: uppercase; font-size: 25px;}

.pink h2 {color:#FFF; margin:0;}


.tips-box a {
	background: #e3e3e3;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 18px;
	height: 55px;
	display: block;
	margin-bottom: 10px;
	text-align: left;
	color: #092950; 
	text-decoration: none;
}
.tips-box a div {padding-top: 15px; margin-left: 15px;}
.tips-box a:hover {color: #fff; text-decoration: underline; background: #ccc;}



/****** Homepage Styles ******/

.logo {width: auto; margin-top: 10px; max-height: 150px;}


.banner-home {
	background: url('../images/banner-home.png') #bed1d8 no-repeat;
    background-position: center left;
	padding: 60px 0;
}
.banner-home .g60 {position: static;}


.banner {
	background: #bed1d8;
	padding: 60px 0;
}
.banner .g60 {position: static;}

.banner-nature {
	background: url('../images/banner-nature.png') #fff no-repeat;
    background-position: center left;
	padding: 60px 0;
}
.banner-nature .g60 {position: static;}


.banner-weightloss {
	background: url('../images/banner-weightloss.png') #bed1d8 no-repeat;
    background-position: center right;
	padding: 60px 0;
}
.banner-weightloss .g70 {position: static;}




.sub-banner {
	background-image: url('../images/sub-banner.jpg');
    background-position: center center;
	background-size: cover;
    position: relative;
    min-height: 15vh;
	margin: 0;
	padding: 20px;
}

.sub-banner h1 {
	color:#FFF;
	text-align: center;
}

.caption {
	font-family: 'Playfair Display', serif;
	text-align: left;
	padding: 20px;
	color: #5d3c6c;
	font-size: 55px;
	line-height: 60px;
	padding-top: 5%;
}

.caption span {
	color: #b52d91;
	font-size: 75px;
}

.caption p {font-size: 20px; font-family: 'Lato', sans-serif; color: #000; line-height: 28px; }

.zigzag {position: relative; width: 100%;}
.zigzag:before {content: ""; display: block; position: absolute; top: -10px; width: 100%; height: 10px;}

.pink-wrapper {
	height: auto; 
	width: 100%;
	background: #b52d91;
	position: relative;
	padding:30px 0;
}

.pink-wrapper:before {
  background:
	linear-gradient(
	  45deg, transparent 33.333%,
	  #b52d91 33.333%, #b52d91 66.667%,
	  transparent 66.667%
	),
	linear-gradient(
	  -45deg, transparent 33.333%,
	  #b52d91 33.333%, #b52d91 66.667%,
	  transparent 66.667%
	);
  background-size: 10px 30px;
}

.coupon {margin:25px; text-align: center; font-family: 'Playfair Display', serif; font-weight:bold; font-size:23px; background: #FFF; border:#000 2px dashed; padding:20px;}

.coupon span {color:#b52d91;}

.coupon p {color:#000!important; font-family: 'Lato', sans-serif!important;}

.cta {margin:25px; text-align: center; font-family: 'Playfair Display', serif; font-weight:bold; font-size:25px; background: #FFF;}

.cta p {color:#000!important; font-family: 'Lato', sans-serif!important;}
ul li a, ul li {color:#000; font-family: 'Lato', sans-serif; font-size: 20px; font-weight: 500; line-height: 30px;}

.cta img {width:100%; display:table; margin:0 auto;}
.cta-link {width:100%; display:table; height:100px; }
.cta-link a{color:#FFF; text-decoration: none; display:table-cell; vertical-align: middle; padding:6px; background:#5d3c6c; width:100%;}
.cta-link a:hover {background: #b52d91;}

.reviews {
	background: #32a3a7;
}

.reviews h2 {
	color:#FFF;
	font-family: 'Lato', sans-serif;
	font-size:44px;
}

.reviews p {
	text-align: center;
	font-size:22px;
}

.reviews p a {
	color:#FFF;
}

.video-review {
	width:50%;
	display:table;
	margin:-90px auto 0 auto;
	position: relative;
    -moz-box-shadow: 1px 0px 13px #000000;
    -webkit-box-shadow: 1px 0px 13px #000000;
    box-shadow: 1px 0px 13px #000000;
}

/**********specials box styles *********/

.specials {
	background: url(/images/summer-bg.jpg) no-repeat;
	background-position: top;
	padding: 15px 0 25px 0;
	border: 2px solid #C805D4;
}

h2.special {color: #B52D91 !important; margin-bottom: -15px !important; text-shadow: 2px 2px 5px white;}
h3.special {color: #5d3c6c !important; font-size: 24px; margin-bottom: -10px; text-shadow: 2px 2px 3px white;}

.float {max-width: 350px; float: right;}

/**********chart styles *********/


table { 
	width: 90%; 
	border-collapse: collapse; 
	margin:50px auto;
	}

/* Zebra striping */
tr {background:#FFF;}
tr:nth-of-type(odd) { 
	background: #eee; 
	}

th { 
	background: #32a3a7; 
	color: white; 
	font-weight: bold;
	text-align:center;
	font-family: 'Oswald', sans-serif;
	}

td, th { 
	padding: 10px; 
	border: 1px solid #ccc; 
	font-size: 18px;
	}

.boldtext {font-weight: bold;
	font-family: 'Oswald', sans-serif;}

.thtext {font-weight: bold;
		font-family: 'Oswald', sans-serif;
		text-align: center;
		color:#FFF;
		background: #b52d91;
}

/* 
Max width before this PARTICULAR table gets nasty
This query will take effect for any screen smaller than 760px
and also iPads specifically.
*/
@media 
only screen and (max-width: 760px),
(min-device-width: 768px) and (max-device-width: 1024px)  {

	table { 
	  	width: 100%; 
	}

	/* Force table to not be like tables anymore */
	table, thead, tbody, th, td, tr { 
		display: block; 
	}
	
	/* Hide table headers (but not display: none;, for accessibility) */
	thead tr { 
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
	
	tr { border: 1px solid #ccc; }
	
	td { 
		/* Behave  like a "row" */
		border: none;
		border-bottom: 1px solid #eee; 
		position: relative;
		padding-left: 50%; 
	}

	td:before { 
		/* Now like a table header */
		position: absolute;
		/* Top/left values mimic padding */
		top: 6px;
		left: 6px;
		width: 45%; 
		padding-right: 10px; 
		white-space: nowrap;
		/* Label the data */
		content: attr(data-column);

		color: #000;
		font-weight: bold;
	}

}

/******** additional styles ********/

.intro p {font-size: 20px;}

.quotebg {
	background: url(../images/quotebg.jpg) no-repeat top left;
}

.quote p {
	text-align: center;
	color:#000;
	font-size:25px;
	font-style: italic;
	display:table;
	width:70%;
	margin:5px auto;
}

.quote p span {font-size:17px;}

.header {
	width:100%;
	margin: 0;
	padding: 5px 50px;
}

.header-contacts {
	width: 60%;
	float: right;
	padding: 10px;
	text-align: right;
}

.phone {}
.phone a {text-decoration: none; font-size: 25px; margin: 10px 0 10px 0; text-align: right; color: #5d3c6c; font-weight: bold; display: block;}

.team {
	border:#e779ca 2px solid;
	margin:15px;
}

.team strong {color:#32a3a7; font-style: italic; font-size: 25px;}

.review p {
	text-align: center;
	color:#FFF;
	font-size:25px;
	font-style: italic;
}

.review p span {font-size:17px;}

.purple-band {background:#5d3c6c;}
.purple-band h3 {color:#FFF;}
.purple-band p {color:#FFF; font-size:18px; line-height: 28px;}
.purple-band p span {color:#e779ca; font-weight: 400;}
.purple-band a {color:#FFF;}
.purple-band li {color:#FFF; font-weight: 400; font-size:20px;}

.whiteband {background:#FFF;}
.whiteband h3 {color:#5d3c6c;}
.whiteband p {color:#000; font-weight: 300; font-size:20px;}
.whiteband a {color:#000;}

.textblock {width:70%;}

.callout-box {
	background: #bed1d8;
	padding:10px;
	color:#000;
	text-align: center;
}

.callout-box p {color:#000; font-weight: 300; font-size:20px;}

.callout-box a {
	color:#FFF!important;
	font-family: 'Oswald', sans-serif;
	font-size:25px;
	text-shadow:#5d3c6c 2px 2px 2px;
}







ul.social-icons a i {
	font-size: 16px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	background: #5d3c6c;
	text-align: center;
	color: #fff;
	border-radius: 8px;
}

ul.social-icons li a:hover, ul.social-icons-footer li a:hover {opacity: 0.8;}

ul.social-icons {list-style: none; text-align: right !important; padding: 0; margin: 0 0 10px 0;}

ul.social-icons li, ul.social-icons-footer li {
    display: inline;
    padding: 2px 5px 0px 0px;
}

ul.social-icons .fa, ul.social-icons-footer .fa {background: #5d3c6c !important;}





ul.social-icons-footer a i {
	font-size: 16px;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	background: #5d3c6c;
	color: #fff;
	border-radius: 8px;
}

ul.social-icons-footer {list-style: none; text-align: left !important; padding: 0; margin: 0 !important;}










/********** FAQ accordion styles **************/

.toggle {padding:0; list-style:none; border-bottom: 1px solid #d5d5d5;}
  .toggle li {position:relative; background: #f5f5f5; border:1px solid #d5d5d5; border-bottom: 0; cursor:pointer;}
  .toggle h3 {margin:0; padding: 10px; color: #3e3e3e; font-size: 17px;}
  .toggle span {position:absolute; top:0; right:0; width: 43px; height: 100%; color: #3e3e3e; font-size: 30px; text-align: center; border-left: 1px solid #d5d5d5;}
  .toggle .panel {display:none; position: relative; padding: 10px 43px 10px 10px; background: #fff; border-top:1px solid #d5d5d5;}
  .toggle .panel p {margin: 10px 0;}

/************* buttons styles **************/

.btn {text-decoration:none; -webkit-transition: all 0.25s ease-in-out; -moz-transition: all 0.25s ease-in-out; -o-transition: all 0.25s ease-in-out; transition: all 0.25s ease-in-out;}

.analysis-btn {
	background: #32a3a7; 
	color:#FFF; 
	text-align: center; 
	text-transform: uppercase; 
	padding:5px 20px; 
	border-radius: 10px; 
	font-family: 'Oswald', sans-serif; 
	font-size:22px; 
	margin: 15px 0 ;
}

.analysis-btn:hover {background:#1c7376;}

.inline-btn {display:inline-block!important;}

.white-btn {
	background:#32a3a7; 
	color:#FFF!important; 
	text-align: center; 
	text-transform: uppercase; 
	padding:8px 20px; 
	border-radius: 10px; 
	display: table; 
	margin: 15px 0; 
	font-size:20px;
   -moz-box-shadow: 0px 7px 0px #44c6cb;
    -webkit-box-shadow: 0px 7px 0px #44c6cb;
	text-decoration: none;
    box-shadow: 0px 7px 0px #44c6cb;
	font-family: 'Oswald', sans-serif;
}

.white-btn:hover {background:#1c7376; color:#FFF!important;}

.teal-btn {
	background:#32a3a7; 
	color:#FFF!important; 
	text-align: center; 
	text-transform: uppercase; 
	padding:5px 20px; 
	border-radius: 10px; 
	display: table; 
	margin: 10px 0;
    -moz-box-shadow: 0px 7px 0px #44c6cb;
    -webkit-box-shadow: 0px 7px 0px #44c6cb;
    box-shadow: 0px 7px 0px #44c6cb;
	font-family: 'Oswald', sans-serif;
	text-decoration: none;
	font-size:30px;
}

.teal-btn:hover {background:#1c7376; color:#FFF!important;}



.purple-btn {
	background:#5d3c6c; 
	color:#FFF!important; 
	text-align: center; 
	text-transform: uppercase; 
	padding:5px 20px; 
	border-radius: 10px; 
	display: table; 
	margin: 10px 0;
    -moz-box-shadow: 0px 7px 0px #723787;
    -webkit-box-shadow: 0px 7px 0px #723787;
    box-shadow: 0px 7px 0px #723787;
	font-family: 'Oswald', sans-serif;
	text-decoration: none;
	font-size:30px;
}

.purple-btn:hover {background:#b52d91; color:#FFF!important;}





a.link {color:#32a3a7; text-transform: uppercase; font-weight: bold; text-decoration: none; background:#FFF; padding:10px; border:#32a3a7 1px solid; margin-top: 15px;}

a.link:hover {
	color:#000;
}

/******* Grid *****/

.g10, .g15, .g20, .g25, .g30, .g33, .g35, .g40, .g45, .g50, .g55, .g60, .g65, .g66, .g70, .g80, .g90, .g100,  .g75 {height:auto;float:left; position: relative;}
.g10 {width:10%;}
.g15 {width:15%;}
.g20 {width:20%;}
.g25 {width:25%;}
.g30 {width:30%;}
.g33 {width:33%;}
.g35 {width:35%;}
.g40 {width:40%;}
.g45 {width:45%;}
.g50 {width:50%;}
.g55 {width:55%;}
.g60 {width:60%;}
.g65 {width:65%;}
.g66 {width:66%;}
.g70 {width:70%;}
.g75 {width:75%;}
.g80 {width:80%;}
.g90 {width:90%;}
.g100 {width:100%;}

.padding {padding: 15px;}
.wrapper-padding {padding: 50px 0;}
.wrapper-mini-padding {padding: 30px 0;}

/****** form styles *****/

.analysis-form input, textarea, select {margin:4px 0; border:none; font-size:16px; padding:5px; color:#333; font-family: 'Lato', sans-serif;}
.analysis-form {color:#FFF; font-size:15px; line-height:20px; font-family: 'Lato', sans-serif;}
input.book-appointment-btn {color:#000; padding:10px; cursor:pointer; border:none; font-weight:bold; width:100%; background: #bed1d8; text-align: center; text-transform: uppercase;}
input.book-appointment-btn:hover {background:#32a3a7;}
.analysis-form #rc-imageselect, .analysis-form .g-recaptcha {transform:scale(0.88);-webkit-transform:scale(0.88);transform-origin:0 0;-webkit-transform-origin:0 0;}

.home-form input, textarea, select {margin:4px 0; border:none; font-size:16px; padding:5px; color:#333; font-family: 'Lato', sans-serif;}
.home-form {color:#FFF; font-size:15px; line-height:20px; font-family: 'Lato', sans-serif;}
.home-form #rc-imageselect, .analysis-form .g-recaptcha {transform:scale(0.88);-webkit-transform:scale(0.88);transform-origin:0 0;-webkit-transform-origin:0 0;}

.contact-form input, textarea, select {margin:4px; border:#d3d3d3 2px solid; font-size:16px; padding: 10px 15px; font-family: 'Lato', sans-serif;}
.contact-form input:focus, textarea:focus, select:focus {margin:4px; border:#63babc 2px solid; font-size:16px; padding: 10px 5px; color:#333; font-family: 'Lato', sans-serif;}
.contact-form {color:#000; font-size:16px; line-height:20px; font-family: 'Lato', sans-serif;}
input.form-submit-btn {cursor:pointer; border:none; background: #b52d91; color:#FFF; text-align: center; text-transform: uppercase; padding: 15px 20px; border-radius: 4px; font-size: 20px;}
input.form-submit-btn:hover {background:#32a3a7;}

fieldset {border:#32a3a7 2px solid;}
legend {font-family: 'Oswald', sans-serif; text-align: center; text-transform: uppercase; font-size: 25px; color:#32a3a7;}
fieldset p{line-height: 27px;}
filedset p span {float:right; text-align: right;}

.contact-form .g30 {margin-right:5%;}

.form-error {
	background-color: #f99;
	font-weight: bold;
	text-align:center;
}
.verify {display: none;}

p.hours {width:50%;}
p.hours span {text-align: right; float: right; color:#b52d91;}

/**** Footer styles ****/

.footer {background: #efefef; padding:50px;}
.footer a {color:#5d3c6c; text-decoration:underline;}
.footer ul li {font-size:20px; list-style-type: none; line-height: 25px;}
.footer p {color:#000;  font-size:20px; line-height: 31px;}
.footer p span {text-align: right; float: right; color:#b52d91;}
.footer p.copy {text-align: center; font-size:15px;}

.footer-icon {
	color:#32a3a7;
	font-size:25px;
	text-align: center;
	display:table;
	margin:0 auto;
}

.footer-soc {
    overflow:hidden;
    padding:0;
    list-style:none;
	display:table;
	margin:0;
}

.footer-soc li {
    display:inline-block;
    *display:inline;
    zoom:1;
}

.footer-soc li a {
    font-family:si!important;
    font-style:normal;
    font-weight:400;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    -ms-box-sizing:border-box;
    -o-box-sizing:border-box;
    box-sizing:border-box;
    overflow:hidden;
    text-decoration:none;
    text-align:center;
    display:block;
    position: relative;
    z-index: 1;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 20px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    border-radius: 100px;
    margin-right: 10px;
    color: #32a3a7;
    background-color: #FFF;
	border:#32a3a7 1px solid;
}

.footer-soc li a:hover {color:#000; border:#000 1px solid;}


/****************** responsive styles ********************/

@media screen and (min-width:1200px) {
	.container {width:	1200px!important;}
	.wide-container {width:	90%!important;}	
}

@media screen and (max-width:1500px) {
	/*.banner {background-size: auto 100%;}
	.caption {left:15%;}*/	
}

@media screen and (max-width:1350px) {
	.container {width:	90%!important;}
	.footer {padding:30px 15px;}
	h5 {font-size:22px;}
	.footer p {font-size:20px;}	
	.header-contacts {width:65%;}	
}

@media screen and (max-width:1220px) {
	
	.four-row {display:block;}
	
	.four-row .col {
		width:50%;
		float:left;
		min-height: 370px;
	}
	
	/*.caption {
		font-size:45px;
		line-height: 50px;
		top:25%;
		left:20%;
	}

	.caption span {font-size:65px;}	*/
	.header-contacts {width:75%;}	
	.logo {width:80%;}
	
}

@media screen and (max-width:1150px) {
	/*.caption {
		top:25%;
		left:23%;
	}*/
	.logo {width:100%;}	
	
	.header .g40 {width:33.3%;}
	.header .g20 {width:33.3%;}
	.table {height: 150px;}

	.footer-icon {display:none;}
	ul#menu li a {
		font-size: 17px!important;
		padding:10px 10px!important;
	}
	
}

@media screen and (max-width:1060px) {
	.g70 {width:65%;}
	.g30 {width:35%;}
	/*.caption {
		font-size:40px;
		line-height: 45px;
		top:20%;
		left:25%;
	}
	.caption span {font-size:55px;}*/

	.header {padding:0 25px;}
	
	.header .g40 {width:35%;}
	.header .g60 {width:65%;}
	
	.white-btn, 
	.teal-btn, 
	.purple-btn, 
	.analysis-btn {display: block;}
	
}

@media screen and (max-width:900px) {
	
	.three-row {
		display:block;
	}
	.cta img {
		display:table;
		margin:5px auto;
	}
	.wrapper-padding {padding: 30px 0;}
	
	h1 {margin-top:5px;}
	
	p.copy {font-size:13px;}
	
	.two-row {display:block;}
	.container .g80 {width:100%;}
	.container .g20 {display:none;}
	
	.quotebg {background: #e1e1e1;}
	
	.video-review {
		width:70%;}
	
	.reviews p {
		padding-bottom:30px;
	}

	.h3style { 
		position: relative;
		display:inline-block;
		font-size:30px;
		line-height: 60px;
		left: 0;
		right: auto;
		width: 100%;
		margin-bottom: 15px;
	}
	
	.quote p {
		font-size:22px;
		width:90%;
	}

	figure{
	   width:100%; /*container-width*/
	   overflow:hidden; /*hide bounds of image */
	   margin:0;   /*reset margin of figure tag*/
	}	
	figure img{
	   /*add to other styles*/
	   margin:-50% 0;
	}

	.caption {
		background:rgba(255, 255, 255, 0.5);
		width:90%;
		float: none; 
		margin: 0 auto;
		text-align: center;
	}
	
	
}

@media screen and (max-width:800px) {
	
	.header .g40 {width:100%;}
	.header .g60 {width:100%;}
	.logo {width:35%; margin:0 auto; display:table;}
    
    .headlinks a {font-size: 17px !important;}
	.phone a, .header-contacts {width:100%; float: none; margin: 0 auto; text-align: center !important;}

@media screen and (max-width:620px) {
	.four-row .col {
		width:100%;
		float:none;
		min-height: 70px;
	}
	.logo {width:60%;}
	.video-review {width:95%;}
	
	.g70 {width:100%;}
	.g30 {width:100%;}
	.g33 {width:100%;}
	.g40 {width:100%;}
	.g50 {width:100%;}
	.g60 {width:100%;}

}

@media screen and (max-width:400px) {
	
	.logo {width:80%;}
	
}

