/*********************** STANDARD ELEMENTS ****************************/

html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
	font-weight:400;

}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
	font-family: 'Open Sans', sans-serif;
	font-weight: 300;
	font-style: normal;
    font-size: 16px;
    color: #3d3d3f;
    text-align: left;
    background: white;
	line-height: 1.45em;
	min-width: 320px;
}

/* for the admin page editing area */
.mceContentBody { background-color: #ffffff !important; background-image:none; }


table {
    border-collapse: collapse;
    border-spacing: 0;
}

td {
	
}

/* GENERAL FORMATTING */

a, a:visited {
    text-decoration: none;
    color: #9c95dc;
	font-weight: 500;
	transition: all .4s;
}

a:hover, a:active {
	color: black;
	transition: all .4s;
}

strong {font-weight:600}
em {font-weight:unset;}

li {
	margin-left:1.7em;
}




/* Headings */
h1, h2, h3, h4, h5, h6 {
    line-height: 1.45em;
    font-weight: 500;
}

h1 {
	margin-top: .5rem;
	margin-bottom: 1.5rem;
	line-height: 1.35em;
	color: #9c95dc;
	font-size: 2.2rem;
    font-weight: 600;
}

.connectHeader {
	font-size: 1.9em;
	font-weight: 500;
	margin-bottom: .5em;
	text-transform:uppercase;
	line-height: 1.45em;
	color: #231f20;
}

h2 {
    font-size: 1.8rem;
	font-weight: 500;
	color: #9c95dc;
	margin-bottom: .5rem;
	line-height: 1.35em;
	}

h3 {
	color: black;
    font-size: 1.4rem;
    margin: .5rem 0;
    font-weight: 500;
	text-transform: unset;
}



img,
embed,
object,
video {
    max-width: 100%;
    border: 0 none;
}

p {
	margin-bottom: .8em;
}


#content_area #contentContact p,
#content p {
	color: black;
	margin-bottom: 1.4em;
	font-size: 1rem;
    font-weight: 300;
    line-height: 1.5em;
}

#contentContact ul,
#contentContact ol,
#content ul,
#content ol {
	margin-left: 1.1em;
	margin-bottom: 1.5em;
	margin-top: 1.5em;
	overflow: auto;
}

#contentContact ul li,
#contentContact ol li,
#content ul li,
#content ol li {
	/* list-style-image: url(../../../images/bullet.png); */
	list-style: none;
	position: relative;
	color: black;
    margin-bottom: 0.6em;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.5em;
	padding-left: 0.75em;
}

#contentContact ul li:before,
#content ul li:before {
    display: block;
    position: absolute;
    width: 17px;
    height: 17px;
    top: 4.7px;
    left: -17px;
    content: '';
    background: url(../../../images/bullet.png) no-repeat;
}


ul#sitemap li::before,
#contentContact ul.HTMLcaptionWrap li:before,
#content ul.HTMLcaptionWrap li:before,
#contentContact ul.captionWrap li:before,
#content ul.captionWrap li:before,
#contentContact ul.sliderInner li:before,
#content ul.sliderInner li:before {
	display: none;
}


/*  class that would allow for 2 columns of bulleted text within a page, START  */
.ul-grid {
	display: grid;
    grid-gap: .5rem;
    grid-template-columns: repeat(auto-fit, minmax(47%,1fr));
    padding: 0;
}
/*  class that would allow for 2 columns of bulleted text within a page, FINISH  */



/* #content_area.wrap.homepage {
	padding: 3rem 0;
} */


#content_area.wrap.homepage #content h1,
#content_area.wrap.homepage #content h2 {
	/* color: #231f20; */
	font-size: 2.2rem;
    text-align: left;
    width: 90%;
    margin: 0 auto 2rem;
	line-height: 2.8rem;
	font-weight: 500;
	text-align: center;
    /* padding: 0 .5rem; */
}

#content_area.wrap.homepage #content p {
	width: 90%;
    margin: 0 auto 1rem;
    text-align: left;
    color: #3d3d3f;
    font-size: 1rem;
    font-weight: 300;
	text-align: center;
}

#content_area.wrap.homepage #content p a.btn,
a.btn {
    min-width: 240px;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: normal;
    background: #9c95dc;
    color: white;
    border: 1px solid #9c95dc;
    border-radius: 2rem;
    margin: 0 auto;
    padding: .5rem 1.5rem;
	outline: none;
	white-space: nowrap;
	text-transform: uppercase;
    transition: all .4s;
}

#content_area.wrap.homepage #content p a.btn:hover,
a.btn:hover {
	color: #9c95dc;
	background: white;
	border: 1px solid #9c95dc;
}

.frame-mind-body {
	min-height: 530px;
    border: 1px solid #b9b9b9;
    padding: .3rem;
    background: #ebebeb;
}

hr.hor-line {
	margin: 2rem 0;
}


/*********************** MAIN DIVS ****************************/
#top {
    min-width: 320px;
    width: 100%;
}

#middle {
    width: 100%;
    position: relative;
	min-width: 320px;

	overflow: hidden;
}

#bottom {
    width: 100%;
    position: relative;
    min-width: 320px;
	background: url("../../../images/bg-footer.jpg") center no-repeat;
	background-size: cover;
	/* background: black; */
}



/* end main divs */


