@import url('https://fonts.googleapis.com/css2?family=Oleo+Script+Swash+Caps&family=Roboto:wght@300;400;500;700;900&display=swap');
*{box-sizing: border-box;padding:0;margin:0;}
body{  font-family: "DM Sans", sans-serif; overflow-x: hidden;}
.lexend-font {
    font-family: "Lexend", sans-serif;
}
.serif-font{
      font-family: "DM Serif Display", serif;
}
.text-xs{
    font-size: 12px;
}
header{
    transition: background-color 0.3s, box-shadow 0.3s;
    z-index: 999999;
} 
.sticky-section{
    max-height: 100vh!important;
    height: 100vh!important;
    padding:0!important
}
.about_bg{    
    background-size: contain;
    background-position: right;
    background-repeat: no-repeat;
    background-color: #021c33;
}
header.scrolled {
    position: relative;
    background-color:#fff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0; 
    width: 100%;
    z-index: 999999999;
}
.about-bg{
    filter: grayscale(100%);
    transition: all 0.5s ease;
}
.about-bg:hover{
    filter: none;
}
.banner-section::after{
    opacity: 0;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: #000000ba;
    z-index: 1;
    clip-path: polygon(0 0, 100% 0, 100% 81%, 0% 98%);
}
.main-shape{
    clip-path: polygon(0 0, 100% 0, 100% 83%, 0% 100%);
    height: 100%;
    width: 100% ; 
    position: absolute;
    bottom: 0;
    background-color: #CDFFFD;
}
#svg-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}
#animated-svg {
    width: 100%;
    height: 100%;
    clip-path: inset(0px 100% 0px 0px); /* Default: fully clipped from the right */
}


.timeline-path-overlay {
  clip-path: inset(0 100% 0 0); /* Hidden from right to left */
}

/* .timeline-location-icon {
  opacity: 0; 
} */

.banner-btn{
    box-shadow: 0px 0px 10px 0px #00000040; 
    padding-right: 15px;
    padding-left: 50px;
}
.banner-btn:hover::after{
    background-color: #fff;
}
.banner-btn:hover::before{
    background-color: #FFFFFF3D;
}
.banner-btn::after{
    content: "";
    position: absolute;
    left: 20px;
    background-color: #008743;
    height: 10px;
    width: 10px;
    border-radius: 50%;
    top: 0;
    bottom: 0;
    margin: auto;
    animation: bannerArrow 1s ease infinite forwards;
}
.banner-btn::before{
    content: "";
    position: absolute;
    left: 15px;
    background-color: #E2F1ED;
    height: 20px;
    width: 20px;
    border-radius: 50%;
    top: 0;
    bottom: 0;
    margin: auto;
}


@keyframes bannerArrow {
    0%{
        transform: scale(0.5);
    }100%{
        transform: scale(1.1);
    }
}
.main-inner-shape{
     clip-path: polygon(0 0, 100% 0, 100% 81%, 0% 98%);
    height: 100%;
    width: 100% ;
    position: absolute;
    bottom: 0;
}
.another-shape{
    background-color: #193636;
    width: 40%;
    height: 60%;
    right: 0;
    bottom: -15px;
    z-index: -1;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 80%);
}


.main-right-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 400px;
    height: 400px;
}
.left-side {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 400px;
    height: 400px;
}
.left-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 300px;
    height: 300px;
}
.left-bottom{ 
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 350px;
    height: 350px;
}

.left-small-bottom{ 
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 340px;
    height: 340px;
}



.right-center{ 
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 225px;
    height: 225px;
}

.right-bottom{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 330px;
    height: 330px;
}
.right-bottom-small{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
    height: 200px;
} 
.left-side { z-index: 1; }

.main-center-text { 
    position: relative; 
    z-index: 20; 
    width: 50%; 
    margin: auto; 
    opacity: 0; 
    text-align: center; 
}
.timeline-wrapper {
     width: max-content;
    display: flex;
}

.stages-container {
    display: flex;
    flex-wrap: nowrap;
    white-space: nowrap; 
}

.timeline-dot {
    width: 20px; /* Example dot size - customize */
    height: 20px;
    background-color: #0076DE; /* Match your line color */
    border-radius: 50%;
}

