* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: Dosis, sans-serif;
}

img {
  max-width: 100%;
}

a,
a:hover,
a:focus,
a:visited,
a:active {
  text-decoration: none;
}

p,
ul,
li {
  padding: 0;
  margin: 0;
}
/* ================= TOPBAR ================= */
#topbar{background:#fff;font-size:14px;padding:5px 0;border-bottom:1px solid rgba(0,0,0,.1);transition:all .3s ease}
#topbar-hours,#topbar-phone,#topbar-email{color:#000}
#topbar i{color:#5a8e56;margin-right:5px}
#topbar a{color:#000;margin-left:5px;transition:.3s;text-decoration:none}
#topbar a:hover{color:#5a8e56}
#topbar-social a{color:#000;margin-left:12px;transition:.3s}
#topbar-social a:hover{color:#5a8e56}
#navbar{background:transparent;transition:all .3s ease}
#navbar-logo{width:15%;background-color:#fff;padding:5px;border-radius:30px}
.navbar-toggler{background-color:#fff}
#navbar-menu .nav-link{color:#000;margin:0 8px;font-weight:500;font-size:15px;transition:.3s}
#navbar-menu .nav-link:hover{color:#5a8e56!important}
#btn-quote{background:#5a8e56;color:#fff;border-radius:6px;padding:8px 20px;font-weight:600;transition:.3s}
#btn-quote:hover{background:#5f975b;color:#fff}
#header.sticky{position:fixed;top:0;left:0;width:100vw;z-index:9999;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.08);animation:slideDown .4s ease}
#header.sticky #topbar{display:none}
#header.sticky #navbar{background:#fff;width:100%}
#header.sticky{animation:slideDown .4s ease;z-index:9}
@keyframes slideDown{from{transform:translateY(-100%)}
to{transform:translateY(0)}
}


/* ================= HERO ================= */
#hero {
  min-height: 100vh;
  background: url('../images/hero-bg.jpg') center/cover no-repeat;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
}

/* DARK OVERLAY */
#hero::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(15, 20, 40, 0.78);
  top: 0;
  left: 0;
}

/* TEXT */
#hero .content {
  position: relative;
  z-index: 2;
}

#hero h1 {
  font-size: 48px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
}

.tag {
  color: #5a8e56;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.5px;
}

.desc {
  color: #ccc;
  font-size: 15px;
  max-width: 480px;
}

.btn-main {
  background: #5a8e56;
  color: #fff;
  border-radius: 6px;
  padding: 10px 24px;
  font-weight: 600;
  border: 2px solid #5a8e56;
  transition: 0.3s;
}

.btn-main:hover {
  background: #5f975b;
  color: #fff;
  border-color: #5f975b;
}

.btn-outline-light {
  border-radius: 6px;
  padding: 10px 24px;
  font-weight: 600;
  transition: 0.3s;
}

/* ================= DOCTOR SIDE ================= */
.doctor-wrapper {
  position: relative;
  z-index: 2;
  padding-top: 200px;
}

/* DOCTOR IMAGE */
.doctor {
  position: relative;
  z-index: 2;
  max-height: 520px;
}

/* ROTATING BG */
.circle-rotate {
  position: absolute;
  top: 60%;
  left: 50%;
  width: 700px;
  transform: translate(-50%, -50%);
  z-index: 1;
  animation: rotateCircle 20s linear infinite;
}

/* ROTATION ANIMATION */
@keyframes rotateCircle {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

/* ================= FEATURES STRIP ================= */
#features {
  position: relative;
  z-index: 2;
  margin-top: -125px;
  /* overlap hero */
}

#features .row {
  row-gap: 25px;
}

#features .container {
  margin-left: 0;
}

#features .features-card {
  background: #e8f9f9;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
}

#features .features-card .feature-item {
  display: flex;
  align-items: flex-start;
  gap: 18px;
}

#features .features-card .feature-icon-wrap {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 2px solid #5a8e56;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

#features .features-card .feature-icon-wrap i {
  font-size: 22px;
  color: #5a8e56;
}

#features .features-card .feature-title {
  font-size: 17px;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 6px;
}

#features .features-card .feature-desc {
  font-size: 13.5px;
  color: #555;
  margin: 0;
}

#features .features-card .feature-divider {
  width: 1px;
  background: #c0e8e8;
  margin: 0 10px;
}



/* Quick contact css========================= */
#quickcontact {
  width: 45px;
  position: fixed;
  top: 70%;
  right: 15px;
  z-index: 102
}



/* med feature section css========================= */
#med-feature-sec {
  background: #f5f5f5
}

