@import url("bootstrap.min.css");
body {
  font-family: "stevie-sans", sans-serif;
}

.container {
  max-width: 1460px;
}
@media (max-width: 575.98px) {
  .container {
    padding: 0 3rem;
  }
}

/* ===========================
   Varibles
=========================== */
:root {
  --color-bg: #EFE5D9;
  --color-1: #CBA817;
  --color-2: #004672;
  --sp-font: "utile-display", sans-serif;
  --body-font: "stevie-sans", sans-serif;
}

.container,
.row {
  --bs-gutter-x: 5rem;
}

/* ===========================
   Text
=========================== */
p {
  line-height: 1.6em;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--sp-font) !important;
}

p {
  font-size: 1em;
}

a {
  color: black;
  text-decoration: none;
}
a:hover {
  color: var(--color-1);
}

.ls-sm {
  letter-spacing: 0.05em;
}

.ls-1 {
  letter-spacing: 0.1em;
}

.ls-2 {
  letter-spacing: 0.2em;
}

.text-color {
  color: var(--color-2) !important;
}

.text-color-2 {
  color: var(--color-1) !important;
}

.larger {
  font-size: clamp(0.875rem, 1.5vw + 0.25rem, 1.625rem);
}

.underline {
  text-decoration: underline !important;
  cursor: pointer;
}

.text-sp {
  font-family: var(--sp-font) !important;
}

.text-normal {
  font-family: var(--b-font) !important;
}

p:last-of-type {
  margin-bottom: 0;
}

/* ===========================
    Buttons    
=========================== */
.dot-buttons {
  display: flex;
  justify-content: space-between;
  align-items: bottom;
  position: relative;
}
@media (max-width: 991.98px) {
  .dot-buttons {
    flex-direction: column;
  }
}
.dot-buttons > a {
  flex: 1;
  margin-right: 1%;
  color: inherit;
  display: flex;
  align-items: flex-end;
  position: relative;
  border-bottom: 5px solid #8D8D8D;
  padding: 0.5em 0;
  transition: all 0.3s ease-in-out;
}
@media (max-width: 991.98px) {
  .dot-buttons > a {
    margin-right: 0;
    width: 100%;
    border-bottom-width: 2px;
  }
}
.dot-buttons > a:last-of-type {
  margin-right: 0;
}
.dot-buttons > a span {
  display: inline-block;
}
.dot-buttons > a.active, .dot-buttons > a:hover {
  border-color: var(--color-1);
}
.dot-buttons > a.active::after, .dot-buttons > a:hover::after {
  opacity: 1;
}
.dot-buttons > a::after {
  content: "";
  display: inline-block;
  margin-left: 0.5em;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  margin-bottom: 0.5em;
  background: var(--color-1);
  box-shadow: 0px 0px 7px 1px var(--color-1);
  opacity: 0;
  transition: all 0.3s ease-in-out;
}

.btn.arrow {
  position: relative;
}
.btn.arrow:after {
  content: "";
  display: inline-block;
  background-image: url(img/icon-arrow-o.svg);
  height: 1.6em;
  width: 1.6em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-top: -0.5em;
}

a.btn {
  background: var(--color-1);
  padding: 0 1em;
  line-height: 3em;
  border-radius: 1.5em;
  margin-left: auto;
  display: inline-block;
  font-weight: 500;
  color: white;
  transition: all 0.3s ease-in-out !important;
}
@media (max-width: 767.98px) {
  a.btn {
    font-size: 1em;
  }
}
a.btn:hover {
  background: var(--color-2);
  color: white;
}

