﻿@font-face {
  font-family: "fester bold";
  font-display: swap;
  src: url("../webfonts/Fester-Bold.woff2") format("woff2");
}
@font-face {
  font-family: "lato bold";
  font-display: swap;
  src: url("../webfonts/Lato-Bold.woff2") format("woff2");
}
@font-face {
  font-family: "lato medium";
  font-display: swap;
  src: url("../webfonts/Lato-Medium.woff2") format("woff2");
}
@font-face {
  font-family: "lato regular";
  font-display: swap;
  src: url("../webfonts/Lato-Regular.woff2") format("woff2");
}
html {
  scroll-behavior: smooth;
  scroll-padding: 130px;
}

body {
  font-family: "lato regular";
  color: #000;
}
@media (max-width: 600px) {
  body {
    font-size: 0.875rem;
  }
}

::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

::-webkit-scrollbar-track {
  background: #fff;
}

::-webkit-scrollbar-thumb {
  background: #747474;
}

.container {
  max-width: 1230px;
}
@media (max-width: 1100px) {
  .container {
    max-width: 1090px;
  }
}
@media (max-width: 768px) {
  .container {
    max-width: 764px;
  }
}

a, a:hover {
  /*color: #000;*/
  text-decoration: none;
  outline: none;
}

.ul-reset {
  padding: 0;
  margin: 0;
}
.ul-reset li {
  list-style: none;
}

button {
  outline: none;
}

/*input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}*/
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  font-size: 2.5rem;
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999 !important;
}

.form-control:focus {
  box-shadow: none;
}

/* Common */
.slick-arrow {
  width: 45px;
  aspect-ratio: 1;
  border: 1px solid #949494;
  color: #949494;
  background: transparent;
  z-index: 1;
}
.slick-arrow:hover {
  color: #000;
  background: #FF8000;
}

.btn-main {
  font-family: "fester bold";
  text-transform: uppercase;
  font-size: 0.875rem;
  padding: 8px 30px 4px;
  background: #FF8000;
  position: relative;
  display: inline-block;
}
.btn-main:hover::before {
  transition: all 0.75s ease-in-out;
  transform-origin: center;
  transform: scale(1.25, 1.75);
  opacity: 0;
}
.btn-main::before {
  content: "";
  z-index: -1;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border: 4px solid #FF8000;
  transform-origin: center;
  transform: scale(1);
}

.btn-more {
  font-family: "fester bold";
  position: relative;
  color: #fff !important;
  font-size: 0.875rem;
  text-decoration: underline !important;
  display: inline-block;
}
.btn-more:hover::before {
  width: 78px;
  height: 30px;
}
.btn-more::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 12px;
  bottom: -2px;
  left: -10px;
  background: #FF8000;
  opacity: 0.6;
  transition: all 0.3s;
}
.btn-more span {
  position: relative;
  z-index: 1;
}

.sub-title-section {
  position: relative;
  width: max-content;
  margin: 0 auto;
}
.sub-title-section::before {
  content: "";
  position: absolute;
  width: 65px;
  height: 2px;
  top: 10px;
  left: -85px;
  background-color: #FF8000;
}
.sub-title-section::after {
  content: "";
  position: absolute;
  width: 65px;
  height: 2px;
  top: 10px;
  right: -85px;
  background-color: #FF8000;
}

.title-section {
  font-family: "fester bold";
  font-size: 1.875rem;
  text-align: center;
  position: relative;
  color: #fff;
}
.title-section.line::before {
  content: "";
  position: absolute;
  width: 150px;
  height: 1px;
  left: 50%;
  transform: translateX(-50%);
  bottom: 2px;
  background: #FF8000;
}

.slick-dots {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -40px;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}
.slick-dots li {
  list-style: none;
  margin: 0 5px;
  height: 15px;
}
.slick-dots button {
  border: 0;
  padding: 0;
  color: transparent;
  background: #fff;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.slick-dots .slick-active button {
  background: #FF8000;
  width: 15px;
  height: 15px;
  transform: translateY(-3px);
}

/* Main */
#header-top {
    background: #2032b0;
    padding: 12px 0;
    color: white !important;
}

.header-top-info {
  margin-bottom: 0;
  padding-left: 15px;
  display: flex;
}
.header-top-info li {
  padding-right: 34px;
  font-size: 0.75rem;
  list-style: square;
}

.header-top-social a {
  display: inline-block;
  margin-left: 30px;
  font-size: 0.875rem;
}

#header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  background: #2032B0;
  z-index: 99;
}

.logo {
  display: block;
}
.logo img {
  max-width: 100%;
  height: 60px;
  object-fit: contain;
}

.nav-menu {
  display: flex;
  justify-content: space-around;
  padding: 23px 0 16px;
  width: 100%;
}
.nav-menu > li {
  position: relative;
}
.nav-menu > li:hover::before {
  transform-origin: bottom left;
  transform: scaleX(1);
}
.nav-menu > li:hover::after {
  display: block;
}
.nav-menu > li:hover .drop {
  visibility: visible;
}
.nav-menu > li:hover .sub-nav {
  transform: translate(0, 0);
}
.nav-menu > li::before {
  content: "";
  position: absolute;
  bottom: 8px;
  left: 0;
  right: 0;
  height: 1px;
  background-color: #fff;
  transform-origin: bottom right;
  transform: scaleX(0);
  transition: transform 0.5s ease;
}
.nav-menu > li::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 16px;
  bottom: -16px;
  left: 0;
  display: none;
}
.nav-menu > li > a {
  font-family: "fester bold";
  color: #fff;
  text-transform: uppercase;
  display: inline-block;
  padding: 10px 0;
  line-height: normal;
}
.nav-menu > li i {
  color: #fff;
  font-size: 0.65rem;
  transform: translateY(-3px);
}

.drop {
  position: absolute;
  top: 57px;
  left: 0;
  width: max-content;
  visibility: hidden;
  overflow: hidden;
}
.drop .sub-nav {
  background: #2032B0;
  transform: translate(0, -100%);
  position: relative;
  z-index: 90;
  width: max-content;
  transition: all 0.4s;
}
.drop .sub-nav li {
  border-bottom: 1px solid #fff;
  border-left: 3px solid #FF8000;
}
.drop .sub-nav li:last-child {
  border-bottom: none;
}
.drop .sub-nav a {
  padding: 8px 50px 8px 10px;
  color: #fff;
  display: block;
  transition: all 0.3s;
}
.drop .sub-nav a:hover {
  transform: translateX(5px);
}

.btn-search {
  padding: 6px 10px;
  color: #fff;
  cursor: pointer;
  margin-top: 5px;
}

.header-mb {
  display: none;
}

.body-overlay {
  position: fixed;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
}
.body-overlay.active {
  top: 0;
  pointer-events: auto;
}

.site-search {
  position: fixed;
  top: -100px;
  left: 0;
  width: 100%;
  z-index: 999;
  padding: 46px 0;
  background: #fff;
  transition: all 0.5s;
  opacity: 0;
  box-shadow: 0px 0px 17px 0px rgba(0, 0, 0, 0.25);
}
.site-search.active {
  top: 0;
  opacity: 1;
}
.site-search-close {
  opacity: 1;
  color: #e66445;
  cursor: pointer;
  font-size: 1.5rem;
  margin-left: 50px;
}
.site-search .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-search {
  width: 100%;
}
.header-search .input-group {
  flex-wrap: nowrap;
}
.header-search button {
  border: 0;
  background: #fff;
  padding: 0 10px;
}
.header-search .input-effect {
  position: relative;
  margin-left: 20px;
  width: 100%;
  transform: translateY(-4px);
}
.header-search .form-control {
  border: 0;
  padding: 4px 0;
  border-bottom: 1px solid #ccc;
  background-color: transparent;
  box-shadow: none;
  outline: 0;
  border-radius: 0;
  position: relative;
  z-index: 1;
  height: 36px;
  font-size: 0.875rem;
}
.header-search .form-control ~ .focus-border {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background-color: #3399ff;
  transition: 0.4s;
}
.header-search .form-control:focus ~ .focus-border,
.header-search .has-content.form-control ~ .focus-border {
  width: 100%;
  transition: 0.4s;
  left: 0;
}
.header-search .form-control ~ label {
  position: absolute;
  left: 0;
  width: 100%;
  top: 10px;
  color: #aaa;
  transition: 0.3s;
  letter-spacing: 0.5px;
  margin: 0;
  font-size: 0.875rem;
}
.header-search .form-control:focus ~ label,
.header-search .has-content.form-control ~ label {
  top: -10px;
  font-size: 12px;
  color: #3399ff;
  transition: 0.3s;
}