#med-feature-sec .med-card {
  background: #fff;
  padding: 40px 25px;
  border: 1px dashed #5a8e56;
  position: relative;
  overflow: hidden;
  transition: .3s
}

/* Common before style */
/* #med-feature-sec .med-card::before {
  content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 165px;
    height: 165px;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.2;
    transition: 0.3s;
      background-image: url("../images/facility-shape-img.png");
} */
#med-feature-sec .med-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 165px;
  height: 165px;
  background-color: #5a8e56;
  -webkit-mask: url("../images/facility-shape-img.png") no-repeat top left;
  -webkit-mask-size: contain;
  mask: url("../images/facility-shape-img.png") no-repeat top left;
  mask-size: contain;
  opacity: .2;
  transition: .3s
}

#med-feature-sec .med-card:hover::before {
  opacity: 1
}

#med-feature-sec .med-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, .08)
}

#med-feature-sec .icon img {
  max-width: 70px;
  margin-bottom: 20px;
  position: relative;
  z-index: 1
}

#med-feature-sec h4 {
  font-weight: 700;
  margin-bottom: 15px
}

#med-feature-sec p {
  font-size: 14px;
  color: #555
}

#med-feature-sec a {
  display: inline-block;
  margin-top: 10px;
  color: #5a8e56;
  font-weight: 600;
  text-decoration: none
}


/* Section styling */
/* About Section */
#about {
  background: #f8f9fa;
  overflow: hidden;
  padding: 60px 0;
}

/* Left Image Wrapper */
#about .about-img {
  position: relative;
  display: inline-block;
  background: #5a8e5670;
  padding-left: 20px;
  border-radius: 0 20px 20px 0;
}

/* Main Image */
#about .about-img img.main-img {
  border-radius: 10px;
  width: 100%;
  max-width: 470px;
  z-index: 2;
  position: relative;
  aspect-ratio: auto 570 / 604;
  height: 603px;
  object-fit: cover;
}

/* Blue Circle Shape */
#about .about-img img.circle-shape {
  position: absolute;
  top: -40px;
  right: -40px;
  width: 140px;
  z-index: 1;
  filter: invert(48%) sepia(18%) saturate(600%) hue-rotate(65deg);
}

/* Decorative Lines */
#about .about-img img.lines-shape {
  position: absolute;
  left: -181px;
  top: 73%;
  transform: translateY(-50%);
  width: 289px;
  z-index: 2;
  filter: invert(48%) sepia(18%) saturate(600%) hue-rotate(65deg);

}

/* Right Content */
#about .about-content span {
  color: #5a8e56;
  font-weight: 600;
  font-size: 14px;
}

#about .about-content h2 {
  font-size: 36px;
  font-weight: 700;
  color: #0d1b2a;
  line-height: 1.3;
}

#about .about-content p {
  color: #6c757d;
  font-size: 15px;
  margin-bottom: 20px;
}

/* List Styling */
#about .about-content ul {
  padding-left: 0;
}

#about .about-content ul li {
  margin-bottom: 20px;
  font-weight: 600;
  font-size: 14px;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}

#about .about-content ul li i {
width: 30px;
    height: 30px;
    background-color: #5a8e56;
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    font-size: 14px;
    flex-shrink: 0;
}


/* Button */
#about .about-content .btn-info {
  font-size: 16px;
  color: #ffffff;
  padding: 15px 30px;
  line-height: 1;
  transition: all .5s;
  text-transform: capitalize;
  position: relative;
  cursor: pointer;
  border-radius: 4px;
  text-align: center;
  overflow: hidden;
  z-index: 1;
  background-color: #5a8e56;
  display: inline-block;

}

#about .about-content .btn-info:hover {
  background-color: #5a8e56;
}





/* #services section css========================= */
#services {
  background-image: url(../images/work-bg.jpg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  position: relative;
  z-index: 1;
  padding: 60px 0;
}

#services::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #5a8e564d;
  z-index: -1;
}

#services .top-title {
  font-size: 15px;
  margin-bottom: 10px;
  font-weight: 600;
  color: #000000;
  text-align: center;
}

#services .bottom-title {
  font-size: 40px;
  margin-bottom: 15px;
  position: relative;
  font-weight: 600;
  display: block;
}

#services .para {
  width: 600px;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 20px;
  font-size: 15px;
}

#services .service-card {
  position: relative;
  overflow: hidden;
}

#services .service-card img {
  width: 100%;
  height: 260px;
  object-fit: cover;
}

/* Bottom label */
#services .service-info {
  /*position: absolute;*/
  /*bottom: 15px;*/
  /*left: 15px;*/
  /*right: 15px;*/
  background: #fff;
  padding: 15px;
  text-align: center;
  z-index: 2;
  transition: 0.3s;
}

