/* === Red Barn Media Group - Custom Styles === */
/* === Home Hero Styles :: BEGIN === */
.rbmg-hero-intro {
  width: 100%;
  height: fit-content;
  background: rgb(0, 11, 48);
  background: linear-gradient(
    60deg,
    rgba(0, 11, 48, 1) 25%,
    rgba(45, 16, 47, 1) 75%,
    rgba(111, 44, 35, 1) 85%,
    rgba(206, 64, 51, 1) 95%
  );
  background-size: cover;
  position: relative;
}
.rbmg-hero-intro .rbmg-hero-padding {
  padding-top: 16rem;
  padding-right: 8rem;
  padding-bottom: 4rem;
  padding-left: 8rem;
}
.rbmg-hero-intro.sub .rbmg-hero-padding {
  padding-bottom: 12rem;
}
.rbmg-hero-intro h1 {
  font-size: 3.5rem;
  line-height: 1;
  font-weight: 500;
  color: #fff;
}
.rbmg-hero-intro p {
  color: #fff;
}
.rbmg-sub-page-intro-block-margin {
  margin-top: -8rem;
}
/* === Home Hero Styles :: END === */
/* === Sub Hero Styles :: BEGIN === */

/* === Sub Hero Styles :: END === */
/* === Banner Styled :: BEGIN === */
.rbmg-diagonal-logo-shape-banner {
  width: 100%;
  height: fit-content;
  background: url(../img/rbmg-diagonal-logo-shape.svg) left bottom;
  background-size: cover;
}
/* === Banner Styles :: END === */
/* === Progress Bar Styles :: BEGIN === */
.step-container {
  position: relative;
  text-align: center;
  transform: translateY(-33%);
}

.step-circle {
  width: 75px;
  height: 75px;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid #f7605c;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 3rem;
  cursor: pointer; /* Added cursor pointer */
  transition-duration: 0.25s;
  position: relative;
}

.step-circle:hover,
.step-circle:focus {
  background-color: #f7605c;
  border: 2px solid #f7605c;
  transition-duration: 0.25s;
}

.step-circle:hover i.text-danger {
  color: #fff !important;
  transition-duration: 0.25s;
}

.inverted {
  background-color: #ffffff;
  color: #f7605c;
  border: 2px solid #ffffff;
}

.step-line {
  position: absolute;
  top: 16px;
  left: 50px;
  width: calc(100% - 100px);
  height: 2px;
  background-color: #f7605c;
  z-index: -1;
}

#multi-step-form {
  overflow-x: hidden;
}
/* === Progress Bar Styles :: END === */

/* === Card Accordion Styles :: BEGIN === */
/* Card Accordion Styles */
.accordion.card-accordion {
  background: transparent;
  border: none;
}
.card-accordion .accordion-item {
  margin-bottom: 0.5rem;
}
.card-accordion .accordion-button {
  font-size: 1.15rem;
  color: #ffffff;
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
  border-radius: 0;
  -webkit-tap-highlight-color: transparent;
}
.card-accordion .accordion-body {
  background-color: #00061e;
  font-size: 0.8rem;
  padding-top: 0;
  padding-bottom: 0.75rem;
}
.card-accordion .accordion-item,
.card-accordion .accordion-header,
.card-accordion .accordion-button {
  background: #00061e;
  border: none;
}
.card-accordion .accordion-item {
  border-radius: 0;
  overflow: hidden;
}

.card-accordion .accordion-button:not(.collapsed) {
  color: #ffffff;
}

.card-accordion .accordion-button:not(.collapsed) {
  box-shadow: none;
  background: #2d102f;
  border-radius: 0;
}

/* Match body to header color when expanded */
.card-accordion .accordion-collapse.show .accordion-body,
.card-accordion .accordion-collapse.collapsing .accordion-body {
  background: #2d102f;
  color: #ffffff;
}

/* Add shadow when expanded */
.card-accordion .accordion-item:has(.accordion-button:not(.collapsed)),
.card-accordion .accordion-item:has(.accordion-collapse.show) {
  box-shadow: 0rem 0.25rem 0.5rem #d8d8d8;
}