#banner > .banner-item:not(:first-child) {
  display: none;
}
#banner .slick-slide {
  margin-bottom: -8px;
}
#banner img {
  width: 100%;
  aspect-ratio: 3;
  object-fit: cover;
}

#introduce {
  position: relative;
  padding: 50px 0 90px;
}
#introduce::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #fff;
  opacity: 0.9;
  z-index: -1;
}
#introduce .container .line {
  position: absolute;
  top: 0;
  left: 10%;
  width: 1px;
  height: 100%;
  background: #fff;
  z-index: -1;
  display: block;
}
#introduce .container .line:nth-child(2) {
  left: 30%;
}
#introduce .container .line:nth-child(3) {
  left: 50%;
}
#introduce .container .line:nth-child(4) {
  left: 70%;
}
#introduce .container .line:nth-child(5) {
  left: 90%;
}

.info-ex {
  position: relative;
  margin: -100px 0 50px;
  background: #FF8000;
  border-radius: 5px;
  box-shadow: 0 0 10px;
}
.info-ex .number-item {
  margin: 20px 0;
  text-align: center;
  border-right: 2px dashed #2032B0;
}
.info-ex [class*=col-]:last-child .number-item {
  border-right: 0;
}
.info-ex .number-counter {
  font-family: "fester bold";
  font-size: 2.25rem;
  line-height: normal;
}
.info-ex .text {
  font-size: 0.875rem;
}

.intro-img {
  position: relative;
  margin-right: 80px;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.intro-img::after {
  content: "";
  position: absolute;
  width: 70%;
  height: 70%;
  top: 50%;
  transform: translateY(-50%);
  right: -60px;
  background: #2032B0;
}
.intro-img img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border: 8px solid #DEDEDE;
  position: relative;
  z-index: 1;
}
.intro-img .btn-play {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  width: 80px;
  aspect-ratio: 1;
  border-radius: 50%;
  color: #fff;
  background: #FF8000;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.125rem;
  border: 6px solid #fff;
  z-index: 1;
}

.intro-content {
  color: #fff;
}
.intro-content .title {
  position: relative;
  margin-bottom: 10px;
  font-size: 1.125rem;
  text-transform: uppercase;
}
.intro-content .title::before {
  content: "";
  position: absolute;
  width: 64px;
  height: 2px;
  top: 50%;
  transform: translateY(-50%);
  left: 140px;
  background: #FF8000;
}
.intro-content .text {
  font-family: "fester bold";
  font-size: 2rem;
}

.subcribe-docs {
  padding: 50px 0;
}
.subcribe-docs.home {
  background: #fff;
}
.subcribe-docs .box-subcribe {
  position: relative;
  border-radius: 10px;
  color: #fff;
  background: #FF8000;
  box-shadow: 0px 0px 17px 0px rgba(0, 0, 0, 0.25);
  overflow: hidden;
}
.subcribe-docs .box-subcribe::after {
  content: "";
  position: absolute;
  width: 50%;
  height: 100%;
  top: 0;
  right: 0;
  background: url("images/img-main/subcribe.jpg") no-repeat center/cover;
}
.subcribe-docs .box-left {
  width: 50%;
  padding: 45px;
  text-align: center;
}
.subcribe-docs .title {
  font-family: "fester bold";
  font-size: 2rem;
  margin-bottom: 5px;
}
.subcribe-docs .sub-text {
  font-family: "lato bold";
  text-transform: uppercase;
  font-size: 1.5rem;
}

.btn-modal {
  font-family: "fester bold";
  font-size: 13px;
  text-transform: uppercase;
  border: 0;
  padding: 10px 30px 5px;
  color: #fff;
  background: #377AFC;
  margin-top: 20px;
  transition: all 0.4s;
}
.btn-modal:hover {
  transform: scale(1.1);
}

.project {
  padding: 40px 0;
  color: #fff;
  background: #fff;
}
.project:nth-child(even) {
  background: #2032B0;
}

.slider-project {
  margin: 40px 0 70px;
}
.slider-project > .slider-project-item:not(:first-child) {
  display: none;
}
.slider-project .slick-arrow {
  position: absolute;
  bottom: -20px;
}
.slider-project .chevron-prev {
  left: 40px;
}
.slider-project .chevron-next {
  left: 100px;
}

.slider-project-item {
  display: flex !important;
  align-items: center;
}
.slider-project-item .project-img {
  display: block;
  margin-left: -100px;
  background: #DEDEDE;
  padding: 5px;
}
.slider-project-item img {
  max-width: 750px;
  width: 748px;
  height: 490px;
  object-fit: cover;
}
.slider-project-item .project-info {
  position: relative;
  width: 500px;
  height: 380px;
  z-index: 1;
  background: #2032B0;
  padding: 60px 40px;
}
.slider-project-item .project-title {
  font-family: "lato bold";
  font-size: 1.125rem;
  text-transform: uppercase;
  margin-bottom: 20px;
  line-height: 1.4;
}
.slider-project-item .sapo {
  max-height: 140px;
  overflow: hidden;
  font-size: 0.875rem;
}
.slider-project-item .btn-main {
  margin-top: 30px;
}

.project-item .project-img {
  display: block;
  overflow: hidden;
}
.project-item img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
  transition: all 0.4s;
}
.project-item img:hover {
  transform: scale(1.1);
}
.project-item .body {
  margin-top: 15px;
}
.project-item .project-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
  font-family: "lato bold";
  font-size: 1.125rem;
  text-transform: uppercase;
  color: #fff;
  height: 54px;
}
.project-item .project-title:hover {
  color: #FF8000;
}
.project-item .project-desc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
  font-size: 0.875rem;
  line-height: normal;
  height: 34px;
  margin: 5px 0 10px;
}

.project-reverse .slider-project .chevron-prev {
  left: auto;
  right: 100px;
}
.project-reverse .slider-project .chevron-next {
  left: auto;
  right: 40px;
}
.project-reverse .slider-project-item {
  flex-direction: row-reverse;
}
.project-reverse .slider-project-item .project-info {
  background: #fff;
}
.project-reverse .slider-project-item .project-img {
  margin-left: 0;
  margin-right: -100px;
}

.services {
  position: relative;
  padding: 40px 0 60px;
  color: #fff;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
.services::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #2032B0;
  opacity: 0.6;
  mix-blend-mode: multiply;
}
.services .service-item:nth-child(even) {
  border-right: 0;
  border-left: 0;
}

.service-item {
  flex-basis: 25%;
  margin-top: 25px;
  border: 1px solid #fff;
  padding: 30px 25px;
  transition: all 0.3s;
}
.service-item:hover {
  background: #2032B0;
}
.service-item:hover img {
  filter: brightness(0) invert(1);
}
.service-item .name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
  font-family: "fester bold";
  font-size: 1.125rem;
  height: 50px;
}
.service-item .desc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 4;
  font-size: 0.875rem;
  height: 84px;
}
.service-item img {
  width: 55px;
  aspect-ratio: 1;
  object-fit: contain;
  display: block;
  transition: all 0.3s;
}
.service-item .btn-more {
  margin-top: 30px;
}
.service-item .btn-more:hover::before {
  width: 100px;
}

.progress-tab {
  padding: 40px 0 50px;
}
.progress-tab.home {
  color: #fff;
  background: #fff;
  padding: 60px 0 80px;
}
.progress-tab.home .title-section {
  color: #fff;
}
    .progress-tab.home a::after {
        background: #dee2e6;
    }
