@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700&family=Raleway:wght@100..900&display=swap");

@font-face {
  font-family: simplon;
  src: url(../fonts/SimplonNorm-Light-WebS.eot);
  src: url(../fonts/SimplonNorm-Light-WebS.ttf);
  font-style: normal;
  font-weight: 300;
}

@font-face {
  font-family: simplon;
  src: url(../fonts/SimplonNorm-LightItalic-WebS.eot);
  src: url(../fonts/SimplonNorm-LightItalic-WebS.ttf);
  font-style: italic;
  font-weight: 300;
}

@font-face {
  font-family: simplon;
  src: url(../fonts/SimplonNorm-Regular-WebS.eot);
  src: url(../fonts/SimplonNorm-Regular-WebS.ttf);
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: simplon;
  src: url(../fonts/SimplonNorm-RegularItalic-WebS.eot);
  src: url(../fonts/SimplonNorm-RegularItalic-WebS.ttf);
  font-style: italic;
  font-weight: 400;
}

@font-face {
  font-family: simplon;
  src: url(../fonts/SimplonNorm-Medium-WebS.eot);
  src: url(../fonts/SimplonNorm-Medium-WebS.ttf);
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: simplon;
  src: url(../fonts/SimplonNorm-MediumItalic-WebS.eot);
  src: url(../fonts/SimplonNorm-MediumItalic-WebS.ttf);
  font-style: italic;
  font-weight: 500;
}

@font-face {
  font-family: simplon;
  src: url(../fonts/SimplonNorm-Bold-WebS.eot);
  src: url(../fonts/SimplonNorm-Bold-WebS.ttf);
  font-style: normal;
  font-weight: 700;
}

@font-face {
  font-family: simplon;
  src: url(../fonts/SimplonNorm-BoldItalic-WebS.eot);
  src: url(../fonts/SimplonNorm-BoldItalic-WebS.ttf);
  font-style: italic;
  font-weight: 700;
}

:root {
  --bs-blue: #000033;
  --bs-primary: #000033;
  --bs-secondary: #fba834;
  --bs-light: #f0f0f0;
  --bs-dark: #212721;
  --bs-primary-rgb: 0, 0, 51;
  --bs-secondary-rgb: 251, 168, 52;
  --bs-light-rgb: 240, 240, 240;
  --bs-dark-rgb: 33, 39, 33;
  --bs-primary-text-emphasis: #000000;
  --bs-secondary-text-emphasis: #2b2f32;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #bbbbbb;
  --bs-secondary-bg-subtle: #e2e3e5;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #adadad;
  --bs-secondary-border-subtle: #c4c8cb;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-body-color: #858585;
  --bs-body-color-rgb: 133, 133, 133;
  --bs-emphasis-color: #38393f;
  --bs-emphasis-color-rgb: 251, 168, 52;
  --bs-secondary-color: rgba(251, 168, 52, 0.75);
  --bs-secondary-color-rgb: 251, 168, 52;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(251, 168, 52, 0.5);
  --bs-tertiary-color-rgb: 251, 168, 52;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #636571;
  --bs-link-color-rgb: 99, 101, 113;
  --bs-link-hover-color: #38393f;
  --bs-link-hover-color-rgb: 251, 168, 52;
  --bs-box-shadow: 0 0.417vw 0.833vw rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.104vw 0.208vw rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 0.833vw 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 0.104vw rgba(0, 0, 0, 0.075);
  --bs-focus-ring-color: rgba(99, 101, 113, 0.25);
  --bs-base-font-family: Simplon, Helvetica Neue, Arial, sans-serif;
  --bs-alt-font-family: Simplon, Helvetica Neue, Arial, sans-serif;
  --bs-letter-spacing: 0.12rem;
}

html,
body {
  overflow: hidden;
  overflow-y: auto;
}

:focus-visible {
  outline: 0;
}

::selection {
  background-color: var(--bs-primary-bg-subtle);
}

::marker {
  color: var(--bs-primary);
}

:is(
    ::-webkit-calendar-picker-indicator,
    ::-webkit-clear-button,
    ::-webkit-inner-spin-button,
    ::-webkit-outer-spin-button
  ) {
  color: var(--bs-primary);
}

html {
  scrollbar-width: 0.208vw;
  /* scrollbar-color: var(--bs-primary) var(--bs-light); */
  overflow-x: hidden;
}

::-webkit-scrollbar {
  width: 0.208vw;
  height: 0.208vw;
}

::-webkit-scrollbar-track {
  background: var(--bs-light);
}

::-webkit-scrollbar-thumb {
  background: var(--bs-primary);
  border-radius: 0.208vw;
  transition: 0.2s ease-in-out;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--bs-secondary);
}

