table.DataGrid {
    border-spacing: 0px;
    border-collapse: collapse;
    width: 100%;
    border: 1px solid rgba(0,0,0,0.1);
    position: relative;
}

    table.DataGrid > tbody > tr {
        background: transparent;
    }

        table.DataGrid > tbody > tr > td {
            padding: 3px;
            line-height: 16px;
            border: 0;
            border-inline-end: 1px solid rgba(0,0,0,0.075);
        }

        table.DataGrid > tbody > tr > td:last-child {
            border-inline-end: 0;
        }

            table.DataGrid > tbody > tr > td.blank-cell, table.DataGrid > tbody > tr:last-child > td.blank-cell {
                background: #fff;
            }

        table.DataGrid > tbody > tr:last-child > td.blank-cell {
            border-block-end: none;
        }

        table.DataGrid > tbody > tr:nth-of-type(even) {
            background: rgba(0,0,0,0.05);
        }

    table.DataGrid > tbody tr.DataGridHeader {
        color: #fff;
        border-block-end: 0;
    }

        table.DataGrid > tbody tr.DataGridHeader td {
            background-color: #858F92;
            font-weight: 600;
            padding: 4px 3px;
            font-size: 12px;
        }

            table.DataGrid > tbody tr.DataGridHeader td a, table.DataGrid > tbody tr.DataGridHeader td a:hover {
                color: #fff;
            }

            table.DataGrid > tbody tr.DataGridHeader td.blank-cell {
                background-color: #fff;
            }

            table.DataGrid > tbody tr.DataGridHeader td .calendar-toggle .HoverMenu a {
                color: #005dd0;
            }

            table.DataGrid > tbody tr.DataGridHeader td .calendar-toggle .HoverMenu a.selected {
                background: #fff;
                color: #3B4E50;
                font-weight: 600;
            }

    table.DataGrid > tbody tr.DataGridFooter {
        background: #8a8d9a;
        font-weight: 600;
        color: #fff;
    }

    table.DataGrid td img {
        max-height: 16px;
        vertical-align: middle;
    }

        table.DataGrid td img.TreeListImage {
            vertical-align: top;
        }

            table.DataGrid td img.TreeListImage + textarea.textarea-thin {
                width: calc(100% - 66px) !important;
            }

    table.DataGrid td.subtotal {
        background-color: rgba(54,55,60,0.15);
        text-align: end;
    }

    table.DataGrid td.total {
        background: rgba(54,55,60,0.3);
        text-align: end;
    }

    table.DataGrid > tbody > tr + tr.DataGridPager {
        border-block-start: 1px solid rgba(0,0,0,0.1);
    }

    table.DataGrid > tbody > tr.DataGridPager {
        background: transparent;
        color: #3B4E50;
        font-weight: bold;
    }

        table.DataGrid > tbody > tr.DataGridPager td { 
            border: 0;
        }

        table.DataGrid > tbody > tr.DataGridPager a {
            font-weight: normal;
        }

        table.DataGrid > tbody > tr.DataGridPager::after {
            position: absolute;
            width: auto;
            height: 22px;
            inset-inline-start: 0px;
            inset-inline-end: 0px;
            inset-block-end: 0px;
            pointer-events: none;
        }

        table.DataGrid > tbody > tr.DataGridPager:first-child::after {
            inset-block-start: 0px;
            inset-block-end: unset;
        }

    table.DataGrid tr.DataGridPager:last-child::after {
        border-block-start: 1px solid rgba(0,0,0,0.1);
    }

    table.DataGrid.no-toolbar {
        border-block-start: 1px solid rgba(0,0,0,0.1);
    }

    table.DataGrid.audit-grid > tbody > tr > td {
        word-break: break-word;
    }

    table.DataGrid.audit-grid > tbody > tr.DataGridHeader > td {
        word-break: inherit;
    }

.list-toolbar + table.DataGrid {
    border-block-start: 0;
}

.list-toolbar + .FilterPanel + div > table.DataGrid {
    border-block-start: 0;
}

/*table tool controls*/
.table-tools input[type=submit] {
    height: 16px;
    width: 16px;
    outline: none;
    border: none;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
    margin: 0px;
    box-sizing: content-box;
    padding: 2px;
}

    .table-tools input[type=submit]:hover {
        background-color: rgba(0,0,0,0.1);
    }

/*DataGrids*/
.DataGridNoDataPlaceholder {
    padding: 5px 3px;
    border: 1px solid #ccc;
    font-style: italic;
}

.DataGridHeader, .DataGridFooter {
    background: #7d7c8d;
    font-weight: 600;
    font-size: 13px;
    color: #FFFFFF;
}

