


/* Global Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: Arial, sans-serif;
}

body {
  background-color: #f8f9fa;
  color: #333;
}

/* Navbar */
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 30px;
  background: #005a87;
  color: #fff;
}

.nav-links {
  list-style: none;
  display: flex;
}

.nav-links li {
  margin: 0 15px;
}

.nav-links a {
  color: white;
  text-decoration: none;
  font-weight: bold;
}

.menu-toggle {
  display: none;
  font-size: 24px;
  cursor: pointer;
}

/* Hero Section */

.img {
  width: 300px;
  height: 350px;
}

.hero {
  height: 90vh;
  position: relative;
  overflow: hidden;
}

.hero .carousel {
  width: 100%;
  height: 100%;
}

.hero .carousel-inner {
  width: 100%;
  height: 100%;
}

.hero .carousel-item {
  width: 100%;
  height: 100%;
}

.hero .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ensures the image covers the entire slider */
}

.hero .carousel-caption {
  background: rgba(244, 243, 243, 0.856);
  padding: 25px;
  border-radius: 10px;
}

.hero h5,
p {
  color: #111;
}

.hero .carousel-indicators {
  color: white;
}
.bi-globe-americas::before {
    content: "\f882";
    color: #dc3545;
}
/* why choose card hover effect */
.card.hover-effect {
  position: relative;
  background-color: #f2f8f9;
  BORDER-RADIUS: 10PX ! IMPORTANT;
  overflow: hidden;
  z-index: 0;
  transition: all 0.3s ease-in-out;
}

/* Bigger and better-positioned expanding circle */
.card.hover-effect::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  background: #198754;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0);
  z-index: -1;
  transition: transform 0.4s ease-out;
}

.card.hover-effect:hover::before {
  transform: translate(-50%, -50%) scale(25); /* Covers full card */
}

/* Text color changes */
.card.hover-effect:hover h5,
.card.hover-effect:hover p {
  color: white;
  transition: color 0.3s ease-out;
}



.card-text {
  color: black;
}


/* Service card hover effect */
.card {
  position: relative;
  background-color: #f2f8f9;
  border-radius: 4px;
  padding: 0;
  overflow: hidden;
  text-decoration: none;
  transition: transform 0.3s ease-out, box-shadow 0.3s ease-out;
  z-index: 0;
  border: 1px solid #f2f8f9;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  border: 1px solid #cccccc;
  background-color: #ffffff;
}

.card:hover .card-title,
.card:hover .card-text {
  transition: color 0.3s ease-out;
  
}

.card:hover .btn-success {
 
  border-color: #25d366;
}

.card-img-top {
    max-width: none !important;
    height: 250px;
    object-fit: cover;
}

/* Floating WhatsApp Button */
.whatsapp-float {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: #25d366;
  color: white;
  font-size: 24px;
  width: 55px;
  height: 55px;
  text-align: center;
  line-height: 55px;
  border-radius: 50%;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3);
  transition: 0.3s ease-in-out;
  z-index: 1000;
  animation: bounce 2s infinite, glow 1.5s infinite alternate;
}

/* Hover Effect */
.whatsapp-float:hover {
  background-color: #1ebe5d;
  transform: scale(1.1);
}

/* Bounce Animation */
@keyframes bounce {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}

/* Glow Effect */
@keyframes glow {
  0% {
    box-shadow: 0 0 5px #25d366;
  }
  100% {
    box-shadow: 0 0 20px #25d366;
  }
}

/* services */
.services {
  padding: 50px 20px;
  text-align: center;
  background: white;
}
.services .card {
  height: 480px;
}
/* footer */
footer {
  text-align: center;
  padding: 10px;
  background: #121212;
  color: #ddd;
  font-family: "Segoe UI", sans-serif;
}

footer h5 {
  color: #fff;
  font-weight: 600;
  /* border-bottom: 2px solid #ffcc00; */
  border-bottom: 2px solid #218838;
  display: inline-block;
  padding-bottom: 5px;
  margin-bottom: 15px;
}