.progress-tab.home span::before {
  outline: 1px solid #fff;
}
.progress-tab .title-section {
  color: #000;
}
.progress-tab .nav {
  position: relative;
  justify-content: space-around;
  padding-bottom: 64px;
}
.progress-tab a {
  font-family: "fester bold";
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  font-size: 1.25rem;
  color: #fff;
  background: #2032B0;
  width: 170px;
  height: 130px;
  padding: 0 30px;
  text-align: center;
  border-radius: 5px;
  line-height: normal;
  border: 0 !important;
}
.progress-tab a:hover {
  color: #000;
  background: #FF8000;
}
.progress-tab a.active {
  background: #FF8000 !important;
}
.progress-tab a.active span::before {
  background: #FF8000;
  outline-color: #FF8000;
}
.progress-tab a::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 50px;
  left: 50%;
  transform: translateX(-50%);
  bottom: -50px;
  width: 2px;
  height: 50px;
  background: #D5D8DA;
}
.progress-tab span::before {
  content: "";
  position: absolute;
  width: 25px;
  height: 25px;
  left: 50%;
  transform: translateX(-50%);
  bottom: -76px;
  background: #2032B0;
  border-radius: 50%;
  border: 5px solid #fff;
  outline: 1px solid #D5D8DA;
  z-index: 1;
}
.progress-tab .tab-content {
  margin-top: 40px;
}
.progress-tab .tab-content img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
  height: auto;
}

.quote {
  position: relative;
  color: #fff;
  background: #fff;
  padding: 40px 0 80px;
}
.quote.page {
  margin-top: 50px;
  color: #000;
  background: #fff;
}
    .quote.page::before {
        background: url("images/img-main/BANNER-3-03.png") no-repeat top center/cover;
    }
.quote.page .quote-form .form-control,
.quote.page .quote-form textarea {
  color: #000;
}
.quote.page .quote-form .form-control::placeholder,
.quote.page .quote-form textarea::placeholder {
  color: #000;
}
    .quote::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        bottom: 0;
        left: 0;
        background: url("images/img-main/BANNER-3-03.png") no-repeat top center/cover;
    }
.quote .quote-img {
  width: 100%;
}
.quote .title {
  font-family: "fester bold";
  text-align: center;
  font-size: 1.875rem;
}

.box-quote {
  margin-left: 130px;
}

.quote-form .form-control {
  background: transparent;
  margin-bottom: 20px;
  height: 60px;
  border-radius: 0;
  /*border: 1px solid #C4C4C4;*/
  border: 1px solid #1a1a1a;
  /*color: #fff;*/
  color: #1a1a1a;
  padding: 10px 20px;
}
    .quote-form .form-control::placeholder {
        /*color: #fff;*/
        color: #1a1a1a;
    }
.quote-form .form-control:focus {
  border-color: #80bdff;
}
.quote-form textarea {
    width: 100%;
    /*color: #fff;*/
    color: #1a1a1a;
    background: transparent;
    margin-bottom: 20px;
    border-radius: 0;
    padding: 10px 20px;
    /*border: 1px solid #C4C4C4;*/
    border: 1px solid #1a1a1a;
    outline: 0;
}
    .quote-form textarea::placeholder {
        /*color: #fff;*/
        color: #1a1a1a;
    }
.quote-form textarea:focus {
  border: 1px solid #80bdff;
}
.quote-form .field-validation-error {
  transform: translate(5px, -20px);
}

.btn-form {
  position: relative;
  border: 0;
  padding: 0;
  width: 100%;
  height: 60px;
}
.btn-form span {
  display: block;
  height: 100%;
  line-height: 60px;
  position: relative;
  font-size: 1.125rem;
  font-family: "lato bold";
  /*background: #FF8000;*/
  background: #2032B0;
  color: white;
}
.btn-form:hover::before {
  transition: all 0.75s ease-in-out;
  transform-origin: center;
  transform: scale(1.05, 1.5);
  opacity: 0;
  visibility: visible;
}
    .btn-form::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        border: 4px solid #2032B0;
        transform-origin: center;
        transform: scale(1);
    }

.videos {
  padding: 50px 0;
  background: #fff;
  overflow: hidden;
}
.videos .title-section {
  margin-bottom: 40px;
}
.videos .video-item {
  display: flex;
  margin-bottom: 18px;
}
.videos .video-item:last-child {
  margin-bottom: 0;
}
.videos .video-item .video-img {
  position: relative;
}
.videos .video-item img {
  width: 150px;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 3px;
}
.videos .video-item .play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(255, 255, 255, 0.6);
  font-size: 1.85rem;
}
.videos .video-item .body {
  margin-left: 20px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.videos .video-item .video-name {
  font-family: "lato bold";
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
  margin-bottom: 8px;
}
.videos .video-item .calendar {
  font-size: 0.875rem;
}
.videos .video-item .calendar i {
  color: #FF8000;
  margin-right: 4px;
}

.video-large {
  color: #fff;
}
.video-large .video-img {
  position: relative;
  border-radius: 3px;
  border: 1px solid #FF8000;
  display: block;
  overflow: hidden;
}
.video-large img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.video-large .play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(255, 255, 255, 0.6);
  font-size: 4rem;
}
.video-large .video-name {
  font-family: "lato bold";
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 1;
  margin: 15px 0 5px;
}
.video-large .calendar {
  font-size: 0.875rem;
}
.video-large .calendar i {
  color: #FF8000;
  margin-right: 4px;
}

.feedback {
  position: relative;
  padding: 45px 0 100px;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}

.feedback-list {
  margin-top: 25px;
}
.feedback-list > .feedback-item:not(:first-child) {
  display: none;
}
.feedback-list > .feedback-item {
  width: 50%;
}
.feedback-list .slick-list {
  margin: 0 -40px;
}
.feedback-list .slick-slide {
  padding: 0 40px;
}
.feedback-list .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.feedback-list .chevron-prev {
  left: -65px;
}
.feedback-list .chevron-next {
  right: -65px;
}

.feedback-item {
  position: relative;
  color: #fff;
  background: rgba(13, 29, 49, 0.5);
  padding: 30px 50px 70px;
}
.feedback-item .feedback-client {
  display: flex;
  align-items: center;
}
.feedback-item img {
  width: 80px;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 50%;
}
.feedback-item .info-client {
  margin-left: 20px;
}
.feedback-item .info-client span {
  font-size: 0.875rem;
}
.feedback-item .name {
  font-family: "lato bold";
  height: 20px;
  font-size: 1.125rem;
  color: #FF8000;
  margin-bottom: 0;
}
.feedback-item .feedback-content {
  margin-top: 25px;
  font-size: 0.875rem;
  line-height: 1.6;
}
.feedback-item .text-right {
  position: absolute;
  bottom: 0;
  right: 16px;
  width: 60px;
  height: 45px;
  color: #000;
  background: #FF8000;
  font-size: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.news {
  background: #fff;
  padding: 30px 0 60px;
}

.news-list {
  margin-top: 40px;
}
.news-list > .news-item:not(:first-child) {
  display: none;
}
.news-list > .news-item {
  width: 33.33333%;
}
.news-list .slick-list {
  margin: 0 -15px;
}
.news-list .slick-slide {
  padding: 0 15px;
}
.news-list .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.news-list .chevron-prev {
  left: -65px;
}
.news-list .chevron-next {
  right: -65px;
}

.news-item {
  background: #2032B0;
}
.news-item .news-img {
  display: block;
  overflow: hidden;
}
.news-item img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
  transition: all 0.4s;
}
.news-item img:hover {
  transform: scale(1.1);
}
.news-item .news-body {
  padding: 20px 50px 30px;
  text-align: center;
  color: #fff;
}
.news-item .sub-title {
  margin-bottom: 5px;
}
.news-item .news-name {
  font-family: "lato medium";
  font-size: 1.25rem;
  text-transform: uppercase;
}
.news-item .btn-view {
  text-transform: uppercase;
  border-radius: 50px;
  padding: 10px 30px;
  color: #FF8000;
  background: #FF8000;
  /*background: #FF8000;*/
  font-size: 0.875rem;
  position: relative;
}
.news-item .btn-view:hover::before {
  display: none;
}
.news-item .btn-view:hover span {
  -webkit-text-fill-color: #000;
  background: transparent;
}
.news-item .btn-view::before {
  content: "";
  position: absolute;
  width: 97%;
  height: 93%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #2032B0;
  border-radius: 50px;
}
.news-item .btn-view span {
  position: relative;
  background: #FF8000;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  height: 20px;
  display: inline-block;
  font-family: "lato medium";
}

