/* ===============================
   Nexa Font Family
================================ */
/* @import url('https://fonts.googleapis.com/css2?family=Alan+Sans:wght@300..900&family=Marcellus&family=SUSE+Mono:ital,wght@0,100..800;1,100..800&family=Sora:wght@100..800&display=swap'); */

@import url('https://fonts.googleapis.com/css2?family=Funnel+Display:wght@300..800&family=Google+Sans:ital,opsz,wght@0,17..18,400..700;1,17..18,400..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Jost:ital,wght@0,100..900;1,100..900&family=Lexend:wght@100..900&display=swap');


/* Thin */
@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-ThinItalic.ttf") format("truetype");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

/* ExtraLight */
@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-ExtraLight.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-ExtraLightItalic.ttf") format("truetype");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

/* Light */
@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-LightItalic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

/* Regular */
@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Medium */
@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-MediumItalic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

/* SemiBold */
@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-SemiBoldItalic.ttf") format("truetype");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

/* Bold */
@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-BoldItalic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* ExtraBold */
@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-ExtraBoldItalic.ttf") format("truetype");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

/* Black */
@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/HankenGrotesk-BlackItalic.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

:root {
  /* --font-primary: "Hanken Grotesk"; */
  /* --font-primary: "Sora", sans-serif; */
  --font-primary: "Inter", sans-serif;
  --fw-thin: 100;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;
  --fw-xbold: 800;
  --fw-black: 900;
  --brand-green: #0C8A76;
}

.text-dark {
  --bs-text-opacity: 1;
  color: #010205 !important;
}

/* Margin Utilities */
.m-10 {
  margin: 10px;
}

.m-20 {
  margin: 20px;
}

.m-30 {
  margin: 30px;
}

/* … */
.m-100 {
  margin: 100px;
}

.mt-10 {
  margin-top: 10px;
}

.mt-20 {
  margin-top: 20px;
}

/* … */
.mt-100 {
  margin-top: 100px;
}

.mr-10 {
  margin-right: 10px;
}

/* … */
.mr-100 {
  margin-right: 100px;
}

.mb-10 {
  margin-bottom: 10px;
}

/* … */
.mb-100 {
  margin-bottom: 70px;
}

.ml-10 {
  margin-left: 10px;
}

/* … */
.ml-100 {
  margin-left: 100px;
}

.mx-10 {
  margin-left: 10px;
  margin-right: 10px;
}

/* … */
.mx-100 {
  margin-left: 100px;
  margin-right: 100px;
}

.my-10 {
  margin-top: 10px;
  margin-bottom: 10px;
}

/* … */
.my-100 {
  margin-top: 100px;
  margin-bottom: 100px;
}

/* Padding Utilities */
.p-10 {
  padding: 10px;
}

/* … */
.p-100 {
  padding: 100px;
}

.pt-10 {
  padding-top: 10px;
}

/* … */
.pt-100 {
  padding-top: 100px;
}

.pr-10 {
  padding-right: 10px;
}

/* … */
.pr-100 {
  padding-right: 100px;
}

.pb-10 {
  padding-bottom: 10px;
}

/* … */
.pb-100 {
  padding-bottom: 100px;
}

.pl-10 {
  padding-left: 10px;
}

/* … */
.pl-100 {
  padding-left: 100px;
}

.px-10 {
  padding-left: 10px;
  padding-right: 10px;
}

/* … */
.px-100 {
  padding-left: 100px;
  padding-right: 100px;
}

.py-10 {
  padding-top: 10px;
  padding-bottom: 10px;
}

/* … */
.py-100 {
  padding-top: 100px;
  padding-bottom: 100px;
}

.gray-text {
  color: #8D8D8D;

}

.dark-gray-text {
  color: #484848;
  ;

}

/* ========== SMALL SCREENS (≥576px) ========== */

.text-md {
  font-size: 19px;
  line-height: 30px;
}

/* Body Text */
* {
  font-family: var(--font-primary);
}

body {
  font-family: var(--font-primary);
  color: #3a3a3a;
  /* user-select: none; */
  scroll-snap-type: y mandatory;
  /* y = vertical scroll; mandatory = always snap */
  overflow-y: scroll;
  height: 100%;
  /* Force the browser to recognize the full window height */

  margin: 0;
  overflow-x: hidden;
}

.navbar-toggler:focus {
  outline: 0 !important;
  box-shadow: none !important;
}

.offcanvas-header .btn-close:focus {
  outline: 0 !important;
  box-shadow: none !important;
}

/* .sticky-header:not(.active) .navbar-toggler{
  filter: invert(1);

} */
.sticky-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  transition:
    transform 0.4s ease,
    background-color 0.3s ease,
    box-shadow 0.3s ease;
}

/* Transparent default */
.glass-navbar {
  background: transparent;
  transition: all 0.3s ease;
}

/* When scrolled */
.sticky-header.scrolled .glass-navbar {
  background: #ffffffbf;
  backdrop-filter: blur(10px);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}

/* Hide on scroll down */
.sticky-header.hide {
  transform: translateY(-100%);
}

/* Basic link styling */
.navbar-nav .nav-link {
  position: relative;
  color: #000;
  font-weight: 500;
  padding: 0.5rem 0;
  /* adjust spacing */
  transition: color 0.3s ease;
}

/* Top underline */
.navbar-nav .nav-link::before,
.navbar-nav .nav-link::after {
  /* content: ""; */
  position: absolute;
  left: 0;
  width: 0%;
  height: 2px;
  /* line thickness */
  background-color: #128d7a;
  /* change to your highlight color */
  transition: width 0.3s ease;
}

/* Top line */
.navbar-nav .nav-link::before {
  top: 0;
}

/* Bottom line */
.navbar-nav .nav-link::after {
  bottom: 0;
}

/* Hover effect: grow lines */
.navbar-nav .nav-link:hover::before,
.navbar-nav .nav-link:hover::after {
  width: 100%;
}

/* Optional: change text color on hover */
.navbar-nav .nav-link:hover {
  color: #128d7a;
}

/* Navbar only */
.sowrem-navbar {
  font-family: var(--font-primary);
}

/* Brand */
.sowrem-navbar .brand {
  font-weight: var(--fw-black);
  letter-spacing: 0.5px;
}

/* Nav links */
.sowrem-navbar .nav-link {
  font-weight: var(--fw-medium);
}

.text-xxl {
  font-size: 53px;
  font-weight: 800;
  line-height: 1.2;
}

/* form styling  */
.search-section {
  background: linear-gradient(180deg, #bfe6ea, #d9f1f4);
  padding: 80px 0;
}

/* Tabs */

.search-tabs .nav-link {
  background: #2b2b2b;
  color: #fff;
  border-radius: 10px 10px 0 0;
  /* padding: 12px 28px; */
  /* margin: 0 5px; */
  font-size: 11px;
  border: none;
  min-width: 100px;
}

.search-tabs .nav-link.active {
  background: #ffffff;
  color: #000;
  font-weight: 600;
}

/* Search Box */

.search-box {
  background: #ffffffd6;
  border-radius: 15px;
  padding: 35px 30px;
  backdrop-filter: blur(3px);
}



/* Labels */
.search-box .form-label {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  margin-bottom: 6px;
  margin-left: 10px;
}

.custom-tabs .nav-link {
  opacity: 0.8;
}

.custom-tabs .nav-link.active {
  animation: octopus 1300ms ease-in-out infinite;
  opacity: 1;
}

/* .tab-content.float {
    animation: float 1s ease-in-out infinite alternate;
    padding: 20px 50px;
} */
@keyframes float {
  0% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0px);
  }
}

/* .form-select{
    padding: 13px 25px;

  } */
.form-select {
  --bs-form-select-bg-img: unset;
}

.nice-select {
  line-height: 25px;
  width: 100%;
  /* overflow: hidden; */
}

.nice-select:after {
  height: 7px;
  border-bottom: 2px solid #0b8f7b;
  border-right: 2px solid #0b8f7b;
  width: 7px;
}

.form-select:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgb(255 255 255 / 25%);
}

/* Inputs */
.search-box .form-select {
  border-radius: 8px;
  font-size: 14px;
  height: 45px;
}

/* Button */
.btn-search {
  background: #0b8f7b;
  color: #fff;
  border-radius: 8px;
  height: 45px;
  width: 100%;
  font-weight: 600;
}

.btn-search:hover {
  background: #097565;
  color: #fff;
}

/* Responsive */
@media (max-width: 991px) {
  .search-tabs {
    flex-wrap: wrap;
  }
}

/* form styling  */
.text-green {
  color: #0c8a76;
}

:root {
  --nav-bg: #ffffffbd;
  --nav-border: rgba(255, 255, 255, 0.5);
  --nav-text: #0f172a;
  --nav-muted: #334155;
  --cta-bg: #000;
  --cta-text: #fff;
  --blur: blur(16px);
}