/* Overlay */
#services .service-overlay {
  position: absolute;
  left: 0;
  bottom: -100%;
  width: 100%;
  height: 100%;
  background: rgb(90 142 86 / 86%);
  color: #fff;
  padding: 20px;
  transition: 0.4s ease;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

#services .service-overlay h5 {
  font-size: 21px;
  margin-bottom: 10px;
  color: #ffffff;
}

#services .service-overlay p {
  font-size: 16px;
  font-weight: 500px;
  color: #fff;
  margin-bottom: 10px;
}

#services .service-overlay a {
  color: #ffffff;
  font-weight: 700;
  font-size: 14px;
}

#services .service-overlay a:hover {
  color: #000000;
}

/* Hover */
#services .service-card:hover .service-overlay {
  bottom: 0;
}

#services .service-card:hover .service-info {
  opacity: 1;
}

#services .service-info a{
  font-size: 16px;
  font-weight: 600;
  color: #5a8e56;
  margin: 0;
}

#counter {
  padding: 80px 0;
  background: #f5f7f9;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

#counter .row {
  row-gap: 25px;
}

#counter .counter-box {
  background: #fff;
  padding: 40px 20px;
  border-radius: 10px;
  transition: 0.3s;
}

#counter .counter-box:hover {
  transform: translateY(-5px);
}

#counter .icon {
  width: 60px;
  height: 60px;
  margin: 0 auto;
  background: #eaf6f7;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  /* font-size: 18px; */
  padding: 10px;
}

#counter .icon:hover {
  background: #5a8e56;
}

#counter h2 {
  font-size: 36px;
  font-weight: 700;
  margin: 10px 0;
}

#counter p {
  color: #5a8e56;
  font-weight: 600;
  font-size: 18px;
}

/* Shapes */
#counter .shape {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}

/* Left Shape */
#counter .shape-left {
  position: absolute;
  left: -260px;
  top: 0;
  z-index: -1;
  animation: FocuS 1s linear infinite;
}

/* Right Shape */
#counter .shape-right {
  position: absolute;
  right: -260px;
  bottom: 0;
  z-index: -1;
  animation: FocuS 1s linear infinite;
}

@keyframes FocuS {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0.3;
  }

  100% {
    opacity: 1;
  }
}





#appointment-section {
  background: url('../images/form-bg.jpg') no-repeat center center/cover;
  background-attachment: fixed;
  padding: 100px 0;
  position: relative;
}

/* 
#appointment-section::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.274);
  top: 0;
  left: 0;
} */

#appointment-section .form-wrapper {
  position: relative;
  max-width: 750px;
  background: #fff;
  padding: 40px;
  border-radius: 10px;
  z-index: 2;
}

#appointment-section .form-row {
  display: flex;
  gap: 20px;
  margin-bottom: 15px;
}

/* input box with icon */
#appointment-section .input-box {
  position: relative;
  width: 100%;
}

#appointment-section .input-box i {
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
  color: #5a8e56;
}

/* input fields */
#appointment-section .input-box input,
#appointment-section .input-box select {
  width: 100%;
  padding: 12px 12px 12px 40px;
  /* left padding for icon */
  border: 1px solid #ccc;
  border-radius: 5px;
}

/* button */
#appointment-section button {
  padding: 12px 30px;
  background: #5a8e56;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

#appointment-section .shape {
  position: absolute;
  top: -35px;
  right: -45px;
  z-index: -1;
  animation: moveBounce 5s linear infinite;
}

@keyframes moveBounce {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-20px);
  }

  100% {
    transform: translateY(0);
  }
}

#appointment-section textarea.form-control {
  padding-left: 40px;
  padding-top: 12px;
  resize: none;
}

/* textarea icon ko upar align karo */
#appointment-section textarea+i,
#appointment-section .input-box textarea~i {
  top: 18px;
  left: 12px;
  transform: none;
}

#appointment-section .heading {
  font-size: 15px;
  margin-bottom: 10px;
  font-weight: 600;
  color: #5a8e56
}

#appointment-section .sub-heading {
  font-size: 30px;
  margin-bottom: 20px;
  font-weight: 700;
  color: #000000;
}

#emergency-section {
  background: #eef3f6;
}

/* left content */
#emergency-section .content-box {
  padding: 80px;
}

#emergency-section h2 {
  font-weight: 700;
  margin-bottom: 20px;
  color: #5a8e56;
}

#emergency-section p {
  color: #555;
  margin-bottom: 15px;
}