.partners {
  background: #2032B0;
  padding: 25px 0 55px;
}
.partners.page {
  background: #FF8000;
}
.partners.page .title-section::before {
  background: #fff;
}
.partners.page .slick-dots .slick-active button {
  background: #fff;
}

.partner-list {
  margin-top: 30px;
}
.partner-list > .partner-item:not(:first-child) {
  display: none;
}
.partner-list > .partner-item {
  width: 16.66666%;
  display: block;
}
.partner-list .slick-list {
  margin: 0 -15px;
}
.partner-list .slick-slide {
  padding: 0 15px;
}

.partner-item .partner-img {
  background: #fff;
  border-radius: 7px;
  padding: 10px 20px;
}
.partner-item img {
  width: 100%;
  height: 80px;
  object-fit: contain;
}
.partner-item .partner-name {
  font-family: "lato medium";
  margin-top: 10px;
  font-size: 0.875rem;
  text-transform: uppercase;
  color: #fff;
  line-height: normal;
  text-align: center;
  display: block;
}

.invest {
  padding: 50px 0;
  background: #fff;
}

.invest-form {
  margin-top: 25px;
  color: #fff;
}
.invest-form .form-control {
  padding: 8px 20px;
  height: 48px;
  border-radius: 0;
  color: #fff;
  background: #fff;
}
.invest-form .form-control::placeholder {
  color: #fff;
}
.invest-form .file-upload {
  display: block;
  font-size: 0.875rem;
  margin-top: 10px;
}
.invest-form .btn-form {
  height: 48px;
}
.invest-form .btn-form span {
  line-height: 48px;
}
.invest-form .field-validation-error {
  position: absolute;
  bottom: -24px;
  left: 16px;
}

.branchs {
  padding: 40px 0 20px;
  color: #fff;
  background: #2032B0;
}
.branchs.page {
  color: #000;
  background: #F5F5F5;
}
.branchs.page a {
  color: #000;
}
.branchs .branch-name {
  font-family: "lato bold";
  font-size: 1.25rem;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.branchs a {
  color: #fff;
}

.footer-home .footer {
  color: #fff;
  background: #2032B0;
}
.footer-home .footer .footer-info a {
  color: #fff;
}
.footer-home .footer .footer-info a:hover {
  color: #fff;
}
.footer-home .footer .nav-footer a {
  color: #fff;
}

.footer {
  position: relative;
  padding: 40px 0;
  background: #eee;
  mix-blend-mode: multiply;
}
.footer::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("images/img-main/bg-footer.webp") no-repeat top center/cover;
}
.footer .footer-title {
  font-family: "lato bold";
  text-transform: uppercase;
  color: #FF8000;
  margin-bottom: 15px;
}
.footer .footer-info span {
  font-family: "lato bold";
}
.footer .social {
  margin: 15px 0;
  display: flex;
}
.footer .social a {
  margin-right: 10px;
  width: 36px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid #FF8000;
  color: #FF8000;
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer .social a:hover {
  color: #fff;
  background: #28589c;
  border-color: #28589c;
}
.footer .social a:hover:nth-child(2) {
  background: #00aff0;
  border-color: #00aff0;
}
.footer .social a:hover:nth-child(3) {
  background: #c4302b;
  border-color: #c4302b;
}
.footer .title-subcribe {
  font-family: "lato bold";
  margin-bottom: 10px;
}
.footer .subcribe-form {
  display: flex;
  width: 250px;
}
.footer .subcribe-form .form-control {
  border: 0;
  border-radius: 0;
  font-size: 0.875rem;
}
.footer .subcribe-form button {
  width: 65px;
  height: 35px;
  border: 0;
  background: #FF8000;
  font-size: 0.875rem;
  font-family: "lato bold";
  flex-shrink: 0;
}
.footer .nav-footer li {
  position: relative;
  margin-bottom: 5px;
  padding-left: 15px;
}
.footer .nav-footer li::before {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  top: 8px;
  left: 0;
  background: #FF8000;
}
.footer .nav-footer a:hover {
  color: #FF8000;
}
.footer .fanpage::before {
  padding-top: 0;
}
.footer .map {
  margin-top: 0;
}

.copyright {
  font-size: 0.875rem;
  background: #FF8000;
  padding: 12px 0 8px;
  text-align: center;
}

#subcribeModal .modal-content {
  color: #fff;
  background: #fff;
  padding: 30px 20px;
}
#subcribeModal .title-form {
  font-size: 1.25rem;
  text-align: center;
  font-family: "lato bold";
  margin-bottom: 15px;
}
#subcribeModal .close-modal {
  position: absolute;
  top: 5px;
  right: 8px;
  border: 0;
  font-size: 1.25rem;
  color: #fff;
  background: transparent;
}
#subcribeModal .form-control {
  border-radius: 0;
  border: 1px solid #fff;
  color: #fff;
  background: transparent;
  font-size: 0.875rem;
  height: 44px;
  margin-bottom: 20px;
}
#subcribeModal .form-control::placeholder {
  color: #fff;
}
#subcribeModal .btn-form {
  width: 100px;
  height: 40px;
  left: 50%;
  transform: translateX(-50%);
}
#subcribeModal .btn-form:hover::before {
  transform: scale(1.2, 1.5);
}
#subcribeModal .btn-form span {
  line-height: 40px;
  font-size: 1rem;
}

.bg-header {
  position: relative;
  width: 100%;
  aspect-ratio: 7;
  background-image: url("images/img-main/bg-category.jpg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  display: flex;
  align-items: center;
}
.bg-header::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #fff;
  opacity: 0.6;
}
.bg-header .box-content {
  position: relative;
  max-width: 600px;
}
.bg-header .box-content h2 {
  font-family: "fester bold";
  font-size: 2rem;
  line-height: 36px;
  margin-bottom: 5px;
}

.bg-breadcrumb {
  background: #F3F3F3;
}
.bg-breadcrumb .breadcrumb {
  background: transparent;
  padding: 12px 0;
  margin-bottom: 0;
}
.bg-breadcrumb .breadcrumb-item.active {
  color: #000;
  font-family: "lato bold";
}

.contruction-video {
  padding: 20px 0;
}
.contruction-video .title {
  font-family: "fester bold";
  font-size: 2rem;
  text-align: center;
}

.video-list {
  margin-top: 15px;
}
.video-list > .video-item:not(:first-child) {
  display: none;
}
.video-list > .video-item {
  width: 25%;
}
.video-list .slick-list {
  margin: 0 -10px;
}
.video-list .slick-slide {
  padding: 0 10px;
}
.video-list .slick-arrow {
  position: absolute;
  top: 27%;
  color: #fff;
  background: rgba(13, 29, 49, 0.68);
  border: 0;
}
.video-list .slick-arrow:hover {
  color: #000;
  background: #FF8000;
}
.video-list .chevron-prev {
  left: -65px;
}
.video-list .chevron-next {
  right: -65px;
}
.video-list .slick-dots {
  bottom: -20px;
}
.video-list .slick-dots button {
  background: #BCBCBC;
}
.video-list .slick-dots .slick-active button {
  background: #FF8000;
}
.video-list .video-item .video-img {
  position: relative;
}
.video-list .video-item img {
  width: 100%;
  aspect-ratio: 5/3;
  object-fit: cover;
  border-radius: 5px;
}
.video-list .video-item .play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(255, 255, 255, 0.6);
  font-size: 1.85rem;
}
.video-list .video-item .video-name {
  font-family: "lato bold";
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
  margin-bottom: 8px;
  line-height: 22px;
  margin-top: 10px;
}

.category-name {
  font-family: "fester bold";
  font-size: 1.5rem;
  color: #fff;
  background: #2032B0;
  text-align: center;
  border-radius: 0 10px;
  padding: 14px 0 6px;
  position: relative;
  margin: 30px 0;
}
.category-name::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  bottom: -6px;
  border-radius: 0 10px;
  border: 1px solid #2032B0;
}

