/* Social icon brand colors for navbar (custom classes) */
.social-facebook {
  color: #1877F3 !important;
  font-size: 1.5rem !important;
}
.social-x {
  color: #000000 !important;
  font-size: 1.5rem !important;
}
.social-instagram {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent !important;
  font-size: 1.5rem !important;
}
/* Remove hover effects for testimonial cards */
#testimonials .card:hover, #testimonials .card:focus {
  filter: none !important;
  transform: none !important;
  background-color: inherit !important;
  box-shadow: none !important;
  transition: none !important;
}
/* Get a Quote button custom styles */
.get-quote-btn {
  background-color: #38b000 !important;
  color: #38b000 !important;
  border: 2px solid #fff !important;
  transition: background 0.2s, color 0.2s, border 0.2s, transform 0.2s;
}
.get-quote-btn:hover, .get-quote-btn:focus {
  background-color: #fff !important;
  color: #38b000 !important;
  border-color: #fff !important;
  transform: scale(1.07);
  box-shadow: 0 4px 16px rgba(56,176,0,0.25);
}
/* Restore fixed-height-navbar for undo */
.fixed-height-navbar {
  
  background-color: #38b000;
}

html, body {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
main {
  flex: 1 0 auto;
}
footer {
  flex-shrink: 0;
}
/* CTA Banner Styles */
.cta-banner {
  padding: 2rem 1rem;
}

.cta-banner-inner {
  background: linear-gradient(90deg, #38b000 60%, #70e000 100%);
  color: white;
  border-radius: 24px;
  box-shadow: 0 4px 24px rgba(56, 176, 0, 0.10);
  padding: 2rem 1rem;
  margin: 0 auto;
  width: 100%;
}
.cta-btn {
  color: #38b000 !important;
  border-radius: 30px !important;
}
img {
    border-radius: 16px !important;
}

#services .card-img-top {
    border-radius: 0 !important;
}

@media (max-width: 575.98px) {
    .hero-title {
        font-size: 1.3rem !important;
        max-width: 100%;
        word-break: break-word;
    }
}

#galleryCarousel .carousel-item img {
  height: 60vh;
  object-fit: cover;
}


.navbar-brand {
  max-height: 100%;
  height: auto;
  width: auto;
  display: block;
}

.navbar-brand img {
  max-height: 100%;
  width: auto;
  height: 50px;
  
}

@media (min-width: 992px) { /* Large screens (Bootstrap lg breakpoint) */
  .navbar-brand img {
    max-height: 120px; /* Larger logo for desktop */
  }
}

.card-img-top {
  height: 30vh;
  object-fit: cover;
}



.background-color {
  background-color: #38b000 !important; /* Bootstrap's 'success' green */
}

body {
  font-family: 'Roboto', sans-serif;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  background-color: #f8f9fa; /* Light gray background */
  color: #212529; /* Dark text color for readability */
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.my-footer {
  background-color: #38b000 !important; /* Bootstrap's 'success' green */
  margin-top: auto;
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
  box-shadow: 0 -4px 24px rgba(56,176,0,0.10);
  padding: 2rem 1rem 1rem 1rem;
  font-family: 'Montserrat', Arial, sans-serif;
   font-size: 1.05rem;
   font-weight: bold !important;
}
/* Make all text inside the footer bold */
.my-footer, .my-footer * {
  font-weight: bold !important;
}

.my-footer .container-fluid {
  padding-top: 1rem;
  padding-bottom: 0.5rem;
}
.my-footer .row {
  align-items: flex-start;
}

.my-footer strong {
  font-size: 1.2rem;
  letter-spacing: 1px;
}
.my-footer a, .my-footer .text-lg-center, .my-footer .text-lg-end, .my-footer .text-lg-start {
  color: #fff !important;
  text-decoration: none;
}
.my-footer p {
  margin-bottom: 0;
  font-size: 0.95rem;
  opacity: 0.85;
  color: #fff !important;
}
.my-footer .text-lg-end {
  text-align: right;
}
.my-footer .text-lg-center {
  text-align: center;
}
.my-footer .text-lg-start {
  text-align: left;
}

.img-hover:hover, .img-hover:focus {
  filter: brightness(0.85) drop-shadow(0 0 10px #e5e5e5);
  transform: scale(1.05);
  transition: filter 0.2s, transform 0.2s;
}

.img-hover {
  transition: filter 0.2s, transform 0.2s;
}

.btn,
button {
  transition: background 0.2s, color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.btn:hover, .btn:focus,
button:hover, button:focus {
  background-color: #38b000 !important;
  color: #fff !important;
  transform: scale(1.07);
  box-shadow: 0 4px 16px rgba(56,176,0,0.25);
}
.card:hover, .card:focus {
  filter: brightness(0.85) drop-shadow(0 0 10px #ffffff);
  transform: scale(1.05);
  transition: filter 0.2s, transform 0.2s;
  background-color: inherit !important;
}
.card {
  transition: filter 0.2s, transform 0.2s;
}

/* Social icon brand colors for navbar */
.navbar-nav .nav-link i.bi-facebook {
  color: #1877F3 !important; /* Facebook blue */
  font-size: 1.5rem !important;
}
.navbar-nav .nav-link i.bi-twitter-x {
  color: #000000 !important; /* X (Twitter) black */
  font-size: 1.5rem !important;
}
.navbar-nav .nav-link i.bi-instagram {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  font-size: 1.5rem !important;
}

/* Navbar text color white and active tab highlight */
/* Align navbar links to right under hamburger menu on xs screens and above */
@media (max-width: 991.98px) {}
/* Always align navbar items to the right (end) on all screens */
.navbar-collapse {
  justify-content: flex-end !important;
  text-align: right;
}
.navbar-nav {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.navbar-nav .nav-item {
  width: auto;
}
/* Remove border from hamburger menu when clicked (active/focus) */
.navbar-toggler:focus, .navbar-toggler:active, .navbar-toggler[aria-expanded="true"] {
  box-shadow: none !important;
  border: none !important;
}