body {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

.banner-wrapper {
  background-position: center;
  transition: opacity 0.3s ease;
  /* background-size: 1000%  !important; */
  /* background-repeat: no-repeat !important; */
  /* display: flex; */
  justify-content: center;
  min-height: 93vh;
  align-items: center;
  overflow: hidden;
  /* position: sticky;
    top: 100px; */
  /* position: relative; */
}

/* .services-banner {
  position: sticky;
  top: 100px;
} */

.banner-wrapper {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: background-image 0.6s ease;
}

.text-justify {
  text-align: justify;
}

/* GLASS NAVBAR */
.glass-navbar {
  margin: 0 auto;
  padding: 10px;
  /* border-radius: 999px; */
  /* background: #fff; */
  /* backdrop-filter: var(--blur); */
  /* border: 1px solid var(--nav-border); */
  /* max-width: 1300px; */
}

/* LOGO */
.navbar-brand {
  font-weight: 800;
  letter-spacing: -0.5px;
  color: var(--nav-text);
}

.navbar-brand span {
  display: block;
  font-size: 11px;
  letter-spacing: 2px;
  margin-top: -4px;
}

/* LINKS */
.nav-link {
  color: var(--nav-muted);
  font-weight: 500;
  font-size: 16px;
}

.nav-link:hover {
  color: var(--nav-text);
}

/* CTA */
.btn-cta {
  background: var(--cta-bg);
  color: var(--cta-text);
  border-radius: 999px;
  padding: 8px 18px;
  font-size: 14px;
}

.btn-cta:hover {
  background: #111;
}

/* DROPDOWN (DESKTOP) */
.dropdown-menu {
  border-radius: 14px;
  padding: 12px;
  border: none;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

/* OFFCANVAS */
.offcanvas {
  backdrop-filter: blur(14px);
}

.mobile-arrow {
  font-size: 14px;
  transition: transform 0.3s ease;
}

.offcanvas .nav-link {
  font-weight: 500;
  color: #606060;
}

.search-tabs .nav-link {
  border: none;
}

.search-tabs .nav-link.active {
  box-shadow: none;
}

/* running text  */
.outline-marquee {
  width: 100%;
  overflow: hidden;
  /* background: linear-gradient(135deg, #0f8f7a, #159a8c); */
  /* padding: 40px 0; */
  position: relative;
  z-index: 2;
}

.text-xl {
  font-size: 3.5rem;
  line-height: 50px;
  letter-spacing: -1px;
  font-weight: 700;
}

.outline-track {
  display: flex;
  overflow: hidden;
  width: max-content;
  animation: outline-marquee 90s linear infinite;
}

.outline-track-reverse {
  display: flex;
  width: max-content;
  animation: outline-marquee-reverse 90s linear infinite;
}

.outline-track span {
  font-size: 95px;
  font-weight: 700;
  line-height: 163%;
  margin-right: 80px;
  white-space: nowrap;
  color: transparent;
  -webkit-text-stroke: 1px #ffffff;
  text-stroke: 2px #ffffff;
  font-family: sans-serif;
}

.outline-track-reverse span {
  font-size: 80px;
  font-weight: 700;
  margin-right: 80px;
  white-space: nowrap;
  color: white;
  line-height: 50px;
  font-family: sans-serif;
}

@keyframes outline-marquee {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

@keyframes outline-marquee-reverse {
  0% {
    transform: translateX(-50%);
  }

  100% {
    transform: translateX(0);
  }
}

/* .outline-marquee:hover .outline-track {
  animation-play-state: paused;
}
.outline-marquee:hover .outline-track-reverse {
  animation-play-state: paused;
} */

@media (max-width: 768px) {
  .outline-track span {
    font-size: 55px !important;
  }

  .outline-track-reverse span {
    font-size: 52px;
  }

  .banner-controls {
    bottom: 38px !important;
  }

  .mt-300 {
    margin-top: 300px;
  }

  .banner-wrapper {
    background-position: 83% 0 !important;
    transition: opacity 0.3s ease;
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }

  .growing-box {
    min-height: 180px !important;
  }
}

/* running text  */

/* home page css  */
.swiper-pagination-client .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 20px;
  border-radius: 5px;
  background-color: #0e8b77;
}

.mySwiper-client .swiper-slide {
  max-width: 520px;
}

.mySwiper-client .swiper-slide.swiper-slide-active .client-card {
  background-image: url(assets/images/elements/green-box.png);
  background-size: cover;
}

.mySwiper-client .swiper-slide.swiper-slide-next .client-card {
  background-color: #0e8b77;
}

.mySwiper-client .swiper-slide.swiper-slide-prev .client-card {
  background-color: #0e8b77;
}

.mySwiper-client .swiper-slide .client-card {
  background-color: #0e8b77;
}

.gm-style-iw-chr {
  display: none !important;
}

.gm-style .gm-style-iw-c {
  top: 0;
  left: 0;
  transform: translate(-25px, -20px);
  box-shadow: none;
}

.gm-style-iw.gm-style-iw-c {
  padding-left: 0 !important;
}

.gm-style .gm-style-iw {
  overflow: visible !important;
}

.gm-style-iw-tc {
  display: none !important;
}

.gm-style-iw-d {
  overflow: unset !important;
}

.gm-ui-hover-effect {
  width: 45px !important;
  height: 21px !important;
}

/* map  */

/* #map {
  width: 100%;
  height: 100%;
  user-select: none;
} */
.gmnoprint {
  display: none;
}

#map {
  width: 55%;
  height: 100%;
  user-select: none;
  position: absolute;
  right: 0;
  top: 0;
  overflow: hidden;
}

#map::before {}

#map * {
  border: none !important;
  outline: none !important;
}

#map {
  background-color: #0f8c7a !important;
  filter: brightness(1.01);
}


#stateLabel {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  background: #ffffff;
  padding: 10px 20px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  color: #2e7d32;
  font-weight: 600;
}

/* map  */
.swiper {
  width: 100%;
}

.swiper-slide-shadow {
  background: #00000000 !important;
}

.mySwiper-banner img {
  border: 1px solid white;
  transform: scale(0.9);
  border-radius: 20px;
  transform-origin: bottom;
  transition: 300ms ease-in-out;
  max-width: 140px;
  margin: 0 auto;
  min-height: 170px;
  object-fit: cover;
  object-position: center right;
}

.mySwiper-banner .swiper-slide:not(.swiper-slide-active) img {
  filter: brightness(0.8);
}

.mySwiper-banner .swiper-slide-active img {
  transform: scale(1);
  border-radius: 20px;
  border: 2px solid #ffffff;
  min-height: 200px;
  box-shadow: 0 0 10px -1px white;
  object-fit: cover;
  object-position: center right;
}

.banner-controls {
  position: absolute;
  bottom: 90px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 20px;
}

.swiper-pagination-banner {
  position: static;
  color: #fff;
  font-weight: 600;
  min-width: 60px;
  text-align: center;
}

/* COMMON */
.swiper-button-prev-banner,
.swiper-button-next-banner {
  width: 56px;
  height: 40px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: 2px solid #0f8c78ab;
}

/* LEFT (outline) */
.swiper-button-prev-banner {
  background: transparent;
}

.swiper-button-prev-banner::after {
  /* content: "next"; */
  color: #2b2b2b;
  font-size: 16px;
}

/* RIGHT (filled) */
.swiper-button-next-banner {
  background: #ffffff;
}

.swiper-button-next-banner::after {
  /* content: "prev"; */
  color: #313131;
  font-size: 16px;
}

.swiper-button-next-banner.swiper-button-disabled {
  background: #ffffff38;
  backdrop-filter: var(--blur);
  border: 1px solid var(--nav-border);
}

.swiper-button-prev-banner.swiper-button-disabled {
  background: #ffffff38;
  backdrop-filter: var(--blur);
  border: 1px solid var(--nav-border);
}

/* PAGINATION TEXT */
.swiper-pagination-banner {
  position: static;
  width: 310px;
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 1px;
}

