*{
    transition: all 200ms ease;
    font-family: 'Montserrat';
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;  
    background-color: #fff;  
} 
body{
    transition: all 500ms ease; 
    max-width: 100vw;
    overflow-x: hidden;
    height: auto;
    margin: auto;
}
a{
    text-decoration: none !important;
    background-color: transparent;
}
a:hover {
    text-decoration: none;
}
*, h1, h2, h3, h4, h5, h6, p, input[type="radio"], input[type="checkbox"], ul{
    margin: 0;
    padding: 0;
}
/*img{
    content-visibility: auto;
    width: 100%;
}  */
.bg-default{
	background-color: #F2FCFE;
}

.color-bg-main {
	background-color: #0092C7 !important;
}
.color-bg-second {
	background-color: #0D92CB !important;
}


.text-heading{
	color: #0D92CB;
	font-size: 32px;
	font-weight: bold;
}
.text-heading.text-right{
	text-align: right;
}
.text-heading.text-under{
	margin: 0 0 16px 0;
	padding: 0 0 16px 0;
	position: relative;
}
.text-heading.text-under::before{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 390px;
	height: 2px;
	background-color: #0D92CB;
}
.text-heading.text-under.center::before{
	left: calc(50% - 195px);
}
.text-heading.text-under.right::before{
	left: auto;
	right: 0;
}
button.show-more {
	outline: none;
	border: none;
	border-radius: 100px;
	padding: 16px 40px;
	background-color: #0D92CB;
	/*font-size: 18px;
	font-weight: bold;*/
	color: #fff;
	/*display: flex;*/
	align-items: center;
}
/*button.show-more img{
	width: 24px;
}*/

.banner-header {
	/*width: 100%;
	height: 165px;
	background-color: #fff;*/
}
.header-top{
	/*width: 100%;
	height: 50px;*/
	background-color: #118FD2;
}

	.header-top h1 {
		/*font-size: 24px;*/
		font-weight: bold;
		margin: 0;
		color: #fff;
	}

.header-top .flag-wrapper {
	display: flex;
	font-size: 20px;
	align-items: center;
}

/*.header-top .flag-wrapper img {
		width: 36px;
		margin: 0 6px;
	}*/

.header-content .call-wrapper {
	background-color: #118FD2;
	border-radius: 100px;
	font-size: 15px;
	color: #fff;
	display: flex;
	align-items: center;
	/*padding: 0 10px 0 0;*/
}

	.header-content .call-wrapper .call-logo {
		width: 30px;
		height: 30px;
		background-color: #fff;
		border-radius: 30px;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #118FD2;
		/*font-size: 16px;*/
		margin: 0 10px 0 0;
	}

.header-content .search-wrapper {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

	.header-content .search-wrapper input {
	margin: 10px 0 0 0;
	border-radius: 16px;
	border: 1px solid #ccc;
	outline: none;
	height: 32px;
	font-size: 14px;
	background-color: transparent;
	padding-right: 40px;
}

	.header-content .search-wrapper .search-button {
		position: absolute;
		transform: translateY(16%);
		border: none;
		background-color: transparent;
		cursor: pointer;
	}

		.header-content .search-wrapper .search-button i {
			font-size: 24px;
			color: #118FD2;
		}


.about-container {
	display: flex;
	align-items: center;
}

h2.block-title {
	position: relative;
	font-size: 28px;
	font-weight: bold;
	color: #737475;
	padding: 0 0 30px 50px;
	margin: 0 0 32px 0;
}

	h2.block-title::before {
		width: 30px;
		height: 30px;
		content: "";
		position: absolute;
		top: calc(50% - 30px);
		left: 0;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center center;
		background-image: url('/assets/home/images/fa-brands_opera.png');
	}

	h2.block-title::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 150px;
		height: 2px;
		background-color: #0D92CB;
	}

h3.block-description {
	color: #373F43;
	font-size: 26px;
	font-weight: bold;
	margin: 0 0 32px 0;
}