body {
  font-family: var(--bs-base-font-family);
  font-weight: 400;
  font-style: normal;
  overflow-x: hidden;
  color: var(--bs-dark);
  font-size: 16px;
  font-size: 0.833vw;
}

@media (max-width: 1300px) {
  body {
    font-size: 1rem;
  }
}

a {
  transition: all 0.2s ease-in-out;
  text-decoration: none;
}

.alt-font {
  font-family: var(--bs-alt-font-family);
}

.swiper-navigation {
  display: flex;
  align-items: center;
  gap: 1.667vw;
  margin-top: 2.188vw;
}

.swiper-button-prev,
.swiper-button-next {
  position: unset;
  margin-top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bs-secondary);
  padding: 1.25vw;
  color: var(--bs-secondary);
  transition: all 0.2s ease-in-out;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  content: none;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
  border: 1px solid var(--bs-primary);
  color: var(--bs-primary);
}

.swiper-pagination {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.417vw;
  padding-top: 1.5rem;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets
  .swiper-pagination-bullet {
  margin: 0;
}

.swiper-pagination-bullet {
  background-color: var(--bs-white);
  height: 0.625vw;
  width: 0.625vw;
  opacity: 0.7;
  border-radius: 0.625vw;
  transition: all 0.2s ease-in-out;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  width: 1.875vw;
}

@media (max-width: 1300px) {
  .swiper-navigation {
    gap: 2rem;
    margin-top: 2.625rem;
  }

  .swiper-button-prev,
  .swiper-button-next {
    padding: 1.5rem;
  }

  .swiper-pagination {
    gap: 0.5rem;
  }

  .swiper-pagination-bullet {
    height: 0.75rem;
    width: 0.75rem;
    border-radius: 0.75rem;
  }

  .swiper-pagination-bullet-active {
    width: 2.25rem;
  }
}

.btn {
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.042vw;
  padding: 1.667vw 2.188vw;
  font-size: 1.042vw;
  letter-spacing: var(--bs-letter-spacing);
  line-height: 1;
  text-transform: uppercase;
  font-weight: 700;
  width: max-content;
}

.btn i {
  font-size: 0.833vw;
}

.btn-sm {
  padding: 1.25vw 1.667vw;
}

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-color: var(--bs-white);
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--bs-primary);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--bs-primary);
  --bs-gradient: none;
}

@media (max-width: 1300px) {
  .btn {
    gap: 1.25rem;
    padding: 2rem 2.625rem;
    font-size: 1.125rem;
  }

  .btn i {
    font-size: 1rem;
  }

  .btn-sm {
    padding: 1.5rem 2rem;
  }
}

.navbar {
  padding: 1.042vw 0px;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 999;
}

@media (max-width: 1300px) {
  .navbar {
    padding: 1.25rem 0px;
  }
}

.form-control {
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background-color: transparent;
  padding: 0.521vw 0rem;
  font-size: 0.938vw;
}

.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 0.521vw 0rem;
}

.form-floating > label {
  padding: 0.521vw 0rem;
}

.form-control:focus {
  color: var(--bs-primary);
  background-color: transparent;
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.208vw rgba(var(--bs-primary-rgb), 0);
}

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  color: rgba(var(--bs-primary-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0rem);
}

.form-floating > .form-control:focus,
.form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  color: currentColor;
}

.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.form-floating > .form-control-plaintext ~ label::after,
.form-floating > .form-select ~ label::after {
  background-color: transparent;
  border-radius: var(--bs-border-radius);
}

.form-floating > .form-control:not(:placeholder-shown) ~ label {
  color: rgba(var(--bs-primary-rgb), 0.65);
}

.wpcf7-textarea {
  height: 5.208vw !important;
}

.wpcf7 form .wpcf7-response-output {
  margin: 1.25vw 0;
  padding: 0.833vw;
  border-width: 1px;
  border-left-width: 0.208vw;
}

@media (max-width: 1300px) {
  .form-control {
    padding: 0.625rem 0rem;
    font-size: 1.125rem;
  }

  .form-floating > .form-control,
  .form-floating > .form-control-plaintext {
    padding: 0.625rem 0rem;
  }

  .form-floating > label {
    padding: 0.625rem 0rem;
  }

  .form-control:focus {
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0);
  }

  .wpcf7-textarea {
    height: 6.25rem !important;
  }

  .wpcf7 form .wpcf7-response-output {
    margin: 1.5rem 0;
    padding: 1rem;
    border-width: 1px;
    border-left-width: 0.25rem;
  }
}

.navbar .container-fluid {
  padding: 0 2.083vw;
}

