/*
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=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

:root{
	--gutter: 1.5rem;
	--fs-title: clamp(1.25rem, 1.1rem + 0.75vw, 2rem);
}

body{
	font-family: "Roboto", serif;
}
p:last-of-type{
	margin-bottom: 0;
}

.g-2{
	--gutter: 0.5rem;
}

.g-3{
	--gutter: 1rem;
}

.g-4{
	--gutter: 1.5rem;
}


.row-custom{
	margin-top: calc((-1) * var(--gutter));
	padding-left: calc(0.5 * var(--gutter) / 2);
	padding-right: calc(0.5 * var(--gutter) /2);
}

.row-custom>.col{
	margin-top: var(--gutter);
	padding-left: calc(0.5 * var(--gutter));
	padding-right: calc(0.5 * var(--gutter));
	padding-bottom: 0;
}

.mt-row-small{
	margin-top: 19.6px;
}

.img-rounded-2{
	border-radius: 0.5rem;
	overflow: hidden;
}

.section-bg-contain .bg-fill{
	background-size: contain !important;
}


.btn-custom{
	min-height: unset;
	margin-bottom: 0;
	padding: 0.5rem 1rem;
}

.btn-custom.btn-arrow{
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding-right: 0.5rem;
	border-width: 1px;
	line-height: 1;
	font-weight: 500;
}

.btn-custom.btn-arrow i{
	top: unset;
	width: 1.5rem;
	height: 1.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: var(--primary-color);
	border-radius: 50%;
	color: #fff;
	font-size: 12px;
}

.btn-custom.btn-arrow i:before{
	content: "\f178";
	font-family: "Font Awesome 6 Pro";
}

.box-main-title{
	position: relative;
	margin-bottom: 1.5rem;
}

.box-main-title h2{
	position: relative;
	margin-bottom: 0;
	font-size: var(--fs-title);
}

.box-main-title.has-cover{
	display: inline-block;
}

.box-main-title.has-cover h2:after{
	content: "";
	position: absolute;
	left: 50%;
	bottom: -1.5rem;
	transform: translateX(-50%);
	width: 2rem;
	height: 1rem;
	background-image: url('/wp-content/themes/flatsome-child/images/img-title.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.box-main-title.has-cover:before,
.box-main-title.has-cover:after{
	content: "";
	position: absolute;
	left: 50%;
	bottom: -1rem;
	transform: translateX(-50%);
	width: clamp(4.5rem, 4.2rem + 1.5vw, 6rem);
	height: 2px;
	background-image: url('/wp-content/themes/flatsome-child/images/img-line-title.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.box-main-title.has-cover:before{
	transform: translateX(30%);
}

.box-main-title.has-cover:after{
	transform: translateX(-130%);
}

.line-bottom-title p{
	display: flex;
	justify-content: center;
	align-items: center;
}


.swiper-button-prev:after,
.swiper-button-next:after{
	font-size: clamp(1rem, 0.8rem + 1vw, 2rem);
}


/*====*/
.bg-cover-header{
	position: absolute;
	left: 0;
	right: 0;
	top: -1rem;
}

.bg-cover-header svg{
	width: 100%;
	height: auto;
}

#top-bar{
	padding-top: 0.5rem;
}

.name-company-header{
	font-size: 0.75rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.2;
	color: #fff;
}

.name-company-header span{
	font-size: 1.25rem;
}

.hotline-header{
	font-size: 1.125rem;
	font-weight: 700;
}

#header .header-wrapper{
	background-color: #fff;
}

.header-nav.nav{
	justify-content: space-between;
}

#header .header-nav.header-nav-main .menu-item a{
	font-size: 1rem;
	color: var(--primary-color);
	text-transform: uppercase;
	font-weight: 700;
	line-height: 1.5;
}


.header-search a{
	width: 2.5rem;
	height: 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
	padding: 0 !important;
	background-color: var(--primary-color);
	border-radius: 0.5rem;
}

.header-search a i{
	color: #fff;
}

/*===*/
.polylang_langswitcher{
	display: flex;
	align-items: center;
	list-style: none;
	margin-bottom: 0;
	padding-left: 0;
	gap: 0.25rem;
}

.polylang_langswitcher li{
	margin-bottom: 0;
}

.polylang_langswitcher li img{
	width: 30px;
	height: auto !important;
}



/*====*/
.main-slide .flickity-page-dots .dot{
	width: 2rem;
	height: 0.25rem;
	border-radius: 50rem;
	background-color: var(--primary-color);
	border-color: var(--primary-color);
}

