/* START : COLORS */
@media (min-width:0px) {

    /* PRIMARY */

    .hoverable.btn-primary:before {
        background: #FFF;
    }

    .hoverable.btn-primary:hover, .hover.btn-primary:focus, .hover.btn-primary:active {
        color: #0060a5;
    }

    .hoverable.btn-outline-primary:before {
        background: #0060a5;
    }

    .hoverable.btn-outline-primary:hover, .hoverable.btn-outline-primary:focus, .hoverable.btn-outline-primary:active {
        color: #FFF;
    }

    /* SECONDARY */

    .hoverable.btn-secondary:before {
        background: #FFF;
    }

    .hoverable.btn-secondary:hover, .hover.btn-secondary:focus, .hover.btn-secondary:active {
        color: #6c757d;
    }

    .hoverable.btn-outline-secondary:before {
        background: #6c757d;
    }

    .hoverable.btn-outline-secondary:hover, .hoverable.btn-outline-secondary:focus, .hoverable.btn-outline-secondary:active {
        color: #FFF;
    }

    /* SUCCESS */

    .hoverable.btn-success:before {
        background: #FFF;
    }

    .hoverable.btn-success:hover, .hover.btn-success:focus, .hover.btn-success:active {
        color: #28a745;
    }

    .hoverable.btn-outline-success:before {
        background: #28a745;
    }

    .hoverable.btn-outline-success:hover, .hoverable.btn-outline-success:focus, .hoverable.btn-outline-success:active {
        color: #FFF;
    }

    /* DANGER */

    .hoverable.btn-danger:before {
        background: #FFF;
    }

    .hoverable.btn-danger:hover, .hover.btn-danger:focus, .hover.btn-danger:active {
        color: #db2828;
    }

    .hoverable.btn-outline-danger:before {
        background: #db2828;
    }

    .hoverable.btn-outline-danger:hover, .hoverable.btn-outline-danger:focus, .hoverable.btn-outline-danger:active {
        color: #FFF;
    }

    /* WARNING */

    .hoverable.btn-warning:before {
        background: #FFF;
    }

    .hoverable.btn-warning:hover, .hover.btn-warning:focus, .hover.btn-warning:active {
        color: #f60;
    }

    .hoverable.btn-outline-warning:before {
        background: #f60;
    }

    .hoverable.btn-outline-warning:hover, .hoverable.btn-outline-warning:focus, .hoverable.btn-outline-warning:active {
        color: #FFF;
    }

    /* INFO */

    .hoverable.btn-info:before {
        background: #FFF;
    }

    .hoverable.btn-info:hover, .hover.btn-info:focus, .hover.btn-info:active {
        color: #00b7cc;
    }

    .hoverable.btn-outline-info:before {
        background: #00b7cc;
    }

    .hoverable.btn-outline-info:hover, .hoverable.btn-outline-info:focus, .hoverable.btn-outline-info:active {
        color: #FFF;
    }

    /* LIGHT */

    .hoverable.btn-light:before {
        background: #FFF;
    }

    .hoverable.btn-light:hover, .hover.btn-light:focus, .hover.btn-light:active {
        color: #f8f9fa;
    }

    .hoverable.btn-outline-light:before {
        background: #f8f9fa;
    }

    .hoverable.btn-outline-light:hover, .hoverable.btn-outline-light:focus, .hoverable.btn-outline-light:active {
        color: #FFF;
    }

    /* DARK */

    .hoverable.btn-dark:before {
        background: #FFF;
    }

    .hoverable.btn-dark:hover, .hover.btn-dark:focus, .hover.btn-dark:active {
        color: #343a40;
    }

    .hoverable.btn-outline-dark:before {
        background: #343a40;
    }

    .hoverable.btn-outline-dark:hover, .hoverable.btn-outline-dark:focus, .hoverable.btn-outline-dark:active {
        color: #FFF;
    }
}
/* END : COLORS*/