.navbar .social-media-list a:hover {
  background-color: var(--bs-secondary);
}

.navbar-brand {
  padding: 0;
  margin-right: 0;
}

.navbar-brand img {
  width: 9.583vw;
  height: auto;
}

.navbar-nav {
  gap: 2.292vw;
}

.header-divider {
  width: 1px;
  align-self: stretch;
  margin: 0 2.604vw;
  background-color: var(--bs-white);
  flex: 0 0 auto;
}

.nav-link {
  font-family: var(--bs-alt-font-family);
  font-weight: 700;
  font-size: 0.833vw;
  text-transform: uppercase;
  line-height: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.208vw;
  align-items: center;
  color: var(--bs-white);
  margin-bottom: -0.104vw;
}

.nav-link::after {
  content: "";
  height: 0.104vw;
  width: 0.104vw;
  border-radius: 0.104vw;
  background-color: transparent;
  transition: all 0.2s ease-in-out;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:active,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link.hover,
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.focus,
.navbar-nav .nav-link.show {
  color: var(--bs-secondary);
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link:active::after,
.navbar-nav .navbar-nav .nav-link:focus::after,
.navbar-nav .nav-link.hover::after,
.navbar-nav .nav-link.active::after,
.navbar-nav .nav-link.focus::after,
.navbar-nav .nav-link.show::after {
  background-color: var(--bs-secondary);
  width: 0.521vw;
}

.navbar-toggler {
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  background-color: transparent;
  border: 0;
  width: 1.313rem;
  height: 1.125rem;
  flex: 0 0 auto;
  box-shadow: none;
}

.navbar-toggler span {
  display: block;
  background-color: var(--bs-white);
  height: 0.188rem;
  width: 1.313rem;
  border-radius: 0.188rem;
  position: relative;
  left: 0;
  opacity: 1;
  flex: 1 1 auto;
  transition: all 0.35s ease-out;
  transform-origin: center left;
}

.navbar-toggler:hover,
.navbar-toggler:focus,
.navbar-toggler:active {
  background-color: transparent;
  border: 0;
  box-shadow: none;
}

.navbar-toggler span:nth-child(1) {
  transform: translate(0%, 0%) rotate(0deg);
}

.navbar-toggler span:nth-child(2) {
  opacity: 1;
}

.navbar-toggler span:nth-child(3) {
  transform: translate(0%, 0%) rotate(0deg);
}

.navbar-toggler span:nth-child(1) {
}

.navbar-toggler:not(.collapsed) span:nth-child(1) {
  transform: translate(15%, 33%) rotate(45deg);
}

.navbar-toggler:not(.collapsed) span:nth-child(2) {
  opacity: 0;
}

.navbar-toggler:not(.collapsed) span:nth-child(3) {
  transform: translate(15%, 33%) rotate(-45deg);
}

@media (max-width: 1300px) {
  .navbar .container-fluid {
    padding: 0 2.5rem;
  }

  .navbar-brand img {
    width: 11.5rem;
  }

  .navbar-nav {
    gap: 2.75rem;
  }

  .header-divider {
    margin: 0 3.125rem;
  }

  .nav-link {
    font-size: 1rem;
    margin-bottom: -0.125rem;
    gap: 0.25rem;
  }

  .nav-link::after {
    height: 0.125rem;
    width: 0.125rem;
    border-radius: 0.125rem;
  }

  .navbar-nav .nav-link:hover::after,
  .navbar-nav .nav-link:active::after,
  .navbar-nav .navbar-nav .nav-link:focus::after,
  .navbar-nav .nav-link.hover::after,
  .navbar-nav .nav-link.active::after,
  .navbar-nav .nav-link.focus::after,
  .navbar-nav .nav-link.show::after {
    width: 0.625rem;
  }

  .navbar-toggler {
    gap: 0.25rem;
    width: 1.313rem;
    height: 1.125rem;
  }

  .navbar-toggler span {
    height: 0.188rem;
    width: 1.313rem;
    border-radius: 0.188rem;
  }
}

@media (max-width: 1200px) {
  .navbar-nav {
    gap: 2rem;
  }
}

@media (max-width: 991px) {
  .navbar .container-fluid {
    padding: 0 1.25rem;
  }

  .navbar {
    padding: 1.25rem 0px;
  }

  .navbar-brand img {
    width: 6.875rem;
    height: auto;
  }

  .header-divider {
    margin: 0 1.25rem;
    margin-right: auto;
  }

  .navbar-nav {
    margin: 3.125rem 0;
    align-items: flex-start;
    gap: 3.5rem;
  }

  .nav-item {
    width: 100%;
  }

  .nav-link {
    flex-direction: row;
    gap: 1.25rem;
    font-size: 3rem;
    margin-bottom: 0;
  }

  .navbar-nav .nav-link:hover::after,
  .navbar-nav .nav-link:active::after,
  .navbar-nav .navbar-nav .nav-link:focus::after,
  .navbar-nav .nav-link.hover::after,
  .navbar-nav .nav-link.active::after,
  .navbar-nav .nav-link.focus::after,
  .navbar-nav .nav-link.show::after {
    width: auto;
    flex: 1 1 auto;
  }

  .open .navbar {
    position: fixed;
    background-color: var(--bs-primary);
    transition: all 0.2s ease-in-out;
    min-height: 100vh;
    align-items: flex-start;
  }
}

.social-media-list {
  display: flex;
  align-items: center;
  list-style: none;
  gap: 0.833vw;
  margin: 0;
  padding: 0;
}

.social-media-list a {
  padding: 0.417vw;
  background-color: transparent;
  color: var(--bs-white);
  font-size: 0.833vw;
  line-height: 1;
  display: flex;
  align-self: center;
  justify-content: center;
  min-width: 1.667vw;
}

.social-media-list a:hover,
.social-media-list a:focus {
  color: var(--bs-white);
  background-color: var(--bs-primary);
}

@media (max-width: 1300px) {
  .social-media-list {
    gap: 1rem;
  }

  .social-media-list a {
    padding: 0.5rem;
    font-size: 1rem;
    min-width: 2rem;
  }
}

.footer-top {
  background-color: var(--bs-white);
  padding: 4.167vw 0;
  color: var(--bs-body-color);
  border-top: 0.104vw solid rgba(var(--bs-body-color-rgb), 0.1);
}

.footer-bottom {
  background-color: var(--bs-primary);
  color: var(--bs-white);
  padding: 1.563vw 0;
}

.footer-top .social-media-list a {
  color: var(--bs-primary);
}

.social-media-list a:hover,
.social-media-list a:focus {
  color: var(--bs-white);
}

.footer-title {
  font-family: var(--bs-alt-font-family);
  font-size: 1.146vw;
  line-height: 1.1;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--bs-primary);
  margin-bottom: 1.042vw;
  letter-spacing: var(--bs-letter-spacing);
}

.footer-contact {
  display: flex;
  margin: 0;
  padding: 0;
  gap: 0.833vw;
  list-style: none;
  flex-direction: column;
  align-items: flex-start;
}

.footer-contact li {
  display: flex;
  flex-wrap: wrap;
  gap: 0.208vw;
}

.footer-contact li p {
  margin: 0;
}

.footer-quick-links {
  display: flex;
  margin: 0;
  padding: 0;
  gap: 0.833vw;
  list-style: none;
  flex-direction: column;
  font-weight: 500;
  align-items: flex-start;
}

.footer-quick-links a {
  text-transform: uppercase;
  color: var(--bs-body-color);
}

.footer-quick-links a:hover {
  color: var(--bs-secondary);
}

.footer-policy {
  display: flex;
  margin: 0;
  padding: 0;
  gap: 3.125vw;
  list-style: none;
  align-items: center;
}

.footer-policy a {
  color: var(--bs-white);
}

.footer-policy a:hover {
  color: var(--bs-secondary);
}

@media (max-width: 1300px) {
  .footer-top {
    padding: 5rem 0;
    border-top: 0.125rem solid rgba(var(--bs-body-color-rgb), 0.1);
  }

  .footer-bottom {
    padding: 1.875 0;
  }

  .footer-title {
    font-size: 1.375rem;
    margin-bottom: 1.25rem;
  }

  .footer-contact {
    gap: 1rem;
  }

  .footer-contact li {
    gap: 0.25rem;
  }

  .footer-quick-links {
    gap: 1rem;
  }

  .footer-policy {
    gap: 3.75rem;
  }
}

@media (max-width: 991px) {
  .footer-top .nav-link {
    font-size: 1rem;
    font-weight: 500;
  }
}

.hero-banner {
  position: relative;
  min-height: 100vh;
  background-color: var(--bs-primary);
}

.hero-banner::after {
  content: "";
  background: url(../images/bottom_cover_white.png) no-repeat center bottom;
  background-size: cover;
  width: 100%;
  height: 4.479vw;
  position: absolute;
  left: 0;
  bottom: 0px;
  z-index: 99;
}

.hero-banner .swiper {
  width: 100%;
  height: 100%;
}

.hero-banner .swiper-slide {
  display: flex;
  align-items: center;
  min-height: 100vh;
  padding: 8.542vw 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
  background-attachment: fixed;
}

.hero-banner .swiper-slide::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: var(--bs-primary);
  background: linear-gradient(
    90deg,
    rgba(var(--bs-primary-rgb), 0.8) 50%,
    rgba(var(--bs-primary-rgb), 0.1) 100%
  );
}

