/* =========================================================
   RICHITA BEAUTIFICATION / ANIMATION EFFECTS
   ========================================================= */

/* ---------------------------------------------------------
   SCROLL REVEAL
   --------------------------------------------------------- */

.rh-reveal {
  opacity: 0;
  transform: translateY(35px);
  transition:
    opacity .8s ease,
    transform .8s cubic-bezier(.22, 1, .36, 1);
}

.rh-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}


/* ---------------------------------------------------------
   STAGGERED ANIMATION
   --------------------------------------------------------- */

.rh-stagger > * {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity .7s ease,
    transform .7s cubic-bezier(.22, 1, .36, 1);
}

.rh-stagger.is-visible > * {
  opacity: 1;
  transform: translateY(0);
}

.rh-stagger.is-visible > *:nth-child(1) {
  transition-delay: .05s;
}

.rh-stagger.is-visible > *:nth-child(2) {
  transition-delay: .15s;
}

.rh-stagger.is-visible > *:nth-child(3) {
  transition-delay: .25s;
}

.rh-stagger.is-visible > *:nth-child(4) {
  transition-delay: .35s;
}

.rh-stagger.is-visible > *:nth-child(5) {
  transition-delay: .45s;
}


/* ---------------------------------------------------------
   PRODUCT CARD
   --------------------------------------------------------- */

.rh-product-card {
  transition:
    transform .45s ease,
    box-shadow .45s ease;
}

.rh-product-card:hover {
  transform: translateY(-8px);
  box-shadow:
    0 18px 40px rgba(23, 38, 55, .12);
}

.rh-product-img {
  transition:
    transform .7s cubic-bezier(.22, 1, .36, 1);
}

.rh-product-card:hover .rh-product-img {
  transform: scale(1.045);
}


/* ---------------------------------------------------------
   ROUTINE CARD
   --------------------------------------------------------- */

.routine-card {
  transition:
    transform .5s ease,
    box-shadow .5s ease;
}

.routine-card:hover {
  transform: translateY(-8px);
  box-shadow:
    0 20px 45px rgba(23, 38, 55, .15);
}

.routine-card .product-img {
  transition:
    transform .7s cubic-bezier(.22, 1, .36, 1);
}

.routine-card:hover .product-img {
  transform: scale(1.06);
}


/* ---------------------------------------------------------
   REVIEW CARDS
   --------------------------------------------------------- */

.rh-review .rh-card {
  transition:
    transform .45s ease,
    box-shadow .45s ease,
    border-color .45s ease;
}

.rh-review .rh-card:hover {
  transform: translateY(-7px);
  border-color: rgba(169, 96, 44, .45);
  box-shadow:
    0 18px 35px rgba(23, 38, 55, .10);
}

.rh-review-thumb {
  transition:
    transform .45s ease;
}

.rh-review .rh-card:hover .rh-review-thumb {
  transform: scale(1.08);
}


/* ---------------------------------------------------------
   FEATURE ICONS
   --------------------------------------------------------- */

.feature-col .icon-wrapper {
  transition:
    transform .45s ease;
}

.feature-col:hover .icon-wrapper {
  transform: translateY(-5px) scale(1.06);
}

.feature-col svg {
  transition:
    filter .4s ease;
}

.feature-col:hover svg {
  filter:
    drop-shadow(0 0 6px rgba(197, 160, 89, .35));
}


/* ---------------------------------------------------------
   BUTTON EFFECT
   --------------------------------------------------------- */

.rh-btn,
.rh-btn-main-prod,
.btn-find-routine,
.solution-btn,
.action-link {
  transition:
    transform .3s ease,
    box-shadow .3s ease,
    background-color .3s ease,
    color .3s ease;
}

.rh-btn:hover,
.rh-btn-main-prod:hover,
.btn-find-routine:hover {
  transform: translateY(-2px);
}


/* ---------------------------------------------------------
   HERO IMAGE
   --------------------------------------------------------- */

.rh-hero-img {
  transition:
    transform 1.2s cubic-bezier(.22, 1, .36, 1);
}

.rh-hero:hover .rh-hero-img {
  transform: scale(1.015);
}


/* ---------------------------------------------------------
   HERO TEXT
   --------------------------------------------------------- */

.rh-hero-copy {
  animation:
    rhHeroText 1s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes rhHeroText {
  from {
    opacity: 0;
    transform: translateY(25px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* ---------------------------------------------------------
   GOLD DIVIDERS
   --------------------------------------------------------- */

.section-divider::after,
.divider-header::after {
  transition:
    transform .8s ease;
  transform-origin: center;
}

.is-visible .section-divider::after,
.is-visible.divider-header::after {
  transform: scaleX(1);
}


/* ---------------------------------------------------------
   VIDEO CARD
   --------------------------------------------------------- */

.video-card-container {
  transition:
    transform .5s ease,
    box-shadow .5s ease;
}

.video-card-container:hover {
  transform: translateY(-5px);
  box-shadow:
    0 20px 45px rgba(0, 0, 0, .15);
}


/* ---------------------------------------------------------
   VIDEO BUTTONS
   --------------------------------------------------------- */

.richita-video-buttons button {
  transition:
    transform .25s ease,
    background-color .25s ease,
    opacity .25s ease;
}

.richita-video-buttons button:hover {
  transform: scale(1.08);
}


/* ---------------------------------------------------------
   NAVBAR SCROLL EFFECT
   --------------------------------------------------------- */

.rh-navbar {
  transition:
    box-shadow .35s ease,
    background-color .35s ease;
}

.rh-navbar.rh-navbar-scrolled {
  box-shadow:
    0 8px 25px rgba(23, 38, 55, .10);
}


/* ---------------------------------------------------------
   ACTIVE NAV LINK
   --------------------------------------------------------- */

.rh-navbar .nav-link {
  position: relative;
  transition: color .3s ease;
}

.rh-navbar .nav-link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 2px;
  width: 0;
  height: 1px;
  background: #a9602c;
  transform: translateX(-50%);
  transition: width .3s ease;
}

.rh-navbar .nav-link:hover::after,
.rh-navbar .nav-link.rh-active::after {
  width: 65%;
}

.rh-navbar .nav-link.rh-active {
  color: #a9602c;
}


/* ---------------------------------------------------------
   BACK TO TOP
   --------------------------------------------------------- */

.rh-back-top {
  position: fixed;
  right: 25px;
  bottom: 25px;
  width: 45px;
  height: 45px;
  border: 1px solid rgba(169, 96, 44, .45);
  background: #fff;
  color: #a9602c;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;

  opacity: 0;
  visibility: hidden;
  transform: translateY(15px);

  transition:
    opacity .3s ease,
    visibility .3s ease,
    transform .3s ease,
    background-color .3s ease;
}

.rh-back-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.rh-back-top:hover {
  background: #a9602c;
  color: #fff;
  transform: translateY(-3px);
}


/* ---------------------------------------------------------
   FADE-IN IMAGE
   --------------------------------------------------------- */

.rh-image-reveal {
  opacity: 0;
  transform: scale(1.03);
  transition:
    opacity 1s ease,
    transform 1.2s cubic-bezier(.22, 1, .36, 1);
}

.rh-image-reveal.is-visible {
  opacity: 1;
  transform: scale(1);
}


/* ---------------------------------------------------------
   REDUCED MOTION
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }

}