/* Main wrap: this defines the full width site limits */
.wrap {
	background: transparent;
    clear: both;
    display: block;
    margin: 0 auto;
    padding: 0;
    max-width: 1220px;
	/* min-width: 320px; */
}
.wrap::after{
	clear:both;
	display:table;
	content:'';
}

/* Unwrap: removes the max-width restriction */
.unwrap {
	max-width:unset;
}
/* end .wrap */

.fixedContainer-opacity {
	position: absolute;
    width: 100%;
    height: 120px;
    top: 0;
    left: 0;
    background: white;
    opacity: .9;
}

.opacity-none {
	opacity: 1 !important;
	transition: all .1s;
}

.fixedContainer-opacity.opacity-none {
	height: 80px !important;
	transition: all .1s;
}

#iconbar {
	display: none !important;
}





.topMenuBG > .wrap {
	display: flex;
}

#headerRight {
	display: flex;
    position: relative;
    align-items: center;
    margin: 0 0 0 1rem;
    flex-direction: row;
	justify-content: center;
}

/******************************/
/* shopping cart menu widgets */
/******************************/
a.shoppingcart {
    cursor: pointer;
    position: relative;
}

a.shoppingcart .cartWidgetPrice {
    display: none;
}
a.shoppingcart .cartWidgetPrice.cartnonzero {
    display: inline;
}
a.shoppingcart .cartWidgetItems {
    /*background: #0d9c00;*/
    background: #0f75bc;
    position: absolute;
    color: #fff;
    font-weight: 600;
    font-size: .7em;
    width: 1.5em;
    height: 1.5em;
    padding: 0;
    padding-top: 1px;
    border-radius: 50%;
    display: none;
    justify-content: center;
    align-items: center;
    top: 0;
    right: -10%;
}
a.shoppingcart .cartWidgetItems.cartfull {
    display: flex;
}

#headerRight .shopping-cart {
	margin-right: 1.5rem;
}

#headerRight .shopping-cart a {
	transition: all .4s;
}

#headerRight .shopping-cart a:hover {
	opacity: .7;
	transition: all .4s;
}

#headerRight .currency-switch {
    display: block;
    width: 80px;
}
#headerRight a.currencyLink {
    display: inline-block;
    width: 35%;
}
#headerRight span.currencySwitch a img {
    filter: grayscale();
}
#headerRight span.currencySwitch a.selCurrency img {
    filter: none;
}
#headerRight .currencySep {
    display: inline-block;
    width: 10%;
}

#headerRight .topHeaderContact a {
	color: white;
    font-weight: 400;
    white-space: nowrap;
	font-size: 1rem;
	transition: all .4s;
}

#headerRight .topHeaderContact a:hover {
	color: #9c95dc;
	transition: all .4s;
}

#headerRight .topHeaderContact a:hover img {
	opacity: .7;
	transition: all .4s;
}

#headerRight .topHeaderContact a img {
	vertical-align: top;
}




#footer-col4 .topHeaderContact a:hover {
	background: white;
	color: #2c2a28;
	transition: all .4s;
	border: 1px solid white;
}


#footer-col4 .topHeaderContact a {
    display: inline-block;
    min-width: 165px;
    text-align: center;
}





#header-logo {
	width: 375px;
	height: 120px;
	position: relative;
    display: inline-block;
}

#header-logo:hover {
	opacity: .7;
	transition: all .4s;
}

#header-logo.logoWidthSmall {
	width: 210px !important;
	height: 80px;
	transition: all .2s;
}

#header-logo.logoWidthSmall a {
	width: 210px !important;
	transition: all .4s;
}


#header-logo a img {
	position: absolute;
	top: 50%;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

#topNav {
	flex: 1;
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
}


.div-phone-icon {
	display: none;
}





#content_area.wrap.homepage #content .uncmsInnerWrap {
	display: none !important;
}




.div-home-classes {
	padding: 3rem 1.5rem 0;
}

.services-container {
	display: flex;
	margin-bottom: 4rem;
}

.services-yoga {
	flex: 1;
	display: flex;
}

.serv-img-container {
    width: 160px;
	margin-right: 1rem;
}

.serv-txt-container {
	display: flex;
	flex-direction: column;
	flex-basis: 100%;
	position: relative;
	padding-bottom: 25px;
}

.serv-btn {
	position: absolute;
	bottom: 0;
	margin-bottom: 0 !important;
}

.services-container h3 {
	font-size: 1.6rem;
	font-weight: 300;
	color: #9c95dc;
	width: 80%;
	margin-top: -.5rem;
}

.services-container p {
	margin-bottom: 2rem;
	width: 80%;
}






.div-home-instructor {
	padding: 3rem 1.5rem;
	background: #fafafa;
}

.instructor-container {
	display: flex;
}

.instructor-left {
	flex: 1;
	background: url(../../../images/bg-instructor.jpg) center no-repeat;
    background-size: cover;
    min-height: 500px;
}