p.block-detail {
	color: #737475;
	font-size: 20px;
	line-height:2;
}

	p.block-detail span {
		color: #FFA500;
	}

h4.block-list {
	position: relative;
	color: #737475;
	padding: 0 0 0 50px;
	margin: 0 0 32px 0;
}

	h4.block-list::before {
		width: 30px;
		height: 30px;
		content: "";
		position: absolute;
		top: calc(50% - 15px);
		left: 0;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center center;
		background-image: url('/assets/home/images/fa6-solid_share.png');
	}

.card-block {
	background-color: #63C1E1;
	border-radius: 20px;
}

	.card-block .card-content {
		padding: 24px 20px;
		text-align: center;
		min-height: 150px;
	}

		.card-block .card-content h4 {
			margin: 0 0 16px 0;
			font-size: 20px;
			line-height: 24px;
			color: #0D0925;
		}

		.card-block .card-content p {
			margin: 0 0 16px 0;
			font-size: 20px;
			line-height: 24px;
			color: #fff;
		}

.card-block2 {
	background-color: #fff;
}

	.card-block2 .card-content {
		padding: 24px 20px;
	}

		.card-block2 .card-content h3 {
			margin: 0 0 16px 0;
			font-size: 28px;
			line-height: 32px;
			font-weight: 700;
			color: #0D92CB;
			text-align: center;
		}

		.card-block2 .card-content p {
			margin: 0 0 16px 0;
			font-size: 16px;
			line-height: 20px;
			color: #0D0925;
			text-align: left;
		}