/* Remove default blue highlight/focus ring */
.card-accordion .accordion-button:focus,
.card-accordion .accordion-button:focus-visible,
.card-accordion .accordion-button:active {
  outline: none !important;
  box-shadow: none !important;
}

/* Replace default chevron with Font Awesome plus/minus for card accordions */
.accordion.card-accordion .accordion-button::after {
  /* Remove Bootstrap chevron */
  background-image: none !important;
  transform: none !important;

  /* Add FA icon */
  content: '\f067'; /* fa-plus */
  font-family: 'Font Awesome 6 Pro', 'Font Awesome 6 Free';
  font-weight: 900; /* solid weight */
  color: #fff;

  /* Sizing/placement similar to Bootstrap default */
  width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
}

.accordion.card-accordion .accordion-button:not(.collapsed)::after {
  content: '\f068'; /* fa-minus */
}
/* === Card Accordion Styles :: END === */

/* === Clean Accordion Styles (no bg, no borders, #00061e text/icons) :: BEGIN === */
.accordion.clean-accordion {
  background: transparent;
  border: none;
}
.clean-accordion .accordion-item,
.clean-accordion .accordion-header,
.clean-accordion .accordion-button,
.clean-accordion .accordion-body {
  background: transparent;
  border: none;
  box-shadow: none;
}
.clean-accordion .accordion-button {
  color: #00061e;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.clean-accordion .accordion-body {
  color: #00061e;
  font-size: 0.9rem; /* slightly smaller body text */
}
/* Remove default focus ring */
.clean-accordion .accordion-button:focus,
.clean-accordion .accordion-button:focus-visible,
.clean-accordion .accordion-button:active {
  outline: none !important;
  box-shadow: none !important;
}
/* Replace chevron with FA plus/minus */
.accordion.clean-accordion .accordion-button::after {
  background-image: none !important;
  transform: none !important;
  content: '\f067'; /* fa-plus */
  font-family: 'Font Awesome 6 Pro', 'Font Awesome 6 Free';
  font-weight: 900;
  color: #00061e;
  width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
}
.accordion.clean-accordion .accordion-button:not(.collapsed)::after {
  content: '\f068'; /* fa-minus */
}
.clean-accordion .accordion-item {
  transition: box-shadow 0.2s ease;
}
.clean-accordion .accordion-item:has(.accordion-button:not(.collapsed)),
.clean-accordion .accordion-item:has(.accordion-collapse.show) {
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15);
  border-radius: 0.375rem;
}
/* === Clean Accordion Styles :: END === */
/* === Clean Accordion Styles :: END === */

/* === Underlined Accordion Styles (no bg, white text, bottom borders) :: BEGIN === */
.accordion.underlined-accordion {
  background: transparent;
  border: none;
}
.underlined-accordion .accordion-item,
.underlined-accordion .accordion-header,
.underlined-accordion .accordion-button,
.underlined-accordion .accordion-body {
  background: transparent;
  border: none;
  box-shadow: none;
}
.underlined-accordion .accordion-button {
  color: #ffffff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 0;
  -webkit-tap-highlight-color: transparent;
}
.underlined-accordion .accordion-body {
  color: #ffffff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
/* Optional: remove last bottom border */
/* .underlined-accordion .accordion-item:last-child .accordion-body { border-bottom: none; } */

/* Remove default focus ring */
.underlined-accordion .accordion-button:focus,
.underlined-accordion .accordion-button:focus-visible,
.underlined-accordion .accordion-button:active {
  outline: none !important;
  box-shadow: none !important;
}

/* Replace chevron with FA plus/minus */
.accordion.underlined-accordion .accordion-button::after {
  background-image: none !important;
  transform: none !important;
  content: '\f067'; /* fa-plus */
  font-family: 'Font Awesome 6 Pro', 'Font Awesome 6 Free';
  font-weight: 900;
  color: #ffffff;
  width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
}
.accordion.underlined-accordion .accordion-button:not(.collapsed)::after {
  content: '\f068'; /* fa-minus */
}

/* Remove any default Bootstrap rounding from last item (collapsed or expanded) */
.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
/* === Underlined Accordion Styles :: END === */
/* === Underlined Accordion Styles :: END === */

/* === Utility Styles :: BEGIN === */

/* === Partners Widget :: BEGIN === */
/* Dark Nav Pills (for use on midnight/dark backgrounds) */
.nav-pills-dark {
  gap: 0.5rem;
}
.nav-pills-dark .nav-link {
  color: rgba(255, 255, 255, 0.7);
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 0;
  padding: 0.75rem 1.25rem;
  font-weight: 700;
  transition: background-color 0.25s, color 0.25s, border-color 0.25s;
}
.nav-pills-dark .nav-link:hover,
.nav-pills-dark .nav-link:focus {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.5);
}
.nav-pills-dark .nav-link.active,
.nav-pills-dark .show > .nav-link {
  color: #fff;
  background-color: #ce4033;
  border-color: #ce4033;
}
.nav-pills-dark .nav-link.active:hover,
.nav-pills-dark .show > .nav-link:hover {
  background-color: #f64f3f;
  border-color: #ce4033;
}