/* icon box */
#emergency-section .icon-box {
  width: 50px;
  height: 50px;
  background: #5a8e56;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  margin-right: 15px;
}

/* text */
#emergency-section small {
  display: block;
  color: #777;
}

#emergency-section h6 {
  margin: 0;
  font-weight: 600;
}

/* right image */
#emergency-section .image-box img {
  width: 100%;
  height: 458px;
  object-fit: cover;
}



#testimonial-section {
  background: url('../images/client-bg.jpg') no-repeat center/cover;
  padding: 100px 0;
  position: relative;
  color: #333;
}

#testimonial-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff5e;
  z-index: 0;
  opacity: 1;
}

#testimonial-section .container {
  position: relative;
  z-index: 2;
}

#testimonial-section .section-title {
  max-width: 518px;
  margin: -8px auto 60px;
  text-align: center;
  position: relative;
}

#testimonial-section .sub-title {
  color: #5a8e56;
  font-weight: 600;
}

#testimonial-section h2 {
  font-weight: 700;
  margin: 10px 0;
}

#testimonial-section .desc {
  color: #666;
}

/* testimonial card */
#testimonial-section .testimonial-box {
  background-color: #ffffff;
  box-shadow: 0 0 20px 3px rgba(0, 0, 0, .05);
  padding: 30px;
  margin: 30px 0;
  position: relative;
  text-align: left;
}

#testimonial-section .testimonial-box .para {
  padding-top: 10px;
  font-size: 16px;
  color: #555;

  height: 120px;
  /* fix height */
  overflow-y: auto;
  /* vertical scroll */
  padding-right: 10px;
}

/* Chrome, Edge */
#testimonial-section .testimonial-box .para::-webkit-scrollbar {
  width: 5px;
}

#testimonial-section .testimonial-box .para::-webkit-scrollbar-thumb {
  background: #5a8e56;
  border-radius: 10px;
}

/* Firefox */
#testimonial-section .testimonial-box .para {
  scrollbar-width: thin;
  scrollbar-color: #5a8e56 #eee;
}

/* user image */
#testimonial-section .user-img {
  position: absolute;
  top: -25px;
  left: 30px;
}

#testimonial-section .user-img img {
  width: 50px;
  height: 50px;
  border-radius: 5px;
  border: 2px solid #5a8e56;
  background: white;
}

/* stars */
#testimonial-section .stars {
  color: #5a8e56;
  margin: 10px 0;

}

/* name */
#testimonial-section h5 {
  margin: 10px 0 0;
  font-weight: 600;
  font-size: 16px;
}

#testimonial-section span {
  color: #777;
  font-size: 14px;
}

/* owl dots */
#testimonial-section .owl-dots {
  margin-top: 30px;
}

#testimonial-section .owl-dot span {
  background: #ccc;
}

#testimonial-section .owl-dot.active span {
  background: #5a8e56;
}

#testimonial-section .owl-dot span {
  width: 10px;
  height: 10px;
  background: #ccc;
  display: inline-block;
  border-radius: 50%;
  margin: 5px;
}

#testimonial-section .owl-dot.active span {
  background: #5a8e56;
}

/* Section */
/* Section */
#latest-news {
  padding: 80px 0;
  background: #f8f9fb;
}

#latest-news .section-title {
  font-weight: 700;
  color: #1a2b49;
}

#latest-news .section-subtitle {
  color: #777;
  max-width: 600px;
  margin: auto;
}

/* Blog Card */
#latest-news .blog-card {
  background: #fff;
  overflow: hidden;
  position: relative;
  transition: 0.4s ease;
}

/* Image */
#latest-news .blog-img {
  position: relative;
  overflow: hidden;
  /* zoom ke liye */
}

#latest-news .blog-img img {
  width: 100%;
  height: 300px;
  object-fit: cover;

  /* 🔥 Smooth zoom fix */
  transition: transform 0.4s ease-in-out;
  will-change: transform;
  transform: translateZ(0);
}

/* Date badge */
#latest-news .date {
  position: absolute;
  top: 0;
  left: 0;
  background: #5a8e56;
  color: #fff;
  padding: 5px 12px;
  font-size: 13px;
}

/* Content */
#latest-news .blog-content {
  padding: 20px;
  position: relative;
  z-index: 1;

  /* 🔥 performance boost */
  will-change: transform, opacity;
  transform: translateZ(0);
}

/* Category */
#latest-news .category {
  color: #5a8e56;
  font-size: 13px;
}

/* Title */
#latest-news h5 {
  font-weight: 600;
  margin: 10px 0;
}

/* Link */
#latest-news a {
  color: #5a8e56;
  font-size: 14px;
  text-decoration: none;
}

