@media (max-width: 767px) {
    div .title-teaser-text ,
    div .bannercontainer .title-teaser-text { display: block; width: 100%; margin: 0 !important; }
    div div .title-teaser-text .title ,
    div div .title-teaser-text p { font-size: 18px; padding: 6px; }
    div div .title-teaser-text a { cursor: pointer; pointer-events: auto !important; }
}

/* Hero Slideshow - hide stuck loading spinner */
.rev_slider .tp-loader {
  display: none !important;
}

/* KILL all RS animations and transitions on slides and images */
.rev_slider li.tp-revslider-slidesli,
.rev_slider li.tp-revslider-slidesli > div:first-child,
.rev_slider li.tp-revslider-slidesli > div:first-child * {
  transition: none !important;
  animation: none !important;
}

/* Override RS transform on images */
.rev_slider li img.image-style-wide {
  transform: none !important;
  -webkit-transform: none !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  max-width: none !important;
}

/* Slideshow: ensure image containers cover full slide */
.rev_slider li .responsive-slider-image,
.rev_slider li .responsive-slider-image a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}
.rev_slider li > div:first-child {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
}

/* Control slide visibility via class */
.rev_slider li.tp-revslider-slidesli {
  opacity: 0 !important;
}
.rev_slider li.tp-revslider-slidesli.slide-visible {
  opacity: 1 !important;
}
.rev_slider li.tp-revslider-slidesli.slide-fading {
  transition: opacity 800ms ease !important;
  opacity: 1 !important;
}

/* Caption/CTA: Position .views-field-nothing as anchor at bottom-left */
.rev_slider li.tp-revslider-slidesli .views-field.views-field-nothing {
  position: absolute !important;
  bottom: 30px !important;
  left: 20px !important;
  top: auto !important;
  z-index: 50 !important;
  width: auto !important;
  height: auto !important;
  max-width: 50vw !important;
  overflow: visible !important;
  pointer-events: none !important;
}

/* Neutralize RS wrapper divs - make them flow naturally */
.rev_slider li.tp-revslider-slidesli .tp-parallax-wrap,
.rev_slider li.tp-revslider-slidesli .tp-loop-wrap,
.rev_slider li.tp-revslider-slidesli .tp-mask-wrap {
  position: static !important;
  width: auto !important;
  height: auto !important;
  visibility: inherit !important;
  transform: none !important;
  overflow: visible !important;
}

/* Caption: relative position, inherit visibility from slide opacity */
.rev_slider li.tp-revslider-slidesli .tp-caption {
  position: relative !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  display: block !important;
  pointer-events: auto !important;
  top: auto !important;
  left: auto !important;
  bottom: auto !important;
  opacity: 1 !important;
}

/* Caption styling */
.rev_slider .tp-caption .blue-teaser-overlay {
  background: rgba(0, 51, 102, 0.85) !important;
  padding: 15px 20px !important;
  border-radius: 4px !important;
}
.rev_slider .tp-caption .title-teaser-text h2 a {
  color: #fff !important;
  text-decoration: none !important;
  font-size: 20px !important;
}
.rev_slider .tp-caption .title-teaser-text .subtitle {
  color: rgba(255,255,255,0.9) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  margin-top: 5px !important;
}
.rev_slider .tp-caption .title-teaser-text .subtitle p {
  color: rgba(255,255,255,0.9) !important;
  margin: 0 !important;
}

/* Hide duplicate RS bullet navigation */
.rev_slider_wrapper .tp-bullets {
  display: none !important;
}

/* Mobile: reduce slider height */
@media (max-width: 767px) {
  .rev_slider_wrapper,
  .rev_slider {
    max-height: 280px !important;
  }
}