.DataGridItem.Highlight {
    -webkit-transition: background-color 0.4s; /* Safari  */
    transition: background-color 0.4s;
}

.DataGridItem {
    background: #EAEAEF;
}

    .DataGridItem td, .DataGridAlternatingItem td, .DataGridTotalRow td, .DataGridSelected td, .DataGridEditItem td {
        border: 1px solid #ccc;
        border-block-end: none;
        padding: 2px;
    }

    .DataGridItem td, .DataGridAlternatingItem td, .DataGridSelected td {
        border-block-start: none;
    }

.DataGridAlternatingItem, .DataGridTotalRow {
    background: ghostwhite;
}

.DataGridEditItem {
    background: silver;
}

    .DataGridEditItem input[type=text] {
        min-width: 97%;
    }

.DataGridSelected {
    background: rgba(0,0,0,0.1);
}

.NoPager {
    margin-block-start: 5px;
}

    .NoPager.has-toolbar {
        margin-block-start: 0px;
    }

.CheckColumn, .EditColumn, .IconColumn {
    width: 30px;
    text-align: center;
}

.DataGrid .CenteredColumn {
    text-align: center;
}

.DateColumn {
    white-space: nowrap;
}

.DataGridTotalRow {
    border-block-start: 2px solid midnightblue;
}

.DataGridCellWithRightBorder {
    border-inline-end: 1px solid midnightblue !important;
}

.DataGridCellWarning {
    background-color: #FAD3D3;
}

/*Plain DataGrids*/
.DataGrid_Plain {
    border-spacing: 0px;
    border-collapse: collapse;
    width: 100%;
}

    .DataGrid_Plain td {
        background: none;
        padding: 3px;
        line-height: 16px;
    }

.DataGridHeader_Plain, .DataGridFooter_Plain {
    font-weight: 600;
}

.DataGridTotal_Plain {
    height: 25px;
    font-weight: 600;
    vertical-align: top;
}

.DataGridHeader_Plain, .DataGridFooter_Plain, .DataGridItem_Plain, .DataGridAlternatingItem_Plain, .DataGridTotal_Plain {
    background-color: inherit;
    border: none;
    font-size: 10pt;
}

td.SortedColumnHeaderImageAsc, td.SortedColumnHeaderImageDesc {
    background-position: right;
    background-repeat: no-repeat;
    padding-inline-end: 15px;
}

[dir=rtl] td.SortedColumnHeaderImageAsc, [dir=rtl] td.SortedColumnHeaderImageDesc {
    background-position: left;
}

td.SortedColumnHeaderImageAsc {
    background-image: url('../images/Sort_Ascending_Landfolio.png');
}

td.SortedColumnHeaderImageDesc {
    background-image: url('../images/Sort_Descending_Landfolio.png');
}

/*structured data tables*/
table.structured-data input[type=image].delete-icon {
    margin-block-start: 6px;
    margin-inline-end: 5px;
}

table.structured-data > tbody > tr:hover {
    background: #f4f4f4 !important;
}

table.structured-data > tbody > tr > td > div {
    margin-block-start: 2px;
    line-height: 18px;
}

table.structured-data input[type=image].date-selector {
    float: initial;
}

table.structured-data > tbody > tr {
    background: transparent;
}

    table.structured-data > tbody > tr:nth-of-type(even) {
        background: rgba(0,0,0,0.05);
    }

    table.structured-data > tbody > tr > td {
        padding: 3px;
        line-height: 16px;
        border: 1px solid rgba(0,0,0,0.1);
        border-block-start: none;
        border-block-end: none;
        vertical-align: top;
    }

        table.structured-data > tbody > tr > td:first-child {
            border-inline-start: 1px solid rgba(0,0,0,0.1);
        }

        table.structured-data > tbody > tr > td:last-child {
            border-inline-end: 1px solid rgba(0,0,0,0.1);
        }

table.structured-data .DataGridHeader {
    background: #6d6c7d;
    font-weight: 600;
    color: #fff;
}

    table.structured-data .DataGridHeader th {
        padding: 4px 3px;
        text-align: start;
        font-weight: 600;
        font-size: 12px;
        border: 1px solid rgba(0,0,0,0.1);
        border-block-start: none;
        border-block-end: none;
    }

        table.structured-data .DataGridHeader th a, table.structured-data .DataGridHeader th a:hover {
            color: #fff;
        }

        table.structured-data .DataGridHeader th:first-child {
            border-inline-start: 1px solid #6d6c7d;
        }

        table.structured-data .DataGridHeader th:last-child {
            border-inline-end: 1px solid #6d6c7d;
        }