/* 🔥 LEFT-RIGHT EFFECT (same design, smoother) */
#latest-news .blog-content::before,
#latest-news .blog-content::after {
  content: "";
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  background: #5a8e56;
  z-index: -1;

  /* 🔥 smoother animation */
  transition: width 0.4s ease-in-out;
}

#latest-news .blog-content::before {
  left: 0;
}

#latest-news .blog-content::after {
  right: 0;
}

/* 🔥 IMPORTANT: hover card pe shift kiya (lag fix) */
#latest-news .blog-card:hover .blog-content::before,
#latest-news .blog-card:hover .blog-content::after {
  width: 50%;
}

/* Text smooth color change */
#latest-news .blog-content h5,
#latest-news .blog-content p,
#latest-news .blog-content a,
#latest-news .blog-content .category {
  transition: color 0.3s ease;
}

/* Text color change on hover */
#latest-news .blog-card:hover .blog-content h5,
#latest-news .blog-card:hover .blog-content p,
#latest-news .blog-card:hover .blog-content a,
#latest-news .blog-card:hover .blog-content .category {
  color: #fff;
}

/* 🔥 Image Zoom */
#latest-news .blog-card:hover .blog-img img {
  transform: scale(1.1);
}

/* Subtitle */
#latest-news .sub-title {
  color: #5a8e56;
  font-weight: 600;
}

/* Footer */
#main-footer {
  background: url('../images/footer-bg.jpg') no-repeat center/cover;
  position: relative;
  color: #fff;
  padding: 80px 0 0;
}

#main-footer .container {
  position: relative;
  z-index: 2;
}

/* Logo */
#main-footer .logo {
  width: 150px;
  background: #fff;
  padding: 5px;
  border-radius: 40px;
  margin-bottom: 10px;
}

#main-footer .logo span {
  color: #5a8e56;
}

/* Text */
#main-footer p {
  color: #ccc;
  font-size: 14px;
  margin-bottom: 10px;
}

/* Headings */
#main-footer h5 {
  margin-bottom: 20px;
  color: #ffffff;
  font-size: 23px;
  font-weight: 600;
}

/* Links */
#main-footer ul {
  list-style: none;
  padding: 0;
}

#main-footer ul li {
  margin-bottom: 10px;
  color: #ccc;
  font-size: 14px;
}

#main-footer ul li a {
  color: #ccc;
  text-decoration: none;
  transition: 0.3s;
}

#main-footer ul li a:hover {
  color: #5a8e56;
}

/* Opening hours */
#main-footer .hours li {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 5px;
}

/* Contact */
#main-footer .contact-info i {
  margin-right: 8px;
  color: #5a8e56;
}

/* Social */
#main-footer .social-icons a {
  display: inline-block;
  width: 35px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  margin-right: 8px;
  color: #fff;
  transition: 0.3s;
}

#main-footer .social-icons a:hover {
  background: #5a8e56;
}

/* Bottom */
.footer-bottom {
  margin-top: 40px;
  padding: 15px 0;
  font-size: 14px;
}
/* 🔝 Back to Top Button */
#backToTop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  background: #5a8e56;
  color: #fff;
  border: none;
  width: 45px;
  height: 45px;
  border-radius: 5px;
  cursor: pointer;
  display: none;
  z-index: 999;
  transition: 0.3s;
}

#backToTop:hover {
  background: #4a8245;
}

/* ===== Breadcrumb Section ===== */
#breadcrumb {
  position: relative;
  background: url('../images/breadvrumb-bg.jpg') no-repeat center center/cover;
  padding: 150px 0 90px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Dark overlay */
#breadcrumb .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
}

/* Content */
#breadcrumb .container {
  position: relative;
  z-index: 2;
}

/* Title */
#breadcrumb h1 {
  color: #fff;
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 10px;
}

/* Breadcrumb nav */
#breadcrumb .breadcrumb-nav {
  color: #fff;
  font-size: 15px;
}

#breadcrumb .breadcrumb-nav a {
  color: #fff;
  text-decoration: none;
  transition: 0.3s;
}

#breadcrumb .breadcrumb-nav a:hover {
  color: #5a8e56;
}

/* Arrow */
#breadcrumb .breadcrumb-nav i {
  margin: 0 8px;
  color: #5a8e56;
}

/* Active */
#breadcrumb .breadcrumb-nav .active {
  color: #5a8e56;
  font-weight: 500;
}