.hero-banner .swiper-pagination {
  position: absolute;
  bottom: 6.875vw;
  right: 16.667vw;
  left: auto;
  width: auto;
  display: flex;
  gap: 0.521vw;
}

.hero-banner .swiper-pagination-bullet {
  padding: 0.521vw;
  text-align: center;
  line-height: 1.1;
  font-size: 1.125rem;
  letter-spacing: var(--bs-letter-spacing);
  font-weight: 700;
  color: var(--bs-white);
  opacity: 1;
  border-radius: 0;
  background: rgba(0, 0, 0, 0);
  transition: all 0.2s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
}

.hero-banner .swiper-pagination-bullet-active {
  color: var(--bs-primary);
  background: var(--bs-secondary);
}

.hero-title-section {
  border-left: 0.208vw solid var(--bs-white);
  padding-left: 0.521vw;
  font-family: var(--bs-alt-font-family);
  letter-spacing: var(--bs-letter-spacing);
  /* text-transform: uppercase; */
  margin-bottom: 2.125vw;
}

.hero-subtitle {
  font-size: 1.146vw;
  margin-bottom: 1.25vw;
  font-weight: 700;
  line-height: 1.1;
  color: var(--bs-secondary);
}

.hero-title {
  font-size: 2.708vw;
  margin-bottom: 0;
  font-weight: 700;
  line-height: 1.1;
  color: var(--bs-white);
}