.instructor-right {
	flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.instructor-right h2 {
	font-size: 2rem;
    margin: 0 auto 1rem;
    text-transform: uppercase;
    font-weight: 400;
	width: 90%;
}

.instructor-right p {
	width: 90%;
    margin: 0 auto 2rem;
    text-align: left;
    color: black;
    font-size: 1rem;
    font-weight: 300;
}



.div-home-testimonials {
	padding: 3rem 1.5rem;
	display: flex;
	flex-direction: column;
	/* background: #5c38a0; */
	color: white;
	background: url("../../../images/bg-testim.jpg") center no-repeat;
	background-size: cover;
}

.div-home-testimonials h2 {
	text-align: center;
	margin-bottom: 6rem;
	position: relative;
}

.div-home-testimonials h2::after {
    position: absolute;
    display: block;
    content: '\201C';
	/* content: '\201D'; */
    font-family: 'Arial, Helvetica, sans-serif';
    font-size: 400%;
    color: white;
    bottom: 0;
    bottom: -5rem;
	left: 50%;
	transform: translateX(-50%);
}


.testim-award {
	text-align: center;
	margin: 3rem 0 2rem;
}

.div-home-testimonials > .wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.div-home-testimonials > .wrap:first-child {
	margin-bottom: 1.5rem;
}


.div-home-testimonials > .wrap > p,
.div-home-testimonials > .wrap > p:first-child,
.div-home-testimonials > .wrap > p:last-child {
    margin: 0 auto .5rem;
	font-size: 1.1rem;
	width: 60%;
    line-height: 2rem;
    font-weight: 300;
    position: relative;
}



.div-home-testimonials > .wrap .testim-author {
	text-align: left;
	font-style: italic;
	font-weight: 600;
	font-weight: 600;
}

.div-home-testimonials > .wrap .testim-btn {
	margin: 1rem auto 0;
}


.testim-container {
	display: flex;
	width: 80%;
    margin: 0 auto;
}

.testim-container__letf {
	width: 200px;
    margin-right: 2rem;
    display: flex;
}

.testim-container__right {
	flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.testim-container__right p {
	margin-bottom: 2rem;
	font-weight: 300;
}





.back-to-top {
	display: none;
	
	position: fixed;
    bottom: 3rem;
    right: 1.5rem;
    text-align: center;
    cursor: pointer;
    z-index: 789;
    background: white;
    padding: .35rem .35rem 0;
    border-radius: .5rem;
    border: 1px solid #9c95dc;
}

.back-to-top img {
	width: 35px;
	height: 35px;
}

.back-to-top p {
	margin-bottom: 0;
	text-transform: uppercase;
	font-size: .8rem;
}

.back-to-top p a:hover {
	color: #9c95dc;
}



.div-home-choose {
	padding: 0;
	display: flex;
}

.div-home-choose h2 {
    font-size: 2.2rem;
    color: black;
    margin: 0 auto;
    font-weight: 300;
    border-bottom: 2px solid #666666;
    position: relative;
    text-transform: uppercase;
    text-align: center;
    padding-bottom: 2rem;
    padding: 0 .5rem 1.5rem;
}

.div-home-choose h2::after {
	position: absolute;
    display: block;
    content: '';
    width: 33.3%;
    height: 12px;
    background: #9c95dc;
    bottom: -7px;
    left: 33.3%;
}

.div-home-choose h2 span {
    font-weight: 600;
}

.home-choose-title {
	flex: .92;
    padding: 0 2rem;
    display: flex;
    align-items: center;
}

.home-choose-grid {
    flex: 1.08;
    display: grid;
    grid-gap: 3rem;
    grid-template-columns: repeat(auto-fit, minmax(150px,1fr));
    padding: 3rem;
    background: #9c95dc;
    color: white;
}

.home-choose-grid-item {
	text-align: center;
}

.home-choose-grid-item h3 {
	color: white;
	font-size: 1.1rem;
	font-weight: 400;
}

.home-choose-grid-item p {
	font-size: .8rem;
	font-weight: 300;
	line-height: 1.2rem;
	text-align: left;
}


.div-home-portfolio {
	padding: 3rem 1.5rem;
	background: #f2f2f2;
}

.div-home-portfolio h2 {
	width: 50%;
    font-size: 2.2rem;
    color: black;
    margin: 0 auto 4rem;
    text-align: center;
    padding: 0 .5rem 1.5rem;
    font-weight: 300;
    border-bottom: 2px solid #666666;
	position: relative;
	text-transform: uppercase;
}

.div-home-portfolio h2::after {
	position: absolute;
    display: block;
    content: '';
    width: 33.3%;
    height: 12px;
    background: #9c95dc;
    bottom: -7px;
    left: 33.3%;
}

.div-home-portfolio h2 span {
    font-weight: 600;
}


.div-home-portfolio h3 {
	text-align: center;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 1.2rem;
}

.div-home-portfolio p {
	text-align: center;
}

.div-home-portfolio p a {
	color: black;
	transition: all .4s;
}

.div-home-portfolio p a:hover {
	color: #9c95dc;
	transition: all .4s;
}

.color-gold {
	color: #bc7312;
}

.color-silver {
	color: #8a8c8e;
}

.home-portfolio-container {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    /* margin: 0; */
}

.portfolio-article {
    flex-basis: 21%;
    display: flex;
    flex-direction: column;
}

.portfolio-article-img {
    display: block;
    margin: 0;
    text-align: center;
}

.portfolio-article-text {
    /* background: white; */
    flex-basis: 100%;
}

.portfolio-article-img a {
    width: 100%;
    height: 100%;
    display: inline-block;
}

.portfolio-article-img img {
	min-width: 100%;
	/* border-radius: 1.5rem; */
}



.quote-request-form {
	width: 50%;
}

.quote-request-form form input[type=submit] {
	width: fit-content;
    background: black;
    padding: .5rem 1.5rem;
    text-transform: uppercase;
	margin-bottom: 2rem;
	border: 1px solid transparent;
	outline: none;
	transition: all .4s;
}

.quote-request-form form input[type=submit]:hover {
    background: #9c95dc;
	color: white;
	border: 1px solid transparent;
	transition: all .4s;
}



.div-home-contact-us {
	padding: 3rem 1.5rem;
}

.div-home-contact-us h2 {
	width: 50%;
	font-size: 2.2rem;
	text-transform: uppercase;
	color: #5a30a3;
	margin: 0 auto;
	text-align: center;
	padding: 0 .5rem 1.5rem;
	font-weight: 300;
}



.div-home-contact-us p {
	text-align: center;
	width: 50%;
	margin: 0 auto 2rem;
}




.logo-footer {
	width: 122px;
	margin-bottom: 2rem;
}

.logo-footer a {
	transition: all .4s;
}

.logo-footer a:hover {
	opacity: .7;
	transition: all .4s;
}


#footer #footer-col1 p.footer-title,
#footer #footer-col2 p.footer-title,
#footer #footer-col3 p.footer-title,
#footer #footer-col4 p.footer-title {
	color: #9c95dc;
	text-transform: uppercase;
    letter-spacing: .1rem;
    font-size: 1.2rem;
	font-weight: 500;
	margin-bottom: 1rem;
}


#footer #footer-col1 p,
#footer #footer-col2 p,
#footer #footer-col3 p,
#footer #footer-col4 p {
	color: white;
	font-size: 1rem;
	font-weight: 400;
	margin-bottom: .5rem;
}


