@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/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;
}

/* 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;
}

/* 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 SYSTEM ===== */

/* Container: position at bottom-left of slide */
.rev_slider li.tp-revslider-slidesli .views-field.views-field-nothing {
  position: absolute !important;
  bottom: 20px !important;
  left: 20px !important;
  top: auto !important;
  right: auto !important;
  z-index: 50 !important;
  width: auto !important;
  height: auto !important;
  max-width: 460px !important;
  overflow: visible !important;
  pointer-events: none !important;
  transform: none !important;
}

/* Kill RS wrapper constraints */
.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;
  max-width: none !important;
  min-width: 0 !important;
  visibility: inherit !important;
  transform: none !important;
  overflow: visible !important;
}

/* Caption element: override ALL RS inline properties */
.rev_slider li.tp-revslider-slidesli .tp-caption {
  position: relative !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  max-width: 460px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  display: block !important;
  pointer-events: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  opacity: 1 !important;
  transform: none !important;
  transform-origin: unset !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: normal !important;
  white-space: normal !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Glass-style overlay with backdrop blur */
.rev_slider .tp-caption .blue-teaser-overlay {
  background: rgba(0, 30, 60, 0.55) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  backdrop-filter: blur(8px) !important;
  padding: 16px 22px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  max-width: 440px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
  overflow: hidden !important;
}

/* Title */
.rev_slider .tp-caption .title-teaser-text h2 {
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
}
.rev_slider .tp-caption .title-teaser-text h2 a {
  color: #fff !important;
  text-decoration: none !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.02em !important;
  display: block !important;
}

/* Subtitle: max 2 lines with ellipsis */
.rev_slider .tp-caption .title-teaser-text .subtitle {
  color: rgba(255,255,255,0.85) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 400px !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
.rev_slider .tp-caption .title-teaser-text .subtitle p,
.rev_slider .tp-caption .title-teaser-text .subtitle h2,
.rev_slider .tp-caption .title-teaser-text .subtitle h4,
.rev_slider .tp-caption .title-teaser-text .subtitle ul,
.rev_slider .tp-caption .title-teaser-text .subtitle li {
  color: rgba(255,255,255,0.85) !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: normal !important;
  line-height: 1.5 !important;
  list-style: none !important;
  display: inline !important;
}

/* CTA link styling */
.rev_slider .tp-caption .title-teaser-text a.cta-link,
.rev_slider .tp-caption .title-teaser-text > a,
.rev_slider .tp-caption .blue-teaser-overlay > .title-teaser-text > a:last-child {
  display: inline-block !important;
  margin-top: 10px !important;
  font-size: 13px !important;
  color: rgba(255,255,255,0.95) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  pointer-events: auto !important;
}

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

/* ===== MOBILE: compact box, title + link only ===== */
@media (max-width: 767px) {
  .rev_slider_wrapper,
  .rev_slider { max-height: 280px !important; }

  /* Hide subtitle on mobile */
  .rev_slider .tp-caption .title-teaser-text .subtitle {
    display: none !important;
  }

  /* Smaller box on mobile */
  .rev_slider li.tp-revslider-slidesli .views-field.views-field-nothing {
    max-width: 220px !important;
    bottom: 12px !important;
    left: 12px !important;
  }
  .rev_slider li.tp-revslider-slidesli .tp-caption {
    max-width: 220px !important;
  }
  .rev_slider .tp-caption .blue-teaser-overlay {
    padding: 10px 14px !important;
    max-width: 200px !important;
    border-radius: 6px !important;
  }
  .rev_slider .tp-caption .title-teaser-text h2 {
    margin: 0 0 2px 0 !important;
  }
  .rev_slider .tp-caption .title-teaser-text h2 a {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }
  .rev_slider .tp-caption .title-teaser-text a.cta-link,
  .rev_slider .tp-caption .title-teaser-text > a,
  .rev_slider .tp-caption .blue-teaser-overlay > .title-teaser-text > a:last-child {
    margin-top: 4px !important;
    font-size: 11px !important;
  }
}