
.clickable {
    cursor: pointer;
}

    tbody tr .clickable:hover {
        color: #212529;
        background-color: rgba(0,0,0,.075);
        background-clip: padding-box;
    }

.main-table-overflow {
    max-height: calc(100vh - 120px);
    overflow-y: auto;
}

    .main-table-overflow table thead {
        background-color: white;
        box-shadow: 0px 0px 0 2px #dee2e6;
        position: sticky;
        top: 1px;
        z-index: 2;
    }

    .main-table-overflow table tfoot {
        background-color: white;
        box-shadow: 0px 0px 0 2px #dee2e6;
        position: sticky;
        bottom: 1px;
        z-index: 2;
    }

    .fs-small {
        font-size: 0.9rem;
    }

.input-group-label {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    padding: .375rem .75rem;
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    white-space: nowrap;
}

.table .td 
{
    padding-right: 15px;
}

.table-xs
{
    margin-bottom: 0;
}

.table-xs td, .table-xs th {
    padding: .0rem .5rem .0rem .5rem;
}

.button-shake-play {
    animation: shake 0.5s linear alternate infinite;
    animation-play-state: running;
}

@keyframes shake {
    0% { transform: translate(1px, 1px) rotate(0deg); }
    10% { transform: translate(-1px, -2px) rotate(-1deg); }
    20% { transform: translate(-3px, 0px) rotate(1deg); }
    30% { transform: translate(3px, 2px) rotate(0deg); }
    40% { transform: translate(1px, -1px) rotate(1deg); }
    50% { transform: translate(-1px, 2px) rotate(-1deg); }
    60% { transform: translate(-3px, 1px) rotate(0deg); }
    70% { transform: translate(3px, 1px) rotate(-1deg); }
    80% { transform: translate(-1px, -1px) rotate(1deg); }
    90% { transform: translate(1px, 2px) rotate(0deg); }
    100% { transform: translate(1px, -2px) rotate(-1deg); }
}

.fixed-prepend-width {
    width : 200px;
}
