.msm-is-loading {
    position: relative !important;
    pointer-events: none !important;
    cursor: wait !important;
    opacity: .88 !important;
    color: transparent !important;
    text-shadow: none !important;
    user-select: none !important;
}

.msm-is-loading::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 17px;
    height: 17px;
    margin-top: -10px;
    margin-left: -10px;
    border: 2px solid rgba(255, 255, 255, .45);
    border-top-color: #fff;
    border-radius: 50%;
    animation: msm-button-spin .7s linear infinite;
}

.msm-is-loading::after {
    content: none !important;
}

@keyframes msm-button-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .msm-is-loading::before {
        animation-duration: 1.4s;
    }
}

/* MSM place order spinner 1.7.13 */
#place_order.msm-place-order-loading,
button[name="woocommerce_checkout_place_order"].msm-place-order-loading {
    position: relative !important;
    color: transparent !important;
    text-shadow: none !important;
    pointer-events: none !important;
}

#place_order.msm-place-order-loading::after,
button[name="woocommerce_checkout_place_order"].msm-place-order-loading::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 20px !important;
    height: 20px !important;
    margin: -12px 0 0 -12px !important;
    border: 3px solid rgba(255, 255, 255, 0.4) !important;
    border-top-color: #ffffff !important;
    border-radius: 50% !important;
    animation: msm-place-order-spin 0.7s linear infinite !important;
}

@keyframes msm-place-order-spin {
    to {
        transform: rotate(360deg);
    }
}
