/* ── dhr-animate ── */
@keyframes dhrFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes dhrFadeUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes dhrFadeDown {
  from {
    opacity: 0;
    transform: translateY(-30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes dhrFadeLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes dhrFadeRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.dhr-fade-in,
.dhr-fade-up,
.dhr-fade-down,
.dhr-fade-left,
.dhr-fade-right {
  opacity: 0;
}
.dhr-fade-in.dhr-visible {
  animation: dhrFadeIn 0.45s ease forwards !important;
}
.dhr-fade-up.dhr-visible {
  animation: dhrFadeUp 0.45s ease forwards !important;
}
.dhr-fade-down.dhr-visible {
  animation: dhrFadeDown 0.45s ease forwards !important;
}
.dhr-fade-left.dhr-visible {
  animation: dhrFadeLeft 0.45s ease forwards !important;
}
.dhr-fade-right.dhr-visible {
  animation: dhrFadeRight 0.45s ease forwards !important;
}

.dhr-visible {
  animation-delay: 0.1s !important;
}
.dhr-d1.dhr-visible {
  animation-delay: 0.1s !important;
}
.dhr-d2.dhr-visible {
  animation-delay: 0.2s !important;
}
.dhr-d3.dhr-visible {
  animation-delay: 0.3s !important;
}
.dhr-d4.dhr-visible {
  animation-delay: 0.4s !important;
}
.dhr-d5.dhr-visible {
  animation-delay: 0.5s !important;
}
.dhr-d6.dhr-visible {
  animation-delay: 0.6s !important;
}
