.consultation-detail__stepper--upcoming {
    --stepper-progress-end: calc(100% - 16px);
}

.consultation-detail__stepper--has-result {
    --stepper-progress-end: 16px;
}

.consultation-detail__stepper--in-progress {
    --stepper-progress-end: 50%;
}

.consultation-detail__logo-wrap {
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.consultation-detail__logo {
    display: block;
    width: 100%;
    height: 60px;
    max-width: 300px;
    object-fit: contain;
}

.consultation-detail__logo-wrap svg {
    display: block;
    width: 100%;
    height: auto;
    max-width: 300px;
    max-height: 100%;
}

.clipboard-fallback-textarea {
    position: fixed;
    left: -999999px;
    top: 0;
    opacity: 0;
}

.modal.fade .external-link-modal {
    transform: translateY(80px);
    transition: transform 0.35s ease;
}

.modal.show .external-link-modal {
    transform: translateY(0);
    transition: transform 0.35s ease;
}

.page-header__nav__mega-menu__list__item,
.mobile-menu__nav__sub-menu__item {
    display: inline-flex !important;
    align-items: center;
    gap: 16px;
}

.external-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    margin: 0 4px;
}

.page-header__nav__mega-menu__list__item .external-link-icon,
.mobile-menu__nav__sub-menu__item .external-link-icon {
    width: 24px;
    height: 24px;
}

.external-link-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.external-link-icon__svg {
    display: inline-block;
    vertical-align: baseline;
}

.popup-modal .modal-dialog {
    will-change: transform, opacity;
}

.popup-modal.show .modal-dialog {
    animation: popupSlideIn 0.5s ease forwards;
}

.popup-modal.modal-closing .modal-dialog {
    animation: popupSlideOut 0.5s ease forwards;
}

@keyframes popupSlideIn {
    from {
        transform: translate3d(0, 100vh, 0);
        opacity: 0;
    }

    to {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes popupSlideOut {
    from {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }

    to {
        transform: translate3d(0, 100vh, 0);
        opacity: 0;
    }
}

.popup-modal .popup-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.5s ease;
}

.popup-modal.show .popup-modal-overlay {
    opacity: 1;
}

.popup-modal.modal-closing .popup-modal-overlay {
    opacity: 0;
}

.popup-modal-hidden {
    display: none !important;
}
