/* ##### BTN ##### */
.btn {
    background-color: var(--color-primary);
    text-align: center;
    color: var(--color-white);
    font-size: 16px;
    line-height: 1.3;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    padding: 0 30px;
    text-decoration: none;
    vertical-align: middle;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    position: relative;
    border: 1px solid transparent;
    max-width: 100%;
    border-radius: 5px;
    font-weight: 700;
    outline: none !important;
    transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.btn:hover, .btn:focus, .btn.active, a:hover span.btn {background-color: var(--color-primary-hover); color: #fff; cursor: pointer;}

.btn i {line-height: inherit; font-size: 1.1em; text-align: center; width: 1.25em;}

/* ##### BTN BTN-OUTLINE ##### */
.btn.btn-outline {background-color: transparent; color: var(--color-primary); border-color: var(--color-primary);}
.btn.btn-outline:hover, .btn.btn-outline:focus, a:hover span.btn.btn-outline, .btn.btn-outline.active {background-color: var(--color-primary); color: var(--color-white);}

/* ##### BTN BTN-OUTLINE-WHITE ##### */
.btn.btn-outline-white {background-color: var(--color-white); color: var(--color-primary); border-color: var(--color-primary);}
.btn.btn-outline-white:hover, .btn.btn-outline-white:focus, a:hover span.btn.btn-outline-white, .btn.btn-outline-white.active {background-color: var(--color-primary); color: var(--color-white);}

/* ##### BTN BTN-SECONDARY ##### */
.btn.btn-secondary {background-color: var(--color-secondary); color: var(--color-white);}
.btn.btn-secondary:hover, .btn.btn-secondary:focus, a:hover span.btn.btn-secondary, .btn.btn-secondary.active {background-color: var(--color-secondary-hover); color: var(--color-white);}

/* ##### BTN BTN-OUTLINE-SECONDARY ##### */
.btn.btn-outline-secondary {background-color: transparent; color: var(--color-secondary); border-color: var(--color-secondary);}
.btn.btn-outline-secondary:hover, .btn.btn-outline-secondary:focus, a:hover span.btn.btn-outline-secondary, .btn.btn-outline-secondary.active {background-color: var(--color-secondary-hover); color: var(--color-white)}

/* ##### BTN BTN-LINK ##### */
.btn.btn-link {background-color: transparent; color: var(--color-secondary); border-color: transparent; font-weight: 700;}
.btn.btn-link:hover, .btn.btn-link:focus, a:hover span.btn.btn-link, .btn.btn-link.active {background-color: transparent; color: var(--color-secondary-hover); border-color: transparent;}

/* ##### BTN BTN-RED ##### */
.btn.btn-red {background-color: var(--color-red); color: var(--color-white)}
.btn.btn-red:hover, .btn.btn-red:focus, a:hover span.btn.btn-red, .btn.btn-red.active {background-color: var(--color-red-hover); color: var(--color-white);}

/* ##### BTN BTN-GREEN ##### */
.btn.btn-green {background-color: var(--color-green); color: var(--color-white);}
.btn.btn-green:hover, .btn.btn-green:focus, a:hover span.btn.btn-green, .btn.btn-green.active {background-color: var(--color-green-hover); color: var(--color-white);}

/* ##### BTN BTN-DEFAULT ##### */
.btn.btn-default {background-color: var(--color-gray2); color: var(--color-secondary);}
.btn.btn-default:hover, .btn.btn-default:focus, a:hover span.btn.btn-default, .btn.btn-default.active {background-color: var(--color-gray2); color: var(--color-secondary-hover);}

/* ##### BTN-INPUT-NUMBER-GROUP ##### */
.btn-input-number-group {display: inline-flex; align-items: center; overflow: hidden; min-width: 120px;}
.btn-input-number-group .btn {width: 40px; padding: 0;}
.btn-input-number-group .form-field {width: 100px; min-width: 60px; margin: 0 5px;}
.btn-input-number-group .form-field input {text-align: center; padding: 0 5px;}

/* ##### BTN BIG ##### */
.btn.big {
    height: 50px;
}

/* ##### BTN SMALL ##### */
.btn.small {
    font-size: 14px;
    height: 35px;
    padding: 0 20px;
    font-weight: 600;
}
.btn.small i {font-size: 1em;}

/* ##### BTN SMALL2 ##### */
.btn.small2 {
    font-size: 14px;
    height: 30px;
    padding: 0 20px;
    font-weight: 600;
}
.btn.small2 i {font-size: 1em;}

/* ##### BTN BTN-MULTI-LINED ##### */
.btn.btn-multi-lined {
    white-space: normal;
    min-height: 40px;
    height: auto !important;
    padding-top: 5px;
    padding-bottom: 5px;
}
.btn.big.btn-multi-lined {min-height: 50px;}
.btn.small.btn-multi-lined {min-height: 35px;}
.btn.small2.btn-multi-lined {min-height: 30px;}

/* ##### BTN DISABLED ##### */
.btn.btn-disabled, .btn[disabled] {
    opacity: 0.3 !important;
    cursor: default !important;
    outline: none !important;
}

@media all and (max-width: 991px) {
    /* ##### BTN ##### */
    .btn {height: 35px; font-size: 14px; padding: 0 15px;}
    .btn.big {height: 45px; font-size: 15px; padding: 0 15px;}
    .btn.small {height: 30px; font-size: 13px; padding: 0 15px;}
    .btn.small2 {font-size: 13px; padding: 0 15px;}

    /* ##### BTN BTN-MULTI-LINED ##### */
    .btn.btn-multi-lined {min-height: 35px;}
    .btn.big.btn-multi-lined {min-height: 40px;}
    .btn.small.btn-multi-lined {min-height: 30px;}
    .btn.small2.btn-multi-lined {min-height: 30px;}

}

/*Retina graphics!*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {

    .btn {
        user-select: none;
    }
}
