/*
=====================================
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;
  }
}
.rm-home .hero-3a {
  padding-bottom: var(--section-space-s);
}
@media (max-width: 991px) {
  .rm-home .hero-3a {
    padding-top: var(--section-space-xs);
    padding-bottom: 0;
  }
}
.rm-list-1a__feature-element-icon {
  color: var(--secondary-semi-dark);
}
.rm-home .gridcard-5 {
  padding-block: 0 var(--section-space-m);
}
.rm-home .gridcard-5-container {
  grid-column: feature-max;
  padding: var(--space-l);
  border: 1px solid var(--neutral-light);
  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-cta-djb__container {
  padding-top: 4em;
}
@media (max-width: 991px) {
  .rm-cta-djb__container {
    padding-top: 6em;
  }
}
@media (max-width: 478px) {
  .rm-cta-djb__container {
    padding-top: 8em;
  }
}
.rm-cta-djb__overlay {
  opacity: 0.9;
}
.gridcard-3 {
  --stop-value: 55%;
}
@media (max-width: 991px) {
  .gridcard-3 {
    --stop-value: 60%;
  }
}
@media (max-width: 767px) {
  .gridcard-3 {
    --stop-value: 72%;
  }
}
.rm-service-area-qza__tagline.rm-accent-heading {
  color: var(--primary-semi-light);
}
.rm-service-area-qza__tagline.rm-accent-heading::after {
  background-color: var(--primary-semi-light);
}
.br-faq-1a__answer-icon-wrapper {
  background-color: var(--primary);
}
.rm-brands-lus {
  background: linear-gradient(0deg, var(--bg-ultra-dark) var(--stop-value), var(--white) var(--stop-value));
}
.rm-home .rm-process-1a__heading {
  width: 24ch;
}
@media (max-width: 478px) {
  .rm-home .rm-process-1a__heading {
    width: 14ch;
  }
}
.rm-process-1a__card-icon-wrap {
  background-color: var(--primary-ultra-light);
}
.rm-cta-hyd {
  padding-block: var(--section-space-s);
  background-color: transparent;
  --stop-value: 76%;
  background: linear-gradient(90deg, var(--bg-ultra-dark) var(--stop-value), var(--white) var(--stop-value));
}
@media (max-width: 991px) {
  .rm-cta-hyd {
    --stop-value: 80%;
    background: linear-gradient(180deg, var(--bg-ultra-dark) var(--stop-value), var(--white) var(--stop-value));
  }
}
@media (max-width: 767px) {
  .rm-cta-hyd {
    --stop-value: 85%;
  }
}
@media (max-width: 478px) {
  .rm-cta-hyd {
    --stop-value: 90%;
  }
}
/* 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-semi-dark);
  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%;
  }
}