.main-slide .flickity-page-dots .dot.is-selected{

}


/*====*/
.row-list-icon-about .col .col-inner{
	height: 100%;
}

.icon-box-about{
	height: 100%;
	padding: 10% 5%;
	background-color: #fff;
	text-align: center;
	color: var(--primary-color);
	cursor: pointer;
}

.icon-box-about .icon-box-img{
	width: 6rem !important;
	transition: all .3s ease-in-out;
}

.icon-box-about .icon-box-text{
	transition: all .3s ease-in-out;
}

.icon-box-about h3{
	margin-bottom: 0.25rem;
	color: var(--primary-color);
}


/*===*/
.icon-archievement{
	position: relative;
	margin: clamp(0rem, -0.2rem + 1vw, 1rem);
}

.icon-archievement:before{
	content: "";
	display: block;
	padding-top: 100%;
	background-image: url('/wp-content/themes/flatsome-child/images/bg-cover-achievement.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	border-radius: 50%;
}

.icon-archievement .icon-box-text{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 80%;
	color: #fff;
	text-align: center;
}

.icon-archievement .icon-box-text p:first-child{
	margin-bottom: 0;
	font-size: clamp(2rem, 1.8rem + 1vw, 3rem);
	font-weight: 700;
}


/*====*/
.section-contact .section-bg-overlay{
	left: unset;
	right: 0;
	width: 50%;
}


.form-contact .form-control{
	height: unset;
	margin-bottom: 0;
	padding: 0.75rem 1rem;
	border-radius: 0.25rem;
}

.form-contact textarea.form-control{
	height: 10rem;
}


.arcodition-question .accordion-item{
	border: 1px solid #ddd;
	border-radius: 0.25rem;
	text-align: left;
}

.arcodition-question .accordion-item + .accordion-item{
	margin-top: 1rem;
}
.arcodition-question .accordion-title{
	border: 0;
	position: relative;
	padding: 0.5rem 1rem;
	font-weight: 700;
	font-size: clamp(1rem, 0.975rem + 0.125vw, 1.125rem);
}

.arcodition-question .accordion-title.active{
	color: #00A54D;
	background-color: transparent;
}

.arcodition-question .accordion-title button{
	position: absolute;
	left: unset;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	transform-origin: center center;
	width: 2rem;
	height: 2rem;
	min-height: unset;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 0;
	margin: 0;
	opacity: 1;
}

.arcodition-question .accordion-title button i{
	top: unset;
}

.arcodition-question .accordion-title button i:before,
.arcodition-question .accordion-title button i:after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(0deg) scaleY(1);
	display: block;
	width: 14px;
	height: 2px;
	background-color: #000;
	transition: all .2s ease-in-out;
}

.arcodition-question .accordion-title button i:after{
	transform: translate(-50%, -50%) rotate(90deg) scaleY(1);
}

.arcodition-question .accordion-title.active button i:after{
	transform: translate(-50%, -50%) rotate(90deg) scaleY(0);
}

.arcodition-question .accordion-inner{
	padding: 0.5rem 1rem;
}

/*=====*/
.box-blog-post .box-image{
	border-radius: 0.375rem;
}

.box-blog-post .box-text{
	padding-bottom: 0;
}

.box-blog-post .post-title{
	transition: all .3s ease-in-out;
}

.box-blog-post:hover .post-title{
	color: var(--primary-color);
}

.box-blog-post .post-date{
	color: rgba(0, 0, 0, 0.5);
}

.block-hot-post .col-right .box-blog-post{
	display: flex;
	gap: 1rem;
}

.block-hot-post .col-right .box-image{
	width: 15rem;
	height: 9rem;
}

.block-hot-post .col-right .box-text{
	flex: 1;
	padding: 0;
}


/*===*/
.tab-content-about-us{
	padding: 5%;
	background-color: #E6EAF5;
}

.tab-content-about-us .nav-pills{
	background-color: #fff;
}

.tab-content-about-us .tab a{
	border-radius: 0;
	font-size: 1rem;
	color: var(--primary-color);
}

/*===*/
.box-video-about-us{
	position: relative;
}

