html {
    background-color: #F9F9F9;
}
body {
    background-color: #F9F9F9;
}

.container {
    max-width: 600px;
}
section {
    display: none;
    margin-bottom: 20px;

}

.loading-spinner-overlay {
    position: fixed; /* Fixed position to cover the entire viewport */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7); /* White background with opacity */
    z-index: 1000; /* High z-index to be above other content */
    display: flex;
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
}

.spinner {
    border: 4px solid rgba(0, 0, 0, .1);
    border-top-color: #3498db; /* Use a blue color for the top border */
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 2s linear infinite;
}

.loading-spinner-overlay p {
    font-size: 16px;
    margin-top: 10px;
    color: #333; /* Dark text color for visibility */
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Bootstrap 5 card styling */
.card {
    margin-bottom: 1rem;
}
.card-header {
    background-color: #f7f7f7;
}
.card-body {
    padding: 1.5rem;
}

button {
    margin-top: 10px;
    margin-right: 10px;
}

.btn-group {
    display: flex;
    justify-content: flex-end;
}

.mb-3 {
    margin-bottom: 1rem;
}

.section.active {
    display: block;
}

.is-valid {
    border-color: #198754;
    padding-right: calc(1.5em + 0.75rem);
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" fill="%23198754" viewBox="0 0 8 8"%3E%3Cpath d="M6.564.75l-3.59 3.5L1.673 3l-.564.56 2.5 2.5 4-4-.06-.61z"/%3E%3C/svg%3E');
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.is-invalid {
    border-color: #dc3545;
    padding-right: calc(1.5em + 0.75rem);
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" fill="%23dc3545" viewBox="0 0 8 8"%3E%3Cpath d="M4 1.5A2.5 2.5 0 011.5 4H2l2-2 2 2h.5A2.5 2.5 0 014 1.5z"/%3E%3C/svg%3E');
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.error-message {
    color: #dc3545;
    margin-top: 0.25rem;
    font-size: 0.875em;
}

.btn.btn-primary {
    background-color: #FB8E29;
    border-color: #FB8E29;
    font-weight: bold;
}

#logo {
    max-width: 80%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1em;
}

#getStartedButton {
    padding: 1em;
    max-width: 15em;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2em;
    padding-left: 2em;
    padding-right: 2em;
    border-radius: 2em;
}