/* 
  2450429
  작성자: 장한원
  용도: 자주 쓰일 스타일 클래스 등을 정의함
*/
@charset "utf-8";

.section-title {
  font-family: "andante";
  font-size: 4.8rem;
  letter-spacing: -2px;
  text-align: center;
  width: 100%;
  line-height: 1;
}

.moonstar {
  font-family: 'moonstar';
  font-size: 7rem;
  margin-right: 1.2rem;
  
  @media screen and (max-width: 767px) {
    margin-right: 0.6rem;
  }
}

.title-point {
  color: var(--color-orange500);
}

.elm-none {
    display: none !important;
}

.elm-block {
    display: block;
}

.elm-flex {
    display: flex;
}

.elm-hidden {
    opacity: 0;
    visibility: hidden;
    z-index: -99;
    height: 0;
}

.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.opacity-0 {
    opacity: 0;
}

.wh-100 {
  width: 100%;
  height: 100%;
}

.h-fit {
  height: fit-content !important;
}

.maxw-1560 {
  max-width: 1560px;
}

.top-50 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.accent {
  color: var(--color-orange400);
}

.object-fit-c {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.text-left {
  text-align: left;
}

.fadeInUp {
  animation: fadeInUp 1s;
}

.fadeLeft {
  animation: fadeLeft 1s;
}

@keyframes slideDown {
    from {
      transform: translateY(-100%);
    }
    to {
      transform: translateY(0);
    }
  }
  
@keyframes slideUp {
    from {
      transform: translateY(0);
    }
    to {
      transform: translateY(-100%);
    }
}

@keyframes fadeInUp {
  0% {
      opacity: 0;
      transform: translate3d(0, 100%, 0);
  }
  to {
      opacity: 1;
      transform: translateZ(0);
  }
}

@keyframes fadeLeft {
  0% {
      opacity: 0;
      transform: translate3d(100%, 0, 0);
  }
  to {
      opacity: 1;
      transform: translateZ(0);
  }
}
  
/* 모바일 */
@media screen and (min-width: 344px) and (max-width: 768px) {
  .moonstar {
    font-size: 3rem !important;
  }

  .section-title {
    font-size: 2.4rem !important;
  }
}