.container {
  max-width: 100%;
}

.font-size-1 {
  font-size: 1.125em;
}
.font-size-2 {
  font-size: 1.25em;
}
.font-size-3 {
  font-size: 1.5em;
}
.font-size-4 {
  font-size: 2em;
}

.btn {
  border-radius: 0;
}

.btn-default {
  padding: .5rem 1rem;
  font-size: 18px;
  color: #fff;
  background-color: #A37A25;
  border-color: #A37A25;
  border-radius: 6px;
}
.btn-default:hover {
  color: #fff;
  background-color: #976e1d;
  border-color: #976e1d;
}
.btn-default.focus, .btn-default:focus {
  color: #fff;
  background-color: #976e1d;
  border-color: #976e1d;
  box-shadow: none;
}
.btn-default:not(:disabled):not(.disabled).active, .btn-default:not(:disabled):not(.disabled):active, .show>.btn-default.dropdown-toggle {
  color: #fff;
  background-color: #976e1d;
  border-color: #976e1d;
}

.btn-minor {
  color: #fff;
  background-color: #D8C5AB;
  border-color: #D8C5AB;
  border-radius: 6px;
}
.btn-minor:hover {
  color: #fff;
  background-color: #d3bea2;
  border-color: #d3bea2;
}
.btn-minor.focus, .btn-minor:focus {
  color: #fff;
  background-color: #d3bea2;
  border-color: #d3bea2;
  box-shadow: none;
}
.btn-minor:not(:disabled):not(.disabled).active, .btn-minor:not(:disabled):not(.disabled):active, .show>.btn-minor.dropdown-toggle {
  color: #fff;
  background-color: #d3bea2;
  border-color: #d3bea2;
}

.link-default {
  color: #8e51a5;
}
.link-default:hover {
  color:#5d3b6d;
  text-decoration: none;
}

.link-outline-default {
  color: #8e51a5;
}
.link-outline-default:hover {
  color:#5d3b6d;
  text-decoration: none;
}

.link-grey {
  color: #6c757d;
}
.link-grey:hover {
  color: #8e51a5;
  text-decoration: none;
}

.link-more i {
  margin-left: .25em;
}
.link-more:hover i,
.link-more:focus i {
  animation: link-more .5s;
}
@keyframes link-more
{
  0% {margin-left: .25em; opacity: 1;}
  75% {margin-left: 1em; opacity: 0;}
  76% {margin-left: 0;}  
  100% {margin-left: .25em; opacity: 1;}
}

.link-shadow {
  display: inline-block;
  transition: all .3s;
}
.link-shadow:hover {
  text-decoration: none;
  box-shadow: 0 0 10px rgba(0,0,0,.25);
}

/*
 * header
 */
header {
  background-color: rgba(23,40,100,0.9);
}
header .navbar-brand {
  padding-top: 0;
  padding-bottom: 0;
  font-size: 0;
}
header .navbar-brand img {
  height: 2rem;
}
header .navbar {
  padding-left: 0;
  padding-right: 0;
}
header .navbar-nav .nav-item {
  border-top: 1px solid rgba(255,255,255,.1)
}
header .navbar-nav .nav-link {
  position: relative;
  text-align: center;
  color: #fff;
  transition: color .25s;
}
header .navbar-nav .nav-item:first-child {
  padding-left: 0;
}
header .navbar-nav .nav-item:last-child {
  padding-right: 0;
}
.navbar-expand-md .navbar-nav .nav-link {
  padding: 1rem 1.25rem;
  font-weight: 350;
}
header .navbar-nav>.nav-item:has(.active)>.nav-link,
header .navbar-nav .nav-item.active>.nav-link,
header .navbar-nav .nav-item:hover>.nav-link,
header .navbar-nav .nav-link:hover {
  font-weight: 500;
}
header .navbar-nav>.nav-item.active>.nav-link::after {
  content: '';
  position: absolute;
  display: block;
  left: calc(50% - 12.5px);
  bottom: .5rem;
  height: 3px;
  width: 25px;
  background-color: #D8C5AB;
  border-radius: 1.5px;
}
header .navbar-nav>.nav-item>.nav-link {
  text-transform: uppercase;
}

header .navbar-nav .nav-item ul {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
}

header .navbar-collapse {
  margin: .5rem -15px -0.5rem;
  max-height: calc(100vh - 3rem);
}

