.slide-in-right {
    animation: slideInRight 0.45s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.slide-out-left {
    animation: slideOutLeft 0.45s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.slide-in-left {
    animation: slideInLeft 0.45s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.slide-out-right {
    animation: slideOutRight 0.45s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes slideInRight {
    0% {
        transform: translateX(40px);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOutLeft {
    0% {
        transform: translateX(0);
        opacity: 1;
    }
    100% {
        transform: translateX(-40px);
        opacity: 0;
    }
}

@keyframes slideInLeft {
    0% {
        transform: translateX(-40px);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOutRight {
    0% {
        transform: translateX(0);
        opacity: 1;
    }
    100% {
        transform: translateX(40px);
        opacity: 0;
    }
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-12px);
    }
    60% {
        transform: translateY(-6px);
    }
}

.answer-button.bounce {
    animation: bounce 1s;
}

.modal-fullscreen .modal-dialog {
    max-width: 100%;
    margin: 0;
}

.modal-fullscreen .modal-content {
    min-height: 100vh;
    border-radius: 0;
}

.question input:focus {
    outline: none;
    border-color: #359FA0;
    box-shadow: 0 0 0 4px rgba(53, 159, 160, 0.2);
}

input.is-invalid {
    border-color: #D64545;
    box-shadow: 0 0 0 4px rgba(214, 69, 69, 0.14);
}

input.is-valid {
    border-color: #2F9E6B;
    box-shadow: 0 0 0 4px rgba(47, 158, 107, 0.14);
}

#questions_modal #question3,
#questions_modal #question3 .solar-utility-provider,
#questions_modal #question3 .form-group,
#questions_modal .wx-survey-card:has(#question3:not(.d-none)) .wx-card-body {
    overflow: visible;
}

#questions_modal .solar-utility-provider .choices {
    position: relative;
    z-index: 6;
    margin-bottom: 0;
    overflow: visible;
    font-size: 1rem;
}

#questions_modal .solar-utility-provider .choices__inner {
    min-height: 52px;
    padding: 0.75rem 2.6rem 0.75rem 0.95rem;
    border: 1px solid #d5e2e4;
    border-radius: 12px;
    background: #fff;
    font-size: 1rem;
    line-height: 1.4;
    overflow: visible;
}

#questions_modal .solar-utility-provider .choices__list--single {
    padding: 0;
}

#questions_modal .solar-utility-provider .choices__list--single .choices__item {
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
    line-height: 1.4;
}

#questions_modal .solar-utility-provider .choices__list--dropdown,
#questions_modal .solar-utility-provider .choices__list[aria-expanded],
#questions_modal .solar-utility-provider .is-flipped .choices__list--dropdown,
#questions_modal .solar-utility-provider .is-flipped .choices__list[aria-expanded] {
    top: calc(100% + 6px) !important;
    bottom: auto !important;
    left: 0;
    right: 0;
    z-index: 40;
    width: 100%;
    margin: 0;
    border: 1px solid #d5e2e4;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(15, 42, 48, 0.16);
    word-break: normal;
    overflow: hidden;
}

#questions_modal .solar-utility-provider .choices__list--dropdown .choices__list,
#questions_modal .solar-utility-provider .choices__list[aria-expanded] .choices__list {
    max-height: min(240px, 42vh);
}

#questions_modal .solar-utility-provider .choices__list--dropdown .choices__item,
#questions_modal .solar-utility-provider .choices__list[aria-expanded] .choices__item,
#questions_modal .solar-utility-provider .choices__list--dropdown .choices__item--selectable[data-select-text],
#questions_modal .solar-utility-provider .choices__list[aria-expanded] .choices__item--selectable[data-select-text] {
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
    padding: 0.8rem 1rem;
    font-size: 0.98rem;
    line-height: 1.4;
}

#questions_modal .solar-utility-provider .choices__list--dropdown .choices__item--selectable[data-select-text]::after,
#questions_modal .solar-utility-provider .choices__list[aria-expanded] .choices__item--selectable[data-select-text]::after {
    content: none;
}

#questions_modal .solar-utility-provider .choices__list--dropdown .choices__item--selectable.is-highlighted,
#questions_modal .solar-utility-provider .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
    background: #e7f5f5;
}
