:root {
  --homepage-slideshow-min-height: 480px;
  --homepage-slideshow-max-width: 1720px;
  --homepage-slideshow-padding-block: 1.25rem;
  --homepage-slideshow-bg: var(--clr-light);
  --prev-next-button-color: var(--clr-primary);
}

.homepage-slideshow {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 auto;
  background-color: var(--homepage-slideshow-bg);
  overflow: clip;
}
.homepage-slideshow .grid {
  display: grid;
  gap: 1rem;
}
.homepage-slideshow .swiper {
  width: 100%;
  height: var(--homepage-slideshow-min-height);
  transition: height 0.3s ease-in-out;
}
@media screen and (max-width: 61.25rem) {
  .homepage-slideshow .swiper {
    --homepage-slideshow-min-height: 420px;
  }
}
.homepage-slideshow .container-xl-fw {
  max-width: var(--homepage-slideshow-max-width);
  height: 100%;
}
.homepage-slideshow .swiper-slide {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  align-items: center;
  position: relative;
  will-change: transform, opacity, visibility;
  container-type: inline-size;
}
.homepage-slideshow .swiper-slide .swiper-slide__background {
  width: 100%;
  height: 100%;
  max-width: var(--_max-width);
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  margin: 0 auto;
}
.homepage-slideshow .swiper-slide .rsp-main-slide {
  width: 100%;
  height: var(--homepage-slideshow-min-height);
  padding-inline: 1rem;
}
.homepage-slideshow .swiper-slide .rsp-main-slide.rsp-main-slide--no-padding {
  padding: 0;
}
.homepage-slideshow .swiper-slide .rsp-main-slide.rsp-main-slide--background-cover {
  background-size: cover;
}
.homepage-slideshow .swiper-slide .rsp-main-slide.rsp-main-slide--background--no-repeat {
  background-repeat: no-repeat;
}
.homepage-slideshow .swiper-slide .rsp-main-slide .text--no-shadow {
  text-shadow: none;
}
.homepage-slideshow .swiper-slide.swiper-slide--loading .swiper-lazy-preloader {
  z-index: 1000;
}
@media screen and (min-width: 61.25rem) {
  .homepage-slideshow .swiper-slide .main-header-img {
    display: block;
  }
}
.homepage-slideshow .swiper-slide .tf-report-img-watermark {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
  max-width: 420px;
  height: auto;
  z-index: 0;
  opacity: 0.2;
  translate: 0 100%;
}
@media screen and (max-width: 61.25rem) {
  .homepage-slideshow .swiper-slide .tf-report-img-watermark {
    translate: 0 0;
  }
}
.homepage-slideshow .swiper-slide .tf-report-img-watermark img {
  aspect-ratio: 420/240;
  max-width: 420px;
}
.homepage-slideshow h1,
.homepage-slideshow .h1 {
  font-size: clamp(1.75rem, 2.875vw, 3rem);
  text-transform: capitalize;
  margin: 0 0 15px 0;
  padding: 0;
  text-wrap: balance;
  line-height: 1.25;
}
.homepage-slideshow h2,
.homepage-slideshow .h2,
.homepage-slideshow h3,
.homepage-slideshow .h3,
.homepage-slideshow h4,
.homepage-slideshow .h4 {
  text-wrap: balance;
  font-weight: 400;
  transition: font-size 0.3s ease-in-out;
  line-height: 1.25;
}
.homepage-slideshow h2 {
  padding: 0;
}
.homepage-slideshow .left-image__title,
.homepage-slideshow .subtitle {
  font-size: clamp(1.25rem, 1.875vw, 1.6rem);
  transition: font-size 0.3s ease-in-out;
}
.homepage-slideshow p {
  color: inherit;
  margin: 0 0 1rem 0;
  padding: 0;
}
.homepage-slideshow .swiper-slide__background--first-slide {
  content-visibility: auto;
  contain-intrinsic-size: var(--homepage-slideshow-max-width) var(--homepage-slideshow-min-height);
}
.homepage-slideshow .swiper-pagination {
  text-align: center;
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translate(-50%, 0);
}
.homepage-slideshow .swiper-pagination-bullet {
  display: inline-block;
  margin: 0 5px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #ffffff;
  opacity: 0.5;
}
.homepage-slideshow .swiper-pagination-bullet-active {
  background-color: var(--clr-primary);
  opacity: 1;
}
.homepage-slideshow .swiper-button-prev,
.homepage-slideshow .swiper-button-next {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  --_button-size: 0.875rem;
  width: var(--_button-size);
  height: calc(var(--_button-size) * 2);
  font-size: var(--_button-size);
  transition: opacity 0.3s ease-in-out;
  opacity: 1;
}
.homepage-slideshow .swiper-button-prev.swiper-button-disabled, .homepage-slideshow .swiper-button-prev.swiper-button-lock,
.homepage-slideshow .swiper-button-next.swiper-button-disabled,
.homepage-slideshow .swiper-button-next.swiper-button-lock {
  opacity: 0.5;
}
.homepage-slideshow .swiper-button-prev:hover,
.homepage-slideshow .swiper-button-next:hover {
  opacity: 1;
}
.homepage-slideshow .swiper-button-prev::after,
.homepage-slideshow .swiper-button-next::after {
  font-size: 3em;
  color: var(--prev-next-button-color);
}
.homepage-slideshow .swiper-button-next {
  right: 0.875rem;
}
.homepage-slideshow .swiper-button-prev {
  left: 0.875rem;
}
.homepage-slideshow .left-image .left-image__img {
  width: 100%;
  max-width: 620px;
  height: auto;
  margin: 0;
  position: relative;
  translate: 0 0.5rem;
  transition: translate 0.3s ease-in-out;
  aspect-ratio: 620/330;
}
.homepage-slideshow .left-image .left-image__img:hover {
  translate: 0 0;
}
.homepage-slideshow .right-slide-content {
  position: relative;
}
.homepage-slideshow .right-slide-content > *:not(.tf-report-img-watermark) {
  z-index: 1;
}
.homepage-slideshow .slide-cta-form {
  position: relative;
}
.homepage-slideshow .slide-cta-form p {
  margin-bottom: 0;
  line-height: 1.2;
  text-wrap: balance;
  font-size: clamp(1rem, 1.25vw, 1.25rem);
}
.homepage-slideshow .inline-cta-form {
  display: grid;
  gap: 10px;
  justify-content: center;
  width: 100%;
}
@media screen and (min-width: 48.75rem) {
  .homepage-slideshow .inline-cta-form {
    grid-template-columns: repeat(2, auto);
    place-items: center;
    place-content: center;
  }
}
.homepage-slideshow .inline-cta-form button {
  border: none !important;
  height: 100%;
}
@media screen and (max-width: 48.75rem) {
  .homepage-slideshow .inline-cta-form button {
    width: 100%;
  }
}
.homepage-slideshow .inline-cta-form #zip {
  font-size: 16px !important;
  font-weight: 700;
  transition: all 200ms ease-in-out;
}
@media screen and (max-width: 48.75rem) {
  .homepage-slideshow .inline-cta-form #zip {
    width: 100%;
    max-width: 100%;
  }
}
.homepage-slideshow .inline-cta-form #zip.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 23px 26px !important;
  font-size: var(--bs-btn-font-size) !important;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.homepage-slideshow .dropdown-item.active,
.homepage-slideshow .dropdown-item:active {
  background-color: var(--clr-primary);
}
.homepage-slideshow .form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 23px 26px !important;
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.homepage-slideshow input[type=text]::-webkit-input-placeholder,
.homepage-slideshow input[type=email]::-webkit-input-placeholder,
.homepage-slideshow .form-control::-webkit-input-placeholder {
  color: rgba(68, 68, 68, 0.5);
}
.homepage-slideshow input[type=text]::placeholder,
.homepage-slideshow input[type=email]::placeholder {
  color: rgba(68, 68, 68, 0.5);
}
.homepage-slideshow input[type=text]:hover, .homepage-slideshow input[type=text]:focus,
.homepage-slideshow input[type=email]:hover,
.homepage-slideshow input[type=email]:focus {
  border-color: var(--clr-primary);
}