table.structured-data tr:last-child input, table.structured-data tr:last-child select, table.structured-data tr:last-child textarea {
    background-color: rgba(0,0,0,0);
}

table.structured-data input[disabled], table.structured-data select[disabled], table.structured-data textarea[disabled] {
    border: 1px solid #ccc;
    padding: 1px 5px;
}

/*table filter panel*/
.FilterPanel {
    background-color: #e2e2e2;
    border-inline-start: 1px solid #d0d0d7;
    border-inline-end: 1px solid #d0d0d7;
    padding: 10px;
    display: none;
}

    .FilterPanel .parameter {
        display: inline-block;
        padding: 3px;
        min-width: 300px;
        max-width: 360px;
        margin-inline-end: 40px;
    }

    .FilterPanel span {
        vertical-align: top;
        display: inline-block;
        width: 120px;
        margin-inline-end: 10px;
        line-height: 16px;
        padding: 0px;
        padding-block-start: 4px;
    }

    .FilterPanel .parameter select, .FilterPanel .parameter input[type=text], .FilterPanel div .date-field input[type=text] {
        vertical-align: top;
        width: 200px;
        line-height: 24px;
        height: 24px;
        margin: 0px;
    }

    .FilterPanel span.HiddenControl {
        display: none !important;
    }

    .FilterPanel span.Validator {
        display: inline;
    }

.WideCheckColumn {
    width: 6%;
}

.droptarget {
    border: 1px dashed #0D6AA8;
    background-color: #ddd !important;
}

.ui-sortable > tbody > tr > td:first-child::before {
    display: inline-block;
    content: '';
    margin-inline-start: 11.5px;
}

tr.ui-sortable-handle.ui-sortable-helper {
    background: #CFE1EE !important;
    border: 1px solid #0D6AA8;
    opacity: 1;
}

td.invisible {
    display: none;
}

.ui-sortable > tbody > tr.ui-sortable-handle > td:first-child::before {
    background: url('../images/drag-vertical.png');
    background-size: 9px auto;
    background-repeat: no-repeat;
    margin-inline-end: 3px;
    margin-block-end: -4px;
    cursor: move;
    content: '';
    width: 9px;
    height: 18px;
}

.ui-sortable > tbody > tr.ui-sortable-handle.ui-sortable-helper > td:first-child::before {
    background: url('../images/drag-vertical-hover.png');
    background-size: 9px auto;
    background-repeat: no-repeat;
    margin-inline-end: 3px;
    margin-block-end: -4px;
    cursor: move;
    content: '';
    width: 9px;
    height: 18px;
}

tr.ui-sortable-handle.ui-sortable-helper {
    background: #CFE1EE !important;
    border: 1px solid #0D6AA8;
    opacity: 1;
}

    tr.ui-sortable-handle.ui-sortable-helper td:first-child::before {
        color: #000;
    }

/*SD Search table*/
table.structured-data.search {
    width: 100%;
    border-block-end: none;
}

    table.structured-data.search > tbody > tr > td {
        padding: 0px;
        padding-inline-end: 3px;
        border: none;
    }

        table.structured-data.search > tbody > tr > td:first-child, table.structured-data.search > tbody > tr > td:last-child {
            border: none;
        }

        table.structured-data.search > tbody > tr > td > div {
            margin-block-start: 3px;
            line-height: 16px;
        }

    table.structured-data.search > tbody > tr:nth-of-type(even) {
        background: transparent;
    }

    table.structured-data.search select, table.structured-data.search input[type=text] {
        width: 150px !important;
    }

    table.structured-data.search .search-params input[type=text], table.structured-data.search .date-field input[type=text] {
        width: 150px;
    }

.new-entry {
    padding: 3px;
    padding-inline-start: 1px;
    padding-inline-end: 4px;
}

table.structured-data.search td table.inline-block td {
    vertical-align: top;
}

    table.structured-data.search td table.inline-block td:first-child select, .new-entry select {
        width: 200px !important;
    }

    table.structured-data.search td table.inline-block td:first-child {
        padding-inline-end: 2px;
    }

table.structured-data.search td table.inline-block + div.inline-block {
    padding-block-start: 1px;
}

table.structured-data.search .date-field {
    display: inline-block;
}

    table.structured-data.search .date-field input[type=text] + input[type=image] {
        vertical-align: text-top;
    }

/*Caters for RTL table cells*/
td[align=left] {
    text-align: start;
}

td[align=right] {
    text-align: end;
}