/* ===========================
   Nav
=========================== */
header {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 1024;
  transition: all 0.3s ease-in-out;
}
header::after {
  content: "";
  display: block;
  height: 0;
}
@media (max-width: 991.98px) {
  header::after {
    display: none;
  }
}
header .current-menu-item > a,
header .current-menu-parent > a {
  color: var(--color-1);
}
header .line {
  display: block;
  height: 10px;
  width: 100%;
  position: absolute;
  background: var(--color-2);
  bottom: 50px;
  left: 50%;
  opacity: 0;
  transform: translateX(-50%);
  max-width: 1460px;
  transition: all 0.3s ease-in-out;
}
@media (max-width: 1279.98px) {
  header .line {
    display: none;
  }
}
header.show-sub-nav {
  background: var(--color-bg);
}
header.show-sub-nav .line {
  opacity: 1;
}
header.show-sub-nav::after {
  height: 350px;
}
header.show-sub-nav .site-logo img.logo-light {
  opacity: 0;
}
header.show-sub-nav .site-logo img.logo-dark {
  opacity: 1;
}
header.show-sub-nav a {
  color: var(--color-2);
}
header.active {
  background-color: var(--color-bg);
}
header.active .site-logo .logo-light {
  opacity: 0;
}
header.active .site-logo .logo-dark {
  opacity: 1;
}
header.active a {
  color: var(--color-2);
}
header.active .hamburger span {
  background: var(--color-2);
}
header .site-logo {
  margin-right: 20px;
  position: relative;
  z-index: 9999;
}
header .site-logo > img {
  max-width: 122px;
  height: auto;
}
@media (max-width: 1279.98px) {
  header .site-logo > img {
    max-width: 80px;
  }
}
header .site-logo .logo-dark {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
header .main-nav {
  height: 100px;
  position: relative;
}
header .main-nav .nav-wrapper {
  width: 100%;
}
@media (max-width: 1279.98px) {
  header .main-nav {
    height: 80px;
    width: 100%;
    display: flex;
  }
  header .main-nav .nav-wrapper {
    width: 100vw;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease-in-out;
    background: var(--color-bg);
  }
  header .main-nav .nav-wrapper.active {
    opacity: 1;
    pointer-events: inherit;
    transition: all 0.3s ease-in-out;
  }
  header .main-nav .menu-menu-1-container {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--color-1);
    display: flex;
    align-items: center;
    padding-bottom: 200px;
  }
  header .main-nav .menu-menu-1-container > ul {
    flex-direction: column;
    font-size: 20px;
    width: 100%;
  }
  header .main-nav .menu-menu-1-container > ul li {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  header .main-nav .menu-menu-1-container > ul li a {
    display: block;
    width: 100%;
  }
}
header .top-nav {
  width: 100%;
  height: 40px;
  background-color: var(--color-1);
}
header nav a {
  color: white;
  text-decoration: none;
  text-transform: capitalize;
}
header nav a:hover {
  text-decoration: underline;
}
header nav ul {
  list-style: none;
  padding-left: 0;
  display: flex;
  margin-bottom: 0;
  align-items: center;
  width: 100%;
}
header nav ul li {
  padding: 0 1em;
  line-height: 3em;
}
header nav ul li:last-of-type {
  padding-right: 0;
}
header nav ul li.cta {
  background: var(--color-1);
  padding: 0 1.5em;
  border-radius: 1.5em;
  margin-left: auto;
  transition: background 0.3s ease-in-out;
}
header nav ul li.cta a {
  color: white;
  text-decoration: none !important;
}
header nav ul li.cta:hover {
  background: var(--color-2);
}
header .menu-item-has-children {
  margin-right: 1em;
  display: flex;
  align-items: center;
}
header .menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  margin-left: 1em;
  width: 1em;
  height: 1em;
  line-height: 1em;
  background-image: url("img/arrow-down.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
header .menu-item-has-children.show-sub .sub-menu {
  opacity: 1;
  pointer-events: inherit;
}
header .menu li .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  font-weight: 500;
  z-index: 1000;
  padding-top: 3em;
  padding-bottom: 3em;
  min-height: 17em;
  pointer-events: none;
  flex-direction: column;
  opacity: 0;
  min-width: 180px;
  text-align: left;
  align-items: flex-start;
  font-family: var(--sp-font);
  transition: opacity 0.3s ease-in-out;
}
@media (max-width: 1279.98px) {
  header .menu li .sub-menu {
    height: unset;
  }
}
header .menu li .sub-menu li {
  font-size: 1.5em;
  letter-spacing: 0.05em;
  position: relative;
  padding-right: 1.5em;
  line-height: 1em;
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-bottom: 0.5em;
}
header .menu li .sub-menu li a {
  text-transform: none;
}
header .menu li .sub-menu li a:hover {
  color: var(--color-2);
}
header .menu li .sub-menu li::after {
  content: "";
  display: block;
  background-image: url(img/arrow-right-c.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 1em;
  height: 1em;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 1279.98px) {
  header .menu li .sub-menu {
    position: relative;
    opacity: 1;
    background: transparent;
    padding: 10px 0;
    font-size: 1em;
  }
  header .menu li .sub-menu li {
    font-size: 1em;
    font-family: var(--body-font);
  }
}
@media (max-width: 1279.98px) {
  header .menu-desktop-menu-container {
    display: none !important;
  }
}
header .menu-mobile-menu-container {
  display: none !important;
  height: 100%;
  z-index: 999;
}
@media (max-width: 1279.98px) {
  header .menu-mobile-menu-container {
    display: flex !important;
  }
}
header .menu-mobile-menu-container #menu-mobile-menu {
  flex-direction: column;
  justify-content: center;
}
header .menu-mobile-menu-container #menu-mobile-menu li:last-of-type {
  padding-right: 1em !important;
}
header .menu-mobile-menu-container a {
  color: var(--color-2) !important;
  font-size: 3vw;
  display: block;
  margin-bottom: 1em;
}
@media (max-width: 767.98px) {
  header .menu-mobile-menu-container a {
    font-size: 5vw;
    margin-bottom: 0.5em;
  }
}

