/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
html {
  	scroll-behavior: smooth;
	scroll-padding-top: 150px;
}

.anchor{
	scroll-padding-top: 150px;
}

.mb-0{
    margin-bottom: 0 !important;
}

.mb-1{
    margin-bottom: 1em !important;
}

.mb-2{
    margin-bottom: .2em !important;
}

.mb-5{
    margin-bottom: .5em !important;
}

.pb-0{
    padding-bottom: 0 !important;
}

.pb-1{
    padding-bottom: 1em !important;
}

.pb-2{
    padding-bottom: .2em !important;
}

.pb-5{
    padding-bottom: .5em !important;
}

.pt-1{
    padding-top: 1em !important;
}

.br-20 img, .box.br-20{
	border-radius: 20px;
	overflow: hidden
}

.br-10 img, .box.br-10{
	border-radius: 10px;
	overflow: hidden
}

.row-br-20{
	border-radius: 20px;
	overflow: hidden
}

.normal{
	font-weight: normal
}

.black{
	color: #000 !important
}

.wpcf7-spinner{
	display: none;
}

ul.no-list{
    list-style: none;
	margin-bottom: 0
}

ul.no-list li{
    margin-left: 0;
	line-height: 2;
}

ul.no-list li:last-child{
	margin-bottom: 0;
}

.box.overlay-gradient:after{
	content: "";
	position: absolute;
	z-index: 0;
	bottom: 0;
	left: 0;
	height: 50%;
	width: 100%;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 12.5%, #000000 84%);
}

.box.overlay-gradient .box-text{
	z-index: 1
}

.sub-menu.nav-dropdown .section{
	color: #232323
}

.sub-menu.nav-dropdown .section ul.no-list{
	margin-bottom: .5em;
}

.menu-item-has-block .nav-dropdown .col-inner ul:not(.nav.nav-vertical).no-list li:not(.tab):not([class^=bullet-]){
	margin-left: 0 !important;
	line-height: 3
}

.align-space-between{
	justify-content: space-between !important
}

#wide-nav .show-on-scroll{
	display: none
}

#header .stuck .show-on-scroll{
	display: block
}

.sub-menu.nav-dropdown .section .row{
	margin-right: auto;
	margin-left: auto;
}

/* Set up animation styles */
#wide-nav li.has-dropdown > .sub-menu section{
  	max-height: 0; /* Initially hidden, will expand */
    overflow: hidden; /* Hide content until expanded */
    visibility: hidden; /* Hidden by default */
    opacity: 0; /* Hidden by default */
    transform: translateY(0); /* Start slightly above and move down */
    transition: visibility 0.5s ease-in-out,
                opacity 0.5s ease-in-out,
                transform 0.5s ease-in-out,
                max-height .5s ease-in-out; /* Smooth transitions */
}

/* Show submenu on hover */
#wide-nav  li.has-dropdown:hover > .sub-menu section{
  	visibility: visible;
    opacity: 1;
    max-height: 500px; /* Allow height to adjust to content */
    transform: translateY(0); /* Move to original position */
	
}

#wide-nav .nav-spacing-xlarge>li{
	margin: 0 20px;
}

.absolute-footer {
	display: none
}

.footer-socials a{
	background-color: #232323;
	padding: 3px;
	border-radius: 99px;
	display: inline-flex;
	align-items: center;
	justify-content: center
}

.footer-socials a:first-child{
	margin-left: 0
}

.footer-socials i{
	width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-socials i:before{
	color: #fff;
	font-size: 15px;
}

#footer{
	border-top: 1px solid #E4DFD6
}

#footer .wpcf7 form{
	width: 100%;
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 1.3em
}

#footer .wpcf7 form p:has( .wpcf7-form-control-wrap){
	width: 72%
}

#footer .wpcf7 input.wpcf7-email{
	font-size: 12px;
    padding: 5px 0;
    background-color: transparent;
	border: none;
    border-bottom: 1px solid #232323;
    box-shadow: none;
    color: #98999A;
    outline: none;
	margin-bottom: 0;
}

#footer .wpcf7 input.wpcf7-submit{
	margin: 0;
	background-color: #D6D1CA;
	border-radius: 5px;
	font-size: 0.8rem;
	font-weight: normal;
	color: #232323;
}

#footer .wpcf7 .wpcf7-spinner{
	display: none
}

