* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
#carouselExampleCaptions01 .carousel-item img {
  height: 92vh !important;
  object-fit: cover;
  width: 100%;
}
body {
  overflow-x: hidden;
}
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Space+Grotesk:wght@300..700&display=swap");

.text-theme {
  color: #233349 !important;
}

.nav-link {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  color: #fff !important;
  margin: 10px 30px !important;
}

.section {
  padding: 100px 0;
}
.section2 {
  padding: 60px 0 !important;
}
.heading {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-size: 30px;
  line-height: 37px;
  margin: 40px 0;
  color: #141414;
}

.heading-white {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-size: 30px;
  line-height: 37px;
  margin: 40px 0;
  color: #fff;
}

.text {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-size: 30px;
  line-height: 37px;
  text-align: center;
  color: #233349;
  margin-bottom: 30px;
}

.theme-bg {
  background: #233349;
}

.project-hover-img {
  transition: 0.5s ease-in-out;
}

.project-text {
  padding: 20px 0;
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-size: 13px;
  line-height: 16px;
  display: flex;
  align-items: center;
  text-align: center;
  /* gurupunvaanii.com/White */
  color: #ffffff;
}

.img-text {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-size: 25px;
  line-height: 38px;
  /* identical to box height, or 152% */
  display: flex;
  align-items: center;
  text-align: center;
  text-transform: capitalize;
  /* gurupunvaanii.com/Mine Shaft */
  color: #323131;
  /* Text */
  position: absolute;
  height: 38px;
  top: 141px;
}

#carouselExampleCaptions01 .carousel-inner {
  position: relative;
}

#carouselExampleCaptions01 .carousel-item {
  position: relative;

  /* Full height for the carousel item */
}

/* Overlay Effect */
#carouselExampleCaptions01 .carousel-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.012);
  /* Dark overlay */
  z-index: 1;
}

/* Centered Caption Styling */
#carouselExampleCaptions01 .carousel-caption {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  /* Ensures it is above the overlay */
  color: white;
  /* White text color */
  text-align: center;
}

.font-20 {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 26px;
  text-align: center;

  color: #ffffff;
}

.font-17 {
  /* View project */

  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-size: 17px;
  line-height: 22px;
  /* or 129% */

  align-items: center;
  text-align: center;
  text-transform: uppercase;

  color: #373f50;
}

.sp-an {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-size: 72px;
  line-height: 90px;
  letter-spacing: 0.02em;
  text-transform: uppercase;

  color: #233349;
}

/* Year after year, we've built a legacy of growth and innovation, expanding our footprint while consistently exceeding customer expectations. */

.font-24 {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-size: 24px;
  line-height: 29px;
  text-align: center;
}

/**/
/* Carousel Section Styling */
#carouselExampleCaptions02 .carousel-inner {
  position: relative;
  height: 100vh;
  /* Full height for the carousel item */
}

#carouselExampleCaptions02 .carousel-item {
  display: flex;
  align-items: center;
  /* Vertically center content */
  justify-content: center;
  /* Horizontally center content */
  height: 100vh;
  /* Full height for the carousel item */
}

/* Centering the content inside carousel */
#carouselExampleCaptions02 .carousel-caption {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  /* Ensures it is above the overlay */
  color: white;
  /* White text color */
  text-align: center;
  width: 80%;
  /* Limit the width for readability */
}

/* Styling the testimonial */
#carouselExampleCaptions02 .carousel-caption p {
  font-size: 1.5rem;
  font-weight: normal;
  margin-bottom: 20px;
}

#carouselExampleCaptions02 .carousel-caption .author {
  font-size: 1.2rem;
  font-weight: bold;
}

#carouselExampleCaptions02 .carousel-caption .company {
  font-size: 1rem;
}

/* Overlay Effect */
#carouselExampleCaptions02 .carousel-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  /* Dark overlay */
  z-index: 1;
}

/* The Vaishnodevi team makes you feel like one big family. They cared about our success as if it were their own and were always ready to go that extra mile to meet your requirements most efficiently. Their desire to make you feel at ease is unparalleled. */