.hamburger {
  position: relative;
  margin-left: auto;
  width: 19px;
  height: 13px;
  z-index: 99;
  display: block;
}
.hamburger span {
  background: white;
  position: absolute;
  height: 2px;
  border-radius: 0;
  width: 100%;
  transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 0;
}
.hamburger span:nth-child(2), .hamburger span:nth-child(3) {
  top: 6px;
}
.hamburger span:nth-child(4) {
  top: 12px;
}
.hamburger.active span {
  background: var(--color-2);
  transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
}
.hamburger.active span:nth-child(1), .hamburger.active span:nth-child(4) {
  opacity: 0;
}
.hamburger.active span:nth-child(2) {
  transform: rotate(45deg);
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
}
.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg);
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
}
.hamburger.active:before {
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}

/* ===========================
   Hero
=========================== */
.hero {
  position: relative;
  overflow: hidden;
  width: 100%;
  background-color: var(--color-bg);
}
.hero .category-name {
  position: absolute;
  bottom: 40px;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  color: white;
  padding-bottom: 0.75rem;
  border-bottom: 5px solid var(--color-1);
  font-size: 1.25em;
}
.hero .category-name > span {
  display: inline-flex;
  align-items: center;
}
.hero .category-name > span::after {
  content: "";
  margin-left: 0.5em;
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background: var(--color-1);
  box-shadow: 0px 0px 7px 1px var(--color-1);
}
.hero.darken-hero-bg {
  background: #000;
}
.hero.darken-hero-bg .bg {
  opacity: 0.5;
}
.hero .bg {
  width: 100%;
  height: 56.25vw;
  object-fit: cover;
  object-position: center;
  min-height: 700px;
}
.hero iframe {
  background: var(--color-bg);
  height: 56.25vw;
  width: 100%;
  pointer-events: none;
}
@media (max-width: 1279.98px) {
  .hero iframe {
    height: 100vw;
    width: 178vw;
    margin-left: -39vw;
  }
}
.hero .caption {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: white;
  text-align: center;
  width: 90%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hero .caption .page-title {
  font-family: var(--body-font) !important;
  font-size: 1.25rem;
  position: relative;
}
.hero .caption .page-title::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  margin-left: 0.5em;
  margin-top: -0.25em;
  background: var(--color-1);
  border-radius: 50%;
  box-shadow: 0px 0px 7px 1px var(--color-1);
}
.hero .caption h2, .hero .caption .h2 {
  font-size: clamp(2.5rem, 5.25vw, 6.25em);
}
.hero .learnmore {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  max-width: 136px;
  width: 20vw;
}
.hero .learnmore img {
  width: 100%;
}
.hero .buttons-wrapper {
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  bottom: 40px;
  color: white;
}
.hero .buttons-wrapper .dot-buttons {
  position: relative;
  width: 100%;
}
/* ===========================
   Other
=========================== */
article.page::before {
  content: "";
  display: block;
  height: 150px;
  background: var(--color-1);
}

