2.4/* RsvpForm.css */

.question-container-animated {
  animation: fadeIn 0.4s ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.progress-container {
    position: absolute;
    top: 20px;
    width: 100%;
    max-width: 600px;
    padding: 0 15px;
}

.rsvp-form-container {
    transition: background-color 0.5s ease;
}

.radio-btn-lg {
    padding: 1rem 1.5rem;
    font-size: 1.25rem;
    min-width: 120px;
}

.rsvp-form-container h2 {
    font-size: 2rem;
    font-weight: 300;
    margin-bottom: 2rem;
}

.rsvp-form-container .form-control-lg {
    border: none;
    border-bottom: 2px solid #ccc;
    border-radius: 0;
    box-shadow: none;
    text-align: center;
    font-size: 1.5rem;
    padding: 0.5rem 1rem;
    transition: border-color 0.3s ease;
}

.rsvp-form-container .form-control-lg:focus {
    border-color: #0d6efd;
    box-shadow: none;
}

.question-container-animated {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
}

.search-box input {
  border: 1px solid #ccc !important;
  border-radius: 10px !important;
}

.length-menu select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: 1px solid #ccc;
  border-radius: 10px !important;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  min-width: 80px;
}