.timeline-stage--above .relative {
    flex-direction: column-reverse;
}

/* Ensure no clipping on wrapper/container */
.timeline-container {
    overflow: visible; /* Or hidden if you want to clip edges */
}
 

.main-unlocking-box{
    background: linear-gradient(44.9deg, #0076DE 0%, #010F1C 100%);
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    transform: rotate(45deg);
    position: relative; 
    border-radius: 18px;
    overflow: hidden;
    transition: all 0.5s ease;
}
.main-unlocking-box::before{
        content: "";
    position: absolute;
    border-radius: 18px;
    left: 2px;
    right:2px; 
    top: 2px;
    bottom:2px;
    background: linear-gradient(44.9deg, #0076DE 0%, #010F1C 100%);
    width: calc(100% - 4px);
    height: calc(100% - 4px);  
}

.main-unlocking-box:hover::before{
    animation: mainUnlockingBox 3s linear infinite;
}
.main-unlocking-box:hover::before{
    transition: all 0.5s ease;
     
}


@keyframes mainUnlockingBox {
    0%{
        transform: rotate(0);
    }100%{ 
        transform: rotate(360deg);
    }
} 
.main-unlocking-box::after{
    content: "";
    position: absolute;
    border-radius: 18px;
    left: 2px;
    right:2px;
    top: 2px;
    bottom:2px;
    background: #010F1C;
    width: calc(100% - 4px);
    height: calc(100% - 4px); 
    transform: rotate(90deg);
}
 
.main-unlocking-box .main-inner-text{
    transform: rotate(-45deg);
    z-index: 9; 
}
.main-unlocking-box .main-inner-text p{
    color: #fff;
}


.main-unlocking-box img{
    opacity: 0; 
    transition: all 0.5s ease;
    transform: rotate(314deg) scale(1.5);
}
.main-unlocking-box:hover img{
    transition: all 0.5s ease;
    opacity:1
}


.main-ctc-box{
    background: linear-gradient(274.28deg, #20C47D 0%, #0076DE 100%);
}
.cursor {
  z-index: 9999;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out, background-color 0.3s, width 0.3s, height 0.3s;
  width: 12px;
  height: 12px;
  background-color: #061624;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cursor.active {
  transform: translate(-50%, -50%) scale(2.5);
  z-index: 9999;
  background-color: rgba(46, 55, 78, 0.3843137255);
}

.cursor.hidden {
  width: 40px;
  height: 40px;
  opacity: 0.5 !important;
  z-index: 9999;
}

.btn-6:hover span {
  width: 225%;
  height: 562.5px;
}

.btn-6:active {
  background-color: #00877F;
}

.btn-6 span {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-radius: 50%;
  background-color: #00877F;
  transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
  transform: translate(-50%, -50%);
  z-index: -1;
}

.dark_btn span {
  background-color: #00877F;
} 
.hover_haxagone:hover  .upper-unloacking-box{
    animation: vibrate 0.5s 1;
}
.client-section .swiper-slide{
    height: auto !important;
}

.team-img {
  position: relative;
  overflow: hidden;
  clip-path: polygon(0 0, 100% 0, 100% 90%, 0% 100%);
}

.team-img img {
  display: block;
  width: 100%;
  filter: grayscale(100%);
}
.main-team-box:hover .team-img img{
    filter: none;
}

.team-gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0.05%, #41E090 100%);
  z-index: -1;
  pointer-events: none;
}








.main-team-box {
  perspective: 1000px;
  position: relative;
}

.team-inner {
  position: relative;
  width: 100%;
  transition: transform 0.8s ease;
  transform-style: preserve-3d;
}

.main-team-box:hover .team-inner {
  transform: rotateY(180deg);
}

.team-front,
.team-back { 
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  backface-visibility: hidden;
  border-radius: 10px;
  overflow: hidden;
}

.team-front {
  background: #fff;
  transform: rotateY(0deg);
  position: relative;
}



.team-back {
    position: absolute;
  transform: rotateY(180deg);
  clip-path: polygon(0 0, 100% 0, 100% 90%, 0% 100%);
  background: linear-gradient(180deg, #0D8B5E 0%, #41E090 100%);
  color: #fff; 
  padding: 25px 20px; 
}

.team-img img {
  display: block;
  width: 100%;
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

.main-team-box:hover .team-img img {
  filter: none;
}








/* .client-section .swiper-slide .main-img{
    height: 100%;
    display: flex;;
    align-items: center;
    justify-content: center;
} */

@keyframes vibrate {
    0% {
    transform: rotateY(0deg);
}

50% {
    transform: rotateY(90deg);
}
100% {
    transform: rotateY(0deg);
}
}

  .cursor_arrow {
      display: inline-block;
      width: 1px;
      background: #00D469;
      animation: blink 0.7s steps(1) infinite;
     }

    @keyframes blink {
      50% { opacity: 0; }
    }

@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 8ch; /* Length of "Growth" */
  }
}

@keyframes blink {
  50% {
    border-color: transparent;
  }
}

.inner-banner-text-shape{
    stroke-dasharray: 1000;
    stroke-dashoffset: 2200;
    animation: bannerStroke 3s infinite  ease;
}

@keyframes bannerStroke {
    100% {
        stroke-dashoffset: 0;
    }
}

footer{
    clip-path: polygon(0 0, 100% 18%, 100% 100%, 0% 100%);
    background-color: #EEFFFE;
} 

.menu_bar .service_box:hover img{
    transform: scale(1.2);
    transition: all 0.5s ease;
}
.menu_bar .service_box::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom:0;
    height: 100%;
    width: 100%;
    background-color: #00000042;
    opacity: 0;
    transition: all 0.5s ease;
}
.menu_bar .service_box:hover::after{
    transition: all 0.5s ease;
    opacity: 1;
}
 

@media (min-width: 991px) {
    header .nav-li .nav-link::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        transform: translateY(10px);
        height: 6px;
        width: 6px;
        background-color: #00877F;

        border-radius: 50%;
        transition: .2s;
        opacity: 0;
    }
    header .nav-li .nav-link.active::after, header .nav-li .nav-link:hover::after {
        opacity: 1;
        transform: translateY(27px);
        transition: .2s;
    }
} 
@media (max-width:575px) {
    .another-shape{  
        width: 100%;
        height: 63%; 
        bottom: 47px; 
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 94%);  
    }
    .banner-section::after {
        opacity: 1;
    }
    .team-back{
        clip-path: none;
    }
    .whatsapp_float{
        width: 50px !important;
        height: 50px !important;
    }
}
.validate-has-error{
    position: absolute;
    left: 0;
    bottom: 7px;
    font-size: 12px;
    color: #dc3545;
    font-weight: 600;
}