.hero-description {
  font-size: 1.125rem;
  margin-bottom: 3.125vw;
  line-height: 1.5;
  color: var(--bs-white);
}

.hero-banner .container {
  position: relative;
  z-index: 99;
}

.internal-banner {
  position: relative;
  min-height: 26.042vw;
  background-color: var(--bs-primary);
}

.internal-banner::after {
  content: "";
  background: url(../images/bottom_cover_white.png) no-repeat center bottom;
  background-size: cover;
  width: 100%;
  height: 4.479vw;
  position: absolute;
  left: 0;
  bottom: 0px;
  z-index: 99;
}

.internal-banner-container {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
  background-attachment: fixed;
}

.internal-banner-container::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: var(--bs-primary);
  background: linear-gradient(
    90deg,
    rgba(var(--bs-primary-rgb), 0.8) 50%,
    rgba(var(--bs-primary-rgb), 0.1) 100%
  );
}

.internal-title-section {
  border-left: 0.208vw solid var(--bs-white);
  padding-left: 0.521vw;
  font-family: var(--bs-alt-font-family);
  letter-spacing: var(--bs-letter-spacing);
  /* text-transform: uppercase; */
}

.internal-subtitle {
  font-size: 0.833vw;
  margin-bottom: 0.521vw;
  font-weight: 700;
  line-height: 1.1;
  color: var(--bs-secondary);
}

.internal-title {
  font-size: 2.083vw;
  margin-bottom: 0;
  font-weight: 700;
  line-height: 1.1;
  color: var(--bs-white);
}

.internal-banner .container {
  position: relative;
  z-index: 99;
}

.internal-banner-content {
  display: flex;
  align-items: center;
  height: 26.042vw;
  padding: 6.875vw 0;
  width: 100%;
}

@media (max-width: 1300px) {
  .hero-banner::after {
    height: 5.375rem;
  }

  .hero-banner .swiper-slide {
    padding: 10.25rem 0;
  }

  .hero-banner .swiper-pagination {
    bottom: 8.25rem;
    right: 20rem;
    gap: 0.625rem;
  }

  .hero-banner .swiper-pagination-bullet {
    padding: 0.625rem;
    font-size: 1.125rem;
  }

  .hero-title-section {
    border-left: 0.25rem solid var(--bs-white);
    padding-left: 0.625rem;
    margin-bottom: 2.5rem;
  }

  .hero-subtitle {
    font-size: 1.375rem;
    margin-bottom: 1.5rem;
  }

  .hero-title {
    font-size: 3.25rem;
  }

  .hero-description {
    font-size: 1.125rem;
    margin-bottom: 3.75rem;
  }

  .internal-banner {
    min-height: 31.25rem;
  }

  .internal-banner::after {
    height: 5.375rem;
  }

  .internal-title-section {
    border-left: 0.25rem solid var(--bs-white);
    padding-left: 0.625rem;
  }

  .internal-subtitle {
    font-size: 1rem;
    margin-bottom: 0.625rem;
  }

  .internal-title {
    font-size: 2.5rem;
  }

  .internal-banner-content {
    height: 31.25rem;
    padding: 8.25rem 0;
  }
}