header .navbar-toggler {
  position: relative;
  padding: 0;
  width: 30px;
  height: 30px;
  border: 0;
}
header .navbar-toggler:focus {
  outline: none;
}
header .navbar-toggler .navbar-toggler-line {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
header .navbar-toggler .navbar-toggler-line:nth-child(1),
header .navbar-toggler .navbar-toggler-line:nth-child(3) {
  transition: transform .15s ease-in-out .15s;
}
header .navbar-toggler .navbar-toggler-line:nth-child(1) {  
  transform: rotate(45deg); 
}
header .navbar-toggler .navbar-toggler-line:nth-child(3) {
  transform: rotate(-45deg); 
}
header .navbar-toggler .navbar-toggler-line::after {
  content: "";
  position: absolute;
  left: 6px;
  display: block;
  width: 18px;
  height: 2px;
  background-color: #bfbfbf;
}
header .navbar-toggler .navbar-toggler-line:nth-child(1)::after,
header .navbar-toggler .navbar-toggler-line:nth-child(3)::after {  
  top: 14px;
  transition: top .15s ease-in-out, transform .15s ease-in-out;
}
header .navbar-toggler .navbar-toggler-line:nth-child(2)::after {
  top: 14px;
  opacity: 0;
  transition: opacity .15s ease-in-out;
}
header .navbar-toggler.collapsed .navbar-toggler-line:nth-child(1),
header .navbar-toggler.collapsed .navbar-toggler-line:nth-child(3) {
  transform: none;
  transition: transform .15s ease-in-out;
}
header .navbar-toggler.collapsed .navbar-toggler-line:nth-child(1)::after {
  top: 8px;
}
header .navbar-toggler.collapsed .navbar-toggler-line:nth-child(3)::after {
  top: 20px;
}
header .navbar-toggler.collapsed .navbar-toggler-line:nth-child(1)::after,
header .navbar-toggler.collapsed .navbar-toggler-line:nth-child(3)::after {
  transition: top .15s ease-in-out .15s;
}
header .navbar-toggler.collapsed .navbar-toggler-line:nth-child(2)::after {
  opacity: 1;
}

header .navbar .nav-lang {
  padding: .5rem 0;
  text-align: center;
  border-top: 1px solid rgba(255,255,255,.1)
}
header .navbar .nav-lang .dropdown-toggle {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  color: #fff;
}
header .navbar .nav-lang .dropdown-toggle img {
  display: inline-block;
  margin-right: 4px;
  width: 20px;
}
header .navbar .nav-lang .dropdown-toggle::after {
  width: 10px;
  height: 10px;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 5'%3e%3cpolygon fill='%23FFFFFF' points='9.1,0 5,3.1 0.9,0 0,1.2 5,5 10,1.2'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  border: 0;
}
header .navbar .nav-lang .dropdown-menu {
  margin-top: 0;
  width: 100%;
  background-color: #D8C5AB;
  border: 0;
  border-radius: 0;
}
header .navbar .nav-lang .dropdown-menu .dropdown-item {
  text-align: center;
}
header .navbar .nav-lang .dropdown-menu .dropdown-item.active {
  background-color: transparent;
}
header .navbar .nav-lang .dropdown-menu .dropdown-item:hover {
  background-color: transparent;
}

/*
 * main
 */
main {
  padding-top: 0;
}

#slideHome .carousel-item {
  height: 100vh;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
#slideHome .carousel-caption {
  left: auto;
  right: auto;
  top: 20%;
  bottom: auto;
  color: inherit;
}
#slideHome .carousel-caption .caption-wrapper {  
  position: relative;
}
#slideHome .carousel-caption .caption {
  position: relative;
  top: 0;
  padding: 1.5rem;
  width: 100%;
  background-color: #fff;
  opacity: 0;
}
#slideHome .carousel-caption h2 {
  font-size: 2rem;
}
#slideHome .carousel-caption .caption-wrapper::after {
  content: "";
  position: absolute;
  top: 1rem;
  z-index: -1;  
  width: 80%;
  height: 0;
  background-color: #794a88;
}
#slideHome .carousel-caption .caption-wrapper.float-md-right::after {
  right: -0.5rem;
}
#slideHome .carousel-caption .caption-wrapper.float-md-left::after {
  left: -0.5rem;
}
#slideHome .carousel-caption .caption-wrapper.float-md-right .caption {
  right: 3rem;
}
#slideHome .carousel-caption .caption-wrapper.float-md-left .caption {
  left: 3rem;
}
#slideHome .carousel-item.active .carousel-caption .caption-wrapper::after {
  height: 120%;
  transition: height 2s 0.5s;
}
#slideHome .carousel-item.active .carousel-caption .caption-wrapper.float-md-right .caption {
  right: 0;
}
#slideHome .carousel-item.active .carousel-caption .caption-wrapper.float-md-left .caption {
  left: 0;
}
#slideHome .carousel-item.active .carousel-caption .caption {
  opacity: 1;
  transition: all 1s 1s;
}