.box-video-about-us .video-button-wrapper{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

.box-video-about-us img{
	transition: all .3s ease-in-out;
}

.box-video-about-us:hover img{
	filter: brightness(0.6);
}


.box-video-about-us .video-button-wrapper .button.open-video{
	position: relative;
	margin: 0;
	border: 2px solid var(--primary-color);
	background-color: var(--primary-color);
	color: #fff;
	font-size: 1.5rem;
}

.box-video-about-us .video-button-wrapper .button.open-video i:before{
	content: "\f04b";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-45%, -45%);
	font-family: "Font Awesome 6 Pro";
	font-weight: bold;
	font-size: 1.5rem;
}

.box-video-about-us .video-button-wrapper .button.open-video:before{
	content: "";
	position: absolute;
	inset: -0.5rem;
	z-index: -1;
	background: rgba(4, 44, 146, 0.7);
	border-radius: 50%;
	transition: all .3s ease-in-out;
	animation: animation-inline 1.5s infinite ease-in;
	animation-delay: 0.5s;
}

.box-video-about-us .video-button-wrapper .button.open-video:after{
	content: "";
	position: absolute;
	inset: -1rem;
	z-index: -1;
	background: rgba(4, 44, 146, 0.5);
	border-radius: 50%;
	transition: all .3s ease-in-out;
	animation: animation-outline 3s infinite ease-in;
	animation-delay: 0.5s;
}

@keyframes animation-inline {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.2);
        opacity: 0;
   	}
   	100% {
        transform: scale(1);
        opacity: 1;
   	}
}

@keyframes animation-outline {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.3);
        opacity: 0;
   	}
   	100% {
        transform: scale(1);
        opacity: 1;
   	}
}

/*=================*/
.form-page-contact .form-control{
	background-color: #F7F7F7;
	border-radius: 0.5rem;
}

.form-page-contact .form-control::placeholder{
	color: rgba(0, 0, 0, 0.50);
}

/*=================*/

.row-post-story .box-image .image-cover{
	padding-top: 60%;
}

.row-post-story .post-date{
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	padding: 0.375rem 0.75rem;
	background-color: var(--primary-color);
	color: #fff;
	font-size: 0.75rem;
	text-align: center;
	line-height: 1.3;
}

.row-post-story .post-date .label-city{
	font-weight: 700;
	font-size: 0.875rem;
}

.row-post-story .box-text .post-title{
	text-align: center;
	color: var(--primary-color);
}

/*===*/
.row-post-solution .box-text .post-title{
	color: var(--primary-color);
	font-weight: 700;
}

.row-post-solution .box-image .image-cover{
	padding-top: 70%;
}


.nav-pagination{
	display: flex;
	justify-content: center;
}
.nav-pagination .page-number{
	border: 1px solid #000;
	border-radius: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	font-size: 0.875rem;
}


.section-banner{
	padding-top: clamp(3.125rem, 2.5rem + 3.125vw, 6.25rem) !important;
	padding-bottom: clamp(3.125rem, 2.5rem + 3.125vw, 6.25rem) !important;
}

.section-banner .section-content{
	display: flex;
	justify-content: center;
	padding: 0 3%;
}

.section-banner .breadcrumbs{
	text-align: center;
	color: var(--primary-color);
	font-weight: 600;
}

.section-banner .breadcrumbs a{
	color: var(--primary-color);
	font-weight: 600;
}

.section-banner .title-page{
	margin-bottom: 0;
	text-align: center;
	font-weight: 700;
	font-size: clamp(1.25rem, 1.05rem + 1vw, 2.25rem);
	text-transform: uppercase;
	color: var(--primary-color);
}

/*====*/
.product-small .product-title a{
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
}



.call-now-button{
	margin: 0;
	margin-top: 1.5rem;
	padding: 0.5rem 2rem;
	border-radius: 50rem;
	font-size: 1.25rem;
	text-transform: uppercase;
	line-height: 1.2;
	z-index: 1;
}

.call-now-button:before{
	content: "";
	position: absolute;
	inset: -0.25rem 0rem;
	z-index: -1;
	background: rgba(4, 44, 146, 0.7);
	border-radius: 50rem;
	transition: all .3s ease-in-out;
	animation: animation-inline 1.5s infinite ease-in;
	animation-delay: 0.5s;
}

.call-now-button:after{
	content: "";
	position: absolute;
	inset: -0.25rem 0rem;
	z-index: -1;
	background: rgba(4, 44, 146, 0.5);
	border-radius: 50rem;
	transition: all .3s ease-in-out;
	animation: animation-outline 3s infinite ease-in;
	animation-delay: 0.5s;
}


.share-icons a{
	border: 1px solid #000 !important;
	color: #000;
}

.share-icons a i{
	top: 0;
}


/*=================*/
.section-footer{
	padding-top: 6rem !important;
}