@media (max-width: 991px) {
  .hero-banner .swiper-slide {
    padding: 8.25rem 0;
  }

  .hero-banner .swiper-pagination {
    right: auto;
    left: auto;
    width: 100%;
    display: flex;
    gap: 0.625rem;
    justify-content: center;
    position: relative;
    margin-top: auto;
  }

  .hero-banner .container {
    padding: 0 1.875rem;
  }

  .hero-title-section {
    border-left: 0.25rem solid var(--bs-white);
    padding-left: 0.625rem;
    font-family: var(--bs-alt-font-family);
    letter-spacing: var(--bs-letter-spacing);
    /* text-transform: uppercase; */
    margin-bottom: 2.5rem;
  }

  .hero-subtitle {
    font-size: 1.125rem;
  }

  .hero-title {
    font-size: 2.625rem;
  }

  .hero-banner .btn {
    padding: 0.75rem 1rem;
  }

  .internal-banner .container {
    padding: 0 1rem;
  }
}

.page-section {
  padding: 6.25vw 0;
}
.main-section {
}

@media (max-width: 1300px) {
  .page-section {
    padding: 7.5rem 0;
  }
}

@media (max-width: 991px) {
  .page-section {
    padding: 3.75rem 0;
  }
}

.page-title-section {
  border-left: 0.208vw solid var(--bs-primary);
  padding-left: 0.521vw;
  font-family: var(--bs-alt-font-family);
  letter-spacing: var(--bs-letter-spacing);
  /* text-transform: uppercase; */
  margin-bottom: 2.188vw;
}

.page-subtitle {
  font-size: 0.833vw;
  margin-bottom: 0.521vw;
  font-weight: 700;
  line-height: 1.1;
  color: var(--bs-secondary);
}

.page-title {
  font-size: 2.083vw;
  margin-bottom: 0;
  font-weight: 700;
  line-height: 1.1;
  color: var(--bs-primary);
}

.page-description {
  font-size: 1.146vw;
}

.page-description p {
  margin-bottom: 1.146vw;
}

.page-description ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 1.146vw;
  display: flex;
  flex-direction: column;
  gap: 0.729vw;
}

.page-description ul li {
  display: flex;
  gap: 0.417vw;
}

.page-description ul li::before {
  content: "\f138";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  color: var(--bs-secondary);
  flex: 0 0 auto;
  margin-top: 0.208vw;
}

@media (max-width: 1300px) {
  .page-title-section {
    border-left: 0.25rem solid var(--bs-primary);
    padding-left: 0.625rem;
    margin-bottom: 2.625rem;
  }

  .page-subtitle {
    font-size: 1rem;
    margin-bottom: 0.625rem;
  }

  .page-title {
    font-size: 2.5rem;
    margin-bottom: 0;
  }

  .page-description {
    font-size: 1.375rem;
  }

  .page-description p {
    margin-bottom: 1.375rem;
  }

  .page-description ul {
    font-size: 1.375rem;
    gap: 0.875rem;
  }

  .page-description ul li {
    gap: 0.5rem;
  }

  .page-description ul li::before {
    margin-top: 0.25rem;
  }
}

.thougths-section {
  background-color: var(--bs-primary);
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  position: relative;
  padding: 7.187vw 0;
  text-align: center;
  color: var(--bs-white);
  font-family: var(--bs-alt-font-family);
  letter-spacing: var(--bs-letter-spacing);
  /* text-transform: uppercase; */
  font-weight: 500;
}

.thougths-section::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(var(--bs-primary-rgb), 0.6);
}

.thougths-section > * {
  position: relative;
  z-index: 9;
}

.thougths-title {
  font-size: 0.833vw;
  margin-bottom: 1.25vw;
  line-height: 1.1;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  position: relative;
  align-items: center;
  gap: 0.521vw;
}

.thougths-title::before {
  content: "";
  background-color: var(--bs-secondary);
  height: 0.208vw;
  width: 4.167vw;
}

.thougths-subtitle {
  font-size: 2.083vw;
  margin-bottom: 0;
  line-height: 1.1;
  font-weight: 500;
}

@media (max-width: 1300px) {
  .thougths-section {
    padding: 8.625rem 0;
  }

  .thougths-title {
    font-size: 1rem;
    margin-bottom: 1.5rem;
    gap: 0.625rem;
  }

  .thougths-title::before {
    height: 0.25rem;
    width: 5rem;
  }

  .thougths-subtitle {
    font-size: 2.5rem;
  }
}

