button,
.button {
    position: relative;
    box-shadow: none;
    border: none;
    border-radius: 4px;
    padding: 15px 20px;
    cursor: pointer;
    font-weight: 600;
    z-index: 3;
    transition: background-color .1s;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    background: var(--grey-color);
    color: var(--black-color);
}

button:active,
.button:active {
    transform: scale(0.99);
}

.btn-white.disabled,
.btn-white[disabled] {
    color: rgba(0, 0, 0, 0.3);
    pointer-events: none;
    cursor: not-allowed;
}

.btn-block {
    display: block;
    width: 100%;
    text-align: center;
}

.btn-blue {
    background: var(--blue-button);
    color: var(--white-color);
}

.btn-blue:hover {
    background: var(--blue-button-hover);
}

.btn-black {
    background: var(--black-button);
    color: var(--white-color);
}

.btn-black:hover {
    background: var(--blue-button-hover);
    border-color: var(--blue-button-hover);
}

.btn-transparent {
    background: transparent;
    border: solid 2px var(--white-color);
    color: var(--white-color);
}

.btn-transparent-black {
    background: transparent;
    border: solid 2px var(--black-color);
    color: var(--black-color);
}

.btn-transparent:hover,
.btn-transparent-black:hover {
    background: var(--blue-button-hover);
    border: solid 2px var(--blue-button-hover);
    color: var(--white-color);
}

.btn-grey {
    background: var(--grey-button);
    color: var(--black-color);
}

.btn-green {
    background: #53CC9D;
    color: var(--white-color);
}

.btn-green:hover {
    background: #53CC9D;
    color: var(--white-color);
}

.btn-grey:hover {
    background: var(--grey-button-hover);
    color: var(--white-color);
}

.btn-white {
    background-color: var(--white-button);
    color: var(--black-color);
}

.btn-white:hover {
    background-color: var(--white-button-hover);
    color: var(--black-color);
}

/* Loading */

button.loading,
button.loading:hover,
.product-actions a.button.loading,
.product-actions a.button.loading:hover,
.gform_button.loading,
.gform_button.loading:hover {
    color: transparent !important;
    height: 100%;
    pointer-events: none;
}

button.loading:after,
.list-table-item-actions a.loading:after,
.product-actions a.button.loading:after,
.gform_button.loading:after {
    content: "";
    background: url(../images/loading.png) no-repeat center;
    background-size: contain;
    width: 20px;
    height: 20px;
    display: inline;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -10px;
    margin-left: -10px;
    color: white;
    opacity: 1;
    animation: rotation 2s infinite linear;
}

.single_add_to_cart_button.loading:before {
    display: none;
}

.list-table-item-actions a.loading,
.product-actions a.button.loading {
    background-image: none !important;
}

@keyframes rotation {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(359deg);
    }
}