.btn-loading {
    color: transparent !important;
    pointer-events: none;
    position: relative;
}

.btn-loading:after {
    content: "";
    -webkit-animation: loader 500ms infinite linear;
    animation: loader 500ms infinite linear;
    border: 2px solid #fff;
    border-radius: 50%;
    border-right-color: transparent !important;
    border-top-color: transparent !important;
    display: block;
    height: 1.4em;
    width: 1.4em;
    position: absolute;
    left: calc(50% - 0.7em);
    top: calc(50% - 0.7em);
    -webkit-transform-origin: center;
    transform-origin: center;
    position: absolute !important;
}

.btn-loading.btn-sm:after {
    height: 1em;
    width: 1em;
    left: calc(50% - 0.5em);
    top: calc(50% - 0.5em);
}

.btn-group-sm>.btn-loading.btn:after {
    height: 1em;
    width: 1em;
    left: calc(50% - 0.5em);
    top: calc(50% - 0.5em);
}

.btn-loading.btn-secondary:after {
    border-color: #495057;
}
@-webkit-keyframes loader {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes loader {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