.project-item-2 {
  position: relative;
  display: block;
  margin-bottom: 1rem;
}
.project-item-2:hover .project-name {
  color: #FF8000;
}
.project-item-2:hover img {
  transform: scale(1.1);
}
.project-item-2 .project-cat {
  position: absolute;
  top: 20px;
  left: 20px;
  font-size: 0.75rem;
  text-transform: uppercase;
  color: #fff;
  border-radius: 20px;
  background: rgba(87, 87, 87, 0.7);
  padding: 5px 15px;
  z-index: 1;
}
.project-item-2 .project-img {
  overflow: hidden;
  border-radius: 10px;
}
.project-item-2 .project-img img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  transition: all 0.4s;
}
.project-item-2 .project-name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
  font-family: "lato bold";
  font-size: 1.125rem;
  line-height: normal;
  margin-top: 10px;
  height: 44px;
}

.advantage-img {
  width: 100%;
  border-radius: 10px;
}
.advantage .title {
  font-family: "fester bold";
  font-size: 1.875rem;
  text-align: center;
  margin-bottom: 5px;
}
.advantage .content-detail {
  margin-top: 0;
}

.project-detail {
  margin: 20px 0 50px;
}
.project-detail .project-title {
  font-family: "fester bold";
  font-size: 2rem;
  margin-bottom: 20px;
}
.project-detail .date {
  font-size: 0.875rem;
  color: #FF8000;
}
.project-detail .date i {
  margin-right: 5px;
}
.project-detail .sapo-detail {
  font-style: italic;
  margin-top: 10px;
  border: 1px solid #dedede;
  padding: 10px 15px;
  border-radius: 5px;
  font-size: 0.875rem;
  background: #f5f5f5;
}

.slider-for {
  background: #fff;
  box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.25);
  padding: 10px;
}
.slider-for > .slider-for-item:not(:first-child) {
  display: none;
}
.slider-for .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  background: rgba(13, 29, 49, 0.68);
  border: 0;
}
.slider-for .slick-arrow:hover {
  color: #000;
  background: #FF8000;
}
.slider-for .chevron-prev {
  left: 10px;
}
.slider-for .chevron-next {
  right: 10px;
}

.slider-for-item img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: contain;
}

.slider-nav {
  margin-top: 20px;
}
.slider-nav > .slider-nav-item:not(:first-child) {
  display: none;
}
.slider-nav > .slider-nav-item img {
  width: 20%;
}
.slider-nav .slick-list {
  margin: 0 -10px;
}
.slider-nav .slick-slide {
  padding: 0 10px;
}

.slider-nav-item img {
  width: 100%;
  height: 100px;
  object-fit: cover;
}

.content-detail {
  margin-top: 35px;
  text-align: justify;
}
.content-detail a {
  color: #FF8000;
}
.content-detail h1, .content-detail h2 {
  font-size: 1.375rem;
}
.content-detail h3 {
  font-size: 1.25rem;
}
.content-detail h4 {
  font-size: 1.125rem;
}
.content-detail h5, .content-detail h6 {
  font-size: 1rem;
}
.content-detail img {
  max-width: 100% !important;
  height: auto !important;
}
.content-detail iframe {
  max-width: 100% !important;
}
.content-detail table {
  width: auto !important;
}
.content-detail figure {
  background: #eee;
  max-width: 100%;
}
.content-detail figcaption {
  padding: 0.5rem;
}
.content-detail .aligncenter {
  text-align: center;
  margin: auto;
  margin-bottom: 1rem;
}
.content-detail .alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}
.content-detail .alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}
.content-detail .large-8 {
  flex-basis: 66.67%;
  max-width: 66.67%;
}
.content-detail .gallery-col {
  flex-basis: 100%;
}
.content-detail .gallery-columns-1 .gallery-item, .content-detail .large-columns-1 > .col {
  flex-basis: 100%;
}
.content-detail .col-inner {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}
.content-detail .box-image.image-cover {
  padding-top: 0 !important;
}
.content-detail .gallery-columns-3 .gallery-item, .content-detail .large-columns-3 > .col {
  max-width: 33.33%;
  flex-basis: 33.33%;
}
.content-detail .gallery-columns-4 .gallery-item, .content-detail .large-columns-4 > .col {
  max-width: 25%;
  flex-basis: 25%;
}
.content-detail .img img {
  width: 100%;
  height: auto;
}

.toc-content {
  position: relative;
  transition: all 0.3s;
  width: 100%;
  background: #F7F7F7;
  /*padding: 10px;*/
  border: 1px solid #aaa;
  border-radius: 4px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  margin: 1rem 0 0;
}
.toc-content.active {
  width: 50%;
}
.toc-content.active ul {
  display: none;
}
.toc-content .bars-staggered {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  /*padding: 5px;*/
  background: linear-gradient(to bottom, #fff 0, #e0e0e0 100%);
  border-color: #ccc;
  cursor: pointer;
}
.toc-content .name {
  font-weight: 700;
  padding: 0.5rem 1rem;
  background: #EEEEEE;
}
.toc-content ul {
  position: relative;
  padding-left: 1rem;
  list-style: none;
  margin: 1rem 0 0;
}
.toc-content ul ul {
  margin-top: 0.5rem;
}
.toc-content li {
  margin-bottom: 6px;
}
.toc-content a {
  color: #444;
  font-size: 14px;
}
.toc-content a:hover {
  text-decoration: underline;
}

.share li {
  list-style: none;
}
.share button {
  border: 0;
  margin: 0 5px;
  background: #fff;
  padding: 0;
}
.share img {
  width: 30px;
  aspect-ratio: 1;
}

.count-comment {
  font-family: "lato bold";
}

.field-validation-error {
  font-size: 0.875rem;
  color: #DC212D;
  display: inline-block;
}

.comment-form {
  margin: 10px 0 25px;
  border: 1px solid #ced4da;
  border-radius: 4px;
}
.comment-form textarea {
  width: 100%;
  box-shadow: none;
  font-size: 0.875rem;
  outline: none;
  padding: 6px 12px;
  border: 0;
  border-radius: 4px 4px 0 0;
}
.comment-form textarea.active {
  border-bottom: 1px solid #ced4da;
}
.comment-form .box-btn {
  display: none;
  padding: 4px 12px 10px;
}
.comment-form .box-btn.active {
  display: block;
}
.comment-form .form-control {
  margin-right: 20px;
  font-size: 0.875rem;
}
.comment-form button {
  width: 100px;
  height: 35px;
  border: 0;
  border-radius: 4px;
  color: #fff;
  background: #FF8000;
  flex-shrink: 0;
  font-size: 0.875rem;
}
.comment-form .input-content .field-validation-error {
  transform: translate(14px, -6px);
}

.relate-list {
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
  overflow: hidden;
}
.relate-list .title {
  font-family: "fester bold";
  font-size: 1.5rem;
  color: #fff;
  background: #FF8000;
  padding: 10px 0 4px;
  text-align: center;
}
.relate-list .relate-article:not(:last-child) {
  border-bottom: 1px solid #C4C4C4;
}

.relate-article {
  padding: 15px 0;
  margin: 0 20px;
  display: flex;
}
.relate-article .article-img {
  display: block;
}
.relate-article img {
  width: 120px;
  height: 80px;
  border-radius: 5px;
}
.relate-article .body {
  margin-left: 15px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.relate-article .subject {
  font-family: "lato bold";
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
  line-height: normal;
}
.relate-article .subject:hover {
  color: #FF8000;
}
.relate-article .calendar {
  margin-top: 5px;
  font-size: 0.875rem;
}
.relate-article .calendar i {
  color: #FF8000;
  margin-right: 5px;
}

.gift {
  margin-top: 30px;
  position: sticky;
  top: 100px;
}
.gift .gift-img {
  margin-right: 12px;
  position: relative;
}
.gift .gift-img::before {
  content: "";
  position: absolute;
  top: -12px;
  right: -12px;
  width: 100%;
  height: calc(100% + 24px);
  border: 3px solid #FF8000;
  border-radius: 23px;
  z-index: -1;
}
.gift img {
  width: 100%;
  border-radius: 10px;
}
.gift .title {
  font-family: "fester bold";
  font-size: 1.875rem;
  text-align: center;
  margin: 25px 0 5px;
}
.gift li {
  position: relative;
  padding-left: 25px;
  margin-bottom: 10px;
  text-align: justify;
  text-transform: uppercase;
}
.gift li::before {
  font-family: "Font Awesome 6 Pro";
  content: "\f06b";
  position: absolute;
  top: 0;
  left: 0;
  color: #FF8000;
}
.gift li span {
  font-family: "lato bold";
  color: #FF8000;
}

.gift-form {
  display: flex;
  border: 1px solid #C4C4C4;
  margin-top: 20px;
}
.gift-form .form-control {
  border-radius: 0;
  border: 0;
  height: 50px;
  padding: 10px 15px;
}
.gift-form button {
  font-family: "lato bold";
  border: 0;
  font-size: 1.125rem;
  background: #FF8000;
  width: 90px;
}

.advantage-box {
  position: relative;
  border-radius: 10px;
}
.advantage-box::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 10px;
  background: #A6A6A6;
  mix-blend-mode: multiply;
}

.advantage-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
}
.advantage-content .title {
  font-size: 2rem;
}
.advantage-content .sub-text {
  font-family: "lato bold";
  font-size: 1.25rem;
  text-transform: uppercase;
  line-height: normal;
}