.wpcf7 .wpcf7-form-control-wrap input, .wpcf7 .wpcf7-form-control-wrap textarea{
	font-size: 16px;
    padding: 5px 0;
    background-color: transparent;
	border: none;
    border-bottom: 1px solid #232323;
    box-shadow: none;
    color: #98999A;
    outline: none;
}

.wpcf7 .wpcf7-form-control-wrap textarea{
	min-height: 70px;
}

.wpcf7 .wpcf7-list-item input[type="radio"]{
	display: none
}

.wpcf7 .wpcf7-form-control-wrap .wpcf7-radio{
	display: grid;
	grid-template-columns: 30% 30% 30%;
    gap: 5%;
}

.wpcf7 .wpcf7-list-item{
	margin: 10px 0 0 0 ;
}

.wpcf7 .wpcf7-list-item .wpcf7-list-item-label{
	cursor: pointer;
	background-color: #D6D1CA;
	color: #232323;
	font-size: 11px;
	font-weight: bold;
	border-radius: 5px;
	padding: 0 10px;
	width: 100%;
	height: 45px;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center
}

.wpcf7 .wpcf7-list-item input[type="radio"]:checked + .wpcf7-list-item-label{
	background-color: #232323;
	color: #fff
}

.wpcf7 .wpcf7-list-item .wpcf7-list-item-label:before{
	content: "Em Mây Skin Center";
	font-size: 9px;
	font-weight: normal
}

.wpcf7 span.wpcf7-list-item{
	margin-right: 0
}

.wpcf7 input.wpcf7-submit{
	width: 100%;
	background-color: #232323;
	color: #fff;
	border-radius: 5px;
	margin-bottom: 0 !important
}



.footer-policy {
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 20px;
}

.footer-policy a{
	position: relative
}

.footer-policy a:not(:last-child):after{
	content: "|";
	position: absolute;
	right: -13px;
	
}

.arrow-bottom .slick-arrow {
	width: 32px;
	height: 32px;
    border-radius: 50%;
    border: none;
    background-color: #e0dcd7;
    color: #000;
    font-size: 18px;
    position: absolute;
    max-width: 32px;
    bottom: -30px;
    z-index: 10;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;

}

.arrow-bottom .prev {
  	left: 47%;
}

.arrow-bottom .next {
  	right: 47%;
}

/* Default dot style */
.banner-gallery .flickity-page-dots .dot {
  	width: 16px;
  	height: 2px;
	border-width: 2px;
  	background-color: #F5F3F0;
	border-color: #F5F3F0;
  	opacity: 1;
  	border-radius: 1px;
  	transition: background-color 0.3s;
}

/* Active dot style */
.banner-gallery .flickity-page-dots .dot.is-selected {
  	background-color: #232323; /* or your preferred dark color */
	border-color: #232323
}