/* @START : HOVER EFFECTS */
@media (min-width:0px) {

    .hoverable.out-horizontal {
        /*display: inline-block;*/
        vertical-align: middle;
        -webkit-transform: perspective(1px) translateZ(0);
        transform: perspective(1px) translateZ(0);
        box-shadow: 0 0 1px rgba(0, 0, 0, 0);
        position: relative;
        -webkit-transition-property: color;
        transition-property: color;
        -webkit-transition-duration: 0.3s;
        transition-duration: 0.3s;
    }

        .hoverable.out-horizontal:before {
            content: "";
            position: absolute;
            z-index: -1;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            -webkit-transform: scaleX(0);
            transform: scaleX(0);
            -webkit-transform-origin: 50%;
            transform-origin: 50%;
            -webkit-transition-property: transform;
            transition-property: transform;
            -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
            -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
        }

        .hoverable.out-horizontal:hover:before, .hoverable.out-horizontal:focus:before, .hoverable.out-horizontal:active:before {
            -webkit-transform: scaleX(1);
            transform: scaleX(1);
        }

    .hoverable.out-vertical {
        /*display: inline-block;*/
        vertical-align: middle;
        -webkit-transform: perspective(1px) translateZ(0);
        transform: perspective(1px) translateZ(0);
        box-shadow: 0 0 1px rgba(0, 0, 0, 0);
        position: relative;
        -webkit-transition-property: color;
        transition-property: color;
        -webkit-transition-duration: 0.3s;
        transition-duration: 0.3s;
    }

        .hoverable.out-vertical:before {
            content: "";
            position: absolute;
            z-index: -1;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            -webkit-transform: scaleY(0);
            transform: scaleY(0);
            -webkit-transform-origin: 50%;
            transform-origin: 50%;
            -webkit-transition-property: transform;
            transition-property: transform;
            -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
            -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
        }

        .hoverable.out-vertical:hover:before, .hoverable.out-vertical:focus:before, .hoverable.out-vertical:active:before {
            -webkit-transform: scaleY(1);
            transform: scaleY(1);
        }

    .hoverable.in-vertical {
        /*display: inline-block;*/
        vertical-align: middle;
        -webkit-transform: perspective(1px) translateZ(0);
        transform: perspective(1px) translateZ(0);
        box-shadow: 0 0 1px rgba(0, 0, 0, 0);
        position: relative;
        -webkit-transition-property: color;
        transition-property: color;
        -webkit-transition-duration: 0.3s;
        transition-duration: 0.3s;
    }

        .hoverable.in-vertical:before {
            content: "";
            position: absolute;
            z-index: -1;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            -webkit-transform: scaleY(1);
            transform: scaleY(1);
            -webkit-transform-origin: 50%;
            transform-origin: 50%;
            -webkit-transition-property: transform;
            transition-property: transform;
            -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
            -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
        }

        .hoverable.in-vertical:hover:before, .hoverable.in-vertical:focus:before, .hoverable.in-vertical:active:before {
            -webkit-transform: scaleY(0);
            transform: scaleY(0);
        }

    .hoverable.sweep-right {
        /*display: inline-block;*/
        vertical-align: middle;
        -webkit-transform: perspective(1px) translateZ(0);
        transform: perspective(1px) translateZ(0);
        box-shadow: 0 0 1px rgba(0, 0, 0, 0);
        position: relative;
        -webkit-transition-property: color;
        transition-property: color;
        -webkit-transition-duration: 0.3s;
        transition-duration: 0.3s;
    }

        .hoverable.sweep-right:before {
            content: "";
            position: absolute;
            z-index: -1;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            -webkit-transform: scaleX(0);
            transform: scaleX(0);
            -webkit-transform-origin: 0 50%;
            transform-origin: 0 50%;
            -webkit-transition-property: transform;
            transition-property: transform;
            -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
            -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
        }

        .hoverable.sweep-right:hover:before, .hoverable.sweep-right:focus:before, .hoverable.sweep-right:active:before {
            -webkit-transform: scaleX(1);
            transform: scaleX(1);
        }

    .hoverable.sweep-left {
        /*display: inline-block;*/
        vertical-align: middle;
        -webkit-transform: perspective(1px) translateZ(0);
        transform: perspective(1px) translateZ(0);
        box-shadow: 0 0 1px rgba(0, 0, 0, 0);
        position: relative;
        -webkit-transition-property: color;
        transition-property: color;
        -webkit-transition-duration: 0.3s;
        transition-duration: 0.3s;
    }

        .hoverable.sweep-left:before {
            content: "";
            position: absolute;
            z-index: -1;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            -webkit-transform: scaleX(0);
            transform: scaleX(0);
            -webkit-transform-origin: 100% 50%;
            transform-origin: 100% 50%;
            -webkit-transition-property: transform;
            transition-property: transform;
            -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
            -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
        }

        .hoverable.sweep-left:hover:before, .hoverable.sweep-left:focus:before, .hoverable.sweep-left:active:before {
            -webkit-transform: scaleX(1);
            transform: scaleX(1);
        }

    .hoverable.underline-center {
        /*display: inline-block;*/
        vertical-align: middle;
        -webkit-transform: perspective(1px) translateZ(0);
        transform: perspective(1px) translateZ(0);
        box-shadow: 0 0 1px rgba(0, 0, 0, 0);
        position: relative;
        overflow: hidden;
    }

        .hoverable.underline-center:before {
            content: "";
            position: absolute;
            z-index: -1;
            left: 51%;
            right: 51%;
            bottom: 0;
            height: 4px;
            -webkit-transition-property: left, right;
            transition-property: left, right;
            -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
            -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
        }

        .hoverable.underline-center:hover:before, .hoverable.underline-center:focus:before, .hoverable.underline-center:active:before {
            left: 0;
            right: 0;
        }

    .hoverable.underline-left {
        /*display: inline-block;*/
        vertical-align: middle;
        -webkit-transform: perspective(1px) translateZ(0);
        transform: perspective(1px) translateZ(0);
        box-shadow: 0 0 1px rgba(0, 0, 0, 0);
        position: relative;
        overflow: hidden;
    }

        .hoverable.underline-left:before {
            content: "";
            position: absolute;
            z-index: -1;
            left: 0;
            right: 100%;
            bottom: 0;
            height: 4px;
            -webkit-transition-property: right;
            transition-property: right;
            -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
            -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
        }

        .hoverable.underline-left:hover {
            /**/
        }

            .hoverable.underline-left:hover:before, .hoverable.underline-left:focus:before, .hoverable.underline-left:active:before {
                right: 0;
            }

    .hoverable.outline-out {
        vertical-align: middle;
        -webkit-transform: perspective(1px) translateZ(0);
        transform: perspective(1px) translateZ(0);
        box-shadow: 0 0 1px rgba(0, 0, 0, 0);
        position: relative;
    }

        .hoverable.outline-out:before {
            content: '';
            position: absolute;
            border: #0060a5 solid 1px;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
            -webkit-transition-property: top, right, bottom, left;
            transition-property: top, right, bottom, left;
        }

        .hoverable.outline-out:hover:before, .hoverable.outline-out:focus:before, .hoverable.outline-out:active:before {
            top: -8px;
            right: -8px;
            bottom: -8px;
            left: -8px;
        }
}
/* @END : HOVER EFFECTS */