.swiper-button-next-banner,
.swiper-button-prev-banner {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 90px;
  height: 50px;
  border-radius: 40px;
  background: #ffffff;
  color: #1c1c1c;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

/* Positioning */
.swiper-button-prev-banner {
  right: 20px;
}

.swiper-button-next-banner {
  left: 20px;
}

/* Arrow icons */
.swiper-button-next-banner::after,
.swiper-button-prev-banner::after {
  font-size: 18px;
  font-weight: bold;
}

/* swiper buttons  */
/* home page css  */

/* counter  */
.ms-lg-125 {
  margin-left: 155px;
}

/* .count {
  font-size: 4.4em;
  font-weight: 800;
  line-height: 50px;
} */

.counter-wrapper {
  background: #0c8a76;
  background-image: url(../images/elements/section-bg.webp);
  background-size: cover;
  background-position: center;
  background: cover;
  background-position: center center;
  position: relative;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
  /* min-height: 100vh; */
  /* display: flex;
  flex-direction: column;
  justify-content: end; */
  padding: 100px 0 0 0;
  z-index: 1;
}

.counter-wrapper::before {
  /* content: ""; */
  position: absolute;
  width: 100%;
  height: 200px;
  left: 0;
  top: -3px;
  background: linear-gradient(#0d8270, #ffffff00);
  z-index: -1;
}

.services-section {
  /* border-top-left-radius: 50px;
  border-top-right-radius: 50px; */
  position: relative;
  background-position: 50% 60%;
  background-size: cover;
}

.services-section:before {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0px;
  height: 70%;
  /* min-height: 1170px; */
  background: linear-gradient(to top, #0b7f6d, #128b78, #128b789c, transparent);
}

.counter-inner {
  position: relative;
  z-index: 2;
  padding: 0 0 0 0;
  /* overflow: hidden; */
}

.count-icon {
  font-size: 48px;
}

/* .counter-inner::after {
    content: "";
    width: 70%;
    background: radial-gradient(#0c8a76, #1e958282);
    position: absolute;
    bottom: -52%;
    right: -25%;
    z-index: -1;
    border-radius: 50%;
    aspect-ratio: 1;
}
.counter-inner::before {
    content: "";
    width: 50%;
    background: radial-gradient(#0c8a76, #1e958282);
    position: absolute;
    top: -25%;
    left: -25%;
    z-index: -1;
    border-radius: 50%;
    aspect-ratio: 1;
} */

/* counter  */

/* growing box  */
.growing-box {
  position: relative;
  min-height: 28vh;
  width: 66%;
  min-width: 80px;
  margin: 10px auto;
  overflow: hidden;
  border-top-left-radius: 25px;
  border-top-right-radius: 25px;
  background: transparent;
}

.growing-box::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(#ffffffa3, #ffffff52, transparent);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 2s ease-out;
  border-radius: 20px;
}

/* When visible */

.col-4:nth-of-type(1) .growing-box.is-visible::after {
  transform: scaleY(0.9);
}

.col-4:nth-of-type(2) .growing-box.is-visible::after {
  transform: scaleY(1);
}

.col-4:nth-of-type(3) .growing-box.is-visible::after {
  transform: scaleY(0.95);
}

/* growing box  */

.mySwiper-about .swiper-slide.swiper-slide-next .about-card {
  filter: brightness(0.9);
}

.mySwiper-about .swiper-slide.swiper-slide-prev .about-card {
  filter: brightness(0.9);
}

/* .mySwiper-about .swiper-slide.swiper-slide-active .about-card{
  filter: brightness(1.1); 
} */

.about-card {
  /* background: #075c4f; */
  background: url('../img/home/green-box.png');
  /* filter: brightness(0.5); */
  min-height: 100%;
  width: 100%;
  border-radius: 30px;
  padding: 50px;
  max-width: 380px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  overflow: hidden;
  background-position: center;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: start;
  flex-direction: column;
}

.about-card * {
  color: white;
}

.about-card img {
  width: 45px;
  /* font-size: 40px; */
}

.about-card h2 {
  margin-top: 20px;
  font-style: italic;
}

.about-card p {
  font-style: italic;
  margin-top: 15px;
}

.fs-large {
  /* font-size: 4.6rem; */
  font-size: 4rem;
  font-weight: 800;
  letter-spacing: -2px;
}

/* .about-card::after {
    content: "";
    position: absolute;
    width: 200px;
    background: linear-gradient(45deg, #0c8a76, #119580);
    border-radius: 50%;
    top: -60px;
    left: -30px;
    height: 200px;
    z-index: -1;
}
.about-card::before {
    content: "";
    position: absolute;
    width: 380px;
    background: linear-gradient(
294deg, #0c8a76, #119580);
    border-radius: 50%;
    bottom: -180px;
    right: -100px;
    height: 381px;
    z-index: -1;
} */

.mySwiper-banner .swiper-wrapper {
  align-items: flex-end;
}

@media only screen and (max-width: 767px) {
  .fs-large {
    font-size: 2.4rem;
  }

  .text-xxl {
    font-size: 2.3rem;
  }

  .count-text {
    font-size: 2.2em !important;
  }

  .py-md-100 {
    padding: 100px 0;
  }

  .about-card {
    min-height: 420px;
    width: 100%;
    border-radius: 30px;
    padding: 39px;
    max-width: 345px;
  }

  .mySwiper-banner img {
    width: 110px;
    object-fit: cover;
  }

  .mySwiper-banner .swiper-wrapper {
    padding-top: 35px;
  }

  .mySwiper-banner .swiper-slide-active img {
    min-height: 150px !important;
  }

  .mySwiper-banner img {
    max-width: 100px !important;
    min-height: 130px !important;
  }

  /* .about-section {
    position: static !important;
    top: 0 !important;
    height: unset !important;
  } */
}

@media screen and (max-width: 580px) {
  .count-text {
    font-size: 1.8em !important;
    margin-bottom: 0 !important;
  }

  .label-text {
    font-size: 13px !important;
  }
}

@media only screen and (min-width: 767px) {
  .text-md-dark {
    color: #000 !important;
  }

  .text-md-white {
    color: white !important;
  }
}

@media only screen and (max-width: 991px) and (min-width: 991px) {
  .text-xxl {
    font-size: 6rem;
  }
}

.about-section {
  position: relative;
  /* height: 100vh; */
  /* position: sticky;
  top: 0; */
  display: flex;
  align-items: center;
  background-color: white;
}

/* .mySwiper-about .swiper-slide-next{
  transform: rotate(1deg);
} */

/* .mySwiper-about {
  direction: rtl;
}

.mySwiper-about .swiper-slide * {
  direction: ltr;
  text-align: left;
} */

.right-arc {
  position: absolute;
  right: 0;
  top: 5%;
  width: 58%;
  max-width: 320px;
}

.left-arc {
  position: absolute;
  left: 0;
  bottom: -80px;
  width: 50%;
  max-width: 324px;
  z-index: -3;
}

.mySwiper-about {
  height: 100%;
}

.left-arc-property {
  position: absolute;
  left: 0;
  top: 0px;
  width: 50%;
  max-width: 324px;
  z-index: -3;
}

/* card style */

.property-section {
  background:
    linear-gradient(rgba(17, 115, 100, 0.85), rgba(17, 115, 100, 0.85)),
    url("../images/elements/section-bg.webp") no-repeat center/cover;

  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 100vh;
  /* full section height */
}

.property-section img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-img {
  position: relative;
  overflow: hidden;
  /* border-radius: 25px; */
  height: 100%;
}

/* .big-img {
  height: 76%;
} */

.wide-img {
  /* height: 100%; */
}

/* .small-img {
  height: 28%;
} */

/* Overlay */

.img-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: end;
  align-items: flex-end;
  padding: 20px;
  color: #fff;
  /* background: linear-gradient(to top, rgb(52 105 90), transparent); */
  gap: 20px;
}

.card-img-custom img {
  transition: transform 200ms ease-in-out;
}

.card-img-custom:hover .circle-arrow {
  /* transform: translateX(0px);
  opacity: 1; */
  background-color: white;
  color: #0c8a77;
  transition: opacity 150ms;
  transition: transform 150ms;
}

.card-img-custom:hover img {
  transform: rotate(-2deg) scale(1.2);
}

.card-img-custom .circle-arrow {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 200ms background-color ease-in-out;
  /* transform: translateX(-70px);
    opacity: 0; */
}

.circle-arrow.green {
  border-color: #0aa37a;
  color: #0aa37a;
  background: #f8f8f8;
  border: 1px solid #0c8a76;
  border-radius: 50%;
  padding: 8px 10px;
}

/* CTA */
.all-projects {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #ffffff;
  text-decoration: none;
  font-weight: 500;
  justify-content: space-between;
  width: 90%;
  /* background-color: #117364; */
  /* z-index: -1; */
}

.all-projects::after {
    z-index: -1;
    content: "";
    position: absolute;
    width: 43%;
    top: 50%;
    left: 38%;
    transform: translateY(-50%);
    border: 1px solid #15b79d;
}
  /* 
  .all-projects .circle-arrow {
    cursor: pointer !important;
  } */

/* MOBILE */
@media (max-width: 768px) {
  .wide-img {
    /* height: 220px; */
  }

  .text-xl {
    font-size: 44px;
    line-height: 42px;
  }
}

/* card style */

/* the sowrem advantage */
.circle-button {
  position: relative;
}

.circle-button .why-image {
  width: 72px;
}


.nav-link {
  transition: transform 200ms;
}

.nav-link .circle-button:hover .why-image {
  transform: scale(1.5);
  transition: 1000ms;
}

.nav-link.active .circle-button .why-image {
  transition: 1000ms;
  transform: scale(2.5);
  background-color: white;
  border-radius: 50%;
}

.nav-link.active i.why-img-icon {
  font-size: 50px;
  color: #109d54;
}

.circle-button::after {
  content: "";
  height: 340px;
  width: 4px;
  top: 97%;
  position: absolute;
  left: 50%;
  background: linear-gradient(177deg, #c4c4c4, transparent);
  z-index: -1;
}

.circle-button-1 {
  transform: translateY(20px);
}

.circle-button-2 {
  transform: translateY(90px);
}

.circle-button-3 {
  transform: translateY(80px);
}

.circle-button-4 {
  transform: translateY(30px);
}

.custom-tabs .nav-link.active .circle-button-1 {
  transform: translateY(-130px);
}

.custom-tabs .nav-link.active .circle-button-2 {
  transform: translateY(-140px);
}

.custom-tabs .nav-link.active .circle-button-3 {
  transform: translateY(-135px);
}

.custom-tabs .nav-link.active .circle-button-4 {
  transform: translateY(-130px);
}

.left-arc-advantage {
  position: absolute;
  top: 0%;
  left: 0;
  max-width: 360px;
  width: 25%;
  z-index: -1;
  transform: scaleY(-1);
}

.right-arc-advantage {
  position: absolute;
  z-index: -1;
  top: 5%;
  right: 0;
  max-width: 360px;
  width: 25%;
  transform: scaleY(-1);
}

.right-arc-client {
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 0;
  max-width: 360px;
  width: 25%;
  transform: scaleY(-1);
}

.abudha {
  z-index: -1;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 0.2;
}

.pb-extra {
  padding-bottom: 23%;
}

.circle-button img.why-img-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 22px;
    width: 123px;
    background: white;
}

.icon-circle {
  width: 145px;
  height: 145px;
  border-radius: 50%;
  border: 3px solid #0a9c6d;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  margin: auto;
}

.custom-nav {
  color: #0a9c6d;
}

/* .city-line {
  height: 60px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100'%3E%3Cpath d='M0 80h1200' stroke='%23ccc' fill='none'/%3E%3C/svg%3E") center bottom repeat-x;
} */
.city-marquee {
  width: 100%;
  overflow: hidden;
  position: relative;
  opacity: 0.2;
}

.city-track {
  display: flex;
  width: max-content;
  animation: city-marquee 30s linear infinite;
}

.city-track img {
  /* margin-right: 80px;  */
  height: 80px;
  flex-shrink: 0;
}

@keyframes city-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

.swiper-button-prev-icons,
.swiper-button-next-icons {
  max-width: 47px;
  max-height: 42px;
  border-radius: 50%;
  border: 2px solid #0a9c6d;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 47px;
  min-width: 45px;
}

.swiper-button-prev-icons::after,
.swiper-button-next-icons::after {
  font-size: 16px;
}

@media (max-width: 576px) {
  .icon-circle {
    /* width: 100px;
    height: 100px; */
    border-width: 12px;
    font-size: 38px;
    position: relative;
  }
  .icon-circle img{
      width: 100%;
  }

  .abudha {
    opacity: 0.15;
    height: 120px;
    object-fit: cover;
    object-position: bottom;
  }
}

.icon-circle::after {
  content: "";
  position: absolute;
  height: 100px;
  width: 100px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 3px solid #198754;
}

.line-after::after {
  /* content: ""; */
  position: absolute;
  height: 131px;
  width: 3px;
  left: 50%;
  top: 50%;
  transform: translate(-50%);
  background: linear-gradient(180deg, #c6c6c6, transparent);
}

/* the sowrem advantage */

/* news and articles  */
.advantage {
  line-height: 20px;
  font-size: 15px;
}

.advantage-large {
  height: 100vh;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  position: relative;
  width: 100%;
}

.blog-section-main {
  padding: 100px 0;
  background-color: #0c8a76;
  /* fallback */
  background-image: url("../images/elements/section-bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  border-radius: 0px;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
}

.section-subtitle {
  color: #e6fffa;
  /* letter-spacing: 2px; */
}

.section-title {
    font-weight: 700;
    font-size: 3rem;
    letter-spacing: -1px;
    line-height: 1.2;
    color: #010205;
}

.section-desc {
  margin-top: 10px;
}

.blog-card {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
  height: 100%;
  padding: 18px;
  padding-bottom: 0;
}

.blog-vard {
  position: relative;
}

.blog-card img {
  border-radius: 10px;
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.date-badge {
  display: inline-block;
  font-size: 12px;
  background: #d1fae5;
  color: #047857;
  padding: 4px 10px;
  border-radius: 6px;
  margin-bottom: 10px;
  position: absolute;
  top: -36px;
  left: 10px;
}

.blog-title {
  font-size: 19px;
  font-weight: 600;
  margin-bottom: 10px;
}

.blog-text {
  font-size: 15px;
  color: #6b7280;
  line-height: 21px;
}

.read-more {
  color: #108371;
  text-decoration: none;
  font-weight: 500;
  /* background: #108371; */
  /* padding: 8px 12px; */
  /* border-radius: 30px; */
  /* margin-top: 2px; */
  display: inline-block;
}

.load-more-btn {
  border: 1px solid #fff;
  color: #fff;
  padding: 12px 40px;
  border-radius: 40px;
  background: transparent;
  transition: all 0.3s ease;
}

.load-more-btn:hover {
  background: #fff;
  color: #0f8c7a;
}

/* news and articles  */

/* faq  */
#faqAccordion .accordion-item.active {
  /* background-color: #0f8c7a; */
  border-radius: 20px;
}

#faqAccordion .accordion-button {
  border: 0;
  background: transparent;
  /* border-radius: 11px; */
  padding: 24px;
  font-size: 18px;
}

#faqAccordion .accordion-button:not(.collapsed) {
  background-color: #0f8c7a;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  color: white !important;
  font-size: 25px;
}

#faqAccordion .accordion-button:not(.collapsed)::after {
  filter: invert(1);
}

.accordion-button:not(.collapsed) {
  box-shadow: none !important;
}

.accordion-button:focus {
  z-index: 3;
  outline: 0;
  box-shadow: none;
}

#faqAccordion .accordion-body {
  padding: 30px 30px;
  font-size: 15px;
  background: #0f8c7a;
  color: white;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
}