main .home-banner {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image: url(../../public/images/home_banner.jpg);
}
main .home-banner .caption-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
}
main .home-banner .caption-headline {
  margin-bottom: .25em;
  padding: 3rem 1rem 0;
  text-align: center;
  font-weight: bold;
  font-size: 2.5rem;
}
main .home-banner .caption-subtitle {
  font-weight: normal;
  font-size: 1rem;
}
main .home-banner .caption-achievement {
  margin-top: 3rem;
  text-align: center;
}
main .home-banner .caption-achievement .data-item {
  margin-top: 30px;
}
main .home-banner .caption-achievement .data-item .data-num {
  white-space: nowrap;
  font-weight: bold;
  font-size: 3rem;
}
main .home-banner .caption-achievement .data-item .data-num .data-unit {
  font-size: 1.25rem;
} 
main .home-banner .caption-bannerachievement .data-item .data-name {
  font-weight: 500;
  font-size: 1rem;
} 

main.home h2 {
  margin-bottom: .25rem;
  font-weight: 500;
  font-size: 32px;
  line-height: 1.5;
  color: #1F2C5C;
}
main.home h5 {
  margin-bottom: 32px;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.5;
  color: #A37A25;
}

main .home-about {
  padding: 60px 0;
  text-align: center;
  background: #F7F9FB url(../../public/images/home_about_bg.jpg) no-repeat center center;
  background-size: cover;
}
main .home-about video {
  width: 100%;
}
main .home-about p {
  margin: 0 auto 30px;
  text-align: left;
  font-size: 14px;
  line-height: 2;
  color: #3D3D3D;  
}
main .home-about .btn {
  padding-left: 2em;
  padding-right: 2em;
} 

main .home-service {
  padding: 60px 0;
  background-color: #fff;
}
main .home-service .service-text {
  text-align: center;
}
main .home-service .service-item-wrapper {
  display: flex;
  justify-content: center;
}
main .home-service .service-item {
  display: flex;
  align-items: start;
}
main .home-service .service-item .bi {
  margin-right: 20px;
  font-size: 28px;
  line-height: 1;
  color: #A37A25;
}
main .home-service .service-item h4 {
  margin-bottom: 4px;
  font-size: 24px;
  line-height: 28px;
  color: #1F2C5C;
}
main .home-service .service-item p {
  margin-bottom: 0;
  font-size: 18px;
  color: #999;
}
main .home-service .btn {
  padding-left: 2em;
  padding-right: 2em;
} 
main .home-service .service-list .list-item {
  position: relative;
  margin-bottom: 30px;
  padding-left: 28px;
  text-align: left;
  font-weight: 700;
  font-size: 24px;
  line-height: 180px;
  color: #1F2C5C;
  background-color: #F8FAFC;
  overflow: hidden;
  transition: padding-left .3s;
}
main .home-service .service-list .list-item:hover {
  padding-left: 23px;
}
main .home-service .service-list .list-item img {
  position: absolute;
  right: 0;
  bottom: 0;
  transition: transform .3s;
}
main .home-service .service-list .list-item:hover img {  
  transform: scale(1.1);
}

main .home-contact {  
  padding: 60px 0;
  text-align: center;
  background: #F7F9FB url(../../public/images/home_contact_bg.jpg) no-repeat center center;
  background-size: cover;
}
main .home-contact h2 {
  margin-bottom: .5em;
  color: #A37A25;
}
main .home-contact p {
  margin-bottom: 3em;
  font-size: 14px;
  line-height: 2;
}
main .home-contact .btn {
  padding-left: 2em;
  padding-right: 2em;
} 


/*
 * footer
 */
footer {
  padding: 36px 0 60px;
  color: #fff;
  background-color: #292E64;
}

footer .logo {
  margin-bottom: 34px;
}
footer .logo img {
  width: 200px;
}