.section-title {
  font-family: var(--body-font) !important;
  font-size: 1rem !important;
  font-weight: 600;
  text-transform: uppercase;
}

.keep-height {
  min-height: 150vh;
  height: auto !important;
}

.arrow-down {
  width: 2em;
  height: 2em;
  display: block;
  background-image: url(img/arrow-down-o.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.has-bg {
  background-size: contain;
  background-repeat: no-repeat;
}
.has-bg.bottom {
  background-position: center bottom;
}
@media (max-width: 991.98px) {
  .has-bg {
    min-height: 700px;
  }
}

.bg-blue {
  background: var(--color-2);
}

.bg-color {
  background: var(--color-bg) !important;
}

.bg-white {
  background: white;
}
.bg-white * {
  color: black;
}

hr {
  border: none;
  border-bottom: 1px solid var(--color-1);
  opacity: 1;
}
hr.medium {
  border-width: 5px;
}
hr.thick {
  border-width: 10px;
}
hr.blue {
  border-color: var(--color-2);
  border-width: 2px;
}

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

/* ===========================
   Featured Projects
=========================== */
.featured-projects .overlay {
  position: absolute;
  top: 0;
  left: 0;
  padding: 3em;
  width: 100%;
  height: 100%;
}
@media (max-width: 767.98px) {
  .featured-projects .overlay {
    padding: 1.5em;
  }
}
.featured-projects .overlay * {
  position: relative;
  z-index: 1;
}
.featured-projects .overlay::after {
  content: "";
  left: 0;
  top: 0;
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(171deg, rgb(25, 76, 117) 15%, rgba(22, 72, 112, 0) 100%);
  z-index: 0;
  mix-blend-mode: multiply;
  opacity: 0.6;
  transition: all 0.3s ease-in-out;
}
.featured-projects .swiper-slide:hover .overlay::after {
  opacity: 0.8;
  background-color: var(--color-1);
  mix-blend-mode: multiply;
}
.featured-projects a.link {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 9;
}
.featured-projects img {
  aspect-ratio: 16/9;
  object-fit: cover;
  width: 100%;
  height: auto;
}
@media (max-width: 991.98px) {
  .featured-projects img {
    aspect-ratio: 4/3;
  }
}
@media (max-width: 767.98px) {
  .featured-projects img {
    aspect-ratio: 3/5;
  }
}

/* ===========================
   Read more
=========================== */
.read-more-wrapper.active .read-more {
  transform: translate(-50%, -50%) rotate(180deg);
}
.read-more-wrapper.active::after {
  opacity: 1;
  transition-delay: 0s;
}
.read-more-wrapper.active .more {
  opacity: 1;
  transition-delay: 0.3s;
}
.read-more-wrapper::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background: var(--color-1);
  mix-blend-mode: multiply;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  transition: all 0.5s ease-in-out;
  transition-delay: 0.5s;
}
.read-more-wrapper > img {
  position: relative;
  z-index: 0;
}
.read-more-wrapper .read-more {
  position: absolute;
  z-index: 9;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.read-more-wrapper .more {
  overflow: hidden;
  height: 100%;
  width: 100%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  opacity: 0;
  transition: all 0.5s ease-in-out;
  transition-delay: 0;
}

/* ===========================
   Footer
=========================== */
footer {
  background: var(--color-2);
  color: white;
}
footer a {
  color: white;
  font-weight: 300;
}
footer .logo {
  max-width: 187px;
  display: block;
}
footer strong {
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 2em;
}
footer strong a {
  font-size: inherit;
}
footer .border-top {
  border-color: var(--color-1) !important;
}
@media (max-width: 991.98px) {
  footer .border-top {
    border: none;
  }
}
footer .border-right {
  border-right: 1px solid;
  border-color: var(--color-1) !important;
}
@media (max-width: 991.98px) {
  footer .border-right {
    border: none;
  }
}

/* ===========================
   Accordion
=========================== */
#why .accordion-toggle:hover::after {
  background-color: var(--color-1);
}

.accordion-toggle {
  background: transparent;
  padding: 1em 0;
  width: 100%;
  text-align: left;
  border: none;
  font-size: 1.5em;
  cursor: pointer;
  outline: none;
  position: relative;
  color: var(--color-2);
}
.accordion-toggle:hover::after {
  background-color: var(--color-1);
}
.accordion-toggle::after {
  content: "";
  display: block;
  width: 2em;
  height: 2em;
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64.624' height='64.624' viewBox='0 0 64.624 64.624'%3E%3Cg id='Group_1607' data-name='Group 1607' transform='translate(2624.624 1767.555)'%3E%3Cpath id='Path_127' data-name='Path 127' d='M12.375,26.365,24.823,38.716,37.271,26.365M24.823,37V11.953' transform='translate(-2617.135 -1760.578)' fill='rgba(208,163,28,0)' stroke='%23cba817' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath id='Path_128' data-name='Path 128' d='M35.812,4.5A31.312,31.312,0,1,0,67.124,35.812,31.32,31.32,0,0,0,35.812,4.5Z' transform='translate(-2628.124 -1771.055)' fill='rgba(208,163,28,0)' stroke='%23cba817' stroke-miterlimit='10' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-size: contain;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease-in-out;
  border-radius: 50%;
}
.accordion-toggle.blue::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='51.514' height='51.514' viewBox='0 0 51.514 51.514'%3E%3Cg id='Icon_ion-arrow-down-circle-outline' data-name='Icon ion-arrow-down-circle-outline' transform='translate(1 1)'%3E%3Cpath id='Path_127' data-name='Path 127' d='M12.375,22.708l9.289,9.217,9.289-9.217m-9.289,7.937V11.953' transform='translate(3.092 2.818)' fill='rgba(208,163,28,0)' stroke='%23004672' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath id='Path_128' data-name='Path 128' d='M29.257,4.5A24.757,24.757,0,1,0,54.014,29.257,24.763,24.763,0,0,0,29.257,4.5Z' transform='translate(-4.5 -4.5)' fill='rgba(208,163,28,0)' stroke='%23004672' stroke-miterlimit='10' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E%0A");
}
.accordion-toggle.blue.active::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='51.514' height='51.514' viewBox='0 0 51.514 51.514'%3E%3Cg id='Icon_ion-arrow-down-circle-outline' data-name='Icon ion-arrow-down-circle-outline' transform='translate(1 1)'%3E%3Cpath id='Path_127' data-name='Path 127' d='M12.375,22.708l9.289,9.217,9.289-9.217m-9.289,7.937V11.953' transform='translate(3.092 2.818)' fill='rgba(208,163,28,0)' stroke='%23004672' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath id='Path_128' data-name='Path 128' d='M29.257,4.5A24.757,24.757,0,1,0,54.014,29.257,24.763,24.763,0,0,0,29.257,4.5Z' transform='translate(-4.5 -4.5)' fill='rgba(208,163,28,0)' stroke='%23004672' stroke-miterlimit='10' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E%0A");
}
.accordion-toggle.active::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64.624' height='64.624' viewBox='0 0 64.624 64.624'%3E%3Cg id='Icon_ion-arrow-down-circle-outline' data-name='Icon ion-arrow-down-circle-outline' transform='translate(63.624 63.624) rotate(180)'%3E%3Cpath id='Path_128' data-name='Path 128' d='M35.812,4.5A31.312,31.312,0,1,0,67.124,35.812,31.32,31.32,0,0,0,35.812,4.5Z' transform='translate(-4.5 -4.5)' fill='%23cba817' stroke='%23cba817' stroke-miterlimit='10' stroke-width='2'/%3E%3Cpath id='Path_127' data-name='Path 127' d='M12.375,26.365,24.823,38.716,37.271,26.365M24.823,37V11.953' transform='translate(6.489 5.977)' fill='rgba(208,163,28,0)' stroke='%23004672' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E%0A");
}
.bg-color .accordion-toggle::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='51.514' height='51.514' viewBox='0 0 51.514 51.514'%3E%3Cg id='Icon_ion-arrow-down-circle-outline' data-name='Icon ion-arrow-down-circle-outline' transform='translate(1 1)'%3E%3Cpath id='Path_127' data-name='Path 127' d='M12.375,22.708l9.289,9.217,9.289-9.217m-9.289,7.937V11.953' transform='translate(3.092 2.818)' fill='rgba(208,163,28,0)' stroke='%23004672' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath id='Path_128' data-name='Path 128' d='M29.257,4.5A24.757,24.757,0,1,0,54.014,29.257,24.763,24.763,0,0,0,29.257,4.5Z' transform='translate(-4.5 -4.5)' fill='rgba(208,163,28,0)' stroke='%23004672' stroke-miterlimit='10' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E%0A");
}
.bg-color .accordion-toggle.active::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64.624' height='64.624' viewBox='0 0 64.624 64.624'%3E%3Cg id='Icon_ion-arrow-down-circle-outline' data-name='Icon ion-arrow-down-circle-outline' transform='translate(63.624 63.624) rotate(180)'%3E%3Cpath id='Path_128' data-name='Path 128' d='M35.812,4.5A31.312,31.312,0,1,0,67.124,35.812,31.32,31.32,0,0,0,35.812,4.5Z' transform='translate(-4.5 -4.5)' fill='%23cba817' stroke='%23cba817' stroke-miterlimit='10' stroke-width='2'/%3E%3Cpath id='Path_127' data-name='Path 127' d='M12.375,26.365,24.823,38.716,37.271,26.365M24.823,37V11.953' transform='translate(6.489 5.977)' fill='rgba(208,163,28,0)' stroke='%23004672' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E%0A");
  border: 2px solid var(--color-2);
}

