/*
=====================================
TABLE OF CONTENTS
==================
1. BREAKPOINT MIXINS
2. GENERAL SELECTORS
3. BACKGROUNDS

=====================================
*/
/* ==========================================================================
   BREAKPOINT MIXINS
   ========================================================================== */
/* ==========================================================================
   GENERAL SELECTORS
   ========================================================================== */
/* HOME PAGE EDITS - START */
.bricks-button[data-component] {
  padding: 0;
  border: none;
}
.rm-cta-hyd__img img {
  aspect-ratio: 1;
}
@media (max-width: 991px) {
  .rm-cta-hyd__img img {
    aspect-ratio: 0.75;
  }
}
@media (max-width: 991px) {
  .rm-cta-hyd__img-grid {
    grid-gap: 0.6em;
  }
}
.pyilwy {
  --stop-value: 76%;
  background: linear-gradient(180deg, var(--primary-ultra-light) var(--stop-value), var(--white) var(--stop-value));
}
@media (max-width: 767px) {
  .pyilwy {
    --stop-value: 85%;
  }
}
@media (max-width: 478px) {
  .pyilwy {
    --stop-value: 90%;
  }
}
@media (max-width: 991px) {
  .rm-home .hero-3a {
    padding-top: var(--section-space-xs);
  }
}
.rm-home .gridcard-5 {
  padding-top: var(--section-space-xs);
}
.rm-home .gridcard-5-container {
  grid-column: feature-max-start / feature-max-end;
  background-color: var(--white);
  padding: var(--space-l);
  box-shadow: var(--box-shadow-m);
  border-radius: var(--radius);
}
@media (max-width: 767px) {
  .rm-home .gridcard-5-container {
    padding: var(--space-l);
  }
}
@media (max-width: 478px) {
  .rm-home .gridcard-5-container {
    padding: var(--space-m) var(--space-s);
  }
}
.rm-home .rm-process-1a__heading {
  width: 24ch;
}
@media (max-width: 478px) {
  .rm-home .rm-process-1a__heading {
    width: 14ch;
  }
}
.rm-home .rm-service-area-qza__tagline.rm-accent-heading {
  color: var(--primary-semi-light);
}
.rm-home .rm-service-area-qza__tagline.rm-accent-heading ::after {
  background-color: var(--primary-semi-light);
}
/* HOME PAGE EDITS - END */
/* ACCENT HEADINGS - START */
.rm-accent-heading {
  color: var(--primary-semi-dark);
  font-weight: 500;
  text-transform: uppercase;
}
.rm-accent-heading::after {
  content: "";
  display: inline-flex;
  width: 6rem;
  height: 1px;
  background-color: var(--primary);
  vertical-align: middle;
  margin-inline-start: 0.5em;
}
/* ACCENT HEADINGS - END */
/* Bricks Lightbox - start */
/* Bricks Lightbox - end */
/* Make the filter list a horizontal scrolling carousel */
.brxe-filter-radio.rm-gallery-lsu__filter-radio {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  gap: 0.5rem;
  /* Smooth scrolling */
  scroll-behavior: smooth;
  /* Hide scrollbar */
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  /* Remove default list styling */
  list-style: none;
  padding: 0;
  margin: 0;
}
/* Hide scrollbar for Chrome/Safari */
.brxe-filter-radio.rm-gallery-lsu__filter-radio::-webkit-scrollbar {
  display: none;
}
/* Prevent filter buttons from shrinking */
.brxe-filter-radio.rm-gallery-lsu__filter-radio li {
  flex-shrink: 0;
}
/* Prevent button text from wrapping */
.brxe-filter-radio.rm-gallery-lsu__filter-radio .brx-option-text {
  white-space: nowrap;
}
.brxe-filter-radio.rm-gallery-lsu__filter-radio {
  display: flex !important;
  flex-direction: row !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  gap: 0.5rem !important;
  flex-wrap: nowrap !important;
}
.brxe-filter-radio.rm-gallery-lsu__filter-radio li {
  flex-shrink: 0 !important;
}
/* Arrow button styling */
.carousel-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 10;
  /* Button appearance - full height, square width */
  width: 5rem;
  height: auto;
  border-radius: 0;
  border: none;
  background: white;
  box-shadow: none;
  /* Center the arrow symbol */
  display: flex;
  align-items: center;
  justify-content: center;
  /* Typography */
  font-size: 5rem;
  color: #333;
  cursor: pointer;
  /* Smooth transitions */
  transition: all 0.2s ease;
}
.carousel-arrow:hover {
  background: #f0f0f0;
  box-shadow: none;
  transform: scale(1.05);
}
.carousel-arrow-prev {
  left: 0;
}
.carousel-arrow-next {
  right: 0;
}
/* Hide on mobile/tablet */
@media (max-width: 991px) {
  .carousel-arrow {
    display: none !important;
  }
}
/* Bricks default focus state override */
body.bricks-is-frontend :focus {
  outline: none;
}
body.bricks-is-frontend :focus-visible {
  outline: 2px dotted var(--primary);
}
/* Remove focus outline from logo */
[data-logo]:focus, [data-logo]:focus-visible {
  outline: none !important;
}
/* Or if the logo is a link, target it specifically */
a[data-logo]:focus, a[data-logo]:focus-visible {
  outline: none !important;
}
.rm-footer-plw {
  position: relative;
  z-index: 0;
}
.rm-footer-plw__container {
  position: relative;
  overflow: hidden;
}
.rm-footer-plw__container section, .rm-footer-plw__container div, .rm-footer-plw__container nav {
  position: relative;
  z-index: 30;
}
.rm-footer-plw__container::before {
  z-index: 10;
  content: "";
  position: absolute;
  top: 10%;
  left: 4%;
  display: block;
  width: 52rem;
  height: 52rem;
  background-image: url("/wp-content/uploads/crisscross-bg-pattern-white.png");
  background-repeat: repeat;
  background-size: 100%;
  opacity: 0.6;
  transform: rotate(25deg);
}
@media (max-width: 767px) {
  .rm-footer-plw__container::before {
    background-size: 70%;
  }
}
@media (max-width: 478px) {
  .rm-footer-plw__container::before {
    background-size: 50%;
  }
}