#faqAccordion .accordion-item {
  border: 0;
  margin: 10px 0;
  background: #e6f5f1;
  border-radius: 20px;
}

/* .accordion-button::after {
  display: none;
} */

.faqSwiper .swiper-slide:not(.swiper-slide-active) .faq-card p {
  display: none;
}

.faq-title {
  font-size: 55px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -1px;
  /* margin-top: -15px; */
}

.faq-title span {
  color: #0f8c7a;
}

.faq-preview {
  color: #6d6d6d;
  font-size: 14px;
  margin-left: auto;
}

.faq-nav div {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #0f8c7a;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  /* color: #fff; */
}

.faq-nav .faq-next,
.faq-nav .faq-prev {
  background: white;
  color: #0f8c7a;
  transition: 100ms transform ease-in-out;
}

.faq-nav .faq-next:hover,
.faq-nav .faq-prev:hover {
  background: #0f8c7a !important;
  color: white !important;
  transform: scale(1.08);
}

/* Swiper */

.faq-title span {
  color: #0f8c7a;
}

/* Swiper base */
.faqSwiper {
  padding-top: 20px;
}

.faqSwiper .swiper-slide {
  /* transition: all 0.4s ease; */
  width: 260px;
  /* INACTIVE WIDTH */
}

/* ACTIVE SLIDE WIDTH */
.faqSwiper .swiper-slide-active {
  width: 420px !important;
}

/* Card */
.faq-card {
  background: #e6f5f1;
  border-radius: 18px;
  padding: 42px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: all 0.4s ease;
  min-height: 319px;
}

/* Title */
.faq-card-title {
  /* font-size: 18px; */
  font-weight: 600;
  /* rotate: -90deg; */
}

/* Description (hidden by default) */
.faq-card-desc {
  color: #ffffff;
  margin-top: 12px;
  /* opacity: 0; */
  max-height: 0;
  overflow: hidden;
  transition: all 0.4s ease;
}

/* ACTIVE CARD */
.faqSwiper .swiper-slide-active .faq-card {
  background: #0f8c7a;
  color: #fff;
  justify-content: center !important;
}

.faqSwiper:not(.swiper-slide-active) .faq-card {
  justify-content: end;
}

.faqSwiper .swiper-slide-active .faq-card-desc {
  opacity: 1;
  max-height: 200px;
}