#footer #footer-col1 p a,
#footer #footer-col2 p a,
#footer #footer-col3 p a,
#footer #footer-col4 p a {
	color: white;
	font-size: 1rem;
	font-weight: 400;
	transition: all .4s;
}

#footer #footer-col4 p {
	margin-bottom: .75rem;
}

#footer #footer-col4 p img {
	vertical-align: middle;
    margin-right: .35rem;
}

#footer #footer-col4 > div {
	float: right;
}


#footer #footer-col1 p a:hover,
#footer #footer-col2 p a:hover,
#footer #footer-col3 p a:hover,
#footer #footer-col4 p a:hover {
	color: #9c95dc;
	transition: all .4s;
}


#footer .cmsInnerWrap {
	display: grid;
    grid-gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(250px,1fr));
    padding: 2rem 1rem 0;
}


#footer #footer-col2 {
	padding-left: 1rem;
}

#footer #footer-col3 {
	padding-left: 0;
}




.footer-logo-social {
	color: white;
	display: flex;
	margin: 1.25rem 1rem;
}

.footer-logo,
.footer-social {
	flex: 1;
}

.footer-logo {
	font-weight: 300;
	width: 135px;
    margin-bottom: 2rem;
}

.footer-logo a {
	transition: all .4s;
}

.footer-logo a:hover {
	opacity: .8;
	transition: all .4s;
}

.footer-social {
	font-weight: 500;
	text-align: right;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}





.copyrightContainer .copyright-p {
	font-size: .75rem;
	color: #9c95dc;
	font-weight: 400;
	margin: 0 1rem;
	padding: 1rem 0;
	border-top: 1px solid white;
}

.copyrightContainer .copyright-p a {
	color: #9c95dc;
	font-weight: 400;
}

.copyrightContainer .copyright-p a:hover {
	color: white;
}

/* cmsInnerWrap: divs with this class will have consistent margins and padding
** Used to wrap #content and #sidebar divs. Also add it to any div that should 
** have the same padding as the main content. In the header and footer, for example
** Notes: must be inside .wrap
**		  Changes here must be reflected in uncmsInnerWrap (found below)
**		  Margins must be in percentages to be unwrapped later
*/
.cmsInnerWrap {
	/* margin: 0 3%; */
	position:relative;
}
/* .cmsInnerWrap::after{
	clear: both;
	display: table;
	content: '';
} */
/* Undoes the innerwrap at each break 
** Useful for custom segments that need to fill the full site width instead of respecting padding
** eg   padding(.cmsInnerWrap)
** margin   |
** (.wrap)  |
**	   |    |
**	----------------------------------------
**  |     |   |inside cmsInnerWrap|   |     |  
**  |     |   |  Normal Content   |   |     |     
**  |     |   |                   |   |     |   
**  |     |    .uncmsInnerWrap        |     |
**  |     | lets us set content all   |     |
**  |     | the way to the margin.    |     |
**  |     | good for feature areas    |     |
**  |     | with full width images    |     |
**  |     | or backgrounds            |
**  |     |   |                   |   |     |  
**  |     |   |  Normal Content   |   |     |     
**  |     |   |                   |   |     |      
*/
.uncmsInnerWrap{
	margin-left: -3.2%;
	margin-right: 0;
	width:106.4%;
}
@media (min-width:600px){
	/* .cmsInnerWrap {
		margin: 0 2%;
	} */
	.uncmsInnerWrap{
		margin-left: -2.1%;
		width:104.2%;
	}
	.cms_desktop #content .uncmsInnerWrap { unwrap_in_content_with_sidebar:;
		margin-left:-3%;
		width:105%;
		
	}
}
@media (min-width:1220px){
	/* .cmsInnerWrap {
		margin: 0;
	} */
	.uncmsInnerWrap{
		margin-left: -1.4%;
		width:102.9%;
	}
	.cms_desktop #content .uncmsInnerWrap { unwrap_in_content_with_sidebar:;
		margin-left:-2%;
		width:103.6%;
		
	}
}
@media (min-width:1320px){
	.cmsInnerWrap {
		margin: 0;
	}
	.uncmsInnerWrap{
		margin:0;
		width:100%;
	}
}
/* end cmsInnerWrap */


