/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: Phương Nam ViNa
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
@import url('https://fonts.googleapis.com/css2?family=Cal+Sans&family=Golos+Text:wght@400..900&display=swap');

body{
	font-family: "Golos Text", sans-serif;
	line-height: normal;
}
h1,
h2,
h3,
h4,
h5,
h6{
	font-family: "Cal Sans", sans-serif;
	font-weight: 400;
}

p{
	line-height: 1.4;
}

p:last-of-type{
	margin-bottom: 0;
}

[class*="fa-"]:not(.fab):before{
	font-family: "Font Awesome 6 Pro";
}

.row-inner-full > .col > .col-inner{
	height: 100%;
}

.row .row{
	max-width: unset !important;
}

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

.row.row-x-small{
	max-width: calc(1450px - 50px);
}

.row-x-small>.col{
	margin-bottom: 0;
    padding: 0 4px 8px;
}

.button{
	margin: 0;
	min-height: unset;
}

.button.is-outline{
	border-width: 1px;
}

.btn-custom{
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	min-height: unset;
	padding: 0.5rem 1.5rem;
	border-radius: 50rem;
	border: 1px solid #9F9FA4A3;
	font-size: clamp(0.75rem, 0.7rem + 0.25vw, 1rem);
	font-weight: 400;
	font-family: "Cal Sans", sans-serif;
	transition: all .5s ease;
}

.btn-custom .icon{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background-color: #caa05c;
	color: #fff;
	font-size: 1.125rem;
	font-weight: 500;
	transition: all .5s ease;
}

.btn-custom.has-icon{
	padding: 0.5rem 0.5rem 0.5rem 1.5rem;
}

.btn-custom:hover{
	background-color: #caa05c;
	color: #fff;
}

.btn-custom:hover .icon{
	transform: rotate(45deg);
}

/*=== Home page ===*/
#header{
	position: fixed;
}


#header-contact.nav>li>a{
	color: rgba(0, 0, 0, 0.50);
	font-weight: 400;
}


#header .btn-custom{
	padding: 0.75rem 1.875rem !important;
	font-size: 1rem;
	background-color: #caa05c;
	border-color: #caa05c;
	font-weight: 400;
	font-size: 1rem;
	transition: all .5s ease !important;
}

#header .btn-custom:hover{
	background-color: #fff;
	border-color: #fff;
	color: #000;
}


.header-search a{
	width: 3.125rem;
	height: 3.125rem;
	display: flex;
	justify-content: center;
	align-items: center;
	backdrop-filter: blur(58px);
	background-color: rgba(216, 218, 223, .13);
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 50%;
	font-size: 1.3125rem;
}

.searchform input{
	background-color: transparent !important;
	border-radius: 0 !important;
	border: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.50);
	box-shadow: unset;
}

.searchform button{

}


.header-hotline{
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 0.875rem;
}

.header-hotline .icon{
	font-size: 2rem;
	transform: rotate(-45deg);
}

.header-hotline .label-number{
	font-size: 1.125rem;
	font-family: "Cal Sans", Serif;
}


.sticky-jump .stuck:not(.ux-no-animation) {
    animation: stuckMoveDown .6s;
}

.main-title h2{
	margin-bottom: 0;
	font-size: clamp(1.5rem, 1.45rem + 0.25vw, 1.75rem);
	font-weight: 400;

}

.box-content-title h2{
	font-size: 3.75rem;
	font-weight: 400;
	line-height: 1;
}


.subtitle .subtitle-inner{
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.25rem 0.75rem;
	border-radius: 50rem;
	border: 1px solid #7272722E;
	font-family: "Cal Sans", sans-serif;
	font-size: 0.875rem;
	letter-spacing: 1px;
}

.subtitle .subtitle-icon{
	width: 0.25rem;
	height: 0.25rem;
	background-color: #caa05c;
	border-radius: 50%;
}


/*===*/
.services-card{
	background-color: #fff;
	padding: 2.5rem;
	border-radius: 1rem;
}

.services-card .services-card-top{
	display: flex;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
	padding-bottom: 5rem;
	border-bottom: 1px solid #e3e3e8;
}

