.container-video {
    position: relative;
  }
.container-video video {
    width: 100vw;
    object-fit: cover;
  }
  .slider-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none; /* Prevent the slider from intercepting mouse events */
  }
    .nav-link :hover{
    color: #374c84 !important;
  }
  .why-us svg{
    fill: #419585;
    width: 160px;
  }
  @media screen and (max-width: 764px) {
    .logo-light {
        width: 136px;
    }
    .h1-text-slider{
        font-size: 30px !important;
    }
    .p-text-slider{
        font-size: 20px !important;
    }
    .container-video video {
        height: 370px !important;
    }    
    .about-us-1{
        margin-top: 0px !important;
      }
  }
  .about-us-1{
    margin-top: 157px;
  }
  .logo-green-color{
    background-color: #419585;
  }
  .logo-green-color{
    background-color: #374c84;
  }

  #tech-picture {
    -webkit-animation: mover 2s infinite  alternate;
    animation: mover 2s infinite  alternate;
}
@-webkit-keyframes mover {
    0% { transform: translateY(0); }
    100% { transform: translateY(-50px); }
}
@keyframes mover {
    0% { transform: translateY(0); }
    100% { transform: translateY(-50px); }
}

.nav-link:hover {
  color: #374c84 !important;
}
.nav-link {
  color: #419585 !important;
}
.swiper-container.nav-color .swiper-navigation .swiper-button, .swiper-container.nav-color .swiper-slide figure .item-link {
  background: rgba(124,183,152,.9)!important;
}
/* .wrapper.bg-light.angled.lower-end:after, .wrapper.bg-light.angled.upper-end:before {
  background: #07503e!important;
}
.wrapper.bg-light.angled.lower-end:after, .wrapper.bg-light.angled.upper-end:after {
  background: #07503e!important;
}
.wrapper.bg-light.angled.lower-end:after, .wrapper.bg-light.angled.upper-end:after {
  border-right-color: #07503e !important;
}
.wrapper.bg-light.angled.lower-end:after, .wrapper.bg-light.angled.upper-end:before {
  background: #07503e!important;
} */
input[type="text"],input[type="email"],input[type="number"]{
  background: gainsboro;
  color: black;
  height: 3em !important;
}
textarea{
  background: gainsboro !important;
  color: black !important;
}
input[type="text"]:focus,input[type="email"]:focus,input[type="number"]:focus,textarea:focus{
  border: 1px solid #07503e !important;
}
.progress-wrap:after {
  color: #419585;
}
.progress-wrap svg.progress-circle path {
  stroke: #419585;
}
.nav-tabs .nav-link>div {
  color: #fff !important;
}
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active{
  color: black !important;
  background-color: rgba(255, 255, 255, 0.5); /* White with 50% transparency */
  border-color: #419585 #dee2e6 #419585;
}
.nav-tabs.nav-tabs-bg .nav-link.active p {
  color: black !important;
}
.nav-tabs.nav-tabs-bg .nav-link.active h4 {
  color: black !important;
}
.nav-tabs.nav-tabs-bg .nav-link p {
  color: #fff !important;
}
.nav-tabs.nav-tabs-bg .nav-link h4 {
  color: #b1adad !important;
}
.nav-tabs.nav-tabs-bg .nav-link {
  border: 1px solid #419585;
}
.nav-tabs.nav-tabs-bg .nav-link:hover {
  background-color: #a0f5bb !important;
}
figure>.image {
  height: 17em !important
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
.hero {
  width: 100%;
  min-height: 70vh;
  position: relative;
  padding: 120px 0 120px 0;
  display: flex;
  align-items: center;
}

.hero .hero-bg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.hero:before {
  content: "";
  background: color-mix(in srgb, var(--background-color), transparent 10%);
  position: absolute;
  inset: 0;
  z-index: 2;
}

.hero .container {
  position: relative;
  z-index: 3;
}

.hero h1 {
  margin: 0 0 20px 0;
  font-size: 48px;
  font-weight: 700;
  line-height: 56px;
  color: color-mix(in srgb, var(--heading-color), transparent 30%);
}

.hero h1 span {
  color: var(--heading-color);
  border-bottom: 4px solid var(--accent-color);
}

.hero p {
  color: color-mix(in srgb, var(--default-color), transparent 30%);
  margin: 5px 0 30px 0;
  font-size: 22px;
  font-weight: 400;
}

.hero .btn-get-started {
  color: var(--contrast-color);
  background: var(--accent-color);
  font-family: var(--heading-font);
  font-weight: 400;
  font-size: 15px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 10px 28px 12px 28px;
  border-radius: 50px;
  transition: 0.5s;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.1);
}

