/*--------------------------------------------------------------
Definition of html tables and filter elements

>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 General
2.0 Filter elements
3.0 Table checkboxes
4.0 Special table elements
--------------------------------------------------------------*/

/*--------------------------------------------------------------
1.0 General
--------------------------------------------------------------*/

.table {
    border: none;
    background-color: #f6f6f6;
}

.table tr {
    display: flex;
    position: relative;

    justify-content: flex-start;
    flex-wrap: nowrap;
    flex-direction: row;
}

.table tbody tr {
    background: #e4eeff;
}

.table-striped tbody > tr:nth-child(odd) > td,
.table-striped tbody > tr:nth-child(even) > td {
    background: #e4eeff;
    border: 1px solid white;
}

.table-striped tbody > tr:nth-child(odd):hover > td,
.table-striped tbody > tr:nth-child(even):hover > td {
    background: #e6e6e6;
}

.table > thead > tr > th {
    border: 1px solid white;
    font-weight: normal;
}

.table > tbody > tr > td {
    border-left: none;
    background: white;
}

.table thead tr th {
    border-bottom: none;
}

.table tr td,
.table tr th {
    display: flex;
    flex-shrink: 0.1;
    padding: 7px;
    line-height: 16px;

    word-wrap: break-word;
    word-break: break-all;

    border: none;
}

.td_flex_01 {
    flex: 0.1;
}

.td_flex_05 {
    flex: 0.5;
}

.td_flex_1 {
    flex: 1;
}

.td_flex_1_5 {
    flex: 1.5;
}

.td_flex_2 {
    flex: 2;
}

.td_flex_3 {
    flex: 3;
}

.td_flex_4 {
    flex: 4;
}

.td_flex_5 {
    flex: 5;
}

.td_flex_6 {
    flex: 6;
}

.td_flex_7 {
    flex: 7;
}

.td_flex_8 {
    flex: 8;
}

.td_flex_9 {
    flex: 9;
}

.td_flex_10 {
    flex: 10;
}

.fixed_thead_tr {
    z-index: 101;
    transition: box-shadow 0.4s;
}

/*--------------------------------------------------------------
2.0 Filter elements
--------------------------------------------------------------*/

.table:not(.no-filter-header) thead > tr > th:nth-last-child(1):not(:first-child),
.table:not(.no-filter-header) tbody > tr > td:nth-last-child(1):not(.td_flex_1):not(:first-child) {
    min-width: 50px;
    max-width: 50px;
    width: 50px;
    padding-right: 10px;
}

th.has-filter a {
    width: 100%;
    height: 100%;
}

th.has-filter img.filter-icon {
    width: 0;
    height: 11px;
    margin-right: 0;

    transition: all 0.3s;
}

th.has-filter a:hover img.filter-icon, th.has-filter.filter-active a img.filter-icon, th.has-filter.current-sort-column a img.filter-icon {
    width: 11px;
    margin-right: 3px;
}

thead > tr {
    background-color: #20669b;
    color: #ffffff;
}

thead > tr a, thead > tr a:hover, thead > tr a:active, thead > tr a:focus {
    color: #fff;
    text-shadow: none;
}

/*--------------------------------------------------------------
3.0 Table checkboxes
--------------------------------------------------------------*/

.column-check > input[type="checkbox"] {
    display: none;
}

.column-check > label {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    width: 14px;
    height: 14px;
    margin-bottom: 0;

    background: white;
    cursor: pointer;
}

.column-check > label::before {
    box-sizing: border-box;
    content: '';
    color: #900;
    position: absolute;
    left: 0;
    width: 16px;
    height: 16px;
    border: 2px solid #ddd;
    text-align: center;
    transition: border 0.4s;
}

.column-check > label::after {
    content: '';
    display: block;
    position: absolute;
    background-color: transparent;
    top: 4px;
    left: 3px;
    width: 7px;
    height: 3px;
    border-style: solid;
    border-color: #999;
    border-width: 0 0 3px 3px;
    transform: rotate(-45deg) scale(0);
    border-image: none;
    transition: transform 200ms ease-out, -webkit-transform 200ms ease-out;
}

.column-check > input[type="checkbox"]:checked + label::before, .column-check:hover > label::before {
    border-color: #999;
}

.column-check:hover > label::after {
    transform: rotate(-45deg) scale(1);
}

.column-check > input[type="checkbox"]:checked + label::after {
    border-color: #18A14A;
    transform: rotate(-45deg) scale(1);
}


/*--------------------------------------------------------------
4.0 Special table elements
--------------------------------------------------------------*/

.td-border-right {
    border-right: 4px solid #ddd;
}

th.th-no-border-top {
    border-top: none;
}

tr.tr-no-border-bottom > th,
tr.tr-no-border-bottom > td {
    border-bottom: none;
}

table.seperate-last-tr > tbody > tr:last-child {
    border-top: 1px solid #ddd;
}

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