.services-card .title{
	flex: 1;
	margin-bottom: 0;
	font-size: 1.875rem;
	font-weight: 400;
	line-height: 1;
}

.services-card .icon{
	width: 3.25rem;
	height: 3.25rem;
}

/*===*/
.box-img-rounded-24 .img-inner{
	border-radius: 1.5rem;
}

.list-style-check ul{
	list-style-image: url('/wp-content/themes/flatsome-child/images/check.png');
	font-family: "Cal Sans", sans-serif;
}


.text-cover-section{
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: -1;
	transform: translateX(-50%);
	font-family: "Cal Sans", Serif;
    font-size: 390px;
    font-weight: 400;
    text-transform: lowercase;
    color: #FFFFFF18;
    line-height: 0.7;
}



/*====*/
.block-left-service{
	position: relative;
	height: 560px;
}

.block-left-service .item{
	display: block;
	position: relative;
	transform: translateY(50px);
	opacity: 0;
	animation-name: slidetop;
	transition: all .5s linear;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	visibility: hidden;
}

@keyframes slidetop{
	0% {
	    -webkit-transform: translateY(50px);
	    transform: translateY(50px);
	}
	100% {
	    -webkit-transform: translateY(0);
	    transform: translateY(0);
	}
}

.block-left-service .box-thumbnail{
	height: 100%;
	border-radius: 1.5rem;
	overflow: hidden;
}