.contact_section {
    background-image: url('../images/bg_shape.svg');
    height: 100%;
    width: 100%;
    background-position: center;
    background-size: cover;

}

.blog_section {
    background-image: url('../images/second_shape_bg.png');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.blog_content_section .blog_title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
}




.main_leader_box {
    position: relative;
    background-color: #F5F5F5;
}

.main_leader_box .border-svg rect {
    stroke-dasharray: 0;
    stroke-dashoffset: 0;
}

/* Hover effect */
.main_leader_box:hover {
    background-color: #ffffff;
    box-shadow: 2px 2px 24px 0px #00000029;
}

.main_leader_box:hover .border-svg rect {
    stroke: #888888;
}


/* Scope hover to the current box only */
.main-box:hover .service-bg {
    opacity: 0; /* fade out original image */
}

.main-box:hover .hover-svg {
    opacity: 1; /* fade in SVG */
}

.main-box:hover .main-service-section {
    background-color: #142433; /* change number box background */
}


#typing::after {
  content: "|";
  animation: blink 0.7s infinite;
}

@keyframes blink {
  50% { opacity: 0; }
}

.whatsapp_float {
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: 20px;
  right: 20px;
  background-color: #25D366;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  box-shadow: 2px 2px 10px rgba(0,0,0,0.3);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease-in-out;
  opacity: 0;           /* hidden initially */
  visibility: hidden;   /* hide from layout */
  transform: translateY(20px);
  bottom: 30px;
}

.whatsapp_float.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.whatsapp_float:hover {
  background-color: #20b358;
  transform: scale(1.1);
}