/* Navigation */
.faq-prev,
.faq-next {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid #0f8c7a;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

/* Responsive */
@media (max-width: 767px) {

  .faqSwiper .swiper-slide,
  .faqSwiper .swiper-slide-active {
    width: 90% !important;
  }
}

/* faq  */

/* contact section  */
.contact-section {
  padding: 100px 0;
  min-height: 100vh;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 10;
}

.heading-green {
  color: #118c7a;
  font-weight: 700;
  font-size: 42px;
}

.heading-dark {
  color: #333333;
  font-weight: 700;
  font-size: 42px;
}

.contact-desc {
  color: #75787d;
  line-height: 1.7;
  max-width: 460px;
}

.map-bg {
  margin-top: 40px;
  background: url("https://i.imgur.com/0XKzn8v.png") center/cover no-repeat;
  height: 230px;
  border-radius: 6px;
}

.form-control {
  height: 65px;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}

.form-control::placeholder {
  color: #9ca3af;
}

.required {
  color: #ef4444;
}

.submit-btn {
  margin-top: 30px;
  height: 56px;
  border-radius: 10px;
  border: none;
  font-weight: 500;
  color: #fff;
  background: linear-gradient(90deg, #118c7a 0%, #8bcf5b 100%);
}

/* Mobile */
@media (max-width: 767px) {

  .heading-green,
  .heading-dark {
    font-size: 32px;
  }

  .map-bg {
    height: 180px;
  }
}

/* contact section  */

/* footer  */
.footer {
  background-color: #128d7a;
  background-image: url(../images/elements/section-bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 100px 0;
  border-top-left-radius: 40px;
  border-top-right-radius: 40px;
  /* min-height: 70vh; */
  display: flex;
  align-items: center;
}

.footer-logo {
  font-size: 36px;
  font-weight: 800;
  line-height: 1;
}

.footer-logo span.green {
  color: #1faa59;
}

.footer-logo span.blue {
  color: #1da1f2;
  font-size: 18px;
  font-weight: 700;
  display: block;
  margin-top: 6px;
  letter-spacing: 1px;
}

.footer-desc {
  color: #ffffff;
  /* font-size: 14px; */
  line-height: 1.8;
  margin-top: 20px;
  max-width: 420px;
}

.footer-title {
  font-weight: 800;
  font-size: 20px;
  margin-bottom: 20px;
  color: #ffffff;
}

.footer-links li {
  margin-bottom: 12px;
}

.footer-links a {
  color: #ffffff;
  /* font-size: 14px; */
  text-decoration: none;
}

.footer-links a:hover {
  color: #1faa59;
}

.contact-item {
  display: flex;
  gap: 12px;
  margin-bottom: 14px;
  color: #ffffff;
  /* font-size: 14px; */
  align-items: flex-start;
}

.contact-item i {
  color: #ffffff;
  margin-top: 3px;
}

.social-icons a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #128d7a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  margin-right: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  text-decoration: none;
  transition: all 0.3s ease;
  border: 1px solid white;
}

.social-icons a:hover {
  background: #1faa59;
  color: #fff;
}

/* @media (max-width: 767px) {
    .footer {
      text-align: center;
    }

    .footer-desc {
      margin-left: auto;
      margin-right: auto;
    }

    .contact-item {
      justify-content: center;
    }

    .social-icons {
      justify-content: center;
    }
  } */
/* footer  */

/* map section card  */
.property-card {
  height: 325px;
  border-radius: 18px;
  /* box-shadow: 8px 8px 24px -9px rgb(0 0 0 / 27%); */
  z-index: 4;
  /* margin: 0 auto; */
  max-width: 430px;
}

.property-card img {
  position: absolute;
  inset: 0;
  object-fit: cover;
}

.mySwiper-projects .swiper-slide {
  padding: 40px 0;
}

/* Dark gradient overlay */
.property-overlay {
  position: relative;
  z-index: 2;
  height: 100%;
  padding: 28px;
  background: linear-gradient(to top,
      rgba(0, 0, 0, 0.85),
      rgba(0, 0, 0, 0.35),
      rgba(0, 0, 0, 0));
  color: #fff;
}

.property-title {
  font-size: 34px;
  font-weight: 700;
  margin-bottom: 0;
}

.property-subtitle {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 1px;
  margin-bottom: 12px;
  margin-top: 10px;
}

.property-desc {
  font-size: 14px;
  opacity: 0.9;
  margin-bottom: 20px;
}

/* Button */
.property-btn {
  width: fit-content;
  padding: 10px 22px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 500;
}

/* Responsive */
@media (max-width: 576px) {
  .property-card {
    height: 420px;
  }

  .property-title {
    font-size: 28px;
  }

  .home-form {
    padding: 40px 0px !important;
  }

  .client-section {
    padding-top: 110px !important;
    z-index: 1;
  }
}

.swiper-pagination-client2 .swiper-pagination-bullet-active {
  background: #0c8d7b !important;
  opacity: var(--swiper-pagination-bullet-opacity, 1) !important;
  width: 50px !important;
  border-radius: 20px !important;
}

.swiper-pagination-client2 .swiper-pagination-bullet {
  background: #b4b4b4;
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  width: 20px;
  border-radius: 20px;
}

.gm-style-iw.gm-style-iw-c {
  background-color: transparent;
}

.swiper-button-next-project,
.swiper-button-prev-project {
  width: 50px;
  height: 50px;
  border-radius: 40px;
  background: #0c8a76;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border: 2px solid #ffffff;
}

.swiper-button-prev-client.swiper-button-disabled {
  opacity: 0.4;
}

.swiper-button-next-client.swiper-button-disabled {
  opacity: 0.4;
}

.swiper-button-next-client,
.swiper-button-prev-client {
  width: 90px;
  height: 50px;
  border-radius: 40px;
  background: #ffffff;
  color: #0c8a76;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border: 2px solid #0c8a76;
}

.cust-info-box img {
  width: 33px;
  filter: brightness(0) invert(1);
}

.cust-info-box {
  display: flex;
  cursor: pointer;
  gap: 10px;
  align-items: center;
  /* justify-content: center;
  /* background: #148a78 !important; */
}

#map img {
  box-shadow: none !important;
  /* Prevents slight gaps between tiles */
  border: 1px solid transparent;
  margin: -1px;
}

.map-image {
  position: relative;
  display: inline-block;
}

/* .map-image::after {
  content: "";
  position: absolute;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  background: #ffffff;
} */


@keyframes octopus {
  0% {
    scale: 1;
  }

  50% {
    scale: 0.95;
  }

  100% {
    scale: 1;
  }
}

.iconSwiper {
  max-width: 100% !important;
  width: 167px !important;
}

.home-form {
  padding: 40px 10px;
}

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: 1px solid #ffffff;
  opacity: 0.55;
}

/* map section card  */

/* client  */
.client-card {
  background-image: url(../img/home/green-box.png);
  background-size: cover;
  /* border: 2px solid #f0f0f0; */
  padding: 30px;
  border-radius: 22px;
  /* border-bottom-right-radius: 0; */
}

.client-section {
  /* padding-top: 215px; */
  min-height: 100vh;
  display: flex;
  align-items: center;
  z-index: 1;
}

/* .mySwiper-client .swiper-wrapper{
  rotate: 357deg;
} */
.mySwiper-client {
  direction: rtl;
}

/* Fade previous card */
.mySwiper-client .swiper-slide-prev {
  opacity: 0;
}

.client-slider-arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  justify-content: space-between !important;
  width: 80%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

@media (max-width: 576px) {
  .all-projects::after {
    display: none !important;
  }

  .circle-arrow.green {
    padding: 5px 7px;
  }

  .client-card {
    padding: 20px;
    max-width: 370px;
    margin: 0 auto;
  }

  .text-md {
    font-size: 19px;
    line-height: 28px;
  }

  .faq-title {
    font-size: 2.4rem;
    /* line-height: 1; */
  }

  .section-title {
    font-size: 2.2rem;
    line-height: 1.1;
  }
}

.custom-dot {
  pointer-events: auto;
  cursor: pointer;
}

/* client  */

/* advantage correction css  */

/* advantage correction css  */

/* svg growing effect  */

.draw-path {
  stroke: #000;
  stroke-width: 2;
  fill: none;
}

/* svg growing effect  */

/* banner section */
.banner-section {
  min-height: 100vh;
  /* padding-top: 200px; */
  /* background-image: url("https://www.shutterstock.com/image-photo/construction-engineer-civil-team-work-600nw-2140542901.jpg"); */
  /* background-image: url(https://dummyimage.com/1920x1080/f5e2f5/0011ff); */
  background-image: url(../img/home/sowrem-home-banner.webp);
  /* background-image: url(../images/services/plots.webp); */
  background-position: top;
  background-size: cover;
  /* position: sticky;
  top: 0; */
}

.banner-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgb(11 143 123 / 83%), rgb(0 0 0 / 0%), rgb(11 143 123 / 0%));
    z-index: -1;
}

.banner-section {
  padding-top: 150px;
}

.banner-form-section {
  position: absolute;
  top: 56%;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  z-index: 1;
}

@media only screen and (max-width: 766px) {



  .banner-form-section {
    position: static;
    transform: unset;
  }

  .line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }


  .lead {
    font-size: 1.1rem !important;
    font-weight: 300;
  }

  .text-sm-justify {
    text-align: center !important;
  }
}

.text-sm-justify {
  text-align: justify;
}

.mySwiper-banner .swiper-wrapper {
  min-height: 240px;
}

.line-clamp-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media only screen and (max-width: 650px) {

  .nav-service-card .service-card-img {
    width: 110px !important;
    height: 145px !important;
    object-fit: cover;
    border-radius: 15px;
    margin: 0 auto;
    /* transform: scale(1.02); */
    border: 2px solid transparent;
  }

  .mySwiper-banner .swiper-wrapper {
    min-height: 190px !important;
  }

 .banner-section {
    background-image: url(../img/home/sowrem-home-banner-mobile.webp);
    z-index: 1;
    position: relative;
}

  .banner-form-section {
    transform: translateY(-150px);
    left: 0;
    position: absolute;
  }
}

/* banner section */

/* marquree  */
.marquee {
  width: 100%;
  overflow: hidden;
}

.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee 100s linear infinite;
}

