body.has-site-motion {
  --cw-site-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --cw-site-motion-fast: 220ms;
  --cw-site-motion-medium: 520ms;
  --cw-site-motion-slow: 980ms;
  --cw-site-reveal-y: 10px;
}

body.has-site-motion.is-site-motion-ready .cw-site-motion-reveal {
  opacity: 0;
  transform: translate3d(0, var(--cw-site-reveal-y), 0);
  transition:
    opacity var(--cw-site-motion-slow) var(--cw-site-motion-ease),
    transform var(--cw-site-motion-slow) var(--cw-site-motion-ease);
  transition-delay: var(--cw-site-motion-delay, 0ms);
  will-change: opacity, transform;
}

body.has-site-motion.is-site-motion-ready .cw-site-motion-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

body.has-site-motion .cw-finishes-card,
body.has-site-motion .cw-gallery-category__media,
body.has-site-motion .cw-gallery-card__button,
body.has-site-motion .cw-contact-image,
body.has-site-motion .cw-species-panel__image,
body.has-site-motion .cw-species-resource__media,
body.has-site-motion .cw-species-collection__media,
body.has-site-motion .cw-resources-intro__media,
body.has-site-motion .cw-resource-card__media,
body.has-site-motion .cw-news-card__media,
body.has-site-motion .cw-blog-card__media,
body.has-site-motion .cw-event-card__media,
body.has-site-motion .cw-success-card {
  overflow: hidden;
}

body.has-site-motion .cw-finishes-card__image,
body.has-site-motion .cw-gallery-category__image,
body.has-site-motion .cw-gallery-card__image,
body.has-site-motion .cw-contact-image__media,
body.has-site-motion .cw-species-panel__image img,
body.has-site-motion .cw-species-resource__image,
body.has-site-motion .cw-species-collection__image,
body.has-site-motion .cw-resources-intro__image,
body.has-site-motion .cw-resource-card__image,
body.has-site-motion .cw-news-card__image,
body.has-site-motion .cw-blog-card__image,
body.has-site-motion .cw-event-card__image,
body.has-site-motion .cw-success-card__image {
  filter: brightness(1);
  transform: scale(1.04);
  transform-origin: center center;
  transition:
    filter 560ms var(--cw-site-motion-ease),
    transform 560ms ease-in-out;
  will-change: filter, transform;
}

body.has-site-motion .cw-finishes-card:hover .cw-finishes-card__image,
body.has-site-motion .cw-finishes-card:focus-visible .cw-finishes-card__image,
body.has-site-motion .cw-gallery-category__media:hover .cw-gallery-category__image,
body.has-site-motion .cw-gallery-category__media:focus-within .cw-gallery-category__image,
body.has-site-motion .cw-gallery-card__button:hover .cw-gallery-card__image,
body.has-site-motion .cw-gallery-card__button:focus-visible .cw-gallery-card__image,
body.has-site-motion .cw-contact-image:hover .cw-contact-image__media,
body.has-site-motion .cw-species-panel__image:hover img,
body.has-site-motion .cw-species-resource:hover .cw-species-resource__image,
body.has-site-motion .cw-species-collection__button:hover .cw-species-collection__image,
body.has-site-motion .cw-species-collection__button:focus-visible .cw-species-collection__image,
body.has-site-motion .cw-resources-intro__media:hover .cw-resources-intro__image,
body.has-site-motion .cw-resource-card:hover .cw-resource-card__image,
body.has-site-motion .cw-resource-card:focus-within .cw-resource-card__image,
body.has-site-motion .cw-news-card:hover .cw-news-card__image,
body.has-site-motion .cw-blog-card:hover .cw-blog-card__image,
body.has-site-motion .cw-event-card:hover .cw-event-card__image,
body.has-site-motion .cw-success-card:hover .cw-success-card__image {
  filter: brightness(0.9) saturate(0.98);
  transform: scale(1);
}

body.has-site-motion a,
body.has-site-motion button {
  transition:
    background var(--cw-site-motion-fast) var(--cw-site-motion-ease),
    border-color var(--cw-site-motion-fast) var(--cw-site-motion-ease),
    color var(--cw-site-motion-fast) var(--cw-site-motion-ease),
    opacity var(--cw-site-motion-fast) var(--cw-site-motion-ease),
    transform var(--cw-site-motion-fast) var(--cw-site-motion-ease),
    box-shadow var(--cw-site-motion-fast) var(--cw-site-motion-ease);
}

body.has-site-motion .cw-finishes-load-more:hover,
body.has-site-motion .cw-finishes-load-more:focus-visible,
body.has-site-motion .cw-gallery-category__text a:hover,
body.has-site-motion .cw-gallery-category__text a:focus-visible,
body.has-site-motion .cw-gallery-detail__back a:hover,
body.has-site-motion .cw-gallery-detail__back a:focus-visible,
body.has-site-motion .cw-contact-lead__submit:hover,
body.has-site-motion .cw-contact-lead__submit:focus-visible,
body.has-site-motion .cw-species-contact__submit:hover,
body.has-site-motion .cw-species-contact__submit:focus-visible,
body.has-site-motion .cw-species-resource__button:hover,
body.has-site-motion .cw-species-resource__button:focus-visible,
body.has-site-motion .cw-resources-button:hover,
body.has-site-motion .cw-resources-button:focus-visible,
body.has-site-motion .cw-media-button:hover,
body.has-site-motion .cw-media-button:focus-visible {
  transform: translate3d(0, -1px, 0);
  box-shadow: 0 10px 22px rgba(var(--cw-dark-evergreen-rgb), 0.14);
}

body.has-site-motion .cw-gallery-category__text a:hover,
body.has-site-motion .cw-gallery-category__text a:focus-visible,
body.has-site-motion .cw-gallery-detail__back a:hover,
body.has-site-motion .cw-gallery-detail__back a:focus-visible {
  background: var(--cw-green-hover);
  color: var(--cw-white);
}

body.has-site-motion .cw-finishes-card:hover,
body.has-site-motion .cw-gallery-card__button:hover,
body.has-site-motion .cw-gallery-card__button:focus-visible,
body.has-site-motion .cw-species-collection__button:hover,
body.has-site-motion .cw-species-collection__button:focus-visible,
body.has-site-motion .cw-resource-card:hover,
body.has-site-motion .cw-resource-card:focus-within,
body.has-site-motion .cw-news-card:hover,
body.has-site-motion .cw-blog-card:hover,
body.has-site-motion .cw-success-card:hover {
  cursor: pointer;
}

body.has-site-motion .cw-event-card,
body.has-site-motion .cw-event-card:hover {
  cursor: default;
}

body.has-site-motion .cw-event-card .cw-media-button,
body.has-site-motion .cw-event-card .cw-media-button:hover {
  cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
  body.has-site-motion *,
  body.has-site-motion *::before,
  body.has-site-motion *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
  }

  body.has-site-motion.is-site-motion-ready .cw-site-motion-reveal {
    opacity: 1;
    transform: none;
  }
}