.accordion-item {
  border-bottom: 1px solid var(--color-1);
  margin-bottom: 1em;
}
.bg-color .accordion-item {
  border-color: var(--color-2);
}

.accordion-item:first-of-type {
  border-top: 1px solid var(--color-1);
}
.bg-color .accordion-item:first-of-type {
  border-color: var(--color-2);
}

.accordion-item:last-of-type {
  border: none;
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
}

.accordion-content.open {
  padding: 1em 0 3em;
  max-height: 500px; /* Adjust as needed */
}

/* ===========================
   Parallax Text
=========================== */
.parallax-text-wrapper {
  height: 100vw;
  display: flex;
  flex-direction: column;
}
.parallax-text-wrapper .parallax-container {
  position: relative;
  margin-top: auto;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  overflow: hidden;
}

.parallax-text {
  font-size: clamp(5rem, 12.864583vw + 1rem, 15.4375rem);
  color: var(--color-2);
  white-space: nowrap;
  will-change: transform;
  font-family: var(--sp-font);
}
.parallax-text span {
  padding-bottom: 0.1em;
}

/* ===========================
   Parallax-slider
=========================== */
.parallax-slider {
  --swiper-navigation-color: var(--color-1);
  pointer-events: none;
}
.parallax-slider .simpleParallax > img {
  height: 56.25vw;
}
@media (max-width: 991.98px) {
  .parallax-slider .simpleParallax > img {
    min-height: 700px;
  }
}
.parallax-slider .swiper-slide .caption {
  opacity: 0;
  margin-top: 100px;
  transition: all 0.6s ease;
}
.parallax-slider .swiper-slide-active .caption {
  opacity: 1;
  margin-top: 0px;
  transition-delay: 0.25s; /* delay before showing */
}
.parallax-slider .swiper-nav {
  position: absolute;
  pointer-events: none;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: 99;
  height: 100%;
  color: white;
}
.parallax-slider .swiper-nav .dot-buttons {
  pointer-events: all;
  position: absolute;
  width: 100%;
  bottom: 50px;
  left: 0;
  padding: 0 2em;
}
@media (max-width: 991.98px) {
  .parallax-slider .swiper-nav .dot-buttons {
    flex-direction: row;
  }
  .parallax-slider .swiper-nav .dot-buttons span {
    display: none;
  }
  .parallax-slider .swiper-nav .dot-buttons a {
    width: 30%;
    margin: 0 1%;
  }
  .parallax-slider .swiper-nav .dot-buttons a::after {
    display: none;
  }
}
.parallax-slider .bg {
  background: #000;
}
.parallax-slider .bg img {
  opacity: 0.6;
}
.parallax-slider .caption {
  position: absolute;
  width: 100%;
  top: 50%;
  transform: translateY(-50%);
  color: white;
  text-align: center;
}
.parallax-slider .caption .btn {
  line-height: 3em;
  border-radius: 1.5em;
}
.parallax-slider .swiper-button-prev {
  width: 4rem;
  height: 4rem;
}
@media (max-width: 767.98px) {
  .parallax-slider .swiper-button-prev {
    width: 2rem;
    height: 2rem;
    margin-top: 4rem;
  }
}
.parallax-slider .swiper-button-prev::after {
  background-image: url(img/arrow-left-c.png);
  background-size: contain;
  font-size: 0;
  height: 100%;
  width: 100%;
}
.parallax-slider .swiper-button-next {
  width: 4rem;
  height: 4rem;
  pointer-events: all !important;
}
@media (max-width: 767.98px) {
  .parallax-slider .swiper-button-next {
    width: 2rem;
    height: 2rem;
    margin-top: 4rem;
  }
}
.parallax-slider .swiper-button-next::after {
  background-image: url(img/arrow-right-c.png);
  background-size: contain;
  font-size: 0;
  height: 100%;
  width: 100%;
}