.pagination {
  margin-bottom: 0;
}
.pagination > li.active > a {
  color: #fff;
  background: #FF8000;
}
.pagination > li.active > a:hover {
  background: #FF8000;
}
.pagination > li.PagedList-skipToPrevious > a, .pagination > li.PagedList-skipToNext > a {
  border: 0;
}
.pagination > li.PagedList-skipToPrevious > a:hover, .pagination > li.PagedList-skipToNext > a:hover {
  color: #fff;
  background: #FF8000;
}
.pagination > li > a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  width: 30px;
  height: 30px;
  border-radius: 50% !important;
  color: #595864;
  border: 0;
  margin: 0 5px;
  background: #fff;
  font-size: 0.875rem;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.25);
}
.pagination > li > a:hover {
  color: #fff;
  background: #FF8000;
}

.comment-item {
  margin-bottom: 15px;
  border-top: 1px solid #ced4da;
  padding-top: 15px;
}
.comment-item .name {
  font-family: "lato bold";
}
.comment-item .content {
  margin: 5px 0;
}
.comment-item .time {
  font-size: 0.875rem;
  color: #8f9bb3;
}

.contact {
  padding: 40px 0;
}
.contact .box-contact {
  border-top: 6px solid #FF8000;
}
.contact .btn-contact {
  border-radius: 5px;
  color: #fff;
  background: #FF8000;
  border: 0;
  outline: 0;
  text-transform: uppercase;
  padding: 8px 25px;
  margin-top: 15px;
  transition: all 0.5s;
}
.contact .btn-contact:hover {
  box-shadow: 0 4px 8px #7991ad;
}

.contact-form {
  padding: 20px 20px 40px;
  background: #fff;
  box-shadow: 0 4px 10px 0 #7991ad;
  border-radius: 0 0 8px 8px;
}
.contact-form label {
  font-family: "lato bold";
}
.contact-form .form-control {
  height: 40px;
  box-shadow: none;
  margin-bottom: 20px;
  font-size: 0.875rem;
}
.contact-form textarea {
  width: 100%;
  border-radius: 3px;
  border: 1px solid #ced4da;
  padding: 6px 12px;
}
.contact-form textarea:focus, .contact-form textarea:focus-visible {
  border-color: #80bdff;
  outline: none;
}
.contact-form .field-validation-error {
  transform: translate(5px, -20px);
}
.contact-form .btn-main {
  border: 0;
}

.title-contact {
  text-align: center;
  color: #FF8000;
  font-size: 1.25rem;
  text-transform: uppercase;
  font-family: "lato bold";
  margin-bottom: 30px;
}

.color-base {
  font-size: 1.375rem;
  color: #FF8000;
}
.color-base i {
  font-size: 1.125rem;
  margin-right: 5px;
}

.contact-info {
  color: #000;
  margin: 8px 0 16px;
}

.map {
  margin-top: 30px;
  height: auto;
  box-shadow: 0 12px 22px 0 rgba(0, 0, 0, 0.07);
  border-radius: 10px;
}

#AlertBox {
  position: fixed;
  bottom: 20px;
  right: 25px;
  color: #fff;
  padding: 10px;
  border-radius: 5px;
  font-size: 0.875rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  z-index: 1;
  background: #3c763d;
}

