.step {
        display: None;
        transition: all 0.5s ease;
    }

    .step.active {
        display: block;
    }

    .step.enter-next {
        transform: translateX(25%);
    }

    .step.enter-prev {
        transform: translateX(-25%);
    }

    .step.enter-active {
        transform: translateX(0);
    }

    .step.exit-next {
        transform: translateX(0);
    }

    .step.exit-prev {
        transform: translateX(0);
    }

    .step.exit-next-active {
        transform: translateX(-25%);
    }

    .step.exit-prev-active {
        transform: translateX(25%);
    }

    .step.fade-in {
        animation: fadeIn 0.5s ease forwards;
    }

    @keyframes fadeIn {
        from {
            opacity: 0;
        }
        to {
            opacity: 1;
        }
    }

    .steps {
        min-height: 400px;
    }

    @media (max-width: 576px) {
        .steps {
            min-height: 520px;
        }
    }

    .steps-indicator {
        display: flex;
        justify-content: center;
        margin-bottom: 1rem;
    }

    .step-indicator {
        width: 1rem;
        height: 1rem;
        border-radius: 50%;
        background-color: #ccc;
        margin: 0 0.5rem;
    }

    .step-indicator.active {
        background-color: #007bff;
    }

    .justify-content-start {
        justify-content: flex-start;
    }

    .justify-content-end {
        justify-content: flex-end;
    }

    .justify-content-center {
        justify-content: center;
    }

    form.rounded-fields .form-group label:not(.prevent) {
        top: -16px;
    }