body {
  margin: 0;
  font-family: "Poppins", sans-serif;
  /* font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; */
  /* font-family: 'Open Sans', sans-serif; */
  font-size: 1rem;
  overflow-x: hidden;
}
p {
  text-align: justify;
}

/* General Navbar Styling */
.navbar {
  background-color: #f8f9fa;
  padding: 0.1rem 1rem;
  transition: background-color 0.3s ease-in-out;
}

.navbar.scrolled {
  background-color: #e9ecef;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Nav Link Styling */
.nav-link {
  font-size: 1rem;
  color: #343a40;
  border-radius: 5px;
  padding: 10px 15px;
  margin-right: 10px;
  transition: background-color 0.3s ease;
}

.nav-link:hover {
  background-color: #007bff;
  color: #fff;
}

/* Contact Form Styling */
.contact-form {
  background-color: #fff;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Material Icons */
.material-icons {
  font-size: 1rem;
  margin-right: 8px;
  line-height: 1;
}

/* Footer Styling */
footer {
  background-color: #343a40;
  color: #ffffff;
}

/* Info Item Styling */
/* .info-item {
    font-size: 1.1rem;
  }
   */
.info-item span {
  /* font-size: 1.5rem; */
  color: #007bff;
}

/* Margin Bottom Adjustments */
.mb-3 {
  margin-bottom: 0.5rem; /* Decrease bottom margin for smaller spacing */
}

/* Social Icon Styling */
.social-icon {
  transition: transform 0.3s ease, color 0.3s ease;
  text-decoration: none; /* Remove underline */
}

.social-icon:hover {
  transform: scale(1.2); /* Scale up the icon on hover */
  color: #ffdd57; /* Change to your desired hover color */
}

.social-icon i {
  color: white; /* Default icon color */
}

/* Visitor Count Styling */
.visitor-count {
  display: flex; /* Use flexbox to arrange digits */
  justify-content: center; /* Center align the digits */
  font-size: 3rem; /* Adjust size as needed */
}

.digit {
  width: 70px; /* Adjust width for spacing */
  height: 70px; /* Adjust height for spacing */
  display: flex; /* Center text within the box */
  align-items: center; /* Center vertically */
  justify-content: center; /* Center horizontally */
  margin: 0 5px; /* Add margin between digits */
  background: linear-gradient(
    135deg,
    #1a73e8,
    #ff5722
  ); /* Gradient background */
  color: white; /* Text color */
  border-radius: 15px; /* Rounded corners */
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4); /* Shadow for depth */
  transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transition effect */
}

.digit::before,
.digit::after {
  content: attr(data-digit); /* Show the digit */
  position: absolute; /* Position for 3D effect */
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  backface-visibility: hidden; /* Hide back face */
}

.digit::before {
  transform: rotateY(0deg); /* Front face */
}

.digit::after {
  transform: rotateY(180deg); /* Back face */
  color: rgba(255, 255, 255, 0.5); /* Dim back face */
}

.digit:hover {
  transform: rotateY(180deg) scale(1.1); /* Rotate and scale effect on hover */
  box-shadow: 0 15px 25px rgba(0, 0, 0, 0.5); /* Increase shadow on hover */
}

/* Logo Styling */
.logo {
  height: 70px; /* Set the default height for the logo */
  width: auto; /* Maintain aspect ratio */
}

/* Portfolio Card Image Styling */
.portfolio-card img {
  max-height: 200px;
  object-fit: cover;
  height: 200px;
  width: 100%;
}

/* Service Card Styling */
.service-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: none;
}

.service-card:hover {
  transform: translateY(-10px);
  transform: scale(1.05);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}
/* .service-card:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
} */

/* Justify Text */
.justify-text {
  text-align: justify;
}

/* Testimonials Section */
.testimonial-container {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.testimonial-card {
  display: none; /* Initially hide all cards */
  flex: 1 1 45%; /* Flexbox for two testimonials */
  margin: 10px; /* Add margin for spacing */
}

.testimonial-card.active {
  display: block; /* Show only the active cards */
}

/* Responsive Styles */
@media (max-width: 576px) {
  .logo {
    height: 40px; /* Mobile logo height */
  }
  .testimonial-card {
    flex: 1 1 100%; /* On mobile, show one testimonial */
  }
}

@media (min-width: 577px) and (max-width: 768px) {
  .logo {
    height: 45px; /* Tablet logo height */
  }
}

@media (min-width: 769px) and (max-width: 992px) {
  .logo {
    height: 55px; /* Small desktop logo height */
  }
}

@media (min-width: 993px) and (max-width: 1200px) {
  .logo {
    height: 60px; /* Medium desktop logo height */
  }
}

@media (min-width: 1201px) {
  .logo {
    height: 70px; /* Large desktop logo height */
  }
}


/* Gradient overlay */
.carousel-gradient-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.8));
  z-index: 1;
}

/* Style for text */
.carousel-caption {
  z-index: 2;
  bottom: 20%;
}

.carousel-caption h5 {
  font-size: 3rem;
  font-weight: bold;
  color: #fff;
  text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
}

.carousel-caption p {
  font-size: 1.5rem;
  color: #fff;
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
}

/* Icon styling */
.icon-container {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}

.icon-box {
  display: flex;
  align-items: center;
  gap: 10px;
  background-color: rgba(255, 255, 255, 0.1);
  padding: 15px 20px;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s, box-shadow 0.3s;
}

.icon-box:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.icon-box i {
  color: #fff;
}

.icon-box span {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 500;
}

.carousel-item img {
  filter: brightness(70%);
}

/* Box shadow for text */
.text-shadow {
  text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.8);
}

/* Responsive Styles */
@media (max-width: 768px) {
  .carousel-caption {
    bottom: 15%; /* Adjust caption position */
  }

  .carousel-caption h5 {
    font-size: 2rem; /* Smaller font size for headings */
  }

  .carousel-caption p {
    font-size: 1.2rem; /* Smaller font size for paragraphs */
  }

  .icon-container {
    gap: 1rem; /* Reduced gap between icons */
  }

  .icon-box {
    padding: 10px 15px; /* Reduced padding for icon boxes */
  }

  .icon-box span {
    font-size: 1rem; /* Smaller font size for icon text */
  }
}

@media (max-width: 576px) {
  .carousel-caption {
    bottom: 10%; /* Further adjust caption position for small devices */
  }

  .carousel-caption h5 {
    font-size: 1.5rem; /* Even smaller font size for headings */
  }

  .carousel-caption p {
    font-size: 1rem; /* Even smaller font size for paragraphs */
  }

  .icon-container {
    flex-direction: column; /* Stack icons vertically on small screens */
    align-items: center; /* Center align icons */
  }

  .icon-box {
    width: 100%; /* Full width for icons */
    justify-content: center; /* Center align content inside icon boxes */
  }
}