.google-map-container {
	width: 100%;
	height: 450px;
	margin: 2rem 0;
}



@media only screen and (max-width: 1450px) {

}

@media only screen and (max-width: 1290px) {
	/* .top-banner-text .wrap {
		padding: 1.5rem;
		width: calc(100% - 3rem);
	} */
}

@media only screen and (max-width: 1240px) {
	.div-home-products h2,
	.div-home-products p {
		margin-left: 0;
	}
}

@media only screen and (max-width: 1180px) {

}

@media only screen and (max-width: 1142px) {
	#footer .cmsInnerWrap {
		grid-gap: 2rem 5rem;
	}

	#footer #footer-col4 > div {
		float: none;
	}

	.homapage-content h1 {
		width: 80% !important;
		text-align: center !important;
	}

}

@media only screen and (max-width: 1125px) {

}

@media only screen and (max-width: 1100px) {

}

@media only screen and (max-width: 1080px) {


	/* .top-banner-text h1, */
	.div-home-products h1,
	.div-home-products h2	 {
		font-size: 1.7rem;
		font-weight: 500;
		line-height: 2rem;
	}
}

@media only screen and (max-width: 1040px) {
	/* .top-banner-text p, */
	.div-home-products p {
		margin-top: 1rem;
	}
	
	/* #header .top-banner-text p a.btn, */
	.div-home-products p a.btn {
		font-size: .85rem;
	}

}

@media only screen and (max-width: 979px) {

	.home-gallery-container {
		/* display: block; */
		flex-direction: column;
		width: 97%;
		margin: 0 auto;
	}

	.home-gallery-container.home-gallery-container-reverse {
		flex-direction: column-reverse;
	}

	.div-home-gallery,
	.div-home-gallery.home-gallery-top,
	.div-home-gallery.home-gallery-bottom {
		background: url(../../../images/bg-texture-award.png) center;
	}

	.div-home-gallery {
		padding: 3rem 1.5rem;
	}

}

@media only screen and (max-width: 956px) {
	
	#footer #footer-col2,
	#footer #footer-col3 {
		padding-left: 0;
	}
}

@media only screen and (max-width: 1185px) {
	.fixedContainer-opacity {
		opacity: 1;
		height: 80px;
	}

	#topNav {
		display: block !important;
		order: 3;
	}


	#header-logo a {
		width: 210px;
	}
	
	.topHeaderContact {
		display: none;
	}

	#headerRight {
		flex: unset;
		float: none;
		/* display: block; */
		position: absolute;
		right: 4rem;
	}

	#headerRight .shopping-cart {
		margin-right: 1rem;
	}

	/* .top-banner-text {
		height: 100%;
    	margin-top: 0;
	} */


	.homapage-content {
		padding: 2rem;	
	}


	#content_area.wrap.homepage #content h1,
	#content_area.wrap.homepage #content h2,
	#content_area.wrap.homepage #content p {
		width: 100%;
	}

	.home-content-wrap {
		display: block;
	}

	.home-content-left {
		margin-bottom: 2rem;
	}

	.home-content-right p {
		margin-left: 0 !important;
	}

	.home-content-right p:last-child {
		margin-bottom: 0 !important;
	}

	.home-container {
		display: flex;
		flex-direction: column;
	}

	#content_area.wrap.homepage #content .home-container-left p {
		margin-bottom: 3rem;
	}



	.ul-grid {
		display: block;
	}




	#footer #footer-col4 .topHeaderContact {
		display: block;
	}

	.div-phone-icon {
		display: block;
		float: right;
		width: 24px;
		height: 24px;
		margin: 0 10px 0 0;
	}

	.insetLarge h1 {
		margin-top: 0;
	}

	.div-home-about-right p:last-child {
		text-align: center;
	}



}



@media only screen and (max-width: 899px) {
	.testim-container {
		display: block;
	}

	.testim-container__letf {
		margin: 0 auto 2rem;
		width: 150px;
	}

	.div-home-testimonials h2::after {
		opacity: .3;
	}

	.div-home-instructor {
		padding-bottom: 1rem;
	}

	.instructor-container {
		display: block;
	}

	.instructor-left {
		margin-bottom: 2rem;
	}
}