.marquee-track img {
  width: 1440px;
  height: 232px;
  object-fit: cover;
  flex-shrink: 0;
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

/* marquree  */

/* new client  */
.client-testimonial-section {
  position: relative;
  height: 100vh;
  background: #f8f8f8;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.mySwiper-client2 {
  width: 100%;
  /* padding: 1.875rem 0; */
}

.mySwiper-client2 .swiper-slide {
  width: 18.75rem;
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: self-start;
  /* box-shadow: 0.063rem 0.5rem 1.25rem rgba(0, 0, 0, 0.1216); */
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  background: transparent;
  overflow: hidden;
}

.mySwiper-client2 .swiper-slide-img {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  transform: rotate(180deg);
  line-height: 0;
  bottom: -0.063rem;
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

.mySwiper-client2 .swiper-slide-img img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  z-index: -1;
  transition: 0.3s ease-in-out;
  transform: rotate(-180deg);
}

.mySwiper-client2 .swiper-slide-img svg {
  position: relative;
  display: block;
  width: calc(300% + 1.3px);
  height: 5rem;
  transform: rotateY(180deg);
}

.mySwiper-client2 .swiper-slide-img .shape-fill {
  fill: #ffffff;
}

.mySwiper-client2 .swiper-slide-content {
  background: #fff;
  padding: 0 1.65rem;
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  width: 100%;
}

.mySwiper-client2 .swiper-slide-content>div {
  transform: translateY(-1.25rem);
}

.mySwiper-client2 .swiper-slide-content h2 {
  color: #000;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.4;
  margin-bottom: 0.425rem;
  text-transform: capitalize;
  letter-spacing: 0.02rem;
}

.mySwiper-client2 .swiper-slide-content p {
  color: #000;
  line-height: 1.6;
  font-size: 0.9rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mySwiper-client2 .swiper-slide-content .show-more {
  width: 3.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #24aad9;
  border-radius: 50%;
  box-shadow: 0px 0.125rem 0.875rem #24aad96b;
  margin-top: 1em;
  margin-bottom: 0.2em;
  height: 0;
  opacity: 0;
  transition: opacity 0.3s ease-in;
  margin-left: auto;
}

.mySwiper-client2 .swiper-slide-content .show-more:hover {
  background: #1184ac;
}

.mySwiper-client2 .swiper-slide-content .show-more svg {
  width: 1.75rem;
  color: #fff;
}

.mySwiper-client2 .swiper-slide-active:hover img {
  transform: scale(1.2) rotate(-185deg);
}

.mySwiper-client2 .swiper-slide-active:hover .show-more {
  opacity: 1;
  height: 3.125rem;
}

.mySwiper-client2 .swiper-slide-active:hover p {
  display: block;
  overflow: visible;
}

.mySwiper-client2.swiper-3d .swiper-slide-shadow-left,
.mySwiper-client2.swiper-3d .swiper-slide-shadow-right {
  background-image: none;
}

@media screen and (min-width: 93.75rem) {
  /* .mySwiper-client2 {
    width: 85%;
  } */
}

.mySwiper-client2 .swiper-slide .client-card {
  filter: blur(3px);
}

.mySwiper-client2 .swiper-slide-next .client-card {
  filter: blur(1.1px);
}

.mySwiper-client2 .swiper-slide-prev .client-card {
  filter: blur(1.1px);
}

.mySwiper-client2 .swiper-slide-active .client-card {
  filter: unset !important;
}

/* new client  */

.faqSwiper .swiper-slide-active .faq-card .faq-card-title {
  /* rotate: 0deg !important; */
}

/* .faq-section{
  min-height: 100vh;
  display: flex;
  align-items: center;
  background-color: white;
} */
.faq-section {
  min-height: 100vh;
  display: flex;
  align-items: center;
  background-color: #f5f5f5;
  position: relative;
  z-index: 10;
}

/* banner   */
/* .mySwiper-banner .swiper-slide {
  opacity: 0.5;
  transition: 0.3s ease;
}

.mySwiper-banner .swiper-slide-active {
  opacity: 1;
  transform: scale(1.05);
}

 */
@media only screen and (max-width: 550px) {
  .text-xxl {
    font-size: 2rem;
  }

  .green-btn {
    padding: 9px 24px !important;
  }
}

@media only screen and (min-width: 767px) {
  .w-20 {
    width: 20% !important;
  }
}

/* header {
  position: fixed;
  top: 10px;
  left: 0;
  width: 100%;
  z-index: 1000;
}

header::before {
  content: "";
  position: absolute;
  inset: unset;
  background: #ffffff85;
  opacity: 0;
  backdrop-filter: blur(6px);
  transform: translateY(-100%);
  transition: all 0.5s cubic-bezier(.4, 0, .2, 1);
  z-index: -1;
  height: 138%;
  top: -15px;
  left: 0;
  right: 0;
}

header.active::before {
  opacity: 1;
  transform: translateY(0);
} */

/* banner   */

.outline-marquee {
  width: 100%;
  /* overflow: hidden; */
}

.outline-track {
  display: flex;
  width: max-content;
  animation: marquee 40s linear infinite;
}

.outline-marquee.reverse .outline-track {
  animation: marquee-reverse 40s linear infinite;
}

.outline-track span {
  font-size: 90px;
  font-weight: 700;
  margin-right: 80px;
  white-space: nowrap;
  color: transparent;
  -webkit-text-stroke: 1px #fff;
}

/* Forward */
@keyframes marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/* Reverse */
@keyframes marquee-reverse {
  from {
    transform: translateX(-50%);
  }

  to {
    transform: translateX(0);
  }
}

.draw-path path {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  transition: stroke-dashoffset 2s ease;
}

.draw-path.active path {
  stroke-dashoffset: 0;
}

@media (min-width: 991px) {
  .ms-lg-170 {
    margin-left: 140px;
    margin-right: 120px;
  }
}

.swiper-slide-shadow-right {
  background-image: linear-gradient(90deg, #00000000, #0000) !important;
}

.swiper-slide-shadow-left {
  background-image: linear-gradient(90deg, #00000000, #0000) !important;
}

.advantageSwiper {
  position: relative;
}

/* .advantageSwiper::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 45px;
    height: 100%;
    background-image: linear-gradient(
91deg, white, transparent);
    z-index: 9;
}
.advantageSwiper::after {
    content: "";
    position: absolute;
    right: -2px;
    top: 0;
    width: 54px;
    height: 100%;
    background-image: linear-gradient(277deg, white,white, transparent);
    z-index: 9;
} */
.advantageSwiper[data-swiper-slide-index="0"] {
  transform: translateX(-150px);
}

.property-card {
  box-shadow: 10px 12px 7px rgb(0 0 0 / 22%);
}

/* Default all slides hidden */
.advantageSwiper .swiper-slide {
  opacity: 0;
  transition: opacity 0.4s ease;
}

/* Only active slide visible */
.advantageSwiper .swiper-slide-active {
  opacity: 1;
}

/* Explicit (optional, for clarity) */
.advantageSwiper .swiper-slide-prev,
.advantageSwiper .swiper-slide-next {
  opacity: 0;
}

.advantageSwiper {
  overflow: visible !important;
}

.advantageSwiper .swiper-slide-active[data-swiper-slide-index="0"] .tab-content {
  position: relative;
}

.advantageSwiper .swiper-slide-active[data-swiper-slide-index="1"] .tab-content {
  position: relative;
  transform: translateX(275px);
}

.advantageSwiper .swiper-slide-active[data-swiper-slide-index="2"] .tab-content {
  position: relative;
  transform: translateX(-280px) !important;
}

.advantageSwiper .swiper-slide-active[data-swiper-slide-index="3"] .tab-content {
  position: relative;
  transform: translateX(-10px) !important;
}

.advantageSwiper .swiper-slide-active[data-swiper-slide-index="0"] .tab-content::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -23px;
  width: 0;
  height: 0;
  border-top: 35px solid transparent;
  border-bottom: 35px solid transparent;
  border-right: 25px solid #0c8a77;
  transform: translateY(-50%);
}

.advantageSwiper .swiper-slide-active[data-swiper-slide-index="1"] .tab-content::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -24px;
  width: 0;
  height: 0;
  border-top: 35px solid transparent;
  border-bottom: 35px solid transparent;
  border-right: 25px solid #0c8a77;
}

.advantageSwiper .swiper-slide-active[data-swiper-slide-index="2"] .tab-content::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -24px;
  width: 0;
  height: 0;
  border-top: 35px solid transparent;
  border-bottom: 35px solid transparent;
  border-left: 25px solid #0c8a77;
}

.advantageSwiper .swiper-slide-active[data-swiper-slide-index="3"] .tab-content::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -23px;
  width: 0;
  height: 0;
  border-top: 35px solid transparent;
  border-bottom: 35px solid transparent;
  border-left: 25px solid #0c8a77;
}

.circle-button {
  transition: 600ms ease-out;
}

/* Base state */
.contentSwiper .swiper-slide,
.iconSwiper .swiper-slide {
  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity 0.4s ease-out,
    transform 0.4s ease-out;
}

/* Active slide */
.contentSwiper .swiper-slide-active,
.iconSwiper .swiper-slide-active {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 1.2s ease-in,
    transform 1.2s ease-in;
}

.advantageSwiper .tab-content {
  padding: 35px 48px;
  border-radius: 30px;
  background: linear-gradient(45deg, #0c8a77, #2aac99, #0c8a77);
}

/* new faqs  */
.feature-section {
  padding: 100px 0;
  min-height: 100vh;
  display: flex;
  align-items: center;
}

.featureSwiper {
  width: 100%;
  padding: 60px 0;
}

.feature-card {
  background: #f9f9f9;
  color: #6d6d6d;
  border-radius: 20px;
  padding: 30px;
  height: 330px !important;
  display: flex;
  flex-direction: column;
  justify-content: end;
  transition: all 600ms ease;
  transform: scale(0.85);
  background-size: cover;
  overflow: hidden;
}

/* Title always visible */
.feature-card h3 {
  font-size: 21px;
  margin-bottom: 8px;
  color: black;
}

.feature-card.swiper-slide-active h3 {
  font-size: 28px !important;
  color: white;
  margin-bottom: 25px;
}

/* Description hidden by default */
.feature-card p {
  opacity: 0;
  max-height: 0;
  margin-top: 0 !important;
  transition: all 0.4s ease;
}

#element {
  font-weight: 200;
  font-size: 3.4rem;
  color:white;
}