/* ===========================
   Building
=========================== */
#building {
  background-image: url(img/building-bg.jpg);
  background-size: auto 100%;
  background-position: right bottom;
  background-repeat: no-repeat;
  height: 50vw;
  display: flex;
  align-items: center;
  max-height: 886px;
  position: relative;
}
@media (max-width: 991.98px) {
  #building {
    height: 100vw;
    background-size: 50% auto;
    align-items: flex-start;
  }
}
@media (max-width: 767.98px) {
  #building {
    background-size: 80% auto;
    background-position: 120% 130%;
  }
  #building::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: white;
    z-index: 0;
    opacity: 0.7;
  }
}
#building .container {
  position: relative;
  z-index: 1;
}
#building .icon {
  width: 2em;
}

#obenGroup .accordion-toggle {
  padding: 3rem 0;
}
#obenGroup .accordion-toggle:hover::after {
  background-color: transparent;
}
#obenGroup .accordion-toggle::after {
  background-image: url(img/Icon-ion-ios-plus-outline.png);
  height: 1em;
  width: 1em;
}
#obenGroup .accordion-toggle.active::after {
  transform: translateY(-50%) rotate(45deg);
  border: none !important;
}
#obenGroup .accordion-content {
  transition: all 0.3s ease-in-out;
}
#obenGroup .accordion-content.open {
  padding-top: 0;
  padding-bottom: 3rem;
}
#obenGroup .accordion-content::before {
  content: "";
  display: block;
  width: 100%;
  margin-bottom: 3rem;
  border-top: 5px solid var(--color-1);
}