@media (max-width: 991px) {
  .thougths-section {
    padding: 3.75rem 0;
  }
}

.service-item {
  height: 29.042vw;
}

.service-item .service-card {
  background-color: var(--bs-primary);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
  padding: 2.604vw 1.563vw;
  text-align: left;
  color: var(--bs-white);
  font-family: var(--bs-alt-font-family);
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.service-item .service-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(var(--bs-primary-rgb), 0.5);
  background: linear-gradient(
    0deg,
    rgba(0, 0, 51, 0.9) 10%,
    rgba(0, 0, 51, 0.1) 100%
  );
  transition: background 0.2s ease-in-out;
  z-index: 0;
}

.service-item .service-card:hover::before {
  background: linear-gradient(
    0deg,
    rgba(0, 0, 51, 1) 10%,
    rgba(0, 0, 51, 0.9) 50%,
    rgba(0, 0, 51, 0.25) 100%
  );
}

.service-content {
  margin-top: auto;
  z-index: 9;
}

.service-title {
  font-size: 1.563vw;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: var(--bs-letter-spacing);
}

@media (max-width: 1300px) {
  .service-item {
    height: 35rem;
  }

  .service-item .service-card {
    padding: 3.125rem 1.875rem;
  }

  .service-title {
    font-size: 1.875rem;
  }
}

.quote-section {
  background-color: var(--bs-primary);
  color: var(--bs-white);
}

.quote-container {
  display: flex;
  flex-direction: row;
  gap: 1.563vw;
}

.quote-icon {
  font-size: 3.958vw;
  color: var(--bs-secondary);
  line-height: 1;
}

.quote-content {
  flex: 0 0 auto;
  display: flex;
  width: 100%;
}

.quote-title {
  font-family: var(--bs-alt-font-family);
  /* text-transform: uppercase; */
  font-size: 1.875vw;
  line-height: 1.1;
  font-weight: 500;
  letter-spacing: var(--bs-letter-spacing);
  margin-bottom: 0.625vw;
}

@media (max-width: 1300px) {
  .quote-container {
    gap: 1.875rem;
  }

  .quote-icon {
    font-size: 4.75rem;
  }

  .quote-title {
    font-size: 2.25rem;
    margin-bottom: 0.75rem;
  }
}

.highlight-section {
  padding: 5.208vw 0;
  padding-top: calc(5.208vw - 50px);
  text-align: center;
  font-family: var(--bs-alt-font-family);
}

.highlight-title {
  font-size: 0.833vw;
  margin-bottom: 1.25vw;
  line-height: 1.1;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  position: relative;
  align-items: center;
  gap: 0.521vw;
  color: var(--bs-primary);
  /* text-transform: uppercase; */
  letter-spacing: var(--bs-letter-spacing);
}

.highlight-title::before {
  content: "";
  background-color: var(--bs-secondary);
  height: 0.208vw;
  width: 4.167vw;
}

.highlight-subtitle {
  font-size: 1.4vw;
  margin-bottom: 1.25vw;
  margin-top: -0.75vw;
  line-height: 1.1;
  font-weight: 700;
  /* text-transform: uppercase; */
  letter-spacing: var(--bs-letter-spacing);
}

.highlight-description {
  font-size: 2.083vw;
  margin-bottom: 0;
  line-height: 1.1;
  font-weight: 400;
  color: var(--bs-dark);
}

@media (max-width: 1300px) {
  .highlight-section {
    padding: 6.25rem 0;
    padding-top: calc(6.25rem - 50px);
  }

  .highlight-title {
    font-size: 1rem;
    margin-bottom: 1.5rem;
    gap: 0.625rem;
  }

  .highlight-title::before {
    height: 0.25rem;
    width: 5rem;
  }

  .highlight-subtitle {
    font-size: 1.75rem;
    margin-bottom: 1.5rem;
    margin-top: -0.825rem;
  }

  .highlight-description {
    font-size: 2.5rem;
  }
}

@media (max-width: 991px) {
  .highlight-section {
    padding: 3.75rem 0;
  }
  .highlight-description {
    font-size: 2rem;
  }
}

.project-slider .swiper-navigation {
  justify-content: center;
}

.project-slider .swiper-slide {
  text-align: center;
  max-height: 11.979vw;
}

.project-slider .swiper-slide img {
  max-height: 11.979vw;
}

@media (max-width: 1300px) {
  .project-slider .swiper-slide {
    max-height: 14.375rem;
  }

  .project-slider .swiper-slide img {
    max-height: 14.375rem;
  }
}