/* Active (center) card */
.featureSwiper .swiper-slide-active {
  opacity: 1;
  /* transform: scale(1) translateX(0); */
  /* background: #0f8c7a; */
}

.featureSwiper .swiper-slide-active p {
  opacity: 1;
  max-height: 100px;
  margin-top: 15px;
}

.featureSwiper .swiper-slide.swiper-slide-active {
  background: url(../img/home/green-box.png);
  color: white;
  background-size: cover;
  width: 440px !important;
  transition: all 300ms linear;
  display: flex;
  align-items: center;
  justify-content: center;
}

.featureSwiper .swiper-slide:not(.swiper-slide-active) {
  width: 200px;
  display: flex;
  justify-content: end;
  /* height: 280px; */
  background: #098F7021;
}

/* .featureSwiper .swiper-slide-active {
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
} */

/* new faqs  */

.text-block .circle-arrow {
  transition: all 0.3s ease;
}

.text-block:hover .circle-arrow {
  background-color: #0b8f7b;
  color: white;
  border: 2px solid white;
}

.card.blog-card {
  transition: all 0.3s ease;
}

.card.blog-card img {
  transition: all 0.3s ease;
}

.card.blog-card:hover img {
  transform: scale(1.1) rotate(1deg);
}

.card.blog-card:hover {
  transform: scale(1.015);
  box-shadow: 0 0 22px -15px #ffffff;
}

.blog-card-image {
  overflow: hidden;
  border-radius: 15px;
}

@media only screen and (max-width: 1300px) and (min-width: 1200px) {
  .line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 4 !important;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

.mySwiper-banner h5 {
  font-size: 1.1rem;
}

/* gsap styles  */

.panel {
  margin-bottom: 50px;
  background: white;
  font-size: 36px;
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mySwiper-banner-content {
  z-index: 0;
}

/* gsap styles  */

/* gsap animatyion  */

.form-control:focus {
  box-shadow: unset;
}

.cursor-pointer {
  cursor: pointer;
}

.services-card-section {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 100vh;
}

#bg-primary,
#bg-secondary {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 1.2s ease-out;
  /* Subtle zoom effect */
}

@media screen and (max-width: 780px) {

  #bg-primary,
  #bg-secondary {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: 83% 0 !important;
    transition: transform 1.2s ease-out;
    /* Subtle zoom effect */
  }
}

/* Combined overlay for better performance */
/* .bg-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to top,
    rgba(11, 127, 109, 1),
    rgba(18, 139, 120, 0.8),
    transparent
  );
  z-index: 2;
  pointer-events: none;
} */
/* .bg-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgb(8 77 66), rgba(18, 139, 120, 0.8), transparent);
  z-index: 2;
  pointer-events: none;
} */
.bg-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
    background-color: #ffffff00;
    background-image: radial-gradient(circle at 0 0, rgb(11 143 123 / 90%) 12%, transparent 71%), linear-gradient(1deg, #0f8c78, #0f8c7838, #0f907d00);
}
#bg-secondary {
  z-index: 0;
}

#bg-primary {
  z-index: 1;
}

.owl-carousel {
  margin-top: auto;
  /* padding-bottom: 40px; */
  z-index: 3;
}

.nav-service-card {
  cursor: pointer;
  text-align: center;
  /* opacity: 0.5; */
  transform: scale(0.85);
  transition: all 1.5s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: bottom;
}

.nav-service-card .service-card-img {
  max-width: 135px;
  height: 180px;
  object-fit: cover;
  border-radius: 15px;
  margin: 0 auto;
  /* transform: scale(1.02); */
  border: 2px solid transparent;
}

.nav-service-card span {
  display: block;
  margin-top: 15px;
  color: #ffffff;
  font-weight: 600;
  font-size: 0.95rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.owl-item.center .nav-service-card {
  opacity: 1;
  transform: scale(1.1);
  transform-origin: bottom;
}

.owl-item.center .nav-service-card .service-card-img {
  border-color: #fff;
  box-shadow: 0 15px 35px rgb(255 255 255 / 28%);
  transition: all 300ms ease;
}

.owl-item.center .nav-service-card:hover .service-card-img {
  transform: scale(1.02);
}

/* Indicate that the content section is interactive */
#service-card-content {
  cursor: grab;
  user-select: none;
  /* Prevents text highlighting while dragging */
  z-index: 10;
  /* Ensure it stays above background layers */
}

#service-card-content:active {
  cursor: grabbing;
}

/* Optional: Smooth transition for the content shift */
#service-card-content {
  transition: transform 0.1s ease-out;
}

.growing-box {
  position: relative;
  margin: 20px auto 0;
  background: transparent;
  border-radius: 20px 20px 0 0;
  overflow: hidden;
  /* border: 1px solid rgba(255, 255, 255, 0.1); */
}

.bar-fill {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Glossy Gradient */
  background: linear-gradient(to top,
      rgba(255, 255, 255, 0.4) 0%,
      rgba(255, 255, 255, 0.15) 100%);
  transform: scaleY(0);
  transform-origin: bottom;
  border-radius: 15px 15px 0 0;
}

.graph-svg {
  position: absolute;
  bottom: 10%;
  left: 10%;
  width: 80%;
  height: 80%;
  z-index: 2;
  overflow: visible;
}

.graph-path {
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
  filter: drop-shadow(0 0 5px rgba(234, 234, 152, 0.5));
}

.count-text {
  font-size: 4.4em;
  font-weight: 800;
  line-height: 50px;
  color: #fff;
  margin-bottom: 20px;
}

.label-text {
  color: #ededed;
  font-size: 1rem;
  /* text-transform: uppercase; */
  letter-spacing: 1px;
}

.counter-col {
  flex: 1;
  text-align: center;
}

.portal-wrapper {
  overflow: visible !important;
}

/* .services-card-section {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 1;
  transition: none !important;
  will-change: clip-path;
  display: flex;
  overflow: hidden;
  align-items: center;
} */

/* Ensure the first section (Banner) stays visible underneath */





/* .pin-wrap {
  height: 200vh; 
} */

.zoom-section {

  /* background: #117364 !important;
    display: flex;
    align-items: center !important;
    justify-content: center !important; */
  color: white;
  overflow: hidden;
  transform-origin: center;
  will-change: transform, border-radius;
}

@media (max-width: 576px) {
  .equal-box {
    border-radius: 0;
    border-top-left-radius: 30px !important;
    border-top-right-radius: 30px !important;
    border-bottom-left-radius: 0px !important;
  }

  .py-100 {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }

  /* .project-section{
    background-color: #f6f6f6 !important;
  } */
}

.project-section {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  background: #0f8c7a;
}

