#btnLogin.btn-loading {
    cursor: progress;
}

#btnLogin.btn-loading[disabled] {
    opacity: 1;
}

#btnLogin.btn-loading::after {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: .6em;
    vertical-align: -.15em;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: btn-login-spin .6s linear infinite;
}

@keyframes btn-login-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    #btnLogin.btn-loading::after {
        animation-duration: 2s;
    }
}
