#hero-animation {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
}

#messages {
  section {
    opacity: 0;
    transform: translateY(1rem);
    transition: opacity 0.4s ease, transform 0.4s ease;

    &.visible {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .comment {
    opacity: 0;
    transition: opacity 0s ease;

    &.visible {
      opacity: 1;
    }
  }
}

#steps {
  bottom: 1rem;
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: center;
  left: 0;
  position: absolute;
  width: 100%;
}

#dots {
  align-items: center;
  display: flex;
  justify-content: center;
  position: relative;

  .dot {
    background: linear-gradient(90deg, var(--button-background-left), var(--button-background-right));
    border-radius: 100%;
    cursor: pointer;
    height: 0.8rem;
    padding: 0;
    position: relative;
    width: 0.8rem;
    z-index: 1;

    &:not(:first-child) {
      margin-left: 1.6rem;

      &::before {
        background: var(--button-background-right);
        content: '';
        height: 0.15rem;
        position: absolute;
        right: 100%;
        top: calc(50% - 0.15rem / 2);
        width: 1.6rem;
      }
    }

    &:not(.filled) {
      opacity: 0.2;
    }
  }
}

#control-animation {
  font-size: 1.5rem;
  height: 2rem;
  justify-content: center;
  padding: 0;
  width: 2rem;
}