.breadcrumb {
  font-family: var(--bs-alt-font-family);
  text-transform: uppercase;
  font-size: 1.042vw;
  line-height: 1;
  font-weight: 700;
  letter-spacing: var(--bs-letter-spacing);
  color: var(--bs-primary);
}

.breadcrumb span {
  display: flex;
  align-items: center;
  gap: 0.625vw;
}

.breadcrumb a {
  color: var(--bs-body-color);
}

.breadcrumb a:hover {
  color: var(--bs-secondary);
}

.breadcrumb > span span:not(:last-child)::after {
  content: "";
  align-self: stretch;
  width: 1px;
  border-radius: 0.104vw;
  background-color: var(--bs-body-color);
}

@media (max-width: 1300px) {
  .breadcrumb {
    font-size: 1.25rem;
  }

  .breadcrumb span {
    gap: 0.75rem;
  }

  .breadcrumb > span span:not(:last-child)::after {
    border-radius: 0.125rem;
  }
}

.service-img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

.service-list-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media (max-width: 991px) {
  .service-list-content {
    padding: 1.75rem;
  }
}

.quick-contact-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.quick-contact-icon {
  color: var(--bs-secondary);
  font-size: 3.125vw;
  margin-bottom: 1.563vw;
}

.quick-contact-title {
  font-family: var(--bs-alt-font-family);
  text-transform: uppercase;
  font-size: 1.146vw;
  line-height: 1;
  font-weight: 700;
  letter-spacing: var(--bs-letter-spacing);
  color: var(--bs-primary);
  margin-bottom: 0.833vw;
}

.quick-contact-description p {
  margin-bottom: 0.417vw;
}

.quick-contact-description ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0.417vw;
}

.quick-contact-description a {
  color: var(--bs-body-color);
}

.quick-contact-description a:hover {
  color: var(--bs-secondary);
}

@media (max-width: 1300px) {
  .quick-contact-icon {
    font-size: 3.75rem;
    margin-bottom: 1.875rem;
  }

  .quick-contact-title {
    font-size: 1.375rem;

    margin-bottom: 1rem;
  }

  .quick-contact-description p {
    margin-bottom: 0.5rem;
  }

  .quick-contact-description ul {
    gap: 0.5rem;
  }
}

.link-btn {
  text-decoration: underline;
}

.map-contact-section {
  background-color: var(--bs-primary);
}

.map {
  width: 100%;
  height: 100%;
}

.map iframe {
  width: 100%;
  height: 100%;
}

.contact-form {
  padding: 5.208vw 3.646vw;
  color: var(--bs-white);
}

.contact-form .page-title-section {
  border-color: var(--bs-white);
}

.contact-form .page-subtitle,
.contact-form .page-title {
  color: var(--bs-white);
}

.contact-form .page-description {
  margin-bottom: 1.667vw;
}

.contact-form .form-control:focus {
  color: var(--bs-secondary);
  background-color: transparent;
  border-color: var(--bs-secondary);
}

.contact-form .form-floating > .form-control:focus ~ label,
.contact-form .form-floating > .form-control:not(:placeholder-shown) ~ label,
.contact-form .form-floating > .form-control-plaintext ~ label,
.contact-form .form-floating > .form-select ~ label {
  color: rgba(var(--bs-secondary-rgb), 0.65);
}

.contact-form .form-floating > .form-control:not(:placeholder-shown) ~ label {
  color: currentColor;
}
form.wpcf7-form[data-status='invalid'] .required.error.form-control{
  color: var(--bs-danger);
  background-color: transparent;
  border-color: var(--bs-danger);
}


@media (max-width: 1300px) {
  .contact-form {
    padding: 6.25rem 4.375rem;
  }

  .contact-form .page-description {
    margin-bottom: 2rem;
  }
}

@media (max-width: 991px) {
  .contact-form {
    padding: 1.875rem 1rem;
  }

  .map {
    height: 40rem;
  }
}

.scroll-top-btn {
  position: fixed;
  bottom: 2.083vw;
  right: 2.083vw;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bs-secondary);
  padding: 1.25vw;
  background-color: var(--bs-white);
  color: var(--bs-secondary);
  transition: background-color 0.3s, opacity 0.5s, visibility 0.5s;
  opacity: 0;
  cursor: pointer;
  visibility: hidden;
  z-index: 99;
}

.scroll-top-btn:hover {
  border: 1px solid var(--bs-primary);
  color: var(--bs-primary);
}

.scroll-top-btn.show {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 1300px) {
  .scroll-top-btn {
    bottom: 2.5rem;
    right: 2.5rem;
    padding: 1.5rem;
  }
}

@media (max-width: 991px) {
  .scroll-top-btn {
    bottom: 8.75rem;
  }
}
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}