.font-25 {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-size: 25px;
  line-height: 39px;
  /* or 156% */

  color: #000000;
}
.text-justify {
  text-align: justify;
}
.font-18 {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  /* or 156% */

  color: #000000;
}

.font-28 {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-size: 28px;
  line-height: 34px;

  color: #141414;
}

.overview-details {
  opacity: 1;
}

.overview-overlay {
  opacity: 0.75;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(35, 51, 73);
  z-index: 1;
}

.font-85 {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  font-size: 52px !important;
  line-height: 75px;
  /* identical to box height */
  text-align: center;

  text-shadow: -2px 0 #fff, 0 2px #fff, 2px 0 #fff, 0 -2px #fff;

  color: #233349;
}

.font-30 {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-size: 30px;
  line-height: 37px;
  /* identical to box height */
  text-align: center;

  color: #ffffff;
}

.font-36 {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-size: 36px;
  line-height: 44px;

  color: #ffffff;
}

.font-26 {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  font-size: 26px;
  line-height: 32px;

  color: #ffffffe3;
}

.social-icon {
  display: block;
}

.m-center a {
  text-decoration: none;
  color: #000 !important;
}

/*test*/
#testi {
  padding-top: 60px;
}

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

#testi .quote {
  width: 40px;
  height: auto;
  margin-bottom: 10px;
}

#testi .owl-nav button {
  background: rgba(255, 255, 255, 0.9);
  color: #000;
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  pointer-events: all;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.3s;
}

#testi .owl-nav button:hover {
  background: rgba(255, 255, 255, 0.7);
}

#testi .owl-nav button i {
  font-size: 20px;
}

#testi .owl-nav .owl-prev {
  margin-left: -0px;
}

#testi .owl-nav .owl-next {
  margin-right: -0px;
}

.marquee {
  position: relative;
  width: 100%;
  height: 100px;

  overflow: hidden;
}

.marquee div {
  display: block;
  position: absolute;
  width: 300%;
  overflow: hidden;
  animation: marquee 20s linear infinite;
}

.marquee div:hover {
  animation-play-state: paused;
}

.marquee span {
  float: left;
  width: 50%;
}

.font-33 {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-size: 33px;
  line-height: 112px;

  color: #373f50;
}
@keyframes marquee {
  0% {
    left: 0;
  }

  100% {
    left: -100%;
  }
}
#timeline .owl-item {
  padding: 100px 0 !important;
}

@media only screen and (max-width: 768px) {
  .nav-link {
    margin: 10px !important;
  }
  .font-85 {
    font-size: 36px !important;
  }
  #footer .m-center .text-start {
    text-align: center !important;
  }
  .navbar-nav {
    margin-top: 40px !important;
  }
  .navbar-toggler {
    border: none !important;
  }
  .navbar-nav .nav-link.active {
    border-bottom: none !important;
  }
  .navbar-toggler-icon {
    filter: brightness(0) saturate(100%) invert(100%) sepia(16%) saturate(7495%)
      hue-rotate(282deg) brightness(135%) contrast(92%);
  }

  #testi .owl-nav button {
    display: none !important;
  }
  .vh-75 {
    height: 100vh !important;
    object-fit: cover;
  }
  #carouselExampleCaptions01 .carousel-item img {
    height: 100vh !important;
  }

  #carouselExampleCaptions01 .carousel-item .carousel-caption {
    width: 75%;
  }

  #carouselExampleCaptions01 .font-20 {
    font-size: 18px;
    padding: 0 10px;
    text-align: center;
  }

  .sp-an {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 600;
    font-size: 30px;
    line-height: 37px;
    margin: 40px 0;
    color: #141414 !important;
    text-align: center;
    display: flow-root !important;
  }

  .section {
    padding: 40px 0;
  }

  .footer {
    text-align: center;
  }

  .footer a {
    text-decoration: none;
  }

  .m-center {
    text-align: center;
  }
}

#timeline:hover {
  pointer-events: none;
}
.blog-btn {
  background: #233349;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 25px;
  padding: 10px 25px;
  color: #fff !important;
  text-decoration: none;
}
.blog-p {
  display: none;
}
#timeline .owl-stage-outer {
  padding: 0 12px;
}