.box-blog-post .box-text .post-title a{
	font-size: 16px;
	overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.box-blog-post .box-text .from_the_blog_excerpt{
	font-size: 13px;
	overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.box-blog-post .box-text .button{
	text-transform: none;
	color: #000000;
}

.archive-banner{
	position: relative;
	background-color: #E4E3E2;
	height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.archive-banner:before{
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background-color: rgba(0,0,0,.65);
}

.archive-page-header .taxonomy-description{
	position: relative;
	z-index: 1;
	margin: 50px 0;
}

.archive-page-header .title-wrap{
	font-size: 2.5em;
}

.archive-page-header .title-wrap .page-title{
	color: rgb(245, 243, 240);
	margin-bottom: .2em
}

.archive-page-header .title-wrap .sub-title{
	font-size: 24px;
	color: rgb(245, 243, 240);
	margin-bottom: 0;
}

.archive .blog-archive.page-wrapper{
	padding-top: 0;
}

.archive .box-blog-post .box-image{
	border-radius: 20px;
	overflow: hidden
}

.archive .box-blog-post .box-text .post-title a{
	font-size: 1.3em
}

.archive .box-blog-post .box-text .from_the_blog_excerpt{
	font-size: 1em;
}

.single-banner{
	background-color: #E4E3E2;
	height: 70vh;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	margin-bottom: 40px;
}

.pill-text{
	width: max-content;
    margin: 0 auto;
    border: 2px solid;
    border-radius: 99px;
    padding: 15px 45px;
	font-size: 1em !important
}

.full-container-gallery.row{
	max-width: unset;
	margin-right: -50px;
    margin-left: -50px;
	width: calc(100vw + 100px);
}

.full-container-gallery .flickity-prev-next-button{
	top: unset;
    bottom: -60px;
    opacity: 1;
	transform: none
}

.full-container-gallery .flickity-prev-next-button svg{
	background-color: #D6D1CA !important;
    border-radius: 50%;
	padding: 27% !important;
}

.full-container-gallery .flickity-prev-next-button.previous{
	left: unset;
    right: calc(50% + 15px);
}

.full-container-gallery .flickity-prev-next-button.next{
	right: unset;
    left: calc(50% + 2px)
}

.grey-btn{
	background-color: #D6D1CA;
	color: #232323
}

.have-bg-icon a{
	background-color: #232323;
    padding: 3px;
    border-radius: 99px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.have-bg-icon i{
	width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.have-bg-icon i:before {
    color: #fff;
    font-size: 20px;
}

.single .blog-single.page-wrapper{
	padding-top: 0;
}

#home-popup{
	background: transparent;
    box-shadow: unset;
    text-align: center;
	width: max-content;
}

#home-popup .mfp-close{
	background: #fff;
    border-radius: 99px;
    font-size: 34px;
    width: 36px;
    height: 36px;
    line-height: 36px;
    opacity: 1;
}

#cta-list-container {
    position: fixed;
    right: 20px;
    bottom: 10%;
    z-index: 1000; /* Ensure it stays above other elements */
}

.cta-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.cta-list li {
    margin: 10px 0;
    text-align: center;
	background-color: #232323;
	border-radius: 4px;
	padding: 7px;
	width: 36px;
	height: 36px;
	display: flex;
    align-items: center;
    justify-content: center;
}

.cta-list a {
    text-decoration: none;
}

.cta-list img {
    width: 100%;
    max-width: 30px;
    margin-bottom: 0;
    border-radius: 10px;
}

.ratio-9-16 img{
	aspect-ratio: auto 9 / 16;
}

.ratio-1-1 img{
	aspect-ratio: auto 1 / 1;
}

.slider .col{
	padding-bottom: 0 !important;
}

.service-box .title{
	font-size: 20px;
}

p.justify{
	text-align: justify !important
}

.ux-body-overlay.active-overlay{
	backdrop-filter: blur(20px);
}

@media (min-width: 48em){
	form.wpcf7-form{
		margin-bottom: 0;
	}
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
	.footer-policy{
		justify-content: center;
		margin-top: 20px;
	}
	
	.arrow-bottom .prev {
	  	left: 42%;
	}

	.arrow-bottom .next {
	  	right: 42%;
	}
	
	.wpcf7 .wpcf7-form-control-wrap .wpcf7-radio{
		grid-template-columns: 49% 49%;
	}
	
	.archive-page-header .title-wrap{
		font-size: 2em;
	}
	
	.archive-page-header .title-wrap .sub-title{
		font-size: 18px;
	}
	
	.archive .box-blog-post .box-text .post-title a {
		font-size: 1.4em;
	}

	.pill-text{
		padding: 10px 20px;
	}
	
	.full-container-gallery .flickity-prev-next-button{
		width: 30px !important;
	}
	
	.full-container-gallery.row{
		margin-right: 0;
		margin-left: 0;
		width: 100vw;
	}
	
	.custom-gap-mb.icon-box-left .icon-box-img+.icon-box-text{
		padding-left: .5em;
	}
	
	.service-box .title{
		font-size: 16px;
	}
	
	.full-container-gallery .flickity-prev-next-button.previous{
		right: 51%
	}
	
	.full-container-gallery .flickity-prev-next-button.next{
		left: 51%
	}
	
	.mb-pt-100{
		margin-top: 10px;
	}
	
	.mb-pt-100 .image-cover{
		padding-top: 100% !important
	}
	
	.mb-pt-100 img{
		object-fit:cover;
	}
	
	.row-small>.col, .row-small>.flickity-viewport>.flickity-slider>.col{
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.row-collapse>.col, .row-collapse>.flickity-viewport>.flickity-slider>.col{
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
	
	.row-mb-xsmall .col{
		padding-left: 5px;
		padding-right: 5px;
		padding-bottom: 10px;
	}
	
	.box.overlay-gradient .box-text{
		padding-left: .5em;
		padding-right: .5em
	}
}