.btn-scroll {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #FF8000;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
  cursor: pointer;
  z-index: 90;
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn-scroll i {
  font-size: 1.25rem;
  color: #fff;
}

.zalo {
  position: fixed;
  left: 20px;
  bottom: 5rem;
  width: 60px;
  padding: 10px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}
.zalo img {
  width: 100%;
  height: auto;
}

@media (max-width: 900px) {
  .row {
    margin: 0 -10px;
  }
  .row [class*=col-] {
    padding: 0 10px;
  }
  #header-top, #header {
    display: none;
  }
  .header-mb {
    display: block;
    padding: 10px 0;
    background: #2032B0;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 99;
  }
  .header-mb .logo img {
    width: 135px;
    aspect-ratio: 2.6;
    height: auto;
    object-fit: contain;
  }
  .header-mb .btn-search {
    margin-top: 0;
    font-size: 1.25rem;
  }
  .site-search {
    padding: 20px 0;
  }
  .hamburger {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    overflow: hidden;
    margin-left: 5px;
    z-index: 99;
  }
  .hamburger .bar {
    position: absolute;
    width: 25px;
    height: 2px;
    background: #fff;
    border-radius: 3px;
    transition: all 0.5s;
  }
  .hamburger .bar:nth-child(1) {
    transform: translateY(-9px);
    left: 8px;
  }
  .hamburger .bar:nth-child(2) {
    transform: translateY(9px);
    left: 8px;
  }
  .hamburger.active .bar {
    background: red;
  }
  .hamburger.active .bar:nth-child(1) {
    width: 25px;
    transform: translateY(0) rotate(45deg);
  }
  .hamburger.active .bar:nth-child(2) {
    width: 25px;
    transform: translateY(0) rotate(315deg);
  }
  .hamburger.active .bar:nth-child(3) {
    transform: translateX(60px);
  }
  .menu-mb {
    position: fixed;
    top: 70px;
    left: -45%;
    width: 45%;
    height: calc(100vh - 70px);
    background: #fff;
    z-index: 99 !important;
    padding-top: 20px;
    overflow-y: auto;
    transition: all 0.4s;
  }
  .menu-mb.active {
    left: 0;
  }
  .nav-mb > li {
    position: relative;
  }
  .nav-mb > li:first-child > a {
    border-top: 1px solid #fff;
  }
  .nav-mb > li > a {
    color: #fff;
    text-transform: uppercase;
    display: block;
    padding: 8px 20px;
    border-bottom: 1px solid #fff;
  }
  .expand-bar {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 20px;
    height: 20px;
  }
  .expand-bar::before, .expand-bar::after {
    content: "";
    position: absolute;
    width: 15px;
    height: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    transition: all 0.3s;
  }
  .expand-bar::after {
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .expand-bar.open::before, .expand-bar.open::after {
    transform: translate(-50%, -50%) rotate(180deg);
  }
  .sub-nav-mb {
    display: none;
    background: #fff;
  }
  .sub-nav-mb > li > a {
    display: block;
    font-size: 0.875rem;
    background: #fff;
    padding: 5px 30px;
    border-bottom: 1px solid #000;
  }
  .overlay {
    position: fixed;
    top: 70px;
    right: -56%;
    width: 56%;
    height: calc(100vh - 70px);
    background: rgba(0, 0, 0, 0.5);
    z-index: 90;
    transition: all 0.4s;
  }
  .overlay.active {
    right: 0;
  }
  #introduce {
    padding: 50px 0 30px;
  }
  .intro-img {
    margin-right: 0;
  }
  .intro-img::after {
    width: 100%;
    height: 80%;
    right: -15px;
  }
  .subcribe-docs.home {
    padding: 50px 0 10px;
  }
  .subcribe-docs .box-left {
    width: 60%;
  }
  .subcribe-docs .box-subcribe::after {
    width: 40%;
  }
  .subcribe-docs .title {
    font-size: 1.5rem;
  }
  .subcribe-docs .sub-text {
    font-size: 1rem;
  }
  .project .project-item {
    margin-bottom: 20px;
  }
  .project-reverse .slider-project .chevron-prev {
    left: 0;
    right: auto;
  }
  .project-reverse .slider-project .chevron-next {
    left: 70px;
    right: auto;
  }
  .slider-project {
    margin-bottom: 120px;
  }
  .slider-project .slick-arrow {
    color: #fff;
    border-color: #fff;
    bottom: -80px;
  }
  .slider-project .chevron-prev {
    left: 0;
  }
  .slider-project .chevron-next {
    left: 70px;
  }
  .slider-project-item {
    display: inline-block !important;
  }
  .slider-project-item .project-title {
    margin-bottom: 5px;
  }
  .slider-project-item .project-img {
    margin-left: 0;
  }
  .slider-project-item img {
    width: 100%;
    height: 220px;
  }
  .slider-project-item .project-info {
    width: 100%;
    height: auto;
    padding: 20px;
  }
  .slider-project-item .btn-main {
    margin-top: 10px;
  }
  .services .title-section {
    margin-bottom: 25px;
  }
  .services .service-item:nth-child(even) {
    border-right: 1px solid #fff;
  }
  .services .service-item:last-child {
    display: none;
  }
  .service-item {
    flex-basis: 50%;
    margin-top: 0;
  }
  .box-nav {
    overflow-x: auto;
  }
  .box-nav::-webkit-scrollbar {
    width: 0;
    height: 0;
  }
  .progress-tab .nav {
    display: inline-flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding-bottom: 80px;
    border: 0;
    position: relative;
  }
  .progress-tab .nav:before {
    content: "";
    position: absolute;
    bottom: 1rem;
    left: 0;
    width: 100%;
    height: 1px;
    background: #eee;
  }
  .progress-tab .nav-item {
    margin-right: 20px;
  }
  .progress-tab .tab-content {
    margin-top: 1rem;
  }
  .quote {
    padding: 40px 0 50px;
  }
  .box-quote {
    margin-left: 0;
  }
  .box-quote .title p {
    margin-bottom: 0;
  }
  .video-large {
    margin-bottom: 30px;
  }
  .feedback-list {
    padding: 0 40px;
  }
  .feedback-list .slick-list {
    margin: 0 -5px;
  }
  .feedback-list .slick-slide {
    padding: 0 5px;
  }
  .feedback-list .chevron-prev {
    left: -10px;
  }
  .feedback-list .chevron-next {
    right: -10px;
  }
  .feedback-item {
    padding: 20px 20px 50px;
  }
  .news-list {
    padding: 0 40px;
  }
  .news-list .slick-list {
    margin: 0 -5px;
  }
  .news-list .slick-slide {
    padding: 0 5px;
  }
  .news-list .chevron-prev {
    left: -10px;
  }
  .news-list .chevron-next {
    right: -10px;
  }
  .partner-list .slick-list {
    margin: 0 -10px;
  }
  .partner-list .slick-slide {
    padding: 0 10px;
  }
  .bg-header {
    aspect-ratio: 5;
  }
  .bg-header .box-content h2 {
    font-size: 1.5rem;
    line-height: 20px;
  }
  .project-item-2 .project-cat {
    top: 10px;
    left: 10px;
  }
  .advantage .title {
    font-size: 1.5rem;
  }
  .video-list {
    padding: 0 60px;
  }
  .video-list .chevron-prev {
    left: 0;
  }
  .video-list .chevron-next {
    right: 0;
  }
  .article-category .news-item {
    margin-bottom: 20px;
  }
  .box-contact {
    margin-bottom: 30px;
  }
  .advantage-content {
    width: 100%;
  }
  .advantage-content .title {
    font-size: 1rem;
  }
  .advantage-content .sub-text {
    font-size: 1rem;
  }
  .project-detail .project-title {
    font-size: 1.5rem;
  }
}
@media (max-width: 600px) {
  .row {
    margin: 0 -5px;
  }
  .row [class*=col-] {
    padding: 0 5px;
  }
  .hamburger {
    width: 35px;
    height: 35px;
    margin-left: 0;
  }
  .hamburger.active .bar:nth-child(1), .hamburger.active .bar:nth-child(2) {
    width: 23px;
  }
  .hamburger .bar {
    height: 2px;
    width: 23px;
  }
  .hamburger .bar:nth-child(1) {
    transform: translateY(-7px);
    left: 6px;
  }
  .hamburger .bar:nth-child(2) {
    transform: translateY(7px);
    left: 6px;
  }
  .header-mb .btn-search {
    font-size: 1rem;
  }
  .header-mb .logo img {
    width: 105px;
  }
  #banner img {
    aspect-ratio: 1.5;
  }
  #introduce {
    padding-top: 1rem;
  }
  .info-ex {
    margin-top: 0;
    margin-bottom: 1rem;
  }
  .info-ex .row {
    margin: 0 -5px;
  }
  .info-ex .row [class*=col-] {
    padding: 0 5px;
    display: flex;
  }
  .info-ex .number-item {
    border-width: 1px;
    width: 100%;
  }
  .info-ex .number-counter {
    font-size: 1.125rem;
  }
  .info-ex .text {
    font-size: 0.75rem;
  }
  .intro-img {
    margin-bottom: 40px;
  }
  .intro-img .btn-play {
    bottom: -27px;
    width: 65px;
    border-width: 5px;
  }
  .intro-content .title {
    font-size: 0.875rem;
  }
  .intro-content .title::before {
    left: 110px;
  }
  .intro-content .text {
    font-size: 1.125rem;
  }
  .subcribe-docs .box-subcribe::after {
    display: none;
  }
  .subcribe-docs .box-left {
    width: 100%;
    padding: 15px;
  }
  .subcribe-docs .title {
    font-size: 1rem;
  }
  .subcribe-docs .sub-text {
    font-size: 0.75rem;
  }
  .btn-modal {
    margin-top: 10px;
    font-size: 0.75rem;
    padding: 10px 20px 5px;
  }
  .project {
    padding: 30px 0;
  }
  .title-section {
    font-size: 1.25rem;
  }
  .title-section.line::before {
    width: 100px;
  }
  .slider-project-item .project-title {
    font-size: 0.875rem;
  }
  .slider-project-item img {
    height: 150px;
  }
  .btn-main {
    font-size: 0.75rem;
    padding: 6px 20px 2px;
  }
  .slider-project {
    margin: 20px 0 90px;
  }
  .slider-project .slick-arrow {
    bottom: -60px;
  }
  .slider-project .chevron-next {
    left: 55px;
  }
  .slick-arrow {
    width: 35px;
    font-size: 0.875rem;
  }
  .project-item .project-title {
    font-size: 0.875rem;
    height: 40px;
  }
  .project-reverse .slider-project .chevron-next {
    left: 55px;
  }
  .service-item .name {
    font-size: 0.875rem;
    height: 42px;
  }
  .progress-tab.home {
    padding: 30px 0;
  }
  .progress-tab a {
    font-size: 0.875rem;
    width: 120px;
    height: 80px;
  }
  .quote .quote-img {
    margin-bottom: 40px;
  }
  .box-quote .title {
    font-size: 1.5rem;
  }
  .box-quote .desc {
    margin-top: 5px;
  }
  .quote-form .form-control {
    height: 42px;
    font-size: 0.875rem;
  }
  .btn-form {
    height: 40px;
  }
  .btn-form span {
    line-height: 40px;
    font-size: 0.875rem;
  }
  .videos {
    padding: 30px 0;
  }
  .videos .title-section {
    margin-bottom: 20px;
  }
  .feedback-list,
  .news-list {
    padding: 0 30px;
  }
  .partner-list .slick-list {
    margin: 0 -5px;
  }
  .partner-list .slick-slide {
    padding: 0 5px;
  }
  .partner-item .partner-name {
    font-size: 0.75rem;
  }
  .invest {
    padding: 30px 0;
  }
  .invest-form .form-control {
    height: 42px;
    font-size: 0.875rem;
    padding: 6px 12px;
  }
  .invest-form .btn-form {
    margin-top: 20px;
    height: 40px;
  }
  .invest-form .btn-form span {
    line-height: 40px;
    font-size: 0.875rem;
  }
  .branchs .col {
    flex-basis: 100% !important;
  }
  .menu-mb {
    top: 60px;
    width: 100%;
    left: -100%;
  }
  .overlay {
    display: none;
  }
  .bg-header .box-content h2 {
    font-size: 1.125rem;
  }
  .bg-header .box-content .desc {
    display: none;
  }
  .contruction-video .title {
    font-size: 1.25rem;
  }
  .video-list {
    padding: 0 40px;
  }
  .category-name {
    font-size: 1.125rem;
  }
  .project-item-2 .project-name {
    font-size: 1rem;
  }
  .subcribe-docs {
    padding: 30px 0 40px;
  }
  .advantage .title {
    font-size: 1.25rem;
    margin-top: 30px;
  }
  .news-item .news-name {
    font-size: 0.875rem;
  }
  .project-detail .project-title {
    font-size: 1.125rem;
  }
  .relate-list .title {
    font-size: 1.125rem;
  }
  .gift .title {
    font-size: 1.25rem;
  }
  .content-detail .large-columns-3 .col, .content-detail .large-columns-3 [class*=col-] {
    flex-basis: 50%;
  }
}
.tel {
  background: rgba(0, 0, 0, 0.7);
  border-radius: 30px;
  height: 50px;
  left: 26px;
  overflow: hidden;
  position: relative;
  top: 26px;
  width: max-content;
  z-index: -1;
  padding-right: 10px;
}
@media (max-width: 768px) {
  .tel {
    display: none;
  }
}

