﻿.spinner {
    position: relative;
}

    .spinner:before {
        content: '';
        box-sizing: border-box;
        position: absolute;
        top: 50%;
        left: 0;
        border-radius: 50%;
        border: 2px solid #D1D3E0;
        border-right: 2px solid transparent;
    }

    .spinner:before {
        width: 1.5rem;
        height: 1.5rem;
        margin-top: -0.75rem;
    }

    .spinner.spinner-center:before {
        left: 50%;
        margin-left: -0.75rem;
    }

    .spinner.spinner-left:before {
        right: auto;
    }

    .spinner.spinner-right:before {
        left: auto;
    }

    .spinner.spinner-sm:before {
        width: 1.25rem;
        height: 1.25rem;
        margin-top: -0.625rem;
    }

    .spinner.spinner-sm.spinner-center:before {
        left: 50%;
        margin-left: -0.625rem;
    }

    .spinner.spinner-sm.spinner-left:before {
        right: auto;
    }

    .spinner.spinner-sm.spinner-right:before {
        left: auto;
    }

    .spinner.spinner-lg:before {
        width: 2rem;
        height: 2rem;
        margin-top: -1rem;
    }

    .spinner.spinner-lg.spinner-center:before {
        left: 50%;
        margin-left: -1rem;
    }

    .spinner.spinner-lg.spinner-left:before {
        right: auto;
    }

    .spinner.spinner-lg.spinner-right:before {
        left: auto;
    }

    .spinner:before {
        animation: animation-spinner .5s linear infinite;
    }

    .spinner.spinner-primary:before {
        border: 2px solid #3699FF;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-darker-primary:before {
        border: 2px solid #1287ff;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-secondary:before {
        border: 2px solid #E4E6EF;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-darker-secondary:before {
        border: 2px solid #ced1e2;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-success:before {
        border: 2px solid #1BC5BD;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-darker-success:before {
        border: 2px solid #17a69f;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-info:before {
        border: 2px solid #8950FC;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-darker-info:before {
        border: 2px solid #712dfb;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-warning:before {
        border: 2px solid #FFA800;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-darker-warning:before {
        border: 2px solid #db9000;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-danger:before {
        border: 2px solid #F64E60;
        border-right: 2px solid transparent;
    }
    .spinner.spinner-Custdanger:before {
        border: 2px solid #e72b50;
        border-right: 2px solid transparent;
    }

.spinner.spinner-darker-danger:before {
    border: 2px solid #f42c41;
    border-right: 2px solid transparent;
}

    .spinner.spinner-light:before {
        border: 2px solid #F3F6F9;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-darker-light:before {
        border: 2px solid #dbe4ed;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-dark:before {
        border: 2px solid #181C32;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-darker-dark:before {
        border: 2px solid #0c0e1a;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-white:before {
        border: 2px solid #ffffff;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-darker-white:before {
        border: 2px solid #ededed;
        border-right: 2px solid transparent;
    }

    .spinner.spinner-right:before {
        left: auto;
        right: 1rem;
    }

    .spinner.spinner-right.btn:not(.btn-block) {
        padding-right: 3.5rem;
    }

        .spinner.spinner-right.btn:not(.btn-block).spinner-sm {
            padding-right: 3.25rem;
        }

        .spinner.spinner-right.btn:not(.btn-block).spinner-lg {
            padding-right: 4rem;
        }

    .spinner.spinner-left:before {
        right: auto;
        left: 1rem;
    }

    .spinner.spinner-left.btn:not(.btn-block) {
        padding-left: 3.5rem;
    }

        .spinner.spinner-left.btn:not(.btn-block).spinner-sm {
            padding-left: 3.25rem;
        }

        .spinner.spinner-left.btn:not(.btn-block).spinner-lg {
            padding-left: 4rem;
        }

    .spinner.spinner-track:before {
        animation: animation-spinner .5s linear infinite;
    }

    .spinner.spinner-track.spinner-primary:before {
        border: 2px solid #cfe7ff;
        border-top-color: #2791ff;
    }

    .spinner.spinner-track.spinner-darker-primary:before {
        border: 2px solid #9ccdff;
        border-top-color: #037fff;
    }

    .spinner.spinner-track.spinner-secondary:before {
        border: 2px solid white;
        border-top-color: #dadde9;
    }

    .spinner.spinner-track.spinner-darker-secondary:before {
        border: 2px solid white;
        border-top-color: #c4c8dc;
    }

    .spinner.spinner-track.spinner-success:before {
        border: 2px solid #8aefea;
        border-top-color: #19b8b0;
    }

    .spinner.spinner-track.spinner-darker-success:before {
        border: 2px solid #5de9e2;
        border-top-color: #159892;
    }

    .spinner.spinner-track.spinner-info:before {
        border: 2px solid #eee6ff;
        border-top-color: #7f41fc;
    }

    .spinner.spinner-track.spinner-darker-info:before {
        border: 2px solid #cdb4fe;
        border-top-color: #671efb;
    }

    .spinner.spinner-track.spinner-warning:before {
        border: 2px solid #ffdc99;
        border-top-color: #f09e00;
    }

    .spinner.spinner-track.spinner-darker-warning:before {
        border: 2px solid #ffcb66;
        border-top-color: #cc8600;
    }

    .spinner.spinner-track.spinner-danger:before {
        border: 2px solid #fde0e3;
        border-top-color: #f53f53;
    }

    .spinner.spinner-track.spinner-darker-danger:before {
        border: 2px solid #fbafb7;
        border-top-color: #f41d34;
    }

    .spinner.spinner-track.spinner-light:before {
        border: 2px solid white;
        border-top-color: #e9eef4;
    }

    .spinner.spinner-track.spinner-darker-light:before {
        border: 2px solid white;
        border-top-color: #d1dde8;
    }

    .spinner.spinner-track.spinner-dark:before {
        border: 2px solid #4a5699;
        border-top-color: #131628;
    }

    .spinner.spinner-track.spinner-darker-dark:before {
        border: 2px solid #394377;
        border-top-color: #070910;
    }

    .spinner.spinner-track.spinner-white:before {
        border: 2px solid white;
        border-top-color: #f7f7f7;
    }

    .spinner.spinner-track.spinner-darker-white:before {
        border: 2px solid white;
        border-top-color: #e6e6e6;
    }

.spinner-grow {
    vertical-align: sub;
}

.spinner-border {
    vertical-align: sub;
}

@keyframes animation-spinner {
    to {
        transform: rotate(360deg);
    }
}