/* ===== Modal Box ===== */
.modal-content {
  border-radius: 12px;
  border: none;
  overflow: hidden;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

/* ===== Header ===== */
.modal-header {
  background: #5a8e56;
  color: #fff;
  border-bottom: none;
  padding: 15px 20px;
}

.modal-title {
  font-weight: 600;
}

/* Close Button */
.btn-close {
  filter: invert(1);
}

/* ===== Body ===== */
.modal-body {
  padding: 25px;
  background: #fff;
}

/* ===== Inputs ===== */
.modal-body .form-control {
  height: 45px;
  border-radius: 6px;
  border: 1px solid #ddd;
  margin-bottom: 15px;
  box-shadow: none;
  transition: all 0.3s ease;
}

/* Textarea */
.modal-body textarea.form-control {
  height: 100px;
  resize: none;
}

/* Focus Effect */
.modal-body .form-control:focus {
  border-color: #5a8e56;
  box-shadow: 0 0 0 0.15rem rgba(90, 142, 86, 0.2);
}

/* ===== Submit Button ===== */
.modal-body .submit {
  background: #5a8e56;
  color: #fff;
  border: none;
  padding: 10px;
  border-radius: 6px;
  font-weight: 600;
  transition: 0.3s ease;
}

.modal-body .submit:hover {
  background: #41973a;
}

/* ===== Modal Animation ===== */
.modal.fade .modal-dialog {
  transform: translateY(-30px);
  transition: all 0.3s ease;
}

.modal.show .modal-dialog {
  transform: translateY(0);
}


/* ===== CONTACT SECTION ===== */
#contact-section {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: #f2f2f2;
}

/* WRAPPER */
#contact-section .contact-wrapper {
    background: #fff;
    max-width: 1000px;
    width: 100%;
    display: flex;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0, 0, 0, .12);
}

/* LEFT SIDE */
#contact-section .contact-info {
    background: linear-gradient(135deg, #5a8e56, #2f572c);
    color: #fff;
    /*padding: 40px;*/
    width: 40%;
    display: flex;
    flex-direction: column;
}

/* TITLE */
#contact-section .contact-info h2 {
    font-size: 28px;
    padding: 10px 20px 0 20px;
}

/* OFFICE BOX */
#contact-section .office-box {
    flex: 1;
    display: flex;
    flex-direction: column;
    
}

/* TOP TEXT */
#contact-section .office-text {
    padding: 20px 20px 40px 20px;
}

#contact-section .office-text h4 {
    font-size: 18px;
    margin-bottom: 10px;
}

#contact-section .office-text p {
    margin-bottom: 10px;
    font-size: 14px;
}

#contact-section .office-text a {
    color: #fff;
    text-decoration: none;
}

/* MAP */
#contact-section .map-box {
    flex: 1;
    /*border-radius: 10px;*/
    overflow: hidden;
    /*margin-top: 10px;*/
}

#contact-section .map-box iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

/* RIGHT FORM */
#contact-section .contact-form {
    padding: 40px;
    width: 60%;
}

#contact-section .contact-form h2 {
    margin-bottom: 25px;
    font-size: 26px;
}

/* INPUT GROUP */
#contact-section .input-group {
    position: relative;
    margin-bottom: 20px;
}

#contact-section .input-group .icon {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    color: #5a8e56;
}

/* INPUTS */
#contact-section .input-group input,
#contact-section .input-group textarea {
    width: 100%;
    padding: 12px 15px 12px 40px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fafafa;
}

#contact-section .input-group textarea {
    min-height: 100px;
}

#contact-section .input-group textarea + .icon {
    top: 18px;
    transform: none;
}

/* BUTTON */
#contact-section .contact-form button {
    padding: 14px;
    width: 100%;
    background: #5a8e56;
    border: none;
    color: #fff;
    border-radius: 8px;
    cursor: pointer;
}

#contact-section .contact-form button:hover {
    background: #2f572c;
}



/* #services-page section css========================= */
#services-page {
  background-image: url(../images/work-bg.jpg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  position: relative;
  z-index: 1;
  padding: 60px 0;
}

#services-page::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #5a8e564d;
  z-index: -1;
}

#services-page .top-title {
  font-size: 15px;
  margin-bottom: 10px;
  font-weight: 600;
  color: #000000;
  text-align: center;
}

#services-page .bottom-title {
  font-size: 40px;
  margin-bottom: 15px;
  position: relative;
  font-weight: 600;
  display: block;
}

#services-page .para {
  width: 600px;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 20px;
  font-size: 15px;
}

#services-page .service-card {
  position: relative;
  overflow: hidden;
}

#services-page .service-card img {
  width: 100%;
  height: 260px;
  object-fit: cover;
}

