#logo img.logo-main{
    max-width: 220px;
    margin: 15px 0;
}
#logo img.logo-scroll {
    max-width: 150px;
    margin: 15px 0;
}
body:not(.home) #logo img.logo-main {
    max-width: 180px;
    margin: 15px 0;
}
.inner-page-bread {
    margin-top: 60px;
}
#mainmenu a {
    text-transform: uppercase;
}
header #mainmenu li li a:hover {
    color: var(--primary-color);
}
.menu_side_area a.btn-main {
    text-transform: uppercase;
}
.g-stars img {
    max-width: 100px;
}
.topbar-widget:last-child {
    padding-right: 0;
}
.br-8 {
    border-radius: 8px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
}
.footer-logo {
    max-width: 250px;
}
.es-review-container,
.es-carousel,
.es-review-background-container {
    --bg-dark-1: transparent !important;
}
.post-text h1 {
    font-size: 50px;
}
p.form-disclaimer{
    font-size: 10px;
    line-height: 12px;
    margin-top: 10px;
}
h1.service-page {
    font-size:50px;
}

/***** CONTACT FORM 7 FIXES ***/
body .gform_wrapper input::placeholder,
body .gform_wrapper textarea::placeholder {
    color: #999; /* Example: light grey color */
    opacity: 1; /* Ensure full opacity if needed */
}
.gform-theme--foundation .gform_fields {
    row-gap: 0!important;
}
.gform-field-label{
    display: inline-block;
    color: var(--title-font-color);
    font-weight: 500;
    margin-bottom: 10px;
}
#gform_submit_button_1,#gform_submit_button_3,#gform_submit_button_4 {
    background: var(--primary-color);
    display: inline-block;
    font-family: var(--title-font);
    text-align: center;
    color: #fff;
    outline: 0;
    font-weight: bold;
    text-decoration: none;
    padding: 5px 25px;
    font-size: 15px;
    border: none;
    border-radius: 8px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
}
.gform-theme--foundation .gform_footer {
     margin-block-start: 0 !important;
    margin-top: 0 !important; /* fallback */
}

/* Force the subheader hero image to act like a background,even if jarallax or other CSS gets in the way */
#subheader.jarallax {
    position: relative;
    overflow: hidden;
}

#subheader.jarallax > img.jarallax-img {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    max-width: none !important;
}

/* Make sure the content sits above the image */
#subheader.jarallax .container.relative.z-index-1000 {
    position: relative;
    z-index: 2;
}
p.gform_required_legend {
    display: none !important;
}
#contact_form select {
    padding: 0 10px;
    margin-bottom: 20px;
    color: #999;
    border: solid 1px rgba(0,0,0,0.25);
    height: 40px;
    border-radius:6px;
    -moz-border-radius:6px;
    -webkit-border-radius:6px;
}

/*Gallery Image Sizes */

section.service-gallery-section .service-gallery-scroll{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;

  overflow-x: auto !important;
  overflow-y: hidden !important;

  width: 100% !important;
  max-width: 100% !important;
  padding: 10px 0 16px !important;
  -webkit-overflow-scrolling: touch;
}

/* Make each tile small */
section.service-gallery-section .service-gallery-item{
  flex: 0 0 auto !important;
  width: 180px !important;
  height: 120px !important;
  border-radius: 12px;
  overflow: hidden;
}

/* Make the image behave */
section.service-gallery-section .service-gallery-item img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Kill any theme wrappers that force full-width stacking */
section.service-gallery-section .service-gallery-item > *{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

section.service-gallery-section .service-gallery-item a{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.bg-blue ol.ol-style-1 li::before {
    color:#fff;
}
.bg-blue ol.ol-style-1 li {
    color:#fff;
}

/* Base styles (mobile-first) */

/* Small devices (large phones) */
@media (max-width: 767px) {
    header .logo-mobile {
        max-width: 100px!important;
    }

}

/* Medium devices (tablets, portrait) */
@media (min-width: 768px) {

}

@media (max-width: 991px) {

  /* Center green CTA text + icon */
  .bg-color.section-dark h3 {
    text-align: center;
  }

  /* Center the CTA button column */
  .bg-color.section-dark .col-lg-3 {
    text-align: center !important;
    margin-top: 15px;
  }

  /* Optional: ensure button is inline-centered */
  .bg-color.section-dark .btn-main {
    display: inline-block;
  }
     /* Full-width image section: show the ENTIRE image (no cropping) */
  section.no-top .img-fluid {
    height: auto !important;
    overflow: visible !important;
  }

  section.no-top .img-fluid img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain; /* key: prevents cropping */
  }

}

/* Large devices (tablets landscape, small laptops) */
@media (min-width: 1024px) {

}

/* Extra large devices (desktops) */
@media (min-width: 1280px) {

}

/* XXL screens (large desktops / 4K monitors) */
@media (min-width: 1536px) {

}