.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 1.25rem;
  font-size: 16px;
  color: #9B8888;
  background-color: transparent;
  border-color: #9B8888;
  border-radius: 5px;
}
.btn-default:hover {
  color: #fff;
  background-color: #9B8888;
  border-color: #9B8888;
}
.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-default i {
  margin-right: 10px;
}
.btn-default i svg {
  fill: #9B8888; 
}
.btn-default:hover i svg {
  fill: #fff;  
}

.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;
}

.btn-modal {
  padding: .5rem 1rem;
  font-size: 18px;
  color: #fff;
  background-color: #1F2C5C;
  border-color: #1F2C5C;
  border-radius: 0;
}
.btn-modal:hover {
  color: #fff;
  background-color: #1b2855;
  border-color: #1b2855;
}
.btn-modal.focus, .btn-modal:focus {
  color: #fff;
  background-color: #1b2855;
  border-color: #1b2855;
  box-shadow: none;
}
.btn-modal:not(:disabled):not(.disabled).active, .btn-modal:not(:disabled):not(.disabled):active {
  color: #fff;
  background-color: #1b2855;
  border-color: #1b2855;
}

.btn-modal-secondary {
  padding: .5rem 1rem;
  font-size: 18px;
  color: #fff;
  background-color: #9B8888;
  border-color: #9B8888;
  border-radius: 0;
}
.btn-modal-secondary:hover {
  color: #fff;
  background-color: #917c7c;
  border-color: #917c7c;
}
.btn-modal-secondary.focus, .btn-modal:focus {
  color: #fff;
  background-color: #917c7c;
  border-color: #917c7c;
  box-shadow: none;
}
.btn-modal-secondary:not(:disabled):not(.disabled).active, .btn-modal-secondary:not(:disabled):not(.disabled):active {
  color: #fff;
  background-color: #917c7c;
  border-color: #917c7c;
}

.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.header-shadow {  
  box-shadow: 0 5px 10px rgba(0,0,0,.1);
} 
header {
  background-color: #fff;
}
header .navbar-brand {
  padding-top: 0;
  padding-bottom: 0;
  font-size: 0;
}
header .navbar-brand img {
  height: 3rem;
}
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: #1F3E66;
  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>span {
  position: relative;
}
header .navbar-nav>.nav-item.active>.nav-link>span::after {
  content: '';
  position: absolute;
  display: block;
  left: 10%;
  bottom: -0.5rem;
  height: 3px;
  width: 80%;
  background-color: #9B8888;
  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: 1rem 0;
  text-align: center;
  border-top: 1px solid rgba(255,255,255,.1)
}
header .navbar .nav-lang .dropdown-toggle {
  display: inline-block;
  padding: .5em 1.25em;
  text-decoration: none;
  line-height: 1;
  color: #9B8888;
  border: 1px solid #9B8888;
  border-radius: 5px;
}
header .navbar .nav-lang .dropdown-toggle::after {
  display: none;
}

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: 4rem;
}

#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: calc(100vh - 4rem);
  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;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
}
main .home-banner .caption {
  position: absolute;
  top: 25%;
  padding-left: .8em;
  text-align: left;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
}
[lang="en"] main .home-banner .caption {
  font-size: 2rem;
}
main .home-banner .caption::after {
  content: "";
  position: absolute;
  left: 1.35em;
  top: -1.5em;
  width: 1px;
  height: 4em;
  border-top: 1em solid #fff;
  border-bottom: 1em solid #fff;  
  transform: rotate(40deg);
}

main.home h2 {
  margin-bottom: .5em;
  font-weight: 300;
  font-size: 24px;
  line-height: 1.5;
  color: #1C3C64;
}

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

main .home-about {
  background: #F7F9FB url(../../public/images/home_about_bg.jpg) no-repeat center center;
  background-size: 100% 100%;
}
main .home-about .container {
  padding-top: 50px;
  padding-bottom: 85px;
  background: #F7F9FB url(../../public/images/home_about_container_bg.jpg) no-repeat top left;
  background-size: 150%;
}
main .home-about p {
  margin: 0 auto 30px;
  text-align: left;
  font-size: 14px;
  line-height: 1.8;
  color: #1C3C64;  
}
main .home-about-img-list {
  display: flex;
  justify-content: space-between;
  gap: 15px;
}
main .home-about-img-list a {
  position: relative;
  font-weight: 300;
  font-size: 24px;
  line-height: 1;
  color: #fff;
  border-radius: 5px;
  overflow: hidden;
}
main .home-about-img-list a img {
  width: 100%;
}
main .home-about-img-list a span {
  position: absolute;
  z-index: 3;
  left: .75em;
  bottom: .75em; 
  text-shadow: 0px 0px 10px #9B8888;
}
main .home-about-img-list a::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(216, 197, 171, 0.82) 0%, rgba(216, 197, 171, 0) 100%);
  transition: top .3s;
}
main .home-about-img-list a:hover::after {
  top: 25%;
}

main .home-contact {
  padding: 64px 0;
}
main .home-contact-img-list {
  display: flex;
  justify-content: space-between;
  gap: 15px;
}
main .home-contact-img-list div:first-child {
  padding-bottom: 40px;
}
main .home-contact-img-list div:last-child {
  padding-top: 40px;
}
main .home-contact-img-list div img {  
  width: 100%;
}
main .home-contact p {
  margin-bottom: 30px;
  font-weight: 300;
  font-size: 14px;
  line-height: 2;
  color: #1C3C64;
}


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

footer .logo {
  width: 200px;
}

footer .company-name {
  font-weight: 700;
  font-size: 24px;
  color: #1C3C64;
}
[lang="en"] .home h2 {
  font-size: 18px;
}

footer .contact {
  font-size: 1rem;
  color: #1C3C64;
}

footer .license {
  font-size: .875rem;
  color: #9B8888;
}

footer .link-container {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #D8D8D8;
}

footer .link-container a {
  text-decoration: none;  
  font-size: .875rem;
  color: #9B8888;
}
footer .link-container a+a {
  margin-left: 2em;
}


.modal-backdrop {
  background-color: #676262;
}
.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");
}