/* @START : ICON EFFECTS */
@media (min-width:0px) {

    .animated {
    }

    /* .icon-bounce */
    @media (min-width:0px) {

        .animated.icon-bounce {
            vertical-align: middle;
            -webkit-transform: perspective(1px) translateZ(0);
            transform: perspective(1px) translateZ(0);
            box-shadow: 0 0 1px rgba(0, 0, 0, 0);
            -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
        }

            .animated.icon-bounce i {
                -webkit-transform: translateZ(0);
                transform: translateZ(0);
                -webkit-transition-duration: 0.3s;
                transition-duration: 0.3s;
                -webkit-transition-property: transform;
                transition-property: transform;
                -webkit-transition-timing-function: ease-out;
                transition-timing-function: ease-out;
            }

            .animated.icon-bounce:hover i, .animated.icon-bounce:focus i, .animated.icon-bounce:active i {
                -webkit-transform: scale(1.5);
                transform: scale(1.5);
                -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
                transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
            }
    }

    /* .icon-push */
    @media (min-width:0px) {

        @-webkit-keyframes hover-icon-push {
            50% {
                -webkit-transform: scale(0.5);
                transform: scale(0.5);
            }
        }

        @keyframes hover-icon-push {
            50% {
                -webkit-transform: scale(0.5);
                transform: scale(0.5);
            }
        }

        .animated.icon-push {
            vertical-align: middle;
            -webkit-transform: perspective(1px) translateZ(0);
            transform: perspective(1px) translateZ(0);
            box-shadow: 0 0 1px rgba(0, 0, 0, 0);
            -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
        }

            .animated.icon-push i {
                -webkit-transform: translateZ(0);
                transform: translateZ(0);
                -webkit-transition-duration: 0.3s;
                transition-duration: 0.3s;
                -webkit-transition-property: transform;
                transition-property: transform;
                -webkit-transition-timing-function: ease-out;
                transition-timing-function: ease-out;
            }

            .animated.icon-push:hover i, .animated.icon-push:focus i, .animated.icon-push:active i {
                -webkit-animation-name: hover-icon-push;
                animation-name: hover-icon-push;
                -webkit-animation-duration: 0.3s;
                animation-duration: 0.3s;
                -webkit-animation-timing-function: linear;
                animation-timing-function: linear;
                -webkit-animation-iteration-count: 1;
                animation-iteration-count: 1;
            }
    }

    /* .icon-pop */
    @media (min-width:0px) {

        @-webkit-keyframes hover-icon-pop {
            50% {
                -webkit-transform: scale(1.5);
                transform: scale(1.5);
            }
        }

        @keyframes hover-icon-pop {
            50% {
                -webkit-transform: scale(1.5);
                transform: scale(1.5);
            }
        }

        .animated.icon-pop {
            vertical-align: middle;
            -webkit-transform: perspective(1px) translateZ(0);
            transform: perspective(1px) translateZ(0);
            box-shadow: 0 0 1px rgba(0, 0, 0, 0);
            -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
        }

            .animated.icon-pop i {
                -webkit-transform: translateZ(0);
                transform: translateZ(0);
                -webkit-transition-duration: 0.3s;
                transition-duration: 0.3s;
                -webkit-transition-property: transform;
                transition-property: transform;
                -webkit-transition-timing-function: ease-out;
                transition-timing-function: ease-out;
            }

            .animated.icon-pop:hover i, .animated.icon-pop:focus i, .animated.icon-pop:active i {
                -webkit-animation-name: hover-icon-pop;
                animation-name: hover-icon-pop;
                -webkit-animation-duration: 0.3s;
                animation-duration: 0.3s;
                -webkit-animation-timing-function: linear;
                animation-timing-function: linear;
                -webkit-animation-iteration-count: 1;
                animation-iteration-count: 1;
            }
    }

    /* .icon-back */
    @media (min-width:0px) {

        .animated.icon-back {
            display: inline-block;
            vertical-align: middle;
            -webkit-transform: perspective(1px) translateZ(0);
            transform: perspective(1px) translateZ(0);
            box-shadow: 0 0 1px rgba(0, 0, 0, 0);
            -webkit-transition-duration: 0.1s;
            transition-duration: 0.1s;
        }

            .animated.icon-back i {
                -webkit-transform: translateZ(0);
                transform: translateZ(0);
                -webkit-transition-duration: 0.1s;
                transition-duration: 0.1s;
                -webkit-transition-property: transform;
                transition-property: transform;
                -webkit-transition-timing-function: ease-out;
                transition-timing-function: ease-out;
            }

            .animated.icon-back:hover i, .animated.icon-back:focus i, .animated.icon-back:active i {
                -webkit-transform: translateX(-4px);
                transform: translateX(-4px);
            }
    }

    /* .icon-wobble-right */
    @media (min-width:0px) {

        @-webkit-keyframes hover-icon-wobble-right {
            16.65% {
                -webkit-transform: translateX(6px);
                transform: translateX(6px);
            }

            33.3% {
                -webkit-transform: translateX(-5px);
                transform: translateX(-5px);
            }

            49.95% {
                -webkit-transform: translateX(4px);
                transform: translateX(4px);
            }

            66.6% {
                -webkit-transform: translateX(-2px);
                transform: translateX(-2px);
            }

            83.25% {
                -webkit-transform: translateX(1px);
                transform: translateX(1px);
            }

            100% {
                -webkit-transform: translateX(0);
                transform: translateX(0);
            }
        }

        @keyframes hover-icon-wobble-right {
            16.65% {
                -webkit-transform: translateX(6px);
                transform: translateX(6px);
            }

            33.3% {
                -webkit-transform: translateX(-5px);
                transform: translateX(-5px);
            }

            49.95% {
                -webkit-transform: translateX(4px);
                transform: translateX(4px);
            }

            66.6% {
                -webkit-transform: translateX(-2px);
                transform: translateX(-2px);
            }

            83.25% {
                -webkit-transform: translateX(1px);
                transform: translateX(1px);
            }

            100% {
                -webkit-transform: translateX(0);
                transform: translateX(0);
            }
        }

        .animated.icon-wobble-right {
            display: inline-block;
            vertical-align: middle;
            -webkit-transform: perspective(1px) translateZ(0);
            transform: perspective(1px) translateZ(0);
            box-shadow: 0 0 1px rgba(0, 0, 0, 0);
            -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
        }

            .animated.icon-wobble-right i {
                -webkit-transform: translateZ(0);
                transform: translateZ(0);
            }

            .animated.icon-wobble-right:hover i, .animated.icon-wobble-right:focus i, .animated.icon-wobble-right:active i {
                -webkit-animation-name: hover-icon-wobble-right;
                animation-name: hover-icon-wobble-right;
                -webkit-animation-duration: 1s;
                animation-duration: 1s;
                -webkit-animation-timing-function: ease-in-out;
                animation-timing-function: ease-in-out;
                -webkit-animation-iteration-count: 1;
                animation-iteration-count: 1;
            }
    }

    /* .icon-wobble-left */
    @media (min-width:0px) {

        @-webkit-keyframes hover-icon-wobble-left {
            16.65% {
                -webkit-transform: translateX(-6px);
                transform: translateX(-6px);
            }

            33.3% {
                -webkit-transform: translateX(5px);
                transform: translateX(5px);
            }

            49.95% {
                -webkit-transform: translateX(-4px);
                transform: translateX(-4px);
            }

            66.6% {
                -webkit-transform: translateX(2px);
                transform: translateX(2px);
            }

            83.25% {
                -webkit-transform: translateX(-1px);
                transform: translateX(-1px);
            }

            100% {
                -webkit-transform: translateX(0);
                transform: translateX(0);
            }
        }

        @keyframes hover-icon-wobble-left {
            16.65% {
                -webkit-transform: translateX(-6px);
                transform: translateX(-6px);
            }

            33.3% {
                -webkit-transform: translateX(5px);
                transform: translateX(5px);
            }

            49.95% {
                -webkit-transform: translateX(-4px);
                transform: translateX(-4px);
            }

            66.6% {
                -webkit-transform: translateX(2px);
                transform: translateX(2px);
            }

            83.25% {
                -webkit-transform: translateX(-1px);
                transform: translateX(-1px);
            }

            100% {
                -webkit-transform: translateX(0);
                transform: translateX(0);
            }
        }

        .animated.icon-wobble-left {
            display: inline-block;
            vertical-align: middle;
            -webkit-transform: perspective(1px) translateZ(0);
            transform: perspective(1px) translateZ(0);
            box-shadow: 0 0 1px rgba(0, 0, 0, 0);
            -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
        }

            .animated.icon-wobble-left i {
                -webkit-transform: translateZ(0);
                transform: translateZ(0);
            }

            .animated.icon-wobble-left:hover i, .animated.icon-wobble-left:focus i, .animated.icon-wobble-left:active i {
                -webkit-animation-name: hover-icon-wobble-left;
                animation-name: hover-icon-wobble-left;
                -webkit-animation-duration: 1s;
                animation-duration: 1s;
                -webkit-animation-timing-function: ease-in-out;
                animation-timing-function: ease-in-out;
                -webkit-animation-iteration-count: 1;
                animation-iteration-count: 1;
            }
    }
}
/* @END : ICON EFFECTS */

/* @START : TEXT highlight HOVER COLORS */
@media (min-width:0px) {


    .highlight-primary:hover, .highlight-primary *:hover {
        color: #007bff !important;
    }

    .highlight-success:hover, .highlight-success *:hover {
        color: #28a745 !important;
    }

    .highlight-info:hover, .highlight-info *:hover {
        color: #17a2b8 !important;
    }

    .highlight-danger:hover, .highlight-danger *:hover {
        color: #dc3545 !important;
    }
}
/* @END : TEXT OVER COLORS */
