/* Disable Salient's "opacity: 0 until JS reveals" entrance animations.
   We strip the entrance-animation JS bundles for performance, so we have to
   force the affected elements visible at first paint. Salient applies opacity:0
   to several wrapper layers (note the typo "aniamtion" in their class name). */

img.img-with-animation,
.img-with-animation,
.img-with-animation[data-animation],
.img-with-aniamtion-wrap,
.img-with-aniamtion-wrap[data-animation],
.img-with-aniamtion-wrap .hover-wrap,
.img-with-aniamtion-wrap[data-animation] .hover-wrap,
.img-with-animation.skip-lazy,
.img-with-animation.nectar-lazy,
.img-with-animation.animated-in {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Salient column / fancy-box / cascading-image entrance wrappers */
.wpb_column.has-animation,
.wpb_column.has-animation[data-animation],
.nectar-fancy-box.has-animation,
.nectar-fancy-box.has-animation[data-animation],
.nectar_cascading_images .cascading-image .inner-wrap,
.nectar_cascading_images .cascading-image[data-animation] .inner-wrap {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Split heading entrance reveal */
.nectar-split-heading,
.nectar-split-heading:not(.markup-generated),
.nectar-split-heading[data-animation-type] {
  opacity: 1 !important;
}
.nectar-split-heading[data-animation-type="line-reveal-by-space"] span .inner,
.nectar-split-heading > * > span,
.nectar-split-heading span,
.nectar-split-heading span .inner {
  transform: none !important;
  opacity: 1 !important;
  display: inline !important;
}

/* WPBakery / Salient "animate when almost visible" wrappers */
.wpb_animate_when_almost_visible {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Nectar fancy unordered list (entrance per-bullet) */
.nectar-fancy-ul li {
  opacity: 1 !important;
  transform: none !important;
}

/* Post grid items with entrance animations */
.nectar-post-grid-item .inner,
.nectar-post-grid-item.animated-in .inner {
  opacity: 1 !important;
  transform: none !important;
}

/* Generic data-animation hint Salient leaves on lots of containers */
[data-animation]:not([data-animation="none"]):not([data-animation="false"]) {
  opacity: 1 !important;
}

/* Salient post-grid items animate in via JS adding .animated-in. Force them
   visible at first paint so /pure-tones/ and any post grid renders. */
.nectar-post-grid-item,
.nectar-post-grid-item .inner,
.nectar-post-grid[data-animation] .nectar-post-grid-item,
.nectar-post-grid-wrap .nectar-post-grid-item,
.nectar-post-grid-wrap .nectar-post-grid-item .post-heading span,
.nectar-post-grid-wrap .nectar-post-grid-item .nectar-post-grid-item__meta-wrap {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Flickity-driven carousels (post grid, testimonials, brand grid) — without
   JS the .flickity-slider gets display:flex+absolute layout which hides items.
   Reset to a flowed layout. */
.nectar-flickity:not(.flickity-enabled),
.nectar-flickity:not(.flickity-enabled) .flickity-slider,
.nectar-flickity:not(.flickity-enabled) .flickity-viewport {
  height: auto !important;
  position: static !important;
}
.nectar-flickity:not(.flickity-enabled) .flickity-slider {
  display: block !important;
  transform: none !important;
}
.nectar-flickity:not(.flickity-enabled) .flickity-slider > * {
  position: static !important;
  left: auto !important;
}

/* Testimonial slider — without flickity init the carousel collapses and the
   default white-on-white text becomes invisible. Render the items as a
   responsive grid of card-like blockquotes that work on any background. */
.testimonial_slider,
.testimonial_slider .slides,
.testimonial_slider .flickity-viewport {
  display: block !important;
  margin: 0 !important;
  height: auto !important;
  position: relative !important;
}
.testimonial_slider .flickity-slider {
  position: static !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 1.25rem !important;
  transform: none !important;
}
.testimonial_slider blockquote {
  position: static !important;
  flex: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  background: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 2px rgba(15,25,36,.06), 0 4px 16px rgba(15,25,36,.06) !important;
  color: #243044 !important;
}
.testimonial_slider blockquote .inner {
  padding: 1.5rem !important;
}
.testimonial_slider blockquote p,
.testimonial_slider blockquote span {
  color: #243044 !important;
}
.testimonial_slider blockquote .testimonial-name {
  color: #0f1924 !important;
  font-weight: 700 !important;
}
.testimonial_slider blockquote .title {
  color: #5b6880 !important;
  opacity: 1 !important;
}
.testimonial_slider blockquote .image-icon {
  color: #2bb6c8 !important;
  font-size: 2rem !important;
  line-height: 1 !important;
  width: auto !important;
  height: auto !important;
}
.testimonial_slider .star-rating-wrap,
.testimonial_slider .star-rating {
  display: inline-block !important;
  margin-top: .75rem !important;
}
/* Hide flickity nav controls (prev/next/dots) since the carousel isn't running. */
.testimonial_slider .flickity-button,
.testimonial_slider .flickity-page-dots,
.testimonial_slider .controls {
  display: none !important;
}