/* Partner Logos */
.partner-logo {
  opacity: 0.85;
  transition: opacity 0.25s, transform 0.25s;
}
.partner-logo:hover {
  opacity: 1;
  transform: scale(1.05);
}

/* Dealer/contractor logos on dark background */
.partner-logo-contractor {
  mix-blend-mode: lighten;
  transition: opacity 0.25s, transform 0.25s;
}
.partner-logo-contractor:hover {
  opacity: 1;
}
/* === Partners Widget :: END === */

/* === Partner Scroll Rows :: BEGIN === */
.partner-scroll-row .ls-1 {
  letter-spacing: 0.1em;
}
.partner-scroll-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* Fade edges */
.partner-scroll-wrapper::before,
.partner-scroll-wrapper::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 8rem;
  z-index: 2;
  pointer-events: none;
}
.partner-scroll-wrapper::before {
  left: 0;
  background: linear-gradient(to right, #00061e, transparent);
}
.partner-scroll-wrapper::after {
  right: 0;
  background: linear-gradient(to left, #00061e, transparent);
}

/* Track */
.partner-scroll-track {
  display: flex;
  align-items: center;
  width: max-content;
  gap: 3rem;
  padding: 0.75rem 0;
}
.partner-scroll-track.scroll-left {
  animation: partnerScrollLeft 25s linear infinite;
}
.partner-scroll-track.scroll-right {
  animation: partnerScrollRight 25s linear infinite;
}

/* Slides */
.partner-scroll-slide {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  height: 60px;
  width: 180px;
}
.partner-scroll-slide img {
  height: 50px;
  width: auto;
  max-width: 170px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.65;
}

/* Keyframes */
@keyframes partnerScrollLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes partnerScrollRight {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}
/* === Partner Scroll Rows :: END === */

/* === Utility Styles :: END === */

/* === Media Queries :: BEGIN === */
@media (max-width: 1400px) {
  /* === Home Hero Styles :: BEGIN === */
  .rbmg-hero-intro h1 {
    font-size: 3rem;
  }
  .rbmg-hero-intro h2 {
    font-size: 1.5rem;
  }
  .rbmg-hero-intro .display-4 {
    font-size: 3rem;
  }
  /* === Home Hero Styles :: END === */
}

@media (max-width: 1200px) {
  .rbmg-hero-intro .rbmg-hero-padding {
    padding-top: 8rem;
    padding-right: 1rem;
    padding-left: 1rem;
  }
}

@media (max-width: 991px) {
}

@media (max-width: 767px) {
  /* === Home Hero Styles :: BEGIN === */
  .rbmg-hero-intro h1 {
    font-size: 2.5rem;
  }
  .rbmg-hero-intro h2 {
    font-size: 1.25rem;
  }
  .rbmg-hero-intro .display-4 {
    font-size: 2rem;
  }
  .rbmg-hero-intro .rbmg-hero-padding {
    padding-top: 12rem;
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .rbmg-hero-intro.sub .rbmg-hero-padding {
    padding-bottom: 10rem;
  }
  /* === Home Hero Styles :: END === */
}

@media (max-width: 576px) {
  .rbmg-hero-intro h1 {
    font-size: 2rem;
  }
  .step-circle {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #fff;
    border: 2px solid #f7605c;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    cursor: pointer;
    transition-duration: 0.25s;
    position: relative;
  }
}

@media (max-width: 450px) {
}

/* === Media Queries :: END === */
