@charset "UTF-8";

/*
 * 올담 스크롤 애니메이션 유틸리티
 * 사용: class="alldam-animate alldam-fade-up alldam-delay-100"
 *       data-alldam-animation="once"   한 번 실행
 *       data-alldam-animation="repeat" 화면 진입마다 반복
 *       data-alldam-animation="progress" 스크롤 진행량에 연동
 */
.alldam-animate {
  --alldam-animation-duration: 0.7s;
  --alldam-animation-delay: 0s;
  --alldam-animation-easing: cubic-bezier(0.22, 1, 0.36, 1);
  --alldam-animation-transform: none;
}

.alldam-fade-up {
  --alldam-animation-transform: translate3d(0, 2rem, 0);
}

.alldam-fade-down {
  --alldam-animation-transform: translate3d(0, -2rem, 0);
}

.alldam-fade-left {
  --alldam-animation-transform: translate3d(2rem, 0, 0);
}

.alldam-fade-right {
  --alldam-animation-transform: translate3d(-2rem, 0, 0);
}

.alldam-fade-in {
  --alldam-animation-transform: none;
}

.alldam-zoom-in {
  --alldam-animation-transform: scale(0.96);
}

.alldam-delay-100 {
  --alldam-animation-delay: 0.1s;
}

.alldam-delay-200 {
  --alldam-animation-delay: 0.2s;
}

.alldam-delay-300 {
  --alldam-animation-delay: 0.3s;
}

.alldam-delay-400 {
  --alldam-animation-delay: 0.4s;
}

.alldam-duration-fast {
  --alldam-animation-duration: 0.45s;
}

.alldam-duration-slow {
  --alldam-animation-duration: 0.9s;
}

/* JS가 정상 실행된 경우에만 숨겨 콘텐츠 유실을 방지합니다. */
.alldam-motion-ready .alldam-animate {
  opacity: 0;
  transform: var(--alldam-animation-transform);
  transition:
    opacity var(--alldam-animation-duration) var(--alldam-animation-easing)
      var(--alldam-animation-delay),
    transform var(--alldam-animation-duration) var(--alldam-animation-easing)
      var(--alldam-animation-delay);
  will-change: opacity, transform;
}

.alldam-motion-ready .alldam-animate.is-animated {
  opacity: 1;
  transform: none;
  will-change: auto;
}

/* 스크롤 진행량 모드 */
.alldam-motion-ready
  .alldam-animate[data-alldam-animation="progress"] {
  opacity: var(--alldam-animation-progress, 0);
  transition: none;
  will-change: opacity, transform;
}

.alldam-motion-ready
  .alldam-fade-up[data-alldam-animation="progress"] {
  transform: translate3d(
    0,
    var(--alldam-animation-progress-offset, 2rem),
    0
  );
}

.alldam-motion-ready
  .alldam-fade-down[data-alldam-animation="progress"] {
  transform: translate3d(
    0,
    var(--alldam-animation-progress-offset-negative, -2rem),
    0
  );
}

.alldam-motion-ready
  .alldam-fade-left[data-alldam-animation="progress"] {
  transform: translate3d(
    var(--alldam-animation-progress-offset, 2rem),
    0,
    0
  );
}

.alldam-motion-ready
  .alldam-fade-right[data-alldam-animation="progress"] {
  transform: translate3d(
    var(--alldam-animation-progress-offset-negative, -2rem),
    0,
    0
  );
}

.alldam-motion-ready
  .alldam-fade-in[data-alldam-animation="progress"] {
  transform: none;
}

.alldam-motion-ready
  .alldam-zoom-in[data-alldam-animation="progress"] {
  transform: scale(var(--alldam-animation-progress-scale, 0.96));
}

@media (prefers-reduced-motion: reduce) {
  .alldam-motion-ready .alldam-animate,
  .alldam-motion-ready
    .alldam-animate[data-alldam-animation="progress"] {
    opacity: 1;
    transform: none;
    transition: none;
    will-change: auto;
  }
}