.block-left-service .box-thumbnail img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.block-left-service .box-description{
	position: absolute;
    bottom: 1rem;
    left: 1rem;
    z-index: 1;
    width: 60%;
    padding: 2.5rem;
    border-radius: 1.5rem;
    background-color: rgba(21, 24, 31, .46);
    backdrop-filter: blur(58px);
    color: #fff;
    opacity: 0;
    transition: 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.block-left-service .item.active{
	transform: translateY(0);
	opacity: 1;
	visibility: visible;
	.box-description{
		opacity: 1;
	}
}

.block-right-service{
	margin-left: 2rem;
}

.block-right-service .item{
	display: flex;
	align-items: center;
	gap: 1.875rem;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	font-family: "Cal Sans", Serif;
	transition: all .3s linear;
}

.block-right-service .item{
	border-top: 1px solid #e3e3e8;
}

.block-right-service .item:last-child{
	border-bottom: 1px solid #e3e3e8;
}

.block-right-service .item .number{
	color: #9f9fa4;
}

.block-right-service .item .title{
	margin-bottom: 0;
	font-size: 2.25rem;
	font-weight: 400;
	flex: 1;
	transition: all .5s linear;
}

.block-right-service .item .icon{
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	transition: transform .2s linear, background-color .1s linear;
}

.block-right-service .item.active{
	border-color: #caa05c;
	.number{
		color: #caa05c;
	}
	.title{
		color: #caa05c;
	}
	.icon{
		background-color: #caa05c;
		color: #fff;
		transform: rotate(45deg);
	}
}

.box-counter .number{
	margin-bottom: 1.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid #e3e3e8;
	font-size: 3.75rem;
	font-family: "Cal Sans", Serif;
	line-height: 1;
}

.box-counter .title{
	margin-bottom: 1rem;
	font-family: "Cal Sans", Serif;
	font-size: 1.5rem;
}


/*===*/
.box-process{
	padding: 0.625rem;
	background-color: #fff;
	border-radius: 1.125rem;
	position: relative;
}

.box-process .image-cover{
	padding-top: 50%;
	border-radius: 0.875rem;
}

.box-process .box-content{
	padding: 0.75rem;
}

.box-process .title{
	font-size: 1.5rem;
	font-weight: 400;
}

.box-process .title span{
	color: #caa05c;
}

.box-process .description{
	padding-right: 2rem;
}

.box-process .box-bg-text{
	margin-top: -2rem;
	font-family: "Cal Sans", Serif;
    font-size: 80px;
    font-weight: 400;
    line-height: 1;
    text-align: right;
    color: #e3e3e8;
}

/*===*/
.section-view-room{
	padding-top: 250px !important;
}

.section-view-room .text-cover-section{
	bottom: unset;
	top: -50%;
}


/*===*/
.form-join-newsletter{
	display: flex;
	gap: 0.5rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid #000;
}

.form-join-newsletter .wpcf7-form-control-wrap{
	flex: 1;
}

.form-join-newsletter .wpcf7-form-control-wrap input{
	margin-bottom: 0;
	padding: 0;
	box-shadow: none !important;
	border: 0;
}

.form-join-newsletter button{
	width: 2.5rem;
	height: 2.5rem;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #caa05c;
	border-radius: 50%;
	color: #fff;
	transition: all 0.5s ease;
}

.form-join-newsletter button:hover{
	transform: rotate(45deg);
}

.section-content-no-relative .section-content{
	position: unset !important;
}


.img-left-cover-section-form{
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}

.img-right-cover-section-form{
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: -1;
}


/* pagination =================*/
.nav-pagination{
	display: flex;
	justify-content: center;
}

.nav-pagination .page-number{
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 0;
	border-radius: 50%;
	line-height: 1;
	font-size: 0.875rem;
	transition: all .5s ease;
}

.nav-pagination .page-number.current,
.nav-pagination .page-number:hover{
	background-color: #caa05c;
}

.nav-pagination .page-number.next i:before{
	content: "\e09f";
	font-family: "Font Awesome 6 Pro";
}

.nav-pagination .page-number.next:hover{
	transform:  rotate(45deg);
}

.nav-pagination .page-number.prev i:before{
	content: "\e09d";
	font-family: "Font Awesome 6 Pro";
}

.nav-pagination .page-number.prev:hover{
	transform:  rotate(-45deg);
}


/* banner page =================*/
.banner-page{
	height: clamp(10rem, 6rem + 20vw, 30rem);
}

.banner-page .title-banner-page{
	margin-top: 0;
	margin-bottom: 0;
	font-weight: 400;
	font-size: 5rem;
}

/* breadcrumb =================*/
.breadcrumb{
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.breadcrumb span{
	font-size: clamp(0.625rem, 0.575rem + 0.25vw, 0.875rem);
	font-weight: 500;
	white-space: nowrap;
}

.breadcrumb span.current-item{
	color: rgba(0, 0, 0, 0.50);
	white-space: wrap;
	display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.breadcrumb span.post{
	margin-bottom: 0;
}

.breadcrumb span a{
	color: rgba(0, 0, 0, 0.50);
}

.breadcrumb i{
	color: rgba(0, 0, 0, 0.50);
	font-size: 0.75rem;
}

/* footer =================*/
.section-footer .text-cover-section{
	bottom: 50%;
	transform: translate(-50%, -50%);
	width: max-content;
	font-size: 120px;
	text-transform: uppercase;
	line-height: 0;
}

.row-footer{
	justify-content: space-between;
}

.row-footer:after{
	content: unset;
}

.col-footer p{
	margin-bottom: 0.75rem;
}

.col-footer ul{
	margin-bottom: 0;
	margin-bottom: 0;
	list-style-position: inside;
}

.col-footer ul li{
	margin: 0;
}

.col-footer:not(.col-social) ul li + li{
	margin-top: 0.75rem;
}

.col-footer .ux-menu .menu-item + .menu-item{
	margin-top: 0.5rem !important;
}

.col-footer .ux-menu a{
	position: relative;
	display: inline-block;
	min-height: unset;
	flex: unset;
	color: #fff;
	font-family: "Cal Sans", Serif;
}

.col-footer .ux-menu a:after{
	content: "";
	position: absolute;
	left: 0;
	bottom: -0.25rem;
	width: 100%;
	height: 1px;
	background-color: #caa05c;
	transform: scaleX(0);
	transition: all .3s ease-in-out;
	transform-origin: 0 0;
	opacity: 0;
}

.col-footer .ux-menu a:hover:after{
	transform: scaleX(1.0);
	opacity: 1;
}

.absolute-footer{
	display: none;
}

.list-social-footer ul{
	list-style: none;
	display: flex;
	margin-bottom: 0;
}

.list-social-footer ul li{
	margin-left: 0;
	white-space: nowrap;
}



/*======================================*/
#post-list .row .post-item{
	padding-bottom: 1.5rem;
}

.infor-single-post ul {
    list-style: none;
    margin-bottom: 0;
    display: flex;
    gap: .75rem;
    color: #7c7c7c;
    font-size: 15px
}

.blog-share{
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.5rem;
	font-weight: 700;
}

.blog-share .social-icons a{
	background-color: #000;
	color: #fff;
	margin: 0;
}

.blog-share .social-icons a i{
	top: unset;
}

.blog-tag{
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1rem;
}

.blog-tag a{
	padding: 0.125rem 0.5rem;
	border-radius: 0.25rem;
	background-color: #e3e3e3;
	font-size: 0.875rem;
	line-height: normal;
}

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

.blog-single .single-page .row{
	max-width: unset !important;
}

.blog-single .post.type-post{
	margin-bottom: 0;
}

/*===*/
.widget .widget-title {
	display: block;
	margin-bottom: 0.75rem;
	font-size: clamp(1.125rem, 1.05rem + 0.375vw, 1.5rem);
}

.widget .is-divider{
	display: none;
}

.recent-blog-posts-li + .recent-blog-posts-li{
	border-top: 1px dashed #ccc;
}

.recent-blog-posts-li .recent-blog-posts{
	padding-top: 0.375rem;
	padding-bottom: 0.375rem;
}

.recent-blog-posts-li .badge{
	width: 5rem;
	height: 4rem;
	border-radius: 0.25rem;
	overflow: hidden;
}

.recent-blog-posts a{
	font-size: 0.875rem;
	font-weight: 600;
}




.blog-single{
	background-color: #f6f6f6;
}

/*=== Project*/
.box-project{
	padding: 1rem;
	background-color: #fff;
	box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
	border-radius: 1.5rem;
	height: 100%;
}

.box-project .inner-thumbnail{
	border-radius: 1rem;
	padding-top: 68%;
}

.box-project .box-content{
	padding: 0.875rem;
}

.box-project .box-content .title{
	margin-bottom: 0;
	font-size: 1.25rem;
}



/*=== Service*/
.box-service .box-thumbnail .inner-thumbnail{
	border-radius: 1.5rem;
}

.box-service .box-content{
	margin-top: 1.5rem;
}

.box-service .title{
	font-size: 2rem;

}

.service-sidebar .widget{
	border-radius: 1.5rem;
	overflow: hidden;
}

.service-sidebar .widget.widget_related_posts_widget{
	padding: 1.5rem;
	background-color: #fff;
}

.service-sidebar .widget-title{
	font-size: 1.875rem;
}

.service-sidebar .related-posts-widget{

}

.service-sidebar .related-posts-widget li{
	list-style: disc;
	list-style-position: inside;
	margin: 0;
	border-radius: 0.5rem;
	padding: 0.625rem 0;
	color: #1c1c1d;
	transition: all .5s ease;
}

.service-sidebar .related-posts-widget li.active,
.service-sidebar .related-posts-widget li:hover{
	padding-left: 1rem;
	background-color: #caa05c;
	border-color: #caa05c;
	color: #fff;
}

.service-sidebar .related-posts-widget li a{
	font-size: 1.125rem;
	font-family: "Cal Sans", Serif;
	color: inherit;
}

/*===*/
.block-contact-sidebar .text-box{
	font-size: inherit;
	font-family: "Cal Sans", Serif;
}

.block-contact-sidebar .text-box a{
	width: 120px;
	height: 120px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
    padding: 1rem;
	background-color: #555352;	
    border: 1px solid #FFFFFF0D;
    border-radius: 50%;
    line-height: 1.2;
    transition: all .5s ease;
}

.block-contact-sidebar .text-box a:hover{
	color: #caa05c;
}


.content-single-service h2{
	font-size: 2.5rem;
	line-height: 1;
}




/*==== Page contact*/
.map-contact iframe{
	width: 100%;
	height: 100vh;
	filter: grayscale(1);
}

.form-contact label{
	font-size: inherit;
	font-weight: 400;
	font-family: "Cal Sans", Serif;
}

.form-contact .form-control{
	padding: 1.25rem 1rem;
	height: unset;
	border: 1px solid rgba(159, 159, 164, .18);
	box-shadow: none !important;
	border-radius: 1.5rem;
}

.form-contact .form-control:focus{
	border-color: #caa05c;
}