.fone {
  color: #fff;
  font-size: 25px;
  font-weight: bold;
  line-height: 40px;
  margin: 5px;
  padding-left: 50px;
}

.suntory-alo-ph-img-circle i {
  animation: 1s ease-in-out 0s normal none infinite running suntory-alo-circle-img-anim;
  font-size: 30px;
  line-height: 50px;
  color: #fff;
}

.suntory-alo-phone {
  background-color: transparent;
  cursor: pointer;
  height: 95px;
  position: fixed;
  transition: visibility 0.5s ease 0s;
  width: 120px;
  z-index: 90 !important;
}

.suntory-alo-ph-circle {
  animation: 1.2s ease-in-out 0s normal none infinite running suntory-alo-circle-anim;
  background-color: transparent;
  border: 2px solid rgba(30, 30, 30, 0.4);
  border-radius: 100%;
  height: 100px;
  left: 0px;
  opacity: 0.1;
  position: absolute;
  top: 0px;
  transform-origin: 50% 50% 0;
  transition: all 0.5s ease 0s;
  width: 100px;
}

.suntory-alo-ph-circle-fill {
  animation: 2.3s ease-in-out 0s normal none infinite running suntory-alo-circle-fill-anim;
  border: 2px solid transparent;
  border-radius: 100%;
  height: 70px;
  left: 15px;
  position: absolute;
  top: 15px;
  transform-origin: 50% 50% 0;
  transition: all 0.5s ease 0s;
  width: 70px;
}

.suntory-alo-ph-img-circle {
  border: 2px solid transparent;
  border-radius: 100%;
  height: 50px;
  left: 25px;
  opacity: 0.7;
  position: absolute;
  top: 25px;
  transform-origin: 50% 50% 0;
  width: 50px;
  text-align: center;
}

.suntory-alo-phone.suntory-alo-hover, .suntory-alo-phone:hover {
  opacity: 1;
}

.suntory-alo-phone.suntory-alo-active .suntory-alo-ph-circle {
  animation: 1.1s ease-in-out 0s normal none infinite running suntory-alo-circle-anim !important;
}

.suntory-alo-phone.suntory-alo-static .suntory-alo-ph-circle {
  animation: 2.2s ease-in-out 0s normal none infinite running suntory-alo-circle-anim !important;
}

.suntory-alo-phone.suntory-alo-hover .suntory-alo-ph-circle, .suntory-alo-phone:hover .suntory-alo-ph-circle {
  border-color: #ff8000;
  opacity: 0.5;
}

.suntory-alo-phone.suntory-alo-green.suntory-alo-hover .suntory-alo-ph-circle, .suntory-alo-phone.suntory-alo-green:hover .suntory-alo-ph-circle {
  border-color: #ff8000;
  opacity: 1;
}

.suntory-alo-phone.suntory-alo-green .suntory-alo-ph-circle {
  border-color: #ff8000;
  opacity: 1;
}

.suntory-alo-phone.suntory-alo-hover .suntory-alo-ph-circle-fill, .suntory-alo-phone:hover .suntory-alo-ph-circle-fill {
  background-color: #ff8000;
}

.suntory-alo-phone.suntory-alo-green.suntory-alo-hover .suntory-alo-ph-circle-fill, .suntory-alo-phone.suntory-alo-green:hover .suntory-alo-ph-circle-fill {
  background-color: #ff8000;
}

.suntory-alo-phone.suntory-alo-green .suntory-alo-ph-circle-fill {
  background-color: #ff8000;
}

.suntory-alo-phone.suntory-alo-hover .suntory-alo-ph-img-circle, .suntory-alo-phone:hover .suntory-alo-ph-img-circle {
  background-color: #ff8000;
}

.suntory-alo-phone.suntory-alo-green.suntory-alo-hover .suntory-alo-ph-img-circle, .suntory-alo-phone.suntory-alo-green:hover .suntory-alo-ph-img-circle {
  background-color: #ff8000;
}

.suntory-alo-phone.suntory-alo-green .suntory-alo-ph-img-circle {
  background: #ff8000;
}

@keyframes suntory-alo-circle-anim {
  0% {
    opacity: 0.1;
    transform: rotate(0deg) scale(0.5) skew(1deg);
  }
  30% {
    opacity: 0.5;
    transform: rotate(0deg) scale(0.7) skew(1deg);
  }
  100% {
    opacity: 0.6;
    transform: rotate(0deg) scale(1) skew(1deg);
  }
}
@keyframes suntory-alo-circle-img-anim {
  0% {
    transform: rotate(0deg) scale(1) skew(1deg);
  }
  10% {
    transform: rotate(-25deg) scale(1) skew(1deg);
  }
  20% {
    transform: rotate(25deg) scale(1) skew(1deg);
  }
  30% {
    transform: rotate(-25deg) scale(1) skew(1deg);
  }
  40% {
    transform: rotate(25deg) scale(1) skew(1deg);
  }
  50% {
    transform: rotate(0deg) scale(1) skew(1deg);
  }
  100% {
    transform: rotate(0deg) scale(1) skew(1deg);
  }
}
@keyframes suntory-alo-circle-fill-anim {
  0% {
    opacity: 0.2;
    transform: rotate(0deg) scale(0.7) skew(1deg);
  }
  50% {
    opacity: 0.2;
    transform: rotate(0deg) scale(1) skew(1deg);
  }
  100% {
    opacity: 0.2;
    transform: rotate(0deg) scale(0.7) skew(1deg);
  }
}
@keyframes suntory-alo-ring-ring {
  0% {
    transform: rotate(0deg) scale(1) skew(1deg);
  }
  10% {
    transform: rotate(-25deg) scale(1) skew(1deg);
  }
  20% {
    transform: rotate(25deg) scale(1) skew(1deg);
  }
  30% {
    transform: rotate(-25deg) scale(1) skew(1deg);
  }
  40% {
    transform: rotate(25deg) scale(1) skew(1deg);
  }
  50% {
    transform: rotate(0deg) scale(1) skew(1deg);
  }
  100% {
    transform: rotate(0deg) scale(1) skew(1deg);
  }
}




.banner-img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* mặc định cho màn lớn */
}

/* Màn nhỏ → dùng contain */
@media (max-width: 600px) {
    .banner-img {
        object-fit: contain !important;
        background-color: #f5f5f5; /* tùy chọn để không bị khoảng trống đen */
    }
}



.feedback-header button {
    display: none !important;
}

.feedback-header .slick-dots {
    display: none !important;
}