/* Bottom label */
#services-page .service-info {
  /*position: absolute;*/
  /*bottom: 15px;*/
  /*left: 15px;*/
  /*right: 15px;*/
  background: #fff;
  padding: 15px;
  text-align: center;
  z-index: 2;
  transition: 0.3s;
}

/* Overlay */
#services-page .service-overlay {
  position: absolute;
  left: 0;
  bottom: -100%;
  width: 100%;
  height: 100%;
  background: rgb(90 142 86 / 86%);
  color: #fff;
  padding: 20px;
  transition: 0.4s ease;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

#services-page .service-overlay h5 {
  font-size: 21px;
  margin-bottom: 10px;
  color: #ffffff;
}

#services-page .service-overlay p {
  font-size: 16px;
  font-weight: 500px;
  color: #fff;
  margin-bottom: 10px;
}

#services-page .service-overlay a {
  color: #ffffff;
  font-weight: 700;
  font-size: 14px;
}

#services-page .service-overlay a:hover {
  color: #000000;
}

/* Hover */
#services-page .service-card:hover .service-overlay {
  bottom: 0;
}

#services-page .service-card:hover .service-info {
  opacity: 1;
}

#services-page .service-info a {
  font-size: 16px;
  font-weight: 600;
  color: #5a8e56;
  margin: 0;
}

/* ================= SERVICE DETAIL ================= */

#service-detail {
  padding: 60px 0;
  background: #f7f7f7;
}

/* Images */
#service-detail .left-img img,
#service-detail .service-slider img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  border-radius: 6px;
}

/* Title */
#service-detail .title {
  font-size: 32px;
  font-weight: 700;
  color: #0b2c4d;
  margin-bottom: 15px;
}

/* Paragraph */
#service-detail p {
  font-size: 15px;
  color: #555;
  line-height: 1.7;
  margin-bottom: 12px;
}

/* Sub title */
#service-detail .sub-title {
  font-size: 24px;
  font-weight: 700;
  color: #0b2c4d;
  margin-bottom: 15px;
}

/* Owl Dots */
#service-detail .owl-dots {
  text-align: center;
  margin-top: 10px;
}

#service-detail .owl-dot {
  height: 6px;
  width: 20px;
  margin: 5px;
  background: #ccc;
  display: inline-block;
  border-radius: 10px;
  transition: 0.3s;
}

#service-detail .owl-dot.active {
  background: #5a8e56;
  width: 25px;
}

/* Appointment Button */
#service-detail .appoint-btn {
  display: inline-block;
  margin-top: 15px;
  padding: 10px 25px;
  background: #5a8e56;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  border-radius: 4px;
  text-decoration: none;
  transition: 0.3s ease;
}

#service-detail .appoint-btn:hover {
  background: #000;
  color: #fff;
}


/* Blog Detail Section */
#blog-detail {
  color: #222;
  line-height: 1.6;
}

/* Blog Image */
#blog-detail img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Blog Heading */
#blog-detail h1 {
  font-weight: 700;
  font-size: 2rem;
  color: #1b2a49;
  margin-bottom: 0.75rem;
}

/* Post Meta (Author & Date) */
#blog-detail .post-meta {
  font-size: 0.9rem;
  color: #6c757d;
  display: flex;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

#blog-detail .post-meta i {
  margin-right: 0.35rem;
  color: #5a8e56;
}

#blog-detail .post-meta .author,
#blog-detail .post-meta .date {
  display: flex;
  align-items: center;
}

/* Paragraphs */
#blog-detail article p {
  margin-bottom: 1.25rem;
  font-size: 1rem;
  color: #444;
}

/* Sidebar Styling */
#blog-detail .sidebar {
  background-color: #f9f9f7;
  padding: 2rem 1.5rem;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* Sidebar Heading */
#blog-detail .sidebar h4 {
  font-weight: 700;
  font-size: 1.25rem;
  margin-bottom: 1.5rem;
  border-left: 4px solid #5a8e56;
  padding-left: 1rem;
  color: #1b2a49;
}

/* Recent Posts */
#blog-detail .recent-post {
  transition: background-color 0.3s ease;
  padding: 8px 6px;
  border-radius: 6px;
}

#blog-detail .recent-post:hover {
  background-color: #e6f1e7;
}

/* Recent Post Images */
#blog-detail .recent-post img.post-thumb {
  border-radius: 6px;
  width: 60px;
  height: 60px;
  object-fit: cover;
}

/* Recent Post Links */
#blog-detail .recent-post a {
  color: #2c3e50;
  text-decoration: none;
  font-size: 1rem;
}

#blog-detail .recent-post a:hover {
  color: #5a8e56;
  text-decoration: underline;
}