@media only screen and (max-width: 767px) {

	#content_area.wrap.homepage #content {
		display: block;
	}

	#content_area.wrap.homepage #content .home-left p.paragraph-home-btn {
		display: none;
	}

	#content_area.wrap.homepage #content .home-right p.paragraph-home-btn-mobile {
		display: block;
		width: 100%;
	}

	#content_area.wrap.homepage #content .home-right p.home-right-text {
		width: 100%;
		margin: 0 0 2rem;
	}

	.home-left h2 {
		margin-bottom: 2rem;
	}


	/* .top-banner-text h1, */
	.div-home-products h1,
	.div-home-products h2 {
		width: 100%;
		font-size: 1.4rem;
		line-height: 1.6rem;
		text-shadow: 1px 1px 2px black;
	}

	/* .top-banner-text p, */
	.div-home-products p {
		margin-top: 1rem;
	}

	/* #header .top-banner-text p a.btn, */
	.div-home-products p a.btn {
		font-weight: 500;
		font-size: .9rem;
	}


	.home-gallery-container {
		width: 75%;
	}




	.div-home-testimonials > .wrap > p:first-child,
	.div-home-testimonials > .wrap > p {
		width: 90%;
	}

	.home-testimonials-left {
		flex: unset;
	}

	.home-testimonials-right {
		display: none;
	}

	.home-testimonials-left blockquote {
		margin: 0 auto;
		border: none;
	}

	.home-testimonials-left blockquote p {
		padding: 0;
	}



	.div-home-portfolio {
		padding: 3rem 0 0;
	}

	.div-home-portfolio h2 {
		width: 80%;
		margin: 0 auto 3rem;
	}

	.home-portfolio-container {
		display: block;
		margin-top: 0;
		margin-bottom: 0;
	}

	.portfolio-article {
		width: 75%;
		margin: 0 auto 3rem;
	}



	#content_area.wrap.homepage #content h1,
	#content_area.wrap.homepage #content h2 {
		font-size: 1.8rem;
	}


	.div-home-classes {
		padding-top: 0;
	}

	.services-container {
		display: block;
	}

	.services-container:last-child {
		margin-bottom: 1rem;
	}

	.serv-btn {
		position: relative;
	}

	.services-yoga {
		margin-bottom: 3rem;
	}

	.services-yoga:last-child {
		margin-bottom: 0;
	}

	.services-container h3,
	.services-container p {
		width: 100%;
	}


	.div-home-testimonials {
		margin-top: 3rem;
	}
}

@media only screen and (max-width: 679px) {

	#footer #footer-col2 p {
		white-space: normal;
	}

	.div-home-contact-us h2,
	.div-home-contact-us p {
		width: 75%;
	}

	.quote-request-form {
		width: 100%;
	}


}


@media only screen and (max-width: 626px) {
	#footer-col4 .topHeaderContact a:first-child {
		margin-right: .5rem;
	}

	#footer #footer-col2 p.footer-call,
	#footer #footer-col2 p.footer-email {
		margin-left: 2rem;
    	margin-bottom: 1rem;
	}


	.div-home-choose {
		flex-direction: column;
	}

	.div-home-choose h2 {
		margin: 4rem auto;
	}
}


@media only screen and (max-width: 611px) {

	#footer .cmsInnerWrap {
		display: block;
	}

	#footer .cmsInnerWrap > div {
		padding: 0 !important;
	}

	#footer #footer-col4 .topHeaderContact {
		float: none;
		width: 220px;
		margin: 0 auto;
	}

	#footer #footer-col4 .topHeaderContact:first-child {
		margin-top: 0;
	}

	.social-container {
		float: none;
		margin: 0 auto;
		clear: unset;
		display: inline-block;
	}

	.social-container p {
		margin: 1.5rem 1.5rem 1.5rem 0;
	}

	#footer #footer-col1,
	#footer #footer-col2,
	#footer #footer-col3 {
		margin-bottom: 2rem;
	}

	#footer #footer-col4 #topHeaderContact:nth-of-type(2) {
		clear: both;
	}

	.social-container {
		clear: both;
		float: left;
	}






	.logo-footer {
		width: 300px;
	}



	#footer #footer-col4 #topHeaderContact {
		margin: 0 auto 25px;
		width: 189px;
	}

	.div-home-products {
		min-height: auto;
	}

}

@media only screen and (max-width: 550px) {

	.div-home-contact-us h2,
	.div-home-contact-us p {
		width: 96%;
	}

	.homapage-container {
		flex-direction: column-reverse;
	}

	.homapage-picture {
		min-height: 375px;
	}

	.homapage-picture,
	.homapage-white {
		flex: 1;
	}

	.homapage-content {
		margin-left: 0;
	}


}

@media only screen and (max-width: 500px) {
	.portfolio-article,
	.home-gallery-container {
		width: 90%;
	}

	.footer-logo-social {
		display: block;
	}

	.footer-social {
		justify-content: flex-start;
		margin-top: 2rem;
	}


	/* .div-home-hedges h2 {
		margin-bottom: 2rem;
	} */


}

@media only screen and (max-width: 479px) {

	.fixedContainer-opacity {
		height: 80px !important;
	}

	.topMenuBG {
		height: 80px !important;
	}

	#header-logo {
		height: 80px !important;
	}

	/* .top-banner-text h1, */
	.div-home-products h1,
	.div-home-products h2 {
		font-size: 1.3rem;
		line-height: 1.4rem;
	}

	/* .top-banner-text p, */
	.div-home-products p {
		margin-top: .5rem;
	}

	.insetLarge h1 {
		font-size: 1.7rem;
	}

	.div-home-about-img {
		min-height: 200px;
	}

	.div-home-about-right {
		margin-top: 2rem;
	}

	.copyrightContainer .copyright-p {
		font-size: .7rem;
	}
}

@media only screen and (max-width: 375px) {
	#headerRight {
		right: 3rem;
	}

	#headerRight .shopping-cart {
		margin-right: .25rem;
	}
}


@media only screen and (max-width: 360px) {
	#headerRight {
		right: 2.5rem;
	}

	.copyrightContainer .copyright-p {
		text-align: center;
	}
}



