/**
 * @file
 * banner section styles
 */
.banner {
  --banner-content-width: 776px;
  background-color: var(--black1);
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(100vh - var(--header-height));
  max-height: 1080px;
}

.banner-content {
  width: var(--banner-content-width);
  max-width: 100%;
  text-align: center;
  padding: 0 var(--sp8);
}

.banner-title {
  line-height: 0.9;
  font-weight: var(--font-regular);
}

.banner-title i {
  font-weight: var(--font-light);
  font-size: var(--fs140);
}

.reveal-text:not(.add) {
  opacity: 0;
}

.reveal-text span {
  opacity: 0;
  display: inline-block;
  transform: translateY(20px);
  transition: 0.4s ease;
}

.reveal-text span.show {
  opacity: 1;
  transform: translateY(0);
}

.banner-desc,
.banner-btn {
  opacity: 0;
  transform: translateY(40px);
  transition: 0.6s ease;
}

.banner-btn .btn-secondary {
  min-height: 51px;
}

/* When banner is ready */
.banner-content.banner-show .banner-desc {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}

.banner-content.banner-show .banner-btn {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.4s;
}