footer ul li {
  margin-bottom: 10px;
}

footer ul li:hover {
  color: #218838; /* or any color you prefer */
  cursor: pointer;
  text-decoration: underline;
  transition: all 0.3s ease;
}


footer i {
  font-size: 18px;
  vertical-align: middle;
}

footer i:hover {
  color: #218838; /* or any highlight color */
  transform: scale(1.2);
  transition: all 0.3s ease;
  cursor: pointer;
  box-shadow: 0px 5px 10px rgba(33, 136, 56, 0.3);
}


footer p {
  color: #fff;
}

/* Loader Container */
#page-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background:#fff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}



/* Add to your CSS */
#page-loader.fade-out {
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}

@media (max-width: 768px) {
  .hero {
    height: 60vh; /* Reduce height for smaller screens */
  }

  .hero .carousel-caption {
    display: block !important; /* Force display */
    bottom: 10px; /* Adjust position */
    width: 90%; /* Make it more readable */
    font-size: 14px; /* Reduce font size */
    padding: 10px;
  }

  .hero h5 {
    font-size: 16px; /* Adjust heading */
  }

  .hero p {
    font-size: 12px;
  }

  .img {
    width: 80%; /* Make image more flexible */
    max-width: 250px;
  }

  .nav-links {
    display: none;
    flex-direction: column;
    background: #005a87;
    position: absolute;
    top: 60px;
    width: 100%;
    left: 0;
    text-align: center;
  }

  .nav-links.active {
    display: flex;
  }

  .menu-toggle {
    display: block;
  }
}

/* Smaller screens (phones) */
@media (max-width: 480px) {
  .hero {
    height: 40vh;
    position: relative; /* Required for absolute positioning inside */
  }

  .hero .carousel-caption {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Perfect center */
    font-size: 15px;
    padding: 8px;
    width: 95%;
    text-align: center;
    height: 90px;
  }

  .carousel-caption .btn {
    display: none;
  }
  .btn-primary {
    display: none;
  }

  .hero h5 {
    font-size: 14px;
    margin-top: 13px;
  }

  .hero p {
    font-size: 10px;
  }

  .carousel-dark .carousel-control-next-icon, 
  .carousel-dark .carousel-control-prev-icon {
    display: none;
  }

  .img {
    width: 90%;
    max-width: 200px;
  }

  .fw-bold,
  .text-muted {
    text-align: center;
  }
  .services .card {
  height: 450px;
}
  
}

/* page 2 */
/* About Page css  */

/* Hero Section Styling */
#about-us {
  border-bottom: 2px solid #333;
}


/* Responsive */
@media (max-width: 768px) {
  .nav-links {
    display: none;
    flex-direction: column;
    background: #005a87;
    position: absolute;
    top: 60px;
    width: 100%;
    left: 0;
    text-align: center;
  }

  .nav-links.active {
    display: flex;
  }

  .menu-toggle {
    display: block;
  }
}

/* About Page css  */
/* Hero Section Styling */
.hero-section1 {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: left;
  padding: 50px 0;
  background: #f8f9fa;
}

.hero-text {
  max-width: 50%;
}

.frame {
  background-color: #ddc;
  border: solid 5vmin #eee;
  border-bottom-color: #fff;
  border-left-color: #eee;
  border-top-color: #ddd;
  border-right-color: #eee;
  border-radius: 2px;
  box-shadow:
    0 0 5px 0 rgba(0, 0, 0, 0.25) inset,
    0 5px 10px 5px rgba(0, 0, 0, 0.25);
  box-sizing: border-box;
  display: inline-block;
  padding: 8vmin;
  position: relative;
  text-align: center;
  margin: auto;
  max-width: 100%;
}

.frame::before {
  border-radius: 2px;
  bottom: -2vmin;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.25) inset;
  content: "";
  left: -2vmin;
  position: absolute;
  right: -2vmin;
  top: -2vmin;
}