/* Stacked class is used with the iconbar but can be used anywhere this arrangement is needed
**	small screen:
**	{Top Left   }{    Top Right}
**	{Left       }{        Right}
**
**	and fullscreen:
**	{                   TopLeft}{Top Right}{Left}{Right}
*/
.stacked{
	width:100%;
	position:relative;
	background:black;	
}
.stacked::after {
    display: table;
    content: '';
    clear: both;
}

.stacked .stackedTop{
	width: 100%;
	text-align:center;
	background:black;
}
.stacked .stackedTop::after{
	display:table;
	content:'';
	clear:both;
}
.stacked .stackedTopLeft{
	float:left;
}

.stacked .stackedTopRight{
	float:right;
}

.stackedBottom {
	background:black;
	border-bottom: 6px solid #93304a;
}
.stacked .stackedBottom::after{
	display:table;
	content:'';
	clear:both;
}

.stacked .stackedLeft{
	width: 50%;
	float:left;
}

.stacked .stackedRight{
	width:50%;
	float:right;
	text-align:right;
}

@media (min-width:600px){

	.stacked {
		border-bottom: 6px solid #93304a;
	}
	
	.stacked .stackedGroup{
		float:right;
	}
	
	.stacked .stackedTop{
		float:left;
		text-align:right;
		width:unset;
		border-bottom:unset;
	}
	
	.stacked .stackedBottom{
		float:right;
		text-align:right;
		width:unset;
		border-bottom:unset;
	}

	.stacked .stackedLeft{
		float:left;
		text-align:right;
		width:unset;
	}

	.stacked .stackedRight{
		float:left;
		text-align:right;
		width:unset;
	}
}
/* end .stacked */


/*  CONTENT and Sidebar */

#content_area {
		text-align: left;
		padding: 1rem 0;
	}
	

@media (min-width: 550px) and (max-width: 1185px) {

}
	
@media (min-width: 1186px) and (max-width: 1230px) {

}	
	

#content_wrap {
	margin-top: 0;
	margin-bottom: 0;
	display:flex;
	flex-direction:column;
}


#content{
	order:2; /* put_in-middle_using_flex:; */
}

/* default sidebar behaviour (small screens or default if device has js disabled) */
.sidebarPart{ /*common class for sidebar-top and sidebar_bottom */
	box-sizing:border-box;
}
#sidebar-top{
	margin-top:0;
	margin-bottom:1em;
	margin-left: 1.5rem;
	margin-right: 1.5rem !important;
	order:1; /* above_content_w_flex:; */
}
#sidebar-bottom{
	margin-top:2em;
	order:3; /* below_content_w_flex:; */
}

/* Rules for Content and Sidebar for Desktop
	.cms_desktop_sidebar: class added to content_wrap with js when screen width >=1186px and sidebar is present
	#jsSidebarWrap: added with js. This div wraps #sidebar_top/bottom iff screen width >= 1186px and sidebar exists
	<div #jsSidebarWrap > <- only exists when sidebar exists and screen width >=1186px
		<div #sidebar_top>
		<div #sidebar_bottom>
	
*/
#content_wrap.cms_desktop_sidebar{
	flex-direction:row;
	margin-left: 0;
}
#content_wrap.cms_desktop_sidebar #content{
	flex: 3 0px;
	order:1;
	padding-right:1em;
	
}
#content_wrap.cms_desktop_sidebar #jsSidebarWrap{
	order:2;
	width:20em;
	margin-top: 4em;
}

@media (min-width: 550px) and (max-width: 1185px) {
	
	#content_wrap.cms_desktop_sidebar #jsSidebarWrap{
	order:2;
	width:17em;
	margin-top: 4em;
	}
	
}

/*  end CONTENT and Sidebar */

/*********************** Utility CLASSES ****************************/
.clearAfter::after {display:'table';clear:'both';content:'';}
.clear { clear:both; }
.nobr, .nowr {white-space: nowrap;}
.whiteBG {background:white;}
.blackBG {background:black;}
.left {float:left;}
.right {float:right;}
.full {width:100%;}
.leftimg {/* clear:left; */ float:left;margin:.3em 2em 2em 0;font-style:italic;}
.rightimg {/* clear:right; */ float:right;margin:.3em 0 2em 2em;font-style:italic;}
.leftimg p, .rightimg p {margin:.5em 0 0 0;}
.fullimg {width:100%; margin-bottom:1em;}
.half {width:50%;}
.halfleftimg {float:left; width:48%;margin:1em 0;}
.halfrightimg {float:right; width:48%;margin:1em 0;}
.imgfullwidth {width: 100%;}
.side2sideleft {width: 49%; margin-right:1%;}
.side2sideright {width: 49%; margin-left: 1%;}
.side3sideleft {width: 32%; margin-right:1%;}
.side3sidemid {width: 32%; margin-left: 1%; margin-right: 1%;}
.side3sideright {width: 32%; margin-left: 1%;}
.third {width:35%;}
.center {display:block;margin:2em auto;text-align:center;font-style:italic;width:auto;}
.noscale {max-width:none;}
@media (max-width: 549px) {
	.left, .right {float:none;}
	.leftimg, .rightimg {float:none;margin:2em auto;display:block;text-align:center;font-style:italic;}
	.half, .third  {width:auto;}
	.hideinmobile {display:none;}
}
.width25{
	max-width:25%;display:block;
}
.width50{
	max-width:50%;display:block;
}
.width75{max-width:75%;display:block;}



