/*
Theme Name: Beaver Builder Child Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: http://www.fastlinemedia.com
template: bb-theme
*/

/* Add your custom styles here... */ 

/* Header */
h1 span, h2 span{
	color: #b68c29;
}
a{
	outline: none !important;
}
.locationIcon p, .phoneIcon p {
    padding-left: 25px;
    position: relative;
}
.locationIcon p:before, .phoneIcon p a:before {
    content: '';
    position: absolute;
    background-image: url(./images/location-icon.svg);
    width: 20px;
    height: 20px;
    background-size: 20px;
    left: 0;
    top: 1px;
}
.phoneIcon p a:before{
	background-image: url(./images/call-icon.svg);
}
.locationIcon {
    position: relative;
    padding-right: 20px;
}
.locationIcon::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 20px;
    background: #fff;
}
.whiteCta {
    border-radius: 5px;
}
a.fl-button {
    outline: 0 !important;
    transition: all 0.3s ease;
}
.whiteCta a.fl-button {
    background: #fff !important;
}
.whiteCta a.fl-button span,.darkCta a.fl-button span,.trCta a.fl-button span,.bgTr a.fl-button span {
    transition: all 0.3s ease;
}
.whiteCta .fl-button-icon,.darkCta .fl-button-icon,.trCta .fl-button-icon,.bgTr .fl-button-icon {
    display: inline-flex;
    transition: transform 0.3s ease;
}
.whiteCta a.fl-button:hover,.darkCta a.fl-button:hover,.trCta a.fl-button:hover {
    background: linear-gradient(to top, #84651A, #B68C29) !important;
    border-color: #84651A !important;
}
.whiteCta:hover .fl-button-icon,.darkCta:hover .fl-button-icon,.trCta:hover .fl-button-icon, .bgTr:hover .fl-button-icon  {
    transform: rotate(-30deg) !important;
}

/* Fixed Header */
header.fl-builder-content {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
}
.bannerNav {
    transition: all 0.35s ease;
}
.topBar {
    transition: all 0.35s ease;
    overflow: hidden;
}
.bannerNav .fl-row-content-wrap {
    background: transparent !important;
    transition: all 0.35s ease; 
}
.bannerNav.banneDark .fl-row-content-wrap {
    background: #000 !important;
}
header.scrolled .topBar {
    max-height: 0;
    opacity: 0;
    transform: translateY(-100%);
    margin: 0;
    padding: 0;
}
header.scrolled .bannerNav .fl-row-content-wrap {
    background: #000 !important; /* Change background color */
    backdrop-filter: blur(10px);
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);
}
.bannerNav img {
    transition: all 0.35s ease;
}
.fl-page-content {
    position: relative;
    top: 42px;
}
.bannerNav .fl-row-content-wrap {
    background-color: transparent !important;
}
.bannerNav.bannerDark .fl-row-content-wrap {
    background-color: #000 !important;
}
.fl-builder-edit header.fl-builder-content {
    top: 0 !important;
}
header .sub-menu {
    padding: 0px 0px 5px !important;
}
header .sub-menu li:not(:last-child) a {
    border-bottom: 1px solid #575757;
}
header .sub-menu li a {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
.header-one + .fl-page-content {
    position: relative;
    margin-top: 116px;
}
.fl-menu button.fl-menu-toggle {
    width: 20px;
}
.header-one .bannerNav .fl-row-content-wrap {
    background-color: #000 !important;
}

/* Fix Admin Bar White Gap */
body.admin-bar {
    margin-top: 0 !important;
}
html {
    margin-top: 0 !important;
}
body.admin-bar header.fl-builder-content {
    top: 32px;
}
@media screen and (max-width: 782px) {
    body.admin-bar header.fl-builder-content {
        top: 46px;
    }
}

/* Banner */
.bannerSec {
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.home_HeroBanner {
    position: absolute;
    top: 0;
    width: 100%;
    left: 0;
    height: 100%;
}
.home_HeroBanner div, .home_HeroBanner div figure {
    height: 100%;
}
.home_HeroBanner .fl-photo-content, .home_HeroBanner .fl-photo-content img {
    width: 100%;
    object-fit: cover;
    height: 100% !important;
	object-position: top center;
}
.bannerSec .fl-row-content-wrap .fl-row-content .fl-col-group:last-child {
    position: relative;
    z-index: 9;
}
.home_HeroBanner::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    width: 60%;
    height: 100%;
    background: linear-gradient( 90deg, rgb(0, 0, 0.3) 0%, rgba(0,0,0,0.6) 50%, transparent 100% );
    z-index: 1;
}
.home_HeroBanner::after {
    content: '';
    position: absolute;
    width: 100%;
    top: 0;
    display: block;
    height: 130px;
    z-index: 1;
    background: linear-gradient( to bottom, rgb(0, 0, 0.3) 0%, rgba(0,0,0,0.5) 44%,transparent 100% );
}
.InnerBannerSec .home_HeroBanner::before {
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
}
.InnerBannerSec.BannerSec .fl-row-content-wrap .fl-row-content .fl-col-group:last-child {
    position: relative;
    z-index: 9;
}
.InnerBannerSec .home_HeroBanner .fl-photo-content img{
    object-position: center;
}
.iconBox .fl-module-box figure {
    width: 50px;
    height: 50px;
}
.iconBox .fl-module-box .fl-module-rich-text {
    width: calc( 100% - 60px );
}
.iconBox .fl-module-box .fl-module-rich-text p {
    margin-bottom: 0;
}

/* Home Page */
.leftRightLine p {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 18px;
    margin: 0;
}
.leftRightLine p:before, .leftRightLine p:after {
    content: "";
    width: 36px;
    height: 2px;
    background: #B68C29;
    display: block;
}
.whiteLine.leftRightLine p::before {
    background: #fff;
}
.leftLine.leftRightLine p:after{
	content: none;
}
.commonContent p:not(:last-child) {
    margin-bottom: 20px;
}
.callWrapper .fl-module-rich-text p,.callWrapper .fl-module-rich-text h3 {
    margin: 0 !important;
    line-height: 1.3;
}
.callWrapper .fl-module-rich-text h3,.callWrapper .fl-module-rich-text h3 a {
    font-size: 24px !important;
    color: #2A2A2A !important;
}
.videoDesign video,.videoDesign .mejs-container,.videoDesign .mejs-mediaelement {
    border-radius: 6px !important;
}
.leftOverlay .fl-row-content-wrap {
    position: relative;
}
.leftOverlay .fl-row-content-wrap:before {
    content: '';
    :;
    position: absolute;
    inset: 0;
    width: 80%;
    height: 100%;
    background: linear-gradient(90deg, rgb(0, 0, 0.6) 0%, rgba(0, 0, 0, 0.85) 50%, transparent 100%);
    z-index: 1;
}
.leftOverlay .fl-row-content-wrap .fl-col-group {
    position: relative;
    z-index: 9;
}
.giftCard .fl-module-box {
    padding: 20px 40px 30px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
.giftCard .fl-module-photo,.giftCard .fl-module-photo img {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

/* Footer */
.fixedCta .fl-button:before {
    content: '';
    position: absolute;
    border: 1px solid #B68C29;
    width: calc( 100% + 12px );
    height: calc( 100% + 12px );
    left: -6px;
    bottom: -6px;
    border-radius: 5px;
}
.fixedCta .fl-button {
    position: relative;
}
body:not(.fl-builder-edit) .fixedCta {
    position: fixed;
    bottom: 20px;
    right: 100px;
    z-index: 9999;
    width: auto;
}
body.fl-builder-edit .fixedCta {
    position: relative;
    bottom: auto;
    right: auto;
    margin-top: 20px;
}
.fixedCta .fl-row-content {
    width: auto !important;
    max-width: max-content;
}
footer .locationIcon::after{
	content:none !important;
}
.socialLink a {
	width: 40px;
	height: 40px;
	border: 1px solid #8C8C8C;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	padding: 10px;
}
.socialLink a:hover {
	background-color: #B68C29;
	border-color: #B68C29;
}
.socialLink a:hover i, .socialLink a:hover i::before {
	color: #fff !important;
}
.MassageTierCard .swiper-slide {
    height: auto !important;
}

/* Maasage Page */
.MassageFocusCard.remainder-1 .swiper-slide:last-child {
    width: 100%;
}
.MassageFocusCard.remainder-2 .swiper-slide:nth-last-child(-n+2) {
    width: calc((100% - 20px) / 2);
}
.MassageFocusCard .swiper-slide {
    width: calc((100% - 40px) / 3);
    height: auto !important;
}
.MassageFocusCard.massageFourthCards.remainder-1  .swiper-slide {
    width: calc((100% - 20px) / 2);
}

@media (max-width: 991px) {
    .CardSliderOnMobile,.FocusCardSliderOnMobile {
        display: block !important;
        overflow: hidden;
    }
    .CardSliderOnMobile .swiper-wrapper,.FocusCardSliderOnMobile .swiper-wrapper {
        display: flex !important;
    }

    .CardSliderOnMobile .swiper-slide,.FocusCardSliderOnMobile .swiper-slide {
        height: auto;
        flex-shrink: 0;
    }
    .CardSliderOnMobile .swiper-wrapper,.FocusCardSliderOnMobile .swiper-wrapper {
        align-items: stretch;
    }

    .CardSliderOnMobile .swiper-slide,.FocusCardSliderOnMobile .swiper-slide {
        width: 85% !important;
        flex-shrink: 0;
        height: auto;
    }
	.MassageFocusCard.remainder-2 .swiper-slide:nth-last-child(-n+2) {
		width: 85%;
	}
	.MassageFocusCard .swiper-slide {
		width: 85%;
		height:100%;
	}
	.CardSliderOnMobile .swiper-wrapper,.MassageFocusCard .swiper-wrapper {
		margin-bottom: 5px !important;
	}
}

/* Service Section */
.serviceWrapper .serviceContent{
	justify-content: flex-end;
	overflow: hidden;
	position: relative;
	transition-property: unset;
}
.serviceWrapper .serviceContent:before{
	background: linear-gradient(to bottom,  rgba(0,0,0,0.07) 0%,rgba(0,0,0,0.43) 100%);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	content: "";
	display: inline-block;
	transition: all 0.5s ease;
}
.serviceWrapper .serviceContent:hover:before{
	top: 0;
}
.serviceWrapper .serviceContent .serviceCopy, .serviceWrapper .serviceContent .fl-module-button{
	max-height: 0;
	opacity: 0;
	visibility: hidden;
	transition: all 0.5s ease;
}
.serviceWrapper .serviceContent:hover .serviceCopy, .serviceWrapper .serviceContent:hover .fl-module-button{
	max-height: 100%;
	opacity: 1;
	visibility: visible;
}
.serviceContent{
	transition: all 0.5s ease;
}
.serviceContent:hover{
	padding-bottom: 30px !important;
}
.serviceContent .fl-module-heading, .serviceContent .serviceCopy, .serviceContent .fl-module-button{
	position: relative;
}

/* Membership Card */
.checkList ul{
    list-style: none;
    padding-left: 35px;
}
.checkList ul li::before {
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    background-size:24px;
    left: -35px;
    top: 1px;
    background-color: #8A8AC1;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C5.4 0 0 5.4 0 12C0 18.6 5.4 24 12 24C18.6 24 24 18.6 24 12C24 5.4 18.6 0 12 0ZM17.04 9.96L11.28 15.72C10.8 16.2 10.08 16.2 9.6 15.72L6.96 13.08C6.48 12.6 6.48 11.88 6.96 11.4C7.44 10.92 8.16 10.92 8.64 11.4L10.44 13.2L15.36 8.28C15.84 7.8 16.56 7.8 17.04 8.28C17.52 8.76 17.52 9.48 17.04 9.96Z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C5.4 0 0 5.4 0 12C0 18.6 5.4 24 12 24C18.6 24 24 18.6 24 12C24 5.4 18.6 0 12 0ZM17.04 9.96L11.28 15.72C10.8 16.2 10.08 16.2 9.6 15.72L6.96 13.08C6.48 12.6 6.48 11.88 6.96 11.4C7.44 10.92 8.16 10.92 8.64 11.4L10.44 13.2L15.36 8.28C15.84 7.8 16.56 7.8 17.04 8.28C17.52 8.76 17.52 9.48 17.04 9.96Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.memberShipCard .fl-module.fl-module-box:nth-child(2) .checkList ul li::before {
    background-color: #A1B88A;
}
.memberShipCard .fl-module.fl-module-box:nth-child(3) .checkList ul li::before {
    background-color: #D5A3A9;
}
.checkList ul li {
    position: relative;
}
.checkList ul li:not(:last-child) {
    margin-bottom: 18px;
}
.memberShipCardItem{
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.memberShipCardItem:hover {
    box-shadow: 0 0 40px rgba(0,0,0,0.25);
}

/* Respopnsive */
@media (max-width: 1199px) {
	.footerSec .fl-col {
		width: 50% !important;
	}
	.fl-builder-content .serviceSliderOnMobile {
		display: block !important;
        overflow: hidden !important;
        width: calc(100% - 15px);
        margin-right: 0 !important;
        max-width: 100% !important;
	}
    .serviceSliderOnMobile .swiper-wrapper {
        display: flex !important;
    }
    .serviceSliderOnMobile .swiper-slide {
        flex-shrink: 0;
		margin-right: 15px !important;
    }
    .serviceSliderOnMobile .swiper-wrapper {
        align-items: stretch;
    }

    .serviceSliderOnMobile .swiper-slide {
        width: 45% !important;
        flex-shrink: 0;
    }
	.serviceContent .fl-rich-text,
    .serviceContent .simpleCta {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        max-height: 100% !important;
        margin-top: 10px;
    }
	.serviceWrapper .serviceContent:before{
		top: 0;
	}
}
@media (max-width: 980px) {
	.locationIcon {
		padding-right: 15px;
	}
	.fl-page-content {
		top: 37px;
	}
	.locationIcon p:before, .phoneIcon p a:before {
		width: 16px;
		height: 16px;
		background-size: 16px;
	}
	.home_HeroBanner::before {
		width: 100%;
	}
}
@media (max-width: 992px) {
	header .fl-module-menu .fl-menu .menu {
		left: 0px;
		right: 0px;
		top: 100px;
		overflow: auto;
		height: calc( 100vh - 170px );
	}
	.fl-module-menu .fl-menu {
		text-align: left;
	}
	header .fl-module-menu .fl-menu .menu li:not(:last-child){
		border-bottom: 1px solid #575757;
	}
	header .fl-module-menu .fl-menu .menu .sub-menu li{
		border-bottom: 0;
	}
	header .fl-module-menu .fl-menu .sub-menu {
		background-color: #2f2f2f;
	}
	.fl-menu button.fl-menu-toggle {
		width: auto;
	}
	.fl-module-menu .fl-menu li {
		border-top: none;
	}
    .fl-menu-responsive-toggle-medium-mobile .fl-menu nav {
        max-height: 80vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    .fl-menu .sub-menu {
        max-height: none;
    }
}
@media (max-width: 769px) {
	.leftLine.leftRightLine.mobileRightLine p:after{
		content: '';
	}
	.leftLine.leftRightLine.mobileRightLine.whiteLine p:after{
		background: #ffffff;
	}
	.leftOverlay .fl-row-content-wrap:before {
		width: 100%;
		background: linear-gradient(to bottom, rgb(0, 0, 0.6) 0%, rgba(0, 0, 0, 0.85) 50%, transparent 100%);
	}
	.giftCard .fl-module-box {
		padding: 20px 15px 30px;
	}
}	
@media (max-width: 767px) {
	.fullWidth,.fullWidth .fl-button {
		width: 100%;
	}
	header .fl-module-menu .fl-menu .menu {
		left: 0px;
		right: 0px;
		top: 80px;
		height: calc( 100vh - 150px );
	}
	.fl-module-menu .fl-menu .menu .sub-menu > li {
		font-size: 12px;
	}
}
@media (max-width: 768px) {
	body:not(.fl-builder-edit) .fixedCta {
		bottom: 0;
		right: 0;
		width: 100%;
		padding: 15px 10px;
		background: #2C2C2C;
	}
	.mangomint-chat-container .mangomint-chat-bubble {
		margin-bottom: 80px;
		min-height: 50px;
		min-width: 50px;
	}
	.mangomint-chat-container .mangomint-chat-bubble svg {
		width: 20px;
	}
	.fixedCta .callWrapper .fl-module-rich-text h3,.fixedCta .callWrapper .fl-module-rich-text h3 a {
		font-size: 15px !important;
		color: #fff !important;
	}
	.fixedCta .fl-button:before{
		content: none;
	}
	.fixedCta .fl-button .fl-button-icon {
		display: none;
	}
	.serviceSliderOnMobile .swiper-slide {
        width: 60% !important;
    }
}
@media (max-width: 576px) {
	header .fl-module-menu .fl-menu .menu {
		top: 80px;
	}
	.footerSec .fl-col {
		width: 100% !important;
	}
	.serviceSliderOnMobile .swiper-slide {
        width: 85% !important;
    }
}