.frame::after {
  border-radius: 2px;
  bottom: -2.5vmin;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.25);
  content: "";
  left: -2.5vmin;
  position: absolute;
  right: -2.5vmin;
  top: -2.5vmin;
}

/* Optional: enhance the image border itself */
.frame img {
  border: solid 2px;
  border-bottom-color: #ffe;
  border-left-color: #eed;
  border-right-color: #eed;
  border-top-color: #ccb;
  max-width: 100%;
  height: 200px;
}

.frame h5,
.frame p {
  margin-top: 0.5rem;
  margin-bottom: 0;
  color: #333;
}

.frame p {
  font-size: 0.95rem;
}



/* Responsive */
@media (max-width: 768px) {
  .hero-section1 {
    flex-direction: column;
    text-align: center;
    
  }
  .hero-text,
  .hero-video {
    max-width: 100%;
    text-align: center;
  }
}

.mission-box,
.vision-box {
  background: white;
  text-align: center;
  transition: transform 0.3s ease-in-out;
  BORDER-RADIUS: 10PX !important;
}

.mission-box:hover,
.vision-box:hover {
  transform: translateY(-5px);
  box-shadow: 0px 5px 10px rgba(33, 136, 56, 0.3) !important;
}

.icon {
  font-size: 40px;
  color: #007bff;
  margin-bottom: 15px;
}

.icon-box {
  /* display: flex; */
  /* align-items: center; */
  gap: 15px;
}
.icon-box i {
  font-size: 2rem;
  color: #218838;
  transition: transform 0.5s ease;
}
.icon-box i:hover {
  transform: rotate(360deg); 
}

.fa-solid {
  color: #218838;
}
.fa-phone:before {
  color: white;
}
img.rounded-circle {
  transition: transform 0.6s ease;
  transform-style: preserve-3d;
}

img.rounded-circle:hover {
  transform: rotateY(180deg);
}