/* #content .toggleExpandable,
#content .toggleExpandable p {
	cursor: pointer;
	
	color: #2c2a28;
    font-size: 1rem;
    margin: .5rem 0;
    font-weight: 600;
    text-transform: unset;
}
.toggleExpandable::before {
    content: '\0025BC';
    margin-right: 1rem;
	float:left;
}
.toggleExpandable.open::before {
    content: '\0025B2';
}
.expandableItem {
    display: none;
} */


.toggleExpandable {
	cursor: pointer;
	border-top: 1px solid #ababab;
	/* padding-top: .8rem; */
	position: relative;
	padding-left: 1.5rem;
}
.toggleExpandable::before {
	content: '\00002B';
    margin-right: .75rem;
    float: left;
    width: 15px;
    text-align: center;
    font-weight: 500;
    font-size: 1.2rem;
	top: .85rem;
	transition: all .3s;
	display: block;
    position: absolute;
    left: 0;
}
.toggleExpandable.open::before {
	content: '\00002D';
	font-size: 1.75rem;
	transition: all .3s;
}
.expandableItem {
	display: none;
    margin-bottom: 1rem;
	padding-left: 1.5rem;
}

.toggleExpandable.lasttoggleExpandable {
	border-bottom: 1px solid #ababab;
	margin-bottom: 1.5rem;
}
.toggleExpandable.lasttoggleExpandable.open {
	border-bottom: none;
	margin-bottom: 0;
}
.toggleExpandable.lasttoggleExpandable.open + .expandableItem {
	border-bottom: 1px solid #ababab;
}





/* JUSTIFY FLOATING DIVS */

ul.justify {
    font-size: 0 !important;
    line-height: 0;
    list-style-type: none;
    margin: 0;
    padding: 0;
    text-align: justify;
    text-justify: distribute-all-lines;
}

ul.justify:after {
    content: "";
    display: inline-block;
    width: 100%;
}

ul.justify li {
    display: inline-block;
    font-size: 1rem;
    line-height: 1rem;
    margin: 0 auto !important; this-will-center-single-objects:;
    padding: 0 !important;
}

/* (untested) IE hacks to make li's line up */
*+html ul.justify li {display: inline;}
* html ul.justify li {display: inline;}


@media screen and (max-width: 549px) {
	#content ul {
    margin-left: 0;
	}
	
	#content ul.longList {
	-webkit-column-count: 1; /* Chrome, Safari, Opera */
    -moz-column-count: 1; /* Firefox */
    column-count: 1;
	}
	
}

/** FORMS **/
form {
    display: flex;
    display: -webkit-flex;
    flex-direction: column;
    -webkit-flex-direction: column;
}
form div {
    display: flex;
    display: -webkit-flex;
    flex-direction: row;
    -webkit-flex-direction: row;
    justify-content: space-between;
}
form label .fmrequire, .fmrequire {
    color: #ff0000;
    margin-left: 3px;
}
form input[type=submit] {
    padding: 3px;
}
#fmMessage {
    padding: 1em;
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    display: none;
}
#fmMessage.fmError {
    background: #fc6c6c;
}
#fmMessage.fmSuccess {
    background: #7cff8c;
}
form div.fmCheckboxRow, form div.fmRadioRow {
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    margin-bottom: 1rem;
}

form div.fmCheckboxRow label, form div.fmRadioRow label {
    margin-left: 0;
}

form div.fmRadioRow input[type=radio] {
    margin-left: 1em;
}

form input[type=text], form input[type=email], form textarea {
	width:100%;
	background: #ffffff;
	padding:.5rem;
	margin:0 0 1rem 0;
	vertical-align:middle;
	border:1px solid #c0c0c0;
    font-family: 'Open Sans', sans-serif;
	font-weight:400;
	font-style:normal;
    font-size: 15px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	outline: none;
}

form .selectType  {
    width:100%;
    ppheight:2em;
    pppadding-left:1em;
    padding:1rem;
    margin:0 0 1rem 0;
    vertical-align:middle;
    border:1px solid #c0c0c0;
    color: #757579 !important;
    font-family: 'Open Sans', sans-serif;
    font-weight:400;
    font-style:normal;
    font-size: 15px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.8em;
}
    
form .selectType select, form select {
    color: #757579;
    padding: .5em;
    margin-bottom: 1rem;
}

form textarea {
    margin-bottom: 1rem !important;
    min-height:12em;
}

form #captchaContainer {
    display: block;
    max-width: 330px;
}

form #captcha-image-box {
    display: block;
}

form img#captcha {
    width: 100%;
}

form input[type=submit], form input#button {
	padding: .7rem 1.5rem;
    /* text-transform: uppercase; */
	font-size:1rem;
	border: 1px solid transparent;
	background:#525255;
	color: white;
	font-weight: 500;
	xmargin:1rem 0 0 0;
	letter-spacing: .12rem;
	font-family: 'Open Sans', sans-serif;
}

form input[type=submit]:hover, form input#button:hover, form input[type=submit]:active, form input#button:active {
	background:#ebeae8;
    color: #2c2a28;
	cursor: pointer;
	border: 1px solid #2c2a28;
	transition: all .4s;
}



#content_area.wrap.default a.btn {
	margin-bottom: 2rem !important;
    display: inline-block;
}