@import '../../styles/variables';

.spinner {
    position: relative;
    text-align: center;
    margin-top: $spacer * $line-height;
    margin-bottom: $spacer / 2;
    line-height: 1.3;

    &:before {
        content: '';
        box-sizing: border-box;
        position: absolute;
        top: 0;
        left: 50%;
        width: 20px;
        height: 20px;
        margin-top: -20px;
        margin-left: -10px;
        border-radius: 50%;
        border: 2px solid $brand-purple;
        border-top-color: $brand-violet;
        animation: spinner .6s linear infinite;
    }
}

.spinnerMessage {
    color: $brand-grey-light;
    padding-top: $spacer / 4;
}

.small {
    composes: spinner;
    margin: 0;
    display: inline-block;

    &:before {
        width: $font-size-small;
        height: $font-size-small;
        margin-top: -($font-size-small);
        margin-left: -($font-size-small / 2);
        border-width: .1rem;
    }
}

@keyframes spinner {
    to {
        transform: rotate(360deg);
    }
}