.grid-container {
	margin-top: 36px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

	.grid-container .grid-item:nth-child(1) {
		grid-area: 1 / 1 / 1 / 4;
	}

.grid-container2 {
	margin-top: 36px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.col-md-x {
	width: 20%;
	padding-right: calc(var(--bs-gutter-x) * .5);
	padding-left: calc(var(--bs-gutter-x) * .5);
}

.carousel-indicators {
	bottom: -45px;
}

	.carousel-indicators button {
		width: 12px !important;
		height: 12px !important;
		padding: 0 !important;
		border-radius: 50px !important;
		background: #fff;
		cursor: pointer !important;
		margin: 0 5px !important;
		border: none !important;
	}

		.carousel-indicators button:hover,
		.carousel-indicators button.active {
			background: #0B70E1;
		}

.contact-form {
	box-shadow: 0 0px 8px #00000029;
	border-radius: 10px;
	padding: 40px;
}

	.contact-form h3 {
		color: #0D92CB;
		text-align: center;
		font-weight: 600;
	}

	.contact-form p {
		font-size: 12px;
		font-style: italic;
		text-align: center;
	}

	/*.contact-form input{
		width: 100%;
		padding: 5px;
		height: 42px;
		outline: none;
	}*/

		.contact-form input::placeholder, .contact-form textarea ::placeholder {
			color: #0D92CB;
			font-weight: bold;
		}

	.contact-form p.privacy {
		font-style: inherit;
		color: #0D92CB;
		font-weight: 600;
	}

	.contact-form button {
		padding: 6px 24px;
		background-color: #0D92CB;
		color: #fff;
		margin: auto;
		border: none;
		outline: none;
		display: table;
		border-radius: 4px;
	}

footer {
	background-color: #F2F2F4;
}

	footer h2 {
		color: #0D92CB;
		font-size: 20px;
		font-weight: 700;
	}

		footer h2 .icon {
			height: auto;
			margin: 0 8px 0 0;
		}

	footer p {
		display: flex;
		align-items: flex-start;
		color: #0D92CB;
		font-size: 16px;
		font-weight: 700;
	}

		/*footer p.service {
			display: flex;
			align-items: flex-start;
			color: #0D92CB;
			font-size: 16px;
			font-weight: 500;
		}*/

		footer p .icon {
			width: 20px;
			height: auto;
			margin: 0 8px 0 0;
		}

		/*footer p span {
			display: inline-block;
			font-weight: 500;
		}*/

.bold {
	font-weight: 700;
}

.sp {
	display: none;
}

.icon {
	width: 24px;
}

.copyright {
	background-color: #6EC1E4;
	text-align: center;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	padding: 12px 0;
}

.relative {
	position: relative;
}

.relative-control {
	position: absolute;
	font-size: 32px;
	width: 50px;
	height: 50px;
	background-color: transparent;
	border: none;
	color: #737475;
}

	.relative-control.control-prev {
		top: calc(50% - 25px);
		left: -50px;
	}

	.relative-control.control-next {
		top: calc(50% - 25px);
		right: -50px;
	}

/*------- viet footer -----*/
.linklist li {
	list-style:circle;
	line-height:2;
}
.linklist a {
	color: #0D92CB;
	font-weight: 500;
}
.navbar-stm {
	position: fixed;
	right: 13px;
	background: #fff;
	border-radius: 5px;
	width: auto;
	z-index: 150;
	bottom: 10px;
	border: 1px solid #f2f2f2
}

	.navbar-stm ul {
		list-style: none;
		padding: 0;
		margin: 0
	}

		.navbar-stm ul li {
			margin-bottom: 15px
		}
	
		.navbar-stm ul > li a {
			border: none;
			padding: 3px;
			display: block;
			border-radius: 5px;
			text-align: center;
			font-size: 11.5px;
			font-weight: bold;
			line-height: 15px;
			color: #515151;
			max-width: 72.19px;
			max-height: 54px;
		}
	
@media only screen and (min-width:815px) {
	.navbar-stm li .phone_animation img {
		width: 40px;
		height: 40px;
	}
}

	@media only screen and (max-width:812px) {
		.navbar-stm {
			width: 100%;
			border-radius: 0;
			height: 60px;
			line-height: 50px;
			bottom: 0;
			left: 0;
			padding: 5px;
			margin: 0;
			box-shadow: 0 4px 10px 0 #000
		}

			.navbar-stm ul > li a {
				padding: 0;
				margin: 0 auto;
			}

			.navbar-stm li {
				float: left;
				width: 20%;
				height: 50px
			}

				.navbar-stm li .phone_animation {
					box-shadow: none;
					position: absolute;
					top: -16px;
					left: 50%;
					transform: translate(-50%,0);
					width: 50px;
					height: 50px;
					border-radius: 100%;
					color: #fff;
					background: #6cb917;
					line-height: 15px;
					border: 2px solid #fff
				}

			.navbar-stm ul li .btn_phone_txt {
				position: relative;
				top: 35px;
			}
	}
	/*------- end viet footer -----*/

	@media only screen and (max-width: 1600px) {
	}

	@media only screen and (max-width: 1480px) {
	}

	@media only screen and (max-width: 1280px) {
	}

	@media only screen and (max-width: 1024px) {
	}

	@media only screen and (max-width: 991px) {
	}

	@media only screen and (max-width: 767px) {
		main {
			width: 100vw;
			overflow: hidden;
		}

		.banner-header {
			display: none;
		}

		header {
			padding: 65px 0 0 0;
		}

		body {
			width: 100vw;
			overflow-x: hidden;
		}

		.text-heading.text-under::before {
			width: 100%;
			max-width: 250px;
		}

		/*.container {
		padding: 0 20px;
	}*/

		.lp {
			display: none !important;
		}

		.sp {
			display: block !important;
		}

		.text-heading {
			font-size: 24px;
		}

		.contact-form {
			padding: 20px;
		}

		/*nav {
		width: 100vw;
		position: fixed !important;
		top: 0;
		left: 0;
		background-color: #fff !important;
		box-shadow: 0 2px 8px #00000029;
		z-index: 1000;
	}

		nav .navbar-brand {
			display: block;
		}

			nav .navbar-brand img {
				height: 40px
			}

		nav .navbar-toggler-icon {
			color: #000
		}

		nav a.nav-link {
			color: #0D92CB !important;
		}*/
	}

	@media only screen and (max-width: 575px) {
		.text-heading.text-under.center::before {
			left: 0;
		}
	} 