.equal-box {
  background-color: #0c8a76;
  background-image: url(../images/elements/section-bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  border-top-left-radius: 50px;
  border-bottom-left-radius: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* zoom animation  */

.feature-card-inner {
  transition: all 0.3s ease;
}




/* project page  */
.project-hero {
  z-index: 1;
  min-height: 100vh;

  background-size: cover;
  background-position: left;
  position: sticky;
  display: flex;
  align-items: center;
  background-color: black;
  z-index: 0;
  top: 0;
}

.project-hero::before {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 57%;
  height: 100%;
  z-index: 1;
  background-image: url(../img/home/project-banner.jpg);
  z-index: -1;
  background-size: cover;
  background-position: center;
}

.project-hero::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 57%;
  height: 100%;
  z-index: -1;
  background: radial-gradient(transparent, #000000e3 46%, black);
}

/* The small underline style */
.tagline-border {
  width: 60px;
  /* Adjust width to match your preference */
  height: 1px;
  /* Very thin line */
  background-color: #6c757d;
  /* Bootstrap secondary color gray */
  opacity: 0.6;
}

.tracking-widest {
  letter-spacing: 0.15rem;
}


/* Swiper Container Spacing */
.propertySwiper {
  padding: 40px 0 !important;
}


/* General Card Styling */
.property-card-project {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 25px 9px;
  color: #888;
  transition: all 0.4s ease-in-out;
  /* border-left: 1px solid #D9D9D9; */
}


.no-border {
  border-left: none !important;
}

.property-card-project svg {
  fill: #939393;
  width: 32px;
  height: 32px;
}

.owl-item.active.center .property-card-project svg {
  fill: #ffffff;
  width: 35px;
  height: 35px;
}



.property-card-project span {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1%;
  text-align: center;
  text-transform: uppercase;
  line-height: 100%;
  display: block;
  margin-top: 11px;
  color: #1D1D1D;

}

/* THE CENTERED ITEM */
.owl-item.center .property-card-project {
  background: #3f977e;
  color: #ffffff;
  /* transform: scale(1.1); */
  box-shadow: -4.08px 1.36px 21.7px 2.72px #0000000A;
  border-radius: 6.8px;
  border-right-color: transparent;
  z-index: 2;
}

/* Remove border from the item immediately to the left of center for a clean look */
.owl-item.center+.owl-item .property-card {
  border-left: none;
}

/* Container for both buttons */
.property-owl {
  /* max-width: 85%; */
  margin: 0 auto;
}

.property-owl .owl-nav {
  position: absolute;
  top: 55%;
  width: 100%;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

/* Individual Button Styling (The Circles) */
.property-owl .owl-nav button {
  width: 45px;
  height: 45px;
  background: #fff !important;
  /* White circle */
  color: #333 !important;
  /* Dark arrow */
  border-radius: 50% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  pointer-events: auto;
  /* Re-enables clicking on the actual button */
  border: 1px solid #eee !important;
}

/* Hover effect */
.property-owl .owl-nav button:hover {
  background: #11998e !important;
  color: #fff !important;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
}

/* Specific positioning to pull them slightly outside the slider */
.property-owl .owl-prev {
  margin-left: -22px;
}

.property-owl .owl-next {
  margin-right: -22px;
}

.property-owl .owl-carousel .owl-dots.disabled {
  display: flex !important;
}

.property-owl .owl-item .item {
  display: flex;
  justify-content: center;
  margin: 30px 0 0;
}

.property-owl .owl-item .item .property-card-project {
  width: 100%;
  max-width: 180px;
}

@media (min-width: 768px) {
  .border-md-end {
    border-right: 2px solid #e5e5e5 !important;
  }
}

.form-select {
  font-weight: 600;
  cursor: pointer;
}

.btn-teal {
  background-color: #11998e;
  border: none;
}

.btn-light-teal {
  background-color: #e8f5f4;
  color: #11998e;
  border: none;
}

.small-tags span {
  font-size: 0.85rem;
  color: #777;
}

.rounded-4 {
  border-radius: 1.2rem;
}

.card-property img {
  max-height: 320px;
}

.project-image-wrapper {
  overflow: hidden;
  border-radius: 22px;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.card-property:hover .project-image-wrapper img {
  transform: scale(1.05) rotate(1deg);
}

.project-image-wrapper img {
  transition: all 0.3s ease;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.card-property:hover {
  transform: scale(1.01);
  box-shadow: 2px 3px 25px -2px #cfcfcf !important;
}

.card-property {
  transition: all 0.3s ease;
}


.display-large {
  font-size: 60px;
  font-weight: 700;
  line-height: 73.65px;
  letter-spacing: -3.2px;

}

.lead-custom {
  font-size: 30px;
}

.project-about {
  position: relative;
  border-top-left-radius: 50px;
  border-top-right-radius: 50px;
}

/* project page  */


@media only screen and (min-width:1024px) {
  .horizontal-section {
    max-height: 100vh !important;
  }

  .project-section {
    border-radius: 50px;
  }

  .counter-wrapper {
    min-height: 100vh;
  }

  .first-section {
    position: relative;
    z-index: 1;
    height: 100vh;
  }

  .services-card-section {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 1;
    transition: none !important;
    will-change: clip-path;
    display: flex;
    overflow: hidden;
    align-items: center;
  }

  .growing-counts {
    position: absolute;
    bottom: 0;
    transform: translateX(-50%);
    left: 50%;
  }

  /* .wrapper{
   position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden; 
  } */
  .section {
    height: 100vh !important;
    scroll-snap-align: start;
    width: 100%;
    margin: 0 !important;
    /* Forces 0 margin */
    z-index: 1;
    position: relative;
    overflow: hidden;
    will-change: transform, border-radius;
    backface-visibility: hidden;
    transform: translateZ(0);
    padding: 0;
  }

}

.sticky-header.scrolled {
  display: none;
}

@media only screen and (max-width:650px) {

  #element {
    font-weight: 200;
    font-size: 2.6rem;
    margin-top: 14px;
    display: block;
  }
}

@media only screen and (max-width:1100px) {



  .row-section::before {
    background: transparent !important;
  }
}


.owl-item.active.center .property-card-project i {
  color: #047857;
  scale: 1.2;
  transition: 300ms font-size;
  transform-origin: bottom;
}

.owl-item.active.center .property-card-project span {
  color: #ffffff;
}

/* .property-owl{
    max-width: 1000px;
  } */

#main-btn i {
  display: inline-block;
  transform: translate(6px, 3px);
}



.horizontal-wrapper {
  overflow-x: hidden;
  /* Prevents unwanted horizontal scrollbars */
  width: 100%;
}

.horizontal-container {
  display: flex;
  flex-wrap: nowrap;
  width: 100vw;
  /* Total width = 100vw * number of sections */
}

.horizontal-section {
  width: 100vw;
  min-height: 100vh;
  flex-shrink: 0;
  /* Prevents sections from getting squeezed */
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.horizontal-section-fixed {
  will-change: transform, filter;
  transform-origin: center center;
  backface-visibility: hidden;
}

.property-section-lap {
  background: #0c8a76;
}


#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #ffffff;
  /* Change to your brand color */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  /* Must be higher than your Map/Header */
  flex-direction: column;
}

.preloader-logo {
  width: 120px;
  /* Adjust size as needed */
  margin-bottom: 20px;
}

/* Hide scrollbar while loading */
body.is-loading {
  overflow: hidden;
}

.sticky-position {
  position: sticky;
  top: 0;
  background: #ffffff;
  z-index: 99;
}

.row-section::before {
  width: 110%;
  height: 73%;
  content: "";
  position: absolute;
  left: -10%;
  top: 41%;
  background-color: #F0F0F0A3;
  transform: translate(4%, -50%);
  border-radius: 50px;
}

.accordion-button:not(.collapsed) {
  color: #3A3A3A !important;
}

/* .accordion-button{
  background-color: #D9D9D942 !important;
} */

.accordion-button {
  padding: 25px 35px;
  font-size: 19px;
}

.badge.bg-green {
  background: #0C8A76 !important;
}

.bg-gray {
  background-color: #f9f9f9;
}

.step-img-overlay {
  transition: all 200ms ease-in-out;
}

.step-card:hover .step-img-overlay {
  transform: rotate(2deg) scale(1.2);
}

.small,
small {
  font-size: 16px !important;
}


.hor-slide-sec {
  width: 100vw;
}

.maplibregl-map {
  font: 0px/0px Helvetica Neue, Arial, Helvetica, sans-serif !important;
  overflow: hidden;
  position: relative;
  -webkit-tap-highlight-color: rgb(0 0 0/0);
}

.maplibregl-ctrl-top-right,
.maplibregl-ctrl-bottom-left {
  opacity: 0 !important;
}

.cust-info-box h5 {
  margin: 0;
  color: #000000;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 17px;
  opacity: 0;
  margin-bottom: 2px;
}

.cust-info-box p {
  opacity: 0;
  color: #000000;
  text-transform: capitalize;
  font-weight: 400;
  font-size: 12px;
  margin-top: -1px;
  margin-bottom: 1px;
  letter-spacing: 0.5px;
}

.cust-info-box.active h5 {
  opacity: 1;
}

.cust-info-box.active p {
  opacity: 1;
}

.cust-info-box img {
  transition: 200ms ease-in-out;

}

.cust-info-box:not(.active):hover img {
  transform: scale(1.4);

}


.cust-info-box.active img {
  animation: octopus 1000ms ease-in-out infinite;
  /* width: 90px; */
}

.gmnoprint {
  display: none !important;
}





/* 1. Main Container: Positions the element */
.radar-container {
  position: relative;
  width: 20px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 2. The Solid Inner Dot */
.radar-dot {
  position: absolute;
  width: 10px;
  height: 10px;
  background-color: #0f8c7a;
  border-radius: 50%;
  z-index: 2;
}

.cust-info-box.active .radar-dot {
  animation: radar-pulse-inner 1.8s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.cust-info-box.active .radar-pulse {
  animation: radar-pulse 1.8s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.cust-info-box.active .radar-pulse::after {
  animation: radar-pulse 1.8s cubic-bezier(0.4, 0, 0.6, 1) 0.9s infinite;
}

/* 3. The Pulsing Ring (Outer Rings) */
.radar-pulse {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  /* Create the first pulse ring */
  box-shadow: 0 0 1px 2px #0f8c7a;
  transform-origin: center;
  /* Animation settings */
  z-index: 1;
}

/* Create the second, offset pulse ring using ::after */
.radar-pulse::after {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  box-shadow: 0 0 1px 2px #0f8c7a;
}

/* 4. The Animation Logic: Growing and Fading */
@keyframes radar-pulse {
  0% {
    transform: scale(1);
    opacity: 1;
    /* Start visible */
  }

  100% {
    /* Grow to 2.5x original size */
    transform: scale(1.6);
    opacity: 0;
    /* Fade to transparent */
  }
}

@keyframes radar-pulse-inner {
  0% {
    scale: 1;
    opacity: 1;
    /* Start visible */
  }

  100% {
    /* Grow to 2.5x original size */
    scale: 1.2;
    opacity: 0.5;
    /* Fade to transparent */
  }
}

/* .cursor-pointer {
  cursor: pointer !important;
} */

/* @media screen and (max-width: 1020px) {
  .project-direction-map {
    display: hidden;
  }
} */

/* radar animation  */