.hero .btn-get-started:hover {
  color: var(--contrast-color);
  background: color-mix(in srgb, var(--accent-color), transparent 15%);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.1);
}

.hero .btn-watch-video {
  font-size: 16px;
  transition: 0.5s;
  margin-left: 25px;
  color: var(--default-color);
  font-weight: 600;
}

.hero .btn-watch-video i {
  color: var(--accent-color);
  font-size: 32px;
  transition: 0.3s;
  line-height: 0;
  margin-right: 8px;
}

.hero .btn-watch-video:hover {
  color: var(--accent-color);
}

.hero .btn-watch-video:hover i {
  color: color-mix(in srgb, var(--accent-color), transparent 15%);
}

.hero .animated {
  animation: up-down 2s ease-in-out infinite alternate-reverse both;
}

@media (max-width: 640px) {
  .hero h1 {
    font-size: 28px;
    line-height: 36px;
  }

  .hero p {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 30px;
  }

  .hero .btn-get-started,
  .hero .btn-watch-video {
    font-size: 13px;
  }
}

.hero .hero-waves {
  display: block;
  width: 100%;
  height: 60px;
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 3;
}

.hero .wave1 use {
  animation: move-forever1 10s linear infinite;
  animation-delay: -2s;
  fill: var(--default-color);
  opacity: 0.6;
}

.hero .wave2 use {
  animation: move-forever2 8s linear infinite;
  animation-delay: -2s;
  fill: var(--default-color);
  opacity: 0.4;
}

.hero .wave3 use {
  animation: move-forever3 6s linear infinite;
  animation-delay: -2s;
  fill: var(--default-color);
}

@keyframes move-forever1 {
  0% {
    transform: translate(85px, 0%);
  }

  100% {
    transform: translate(-90px, 0%);
  }
}

@keyframes move-forever2 {
  0% {
    transform: translate(-90px, 0%);
  }

  100% {
    transform: translate(85px, 0%);
  }
}

@keyframes move-forever3 {
  0% {
    transform: translate(-90px, 0%);
  }

  100% {
    transform: translate(85px, 0%);
  }
}

@keyframes up-down {
  0% {
    transform: translateY(10px);
  }

  100% {
    transform: translateY(-10px);
  }
}
.green-background {
  --background-color: rgba(124,183,152,.9);
  --default-color: #ffffff;
  --heading-color: #ffffff;
  --surface-color: #419585;
  --contrast-color: #ffffff;
}

.dark-background {
  --background-color: #08005e;
  --default-color: #ffffff;
  --heading-color: #ffffff;
  --surface-color: #0c0091;
  --contrast-color: #ffffff;
}
/* --- NEW CSS FOR OFFcanvas DROP-UP MENU BUTTON --- */

.fixed-mobile-menu-wrapper {
    /* Ensures the wrapper is hidden on large screens */
    display: none; 
}

@media (max-width: 991.98px) {
    /* Show wrapper on mobile */
    .fixed-mobile-menu-wrapper {
        display: block; 
    }

    /* Style and position the fixed toggle button */
    .fixed-mobile-menu-toggle {
        position: fixed;
        bottom: 20px; /* Position 20px from the bottom edge */
        left: 50%;
        transform: translateX(-50%); /* Center the button horizontally */
        z-index: 1045; /* Higher than the Offcanvas backdrop (1040) and main Offcanvas (1040/1050) to ensure visibility */
        border-radius: 50rem; /* Creates a pill shape */
        padding: 10px 25px;
        font-weight: 700;
        /* Force color matching the theme's green */
        background-color: #419585 !important; 
        border-color: #419585 !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    }

    /* Adjust content padding to accommodate the centered button (60px height + 20px bottom margin) */
    body, .wrapper:last-of-type {
        padding-bottom: 85px !important; 
    }

    /* Styling for the Offcanvas Panel */
    .offcanvas-bottom.fixed-mobile-menu-panel {
        /* Sets the height of the drop-up panel to about 60% of the viewport */
        height: 60vh; 
    }
}