.col-footer h3{
	position: relative;
	margin-bottom: 1.5rem;
}

.col-footer h3:after{
	content: "";
	position: absolute;
	left: 0;
	bottom: -0.5rem;
	width: 3rem;
	height: 2px;
	background-color: #fff;
}


.col-footer ul{
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}

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

.col-footer ul li + li{
	margin-top: 0.5rem;
}

.copyright{
	margin-bottom: 0;
	padding: 0.5rem 1rem;
	background-color: #fff;
	border-radius: 5rem;
	text-align: center;
	color: var(--primary-color);
}

.absolute-footer{
	display: none;
}


/*`xxl` applies to x-large devices (large desktops, less than 1400px)*/
@media (max-width: 1599.98px) {
	.bg-cover-header{
		top: 0rem;
	}
}
	
@media (max-width: 1299.98px) {

}

/*`xl` applies to large devices (desktops, less than 1200px)*/
@media (max-width: 1199.98px) { ... }

/*lg` applies to medium devices (tablets, less than 992px)*/
@media (max-width: 991.98px) {
	#header .header-wrapper .bg-cover-header{
		display: none;
	}

	.section-contact .section-bg-overlay{
		left: 0;
		right: 0;
		top: 58%;
		width: 100%;
	}
	
	.header-main li.html.custom{
		display: block;
	}
	
}
/*`md` applies to small devices (landscape phones, less than 768px)*/
@media (max-width: 767.98px) {
	/*.icon-box-about{
		display: flex;
		gap: 0.75rem;
		padding: 5%;
		text-align: left;
	}

	.icon-box-about .icon-box-img{
		width: 4rem !important;
		transition: all .3s ease-in-out;
	}

	.icon-box-about .icon-box-text{
		flex: 1;
	}*/
	.main-slide .flickity-page-dots{
		bottom: 2px;
	}

	.main-slide .flickity-page-dots .dot{
		width: 1rem;
		border-width: 2px;
	}


	.icon-box-about{
		padding: 1rem 0.5rem;
		font-size: 12px;
	}

	.icon-archievement{
		font-size: 12px;
	}

	.section-contact .section-bg-overlay{
		top: 63%;
	}

	.block-hot-post .col-right .box-blog-post{
		display: flex;
		flex-direction: column;
		gap: 1rem;
	}
	.block-hot-post .col-right .box-blog-post .box-image{
		width: 100%;
		height: 10rem;
	}

	.btn-custom{
		padding: 0.25rem 1rem;
	}

	.form-contact .form-control{
		padding: 0.5rem 1rem;
	}

}
/*`sm` applies to x-small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) {

}

/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) {  }
/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) {
	.g-md-3{
		--gutter: 1rem;
	}
}
/* Large devices (desktops, 992px and up)*/
@media (min-width: 992px) {

	.g-lg-4{
		--gutter: 1.5rem;
	}

	.mt-lg{
	    margin-top: 30px;
	}

	.pb-lg{
		padding-bottom: 30px;
	}

	.section-lg{
		padding-top: 50px !important;
		padding-bottom: 50px !important;
	}

	.text-lg-left{
		text-align: left;
	}


	.justify-content-lg-between{
		justify-content: space-between;
	}

	#header .header-wrapper:not(.stuck) .header-main .header-inner{
		align-items: flex-end;
	}

	#header .header-wrapper.stuck .bg-cover-header{
		display: none;
	}

	#header .header-wrapper:not(.stuck) #logo img {
	    max-height: 100px !important;
	    transform: translateY(-30%);
	}

	.header-nav.nav .menu-item{
		margin: 0;
		position: relative;
	}

	.header-nav.nav .menu-item.current-menu-item:after{
		content: "";
		position: absolute;
		z-index: -1;
		inset: 0.375rem -1rem;
		background-color: var(--primary-color);
		border-radius: 0.5rem;
	}

	#header .header-nav.header-nav-main .menu-item.current-menu-item a{
		color: #fff;
	}


	/*====*/
	.icon-box-about:hover .icon-box-img{
		transform: translateY(-0.5rem);
	}
	.icon-box-about:hover .icon-box-text{
		transform: translateY(-0.25rem);
	}


	/*===*/
	.section-about-us{
		--margin-block: 200px;
		margin-top: var(--margin-block);
	}

	.section-about-us .box-video-about-us .col-inner{
		margin-top: calc((-1) * var(--margin-block));
	}

}
/* X-Large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) {  }
/* XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) {  }