@media (max-width: 480px) {
  
  .Mission-Vision {
    padding: 30px 15px;
    margin-top: 30px;
    z-index: 1;
    position: relative;
  }

  .Mission-Vision h2 {
    font-size: 1.5rem;
    margin-bottom: 20px;
    line-height: 1.4;
    word-break: break-word;
  }

  .mission-box,
  .vision-box {
    margin-bottom: 20px;
    padding: 20px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    text-align: center;
  }

  .mission-box h4,
  .vision-box h4 {
    font-size: 1.2rem;
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .mission-box p,
  .vision-box p {
    font-size: 0.95rem;
    line-height: 1.6;
  }

  .icon {
    font-size: 2rem;
    margin-bottom: 10px;
    color: #007bff;
  }

  .row.align-items-center {
    flex-direction: column;
    gap: 10px;
  }

  .col-md-6 {
    width: 100%;
  }
  .fw-semibold {
    text-align: center;
  }
}




/* page-3 : product */

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.hero-title {
  position: absolute;
  bottom: 40%; /* Adjusted for better visibility */
  left: 50%;
  transform: translateX(-50%);
  font-size: 5vw;
  font-weight: bold;
  color: white;
  text-align: center;
  z-index: 2;
}

.category-card {
  border: none;
  background: #f8f9fa;
  border-radius: 10px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease-in-out;
}

/* Hover Effect */
.category-card:hover {
  transform: translateY(-5px);
  box-shadow: 0px 5px 10px rgba(33, 136, 56, 0.3);
}

/* Image Styling */
.category-card img {
  max-width: none !important;
  width: 60%;
  height: 250px;
  object-fit: cover;
  border-radius: 8px;
}

/* Text Styling */
.category-card .card-body {
  flex: 1;
  padding: 15px;
}

/* Adjust Text Alignment for Even Rows */
.category-card:nth-child(even) .card-body {
  text-align: right;
}

/* Button Styling */
.btn-view-more {
  background: #218838 !important;
  color: #fff;
  padding: 8px 16px;
  border-radius: 5px;
  border: none;
  transition: background 0.3s;
}

.btn-view-more:hover {
  background: #0b8d27 !important;
  box-shadow: 0px 5px 10px rgba(33, 136, 56, 0.3) !important;
  color: white !important;
}

/* RESPONSIVE HERO SECTION */
@media (max-width: 1024px) {
  .hero-title {
    font-size: 4.5vw;
    bottom: 12%;
  }
}

@media (max-width: 768px) {
}

@media (max-width: 480px) {
  .hero-title {
    font-size: 10vw;
    bottom: 8%;
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .category-card {
    flex-direction: column !important;
    text-align: center;
  }

  .hero-title {
    font-size: 6vw;
    bottom: 10%;
  }

  .category-card img {
    width: 100%;
    max-width: 250px;
    margin-bottom: 10px;
  }

  .category-card .card-body {
    text-align: center !important;
  }
}
.card-title,
.card-text {
  text-align: center;
}

.btn-view-more {
  display: block;
  margin: 0 auto;
}

.modal-body {
  max-height: 370px; /* Adjust height as needed */
  overflow-y: auto;
}

/* page:4- service */

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.hero-title {
  position: absolute;
  bottom: 40%; /* Adjusted for better visibility */
  left: 50%;
  transform: translateX(-50%);
  font-size: 5vw;
  font-weight: bold;
  color: white;
  text-align: center;
  z-index: 2;
}

.text-section {
  padding: 30px; /* More padding for better spacing */
  text-align: left; /* Align text to the left */
  font-size: 18px;
  line-height: 1.8; /* Improved readability */
  color: #333; /* Slightly softer black for better readability */
  font-weight: 400; /* Balanced font weight */
  border-bottom: 2px solid black; /* Fix space issue in border */
  max-width: 90%; /* Limit width for a better reading experience */
  margin: 0 auto; /* Center align the section while keeping text left-aligned */
}

/* Optional: Add a subtle drop shadow to make text more prominent */
.text-section p {
  margin-bottom: 20px; /* Space between paragraphs */
  text-indent: 50px;
  text-align: justify;
}

/* Service Cards */
.service-card {
  display: flex;
  align-items: center;
  background: #f8f9fa;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 30px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.service-text {
  width: 30%;
  padding: 30px;
}

.service-text h3 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 10px;
}

.service-text p {
  font-size: 16px;
  color: #555;
}

.service-image {
  width: 70%;
}

.service-image img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.certificate-section {
  padding: 50px 0;
  background: #f8f9fa;
  overflow: hidden;
  position: relative;
}

.slider {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  width: max-content; /* Make the slider as wide as needed */
  animation: scroll-left 15s linear infinite;
}

.slider.reverse {
  animation: scroll-right 15s linear infinite;
}

.slider img {
  max-width: 250px;
  object-fit: cover;
  height: 100px;
  margin: 10px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Keyframes for Right to Left Scrolling */
@keyframes scroll-right {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}

/* RESPONSIVE HERO SECTION */
@media (max-width: 1024px) {
  .hero-title {
    font-size: 4.5vw;
    bottom: 12%;
  }
}

@media (max-width: 768px) {
  .hero-title {
    font-size: 6vw;
    /* bottom: 10%; */
  }
  .category-card {
    flex-direction: column !important;
    text-align: center;
  }

  .category-card img {
    width: 100%;
    max-width: 250px;
    margin-bottom: 10px;
  }

  .category-card .card-body {
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  .hero-title {
    font-size: 10vw;
    /* bottom: 40%; */
  }
  .hero-section {
    height: 20vh;
  }

  .text-section {
    padding: 15px; /* Reduce padding for small screens */
    font-size: 16px; /* Slightly smaller text for better readability */
    line-height: 1.6; /* Adjust spacing for mobile readability */
    max-width: 100%; /* Use full width on mobile */
  }

  .text-section p {
    margin-bottom: 15px;
    text-indent: 30px;
    text-align: justify;
    hyphens: auto;
    text-align: left; /* Enables word breaking */
  }

  .service-card {
    flex-direction: column-reverse; /* Ensures image stays on top */
    text-align: center;
    padding: 15px;
  }

  .service-image {
    width: 100%; /* Make image full width */
    margin-bottom: 15px;
  }

  .service-text {
    width: 100%;
    padding: 10px;
    text-align: center;
  }

  .service-text h3 {
    font-size: 20px;
  }

  .service-text p {
    font-size: 14px;
    line-height: 1.4;
  }

  .slider img {
    width: 200px;
  }
}

/* page:5 - contact */

/* HERO TITLE */
.hero-title {
  position: absolute;
  bottom: 40%;
  display: inline-block;
  left: 50%;
  transform: translateX(-50%);
  font-size: 5vw;
  font-weight: bold;
  color: white;
  text-align: center;
  z-index: 2;
}

.section {
  background-color: #f8f9fa;
  display: flex;
  align-items: center;
  margin-top: 30px;
  padding: 0 70px 0 70px;
}

.contact-left,
.contact-right {
  /* height: 90vh; */
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px 0 0 10px ;
  
}

/* Left Side (Image Background & Overlay) */

.contact-left .details {
  background: rgba(0, 0, 0, 0.7);
  padding: 30px;
  border-radius: 10px;
  text-align: center;
  width: 80%;
}

/* Social Icons */
.social-icons {
  text-align: center;
  margin-top: 15px;
}

.social-icons a {
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  background: rgba(255, 255, 255, 0.2);
  color: white;
  border-radius: 50%;
  font-size: 18px;
  margin: 0 8px;
  text-align: center;
  transition: 0.3s ease;
}

/* Hover Effect */
.social-icons a:hover {
  background: #28a745;
  color: white;
  box-shadow: 0px 0px 10px rgba(40, 167, 69, 0.5);
}

/* right side  */
form {
  width: 100%;
  max-width: 560px;
  background: #fff;
  padding: 30px;
  height: 500px;
  border-radius: 0 10px 10px 0;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
}

h3 {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
}

/* Input Fields */
.form-control {
  width: 100%;
  height: 45px;
  padding: 10px;
  margin-bottom: 15px;
  border: 2px solid #ddd;
  border-radius: 5px;
  transition: all 0.3s ease-in-out;
}

/* Input & textarea focus effect */

.form-control:focus {
  border-color: #218838 !important; /* Green border */
  box-shadow: 0 0 5px rgba(33, 136, 56, 0.5) !important; /* Green glow effect */
  outline: none; /* Remove default focus outline */
}



/* Textarea */
textarea.form-control {
  height: 100px;
  resize: none;
}



/* Button Styling */
.btn-success {
  font-size: 18px;
  font-weight: bold;
  transition: 0.3s;
  border-radius: 5px;
}

/* Button Hover Effect */
.btn-success:hover {
  background: #218838;
  box-shadow: 0px 5px 10px rgba(33, 136, 56, 0.3);
}

/* RESPONSIVE HERO SECTION */

@media screen and (max-width: 768px) {
  .section {
    flex-direction: column;
    padding: 20px;
  }

  .contact-left,
  .contact-right {
    height: auto;
    width: 100%;
    border: none;
    margin-bottom: 20px;
  }

  .contact-left .details {
    width: 90%;
    padding: 20px;
  }

  form {
    max-width: 100%;
    height: auto;
    padding: 20px;
  }

  .hero-title {
    font-size: 7vw;
    /* bottom: 45%; */
  }
}

@media screen and (max-width: 480px) {
  .hero-title {
    font-size: 8vw;
    /* bottom: 50%; */
  }

  .contact-left{
    display: none;
  }

  .form-control {
    height: 40px;
    font-size: 14px;
  }

  textarea.form-control {
    height: 80px;
  }

  .btn-success {
    font-size: 16px;
    padding: 10px 15px;
  }
}