/* ===========================
   Project Slider
=========================== */
.project-slider {
  overflow: hidden !important;
  max-width: 100%;
  margin: 0 auto;
}
.project-slider img {
  width: 100%;
}
.project-slider .swiper-slide-next,
.project-slider .swiper-slide-prev {
  opacity: 0.3;
}
.project-slider .swiper-button-next,
.project-slider .swiper-button-prev {
  width: 10vw;
  height: 100%;
  top: 0;
  margin-top: 0;
  display: none;
}
.project-slider .swiper-button-next:after,
.project-slider .swiper-button-prev:after {
  display: none;
}

.categories {
  color: var(--color-2);
  display: inline-block;
}
.categories:after {
  content: "";
  margin-left: 0.5em;
  margin-bottom: 0.2em;
  width: 0.5em;
  height: 0.5em;
  display: inline-block;
  border-radius: 50%;
  background: var(--color-1);
  box-shadow: 0px 0px 7px 1px var(--color-1);
}

.isotope-grid {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.isotope-grid::after {
  content: "";
  display: block;
  clear: both;
}

.project {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease-in-out;
}
.project.show {
  max-height: 200vh;
}
.project .accordion-toggle.active::after {
  transform: rotate(180deg) translateY(50%);
}

.article-thumb {
  aspect-ratio: 1/1;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

/* ===========================
   Single
=========================== */
.single p {
  margin-bottom: 5em;
}

/* ===========================
   Contact
=========================== */
.page-template-page-contact .bg {
  min-height: 1000px;
}

/* ===========================
   Gravity Form
=========================== */
.gform_confirmation_wrapper {
  text-align: center;
}

.gform_confirmation_message {
  margin-top: 4em;
}

.gform_wrapper.gravity-theme {
  --main-color: white;
}

.gform_wrapper.gravity-theme.color_wrapper {
  --main-color: #555;
}

.gform_wrapper.gravity-theme.color_wrapper input[type=checkbox]:checked + .gfield_consent_label::before {
  filter: invert(1);
}

.gform_wrapper.gravity-theme input,
.gform_wrapper.gravity-theme textarea,
.gform_wrapper.gravity-theme select {
  background: transparent;
  box-shadow: none;
  outline: none;
  border: none;
  font-size: 1em !important;
  border-bottom: 1px solid var(--main-color);
  color: var(--main-color);
  letter-spacing: 0.1em;
}
.gform_wrapper.gravity-theme input::placeholder,
.gform_wrapper.gravity-theme textarea::placeholder,
.gform_wrapper.gravity-theme select::placeholder {
  color: var(--main-color);
}

.gform_wrapper.gravity-theme .gfield_label {
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.gform_wrapper.gravity-theme input[type=checkbox] {
  display: none;
}

/* Style the label that comes after the checkbox */
.gfield_consent_label {
  position: relative;
  padding-left: 32px;
  cursor: pointer;
  font-size: 16px;
  display: inline-block;
  line-height: 24px;
  color: var(--main-color);
}
.gfield_consent_label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 22px;
  height: 22px;
  border: 2px solid var(--main-color);
  background: transparent;
  border-radius: 50%; /* Makes it a circle */
  transition: all 0.2s ease-in-out;
}

/* Checked state: blue filled circle with checkmark */
input[type=checkbox]:checked + .gfield_consent_label::before {
  background-color: transparent;
  border-color: var(--main-color);
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='10' viewBox='0 0 12 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5L4 8L11 1' stroke='white' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}

.ginput_container_fileupload input {
  cursor: pointer;
  font-size: 1em;
  line-height: 2em !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  background-image: url("../img/icon-upload.svg") !important;
  background-size: auto 50% !important;
  background-repeat: no-repeat !important;
  background-position: center right !important;
}

.gform_required_legend {
  display: none;
}

.gform_wrapper.gravity-theme input[type=submit] {
  background: var(--blue-2);
  color: white;
  border-bottom: none;
  padding: 0 2em;
  line-height: 3.4em;
  background: var(--color-1);
  border-radius: 1.7em;
  letter-spacing: normal;
}

.gform_wrapper.gravity-theme #field_submit, .gform_wrapper.gravity-theme .gform_footer {
  justify-content: flex-end;
}

.gform_wrapper.gravity-theme .gfield_required {
  color: var(--main-color) !important;
  display: none;
}

.page-template-page-care .hero .bg {
  object-position: center right;
}

.date {
  color: #707070;
  font-weight: 500;
}

/* ===========================
   AOS reset
=========================== */
#building [data-aos=fade-left] {
  transform: translate3d(20px, 0, 0);
}
#building [data-aos=fade-left].aos-animate {
  transform: translate3d(0, 0, 0);
}