footer .footer-main {
  border-bottom: 1px solid rgba(255,255,255,.5);
}
footer .footer-main>div {
  margin-bottom: 1rem;
}

footer .link-container {
  margin-bottom: 10px;
}
footer .title-link {
  text-decoration: none;  
  font-size: 18px;
  color: inherit;
}
footer .title-link+.title-link {
  margin-left: 32px;
}

footer .contact-list {
  list-style: none;
  padding-left: 0;
}
footer .contact-list li {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: #B9BCCA;
}
footer .contact-list li+li {
  margin-top: 8px;
}
footer .contact-list li i {
  margin-right: 6px;
  width: 14px;
  height: 14px;
  font-size: 0;
}

footer .contact-tel {
  text-align: center;
}
footer .contact-tel .tel-name {
  color: rgba(255,255,255,.5);
  font-size: .875rem;
}
footer .contact-tel .tel-num {
  font-size: 1.25rem;
}
@supports (background-clip: text) or (-webkit-background-clip: text) {
  footer .contact-tel .tel-num {
    background-image: linear-gradient(150deg, #ffc107, #dc3545);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
  }
}

footer hr {
  border-top-color: rgba(255,255,255,.05);
}

footer .nav {
  font-size: .875rem;
}
footer .nav .nav-item {
  padding-right: 1rem;
}
footer .nav .nav-item:last-child {
  padding-right: 0;
}
footer .nav .nav-link {
  padding: 0;
  color: rgba(255,255,255,.5);
}
footer .nav .nav-link:hover {
  color: rgba(255,255,255,.75);
}

footer .copyright {
  font-size: .875rem;
  color: rgba(255,255,255,.5);
}

.modal-backdrop {
  background-color: #1F2C5C;
}
.modal-backdrop.show {
  opacity: .85;
}

.modal-common .modal-content {
  border-width: 0;
  border-radius: 0;
  background-color: #F8FAFC;
}
.modal-common .modal-body button.close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 1rem 1rem;
}

.modal-alert .modal-body {
  padding: 3rem 2rem 2rem;
  text-align: center;
  font-size: 18px;
}
.modal-alert .modal-footer {
  justify-content: center;
  border-top-width: 0;
}
.modal-alert .modal-footer .btn {
  padding: 14px 50px;
}


/*
 * form
 */
.form-group {
  margin-bottom: 24px;
}
.form-control {
  height: 58px;
  padding: 15px;
  font-weight: 500;
  font-size: 18px;
  line-height: 26px;
  color: #1F2C5C;
  border-color: #000;
  border-radius: 5px;
}
.form-control:focus {
  border-color: #1F2C5C;
  box-shadow: none;
}
select.form-control {
  background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 15'%3e%3cpath fill='%238f97bb' d='M13.8,14.2l9.5-10C24.9,2.6,23.7,0,21.5,0l-19,0C0.3,0-0.8,2.6,0.7,4.2l9.5,10C11.2,15.3,12.8,15.3,13.8,14.2z'/%3e%3c/svg%3e") right .75rem center/12px 7px no-repeat;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
select.form-control option {
  color: #1F2C5C;
}

.form-control::placeholder,
select.form-control.placeholder,
select.form-control option[disabled] {
  color: #B9BCCA;
}
select.form-control~label.placeholder {
  position: absolute;
  left: 0;
  height: 58px;
  padding: 15px;
  font-weight: 500;
  font-size: 18px;
  line-height: 26px;
  color: #B9BCCA;
}

.form-check-inline {
  display: inline-flex;
  margin-right: 2.5rem;
}
.form-check {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.75rem;
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
  print-color-adjust: exact;
}
.form-check .form-check-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1.25rem;
  height: 1.5rem;
  opacity: 0;
}
.form-check-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
}
.form-check-label::before {
  position: absolute;
  top: .125rem;
  left: -1.75rem;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  pointer-events: none;
  content: "";
  background-color: #fff;
  border: 1px solid #000;
}
.form-check-input[type="radio"]~.form-check-label::before {
  border-radius: 50%;
}
.form-check-label::after {
  position: absolute;
  top: .125rem;
  left: -1.75rem;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background: 50%/88% 88% no-repeat;
}
.form-check .form-check-input[type="radio"]:checked~.form-check-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%231f2c5c'/%3e%3c/svg%3e");
}
.form-check .form-check-input[type="checkbox"]:checked~.form-check-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%231f2c5c' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}