/* Date Text */
#blog-detail .recent-post small {
  font-size: 0.8rem;
  color: #999;
}

/* Responsive */
@media (max-width: 767.98px) {
  #blog-detail .sidebar {
    margin-top: 2rem;
  }
}

/* Section Background */
#why-choose-us {
  background-color: #f8f9fa;
}

/* Subtitle */
#why-choose-us .section-subtitle {
  color: #5a8e56;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 10px;
  letter-spacing: 1px;
}

/* Title */
#why-choose-us .section-title {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 20px;
  color: #1c1c1c;
}

/* Description */
#why-choose-us .section-text {
  color: #6c757d;
  font-size: 16px;
  margin-bottom: 25px;
}

/* List */
#why-choose-us .why-list li {
margin-bottom: 20px;
    font-weight: 600;
    font-size: 14px;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

/* Icon */
#why-choose-us .icon {
  width: 30px;
  height: 30px;
  background-color: #5a8e56;
  color: #fff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  font-size: 14px;
  flex-shrink: 0;
}

/* Image */
#why-choose-us .why-img {
  border-radius: 10px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

/* Responsive */
@media (max-width: 991px) {

  #why-choose-us .section-title {
    font-size: 2rem;
  }

  #why-choose-us .why-list li {
    text-align:left;
  }
}



/* gallery */
#gallery{background-color:#f5f5f5;padding:70px 0 80px;position:relative;overflow:hidden}
#gallery::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 5% 50%,rgba(212,131,44,.07) 0%,transparent 40%),radial-gradient(circle at 95% 30%,rgba(248,189,94,.06) 0%,transparent 40%);pointer-events:none;z-index:0}
#gallery .container{position:relative;z-index:1}
#gallery h1,#gallery h2{color:#5a8e56;font-size:38px;font-weight:700;letter-spacing:2px;text-align:center;margin-bottom:0}
#gallery .gallery-divider{width:60px;height:3px;background:linear-gradient(to right, #5a8e56, #5a8e56);margin:14px auto 44px;border-radius:2px}
.img-wrapper{position:relative;margin-top:15px;overflow:hidden;border-radius:4px;box-shadow:0 4px 16px rgba(0,0,0,.10);height: 300px;width: 100%;}
.img-wrapper::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right, #5a8e56, #5a8e56);z-index:3;transform:scaleX(0);transform-origin:left;transition:transform .4s ease;-webkit-transition:transform .4s ease}
.img-wrapper:hover::before{transform:scaleX(1)}
.img-wrapper img{width:100%;height:100%;object-fit: cover;display:block;filter:brightness(.93);transition:transform .7s ease,filter .4s ease;-webkit-transition:transform .7s ease,filter .4s ease;-moz-transition:transform .7s ease,filter .4s ease}
.img-wrapper:hover img{transform:scale(1.07);-webkit-transform:scale(1.07);filter:brightness(.55)}
.img-overlay{background:rgb(89 140 85 / 37%);width:100%;height:100%;position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:center;opacity:0;z-index:2;transition:opacity .4s ease;-webkit-transition:opacity .4s ease}
.img-wrapper:hover .img-overlay{opacity:1}
.img-overlay i{font-size:22px;color:#ffffff;background:rgb(89 141 85);width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.35);transform:scale(.5);transition:transform .4s ease;-webkit-transition:transform .4s ease}
.img-wrapper:hover .img-overlay i{transform:scale(1)}
#overlay{background:rgba(0,0,0,.88);width:100%;height:100%;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
#overlay img{margin:0;width:80%;height:auto;-o-object-fit:contain;object-fit:contain;padding:5%;border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
@media screen and (min-width:768px){#overlay img{width:60%}
}
@media screen and (min-width:1200px){#overlay img{width:50%}
}
#nextButton{color:#e8c98a;font-size:2em;transition:color .3s ease,transform .3s ease;-webkit-transition:color .3s ease,transform .3s ease}
#nextButton:hover{color:#C5A059;transform:translateX(4px)}
@media screen and (min-width:768px){#nextButton{font-size:3em}
}
#prevButton{color:#e8c98a;font-size:2em;transition:color .3s ease,transform .3s ease;-webkit-transition:color .3s ease,transform .3s ease}
#prevButton:hover{color:#C5A059;transform:translateX(-4px)}
@media screen and (min-width:768px){#prevButton{font-size:3em}
}
#exitButton{color:#e8c98a;font-size:2em;transition:color .3s ease,transform .3s ease;-webkit-transition:color .3s ease,transform .3s ease;position:absolute;top:18px;right:18px}
#exitButton:hover{color:#C5A059;transform:rotate(90deg)}

 