﻿.bo-button {
    background-image: linear-gradient(rgb(255 255 255/25%) 0 0);
    background-blend-mode: overlay;
    outline: 0;
    transition: 0.1s all linear;
}

    .bo-button.is-light, .bo-button.basic {
        background-blend-mode: unset !important;
    }

    .bo-button:hover, .bo-button:focus-visible {
        background-image: unset !important;
    }

    .bo-button.active:not(.basic) {
        background-image: linear-gradient(rgb(0 0 0/20%) 0 0) !important;
    }


    /* basic */

    .bo-button.basic:not(.active):not(:hover) {
        opacity: 0.8;
    }

    .bo-button.basic:not(.active):not(:hover), .bo-button.inverted:not(.active):not(:hover) {
        background: transparent !important;
    }

    .bo-button.active.basic {
        background-image: unset !important;
    }

    .bo-button.basic:not(.loading) {
        background-image: linear-gradient(rgb(255 255 255) 0 0);
    }

    .bo-button.basic:not(.is-light):not(.loading):hover, .bo-button.basic:not(.is-light):not(.loading):focus-visible, .bo-button.basic:not(.is-light):not(.loading).active {
        color: #fff !important;
    }


    /* inverted */

    .bo-button.inverted {
        border-width: 2px !important;
    }

        .bo-button.inverted:not(.active):not(:hover) {
            color: #fff !important;
        }


/* button group */

.bo-button-group-inline:not(.vertical) > .bo-button:nth-child(1) {
    border-top-left-radius: inherit !important;
    border-bottom-left-radius: inherit !important;
}

.bo-button-group-inline:not(.vertical) > .bo-button:nth-last-child(1) {
    border-top-right-radius: inherit !important;
    border-bottom-right-radius: inherit !important;
}

.bo-button-group-inline.vertical > .bo-button:nth-child(1) {
    border-top-left-radius: inherit !important;
    border-top-right-radius: inherit !important;
}

.bo-button-group-inline.vertical > .bo-button:nth-last-child(1) {
    border-bottom-left-radius: inherit !important;
    border-bottom-right-radius: inherit !important;
}


/* loading */

.bo-button.loading {
    position: relative;
    color: transparent !important;
}

    .bo-button.loading::before {
        position: absolute;
        content: '';
        top: 50%;
        left: 50%;
        margin: -.64285714em 0 0 -.64285714em;
        width: 1.28571429em;
        height: 1.28571429em;
        border-radius: 500rem;
        border: .2em solid rgba(0,0,0,.15);
    }

    .bo-button.loading::after {
        position: absolute;
        content: '';
        top: 50%;
        left: 50%;
        margin: -.64285714em 0 0 -.64285714em;
        width: 1.28571429em;
        height: 1.28571429em;
        -webkit-animation: button-spin .6s linear;
        animation: button-spin .6s linear;
        animation-iteration-count: 1;
        -webkit-animation-iteration-count: infinite;
        animation-iteration-count: infinite;
        border-radius: 500rem;
        border-color: #fff transparent transparent;
        border-style: solid;
        border-width: .2em;
        box-shadow: 0 0 0 1px transparent;
    }

@-webkit-keyframes button-spin {
    from {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

@keyframes button-spin {
    from {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}