.grid {
    display: flex;
    flex-direction: column;
    position: relative;
    cursor: default;
    background-color: gray;
    font: menu;
}

.grid .button {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100%;
    height: 100%;
    padding: 0px 5px;
    border-width: 1px;
}

.grid-caption {
    position: relative;
    padding: 5px;
}

.grid-sort {
    display: none;
}

.grid-scroll {
    position: relative;
    overflow: scroll;
    flex: 1;
}

.grid-top {
    display: inline-block;
    position: sticky;
    overflow: hidden;
    white-space: nowrap;
    top: 0px;
    left: 28px;
    height: 20px;
    z-index: 1;
}

.grid-left {
    position: sticky;
    overflow: hidden;
    left: 0px;
    width: 28px;
    padding: 0;
    margin: 0;
    z-index: 1;
}

.grid-topleft {
    position: absolute;
    overflow: hidden;
    top: 0px;
    left: 0px;
    width: 28px;
    height: 20px;
    z-index: 1;
}

.grid-pagination {
    position: relative;
    overflow: hidden;
    right: 0px;
    width: 100%;
    height: 16px;
    padding: 0px;
}
.grid-page-button {
    font-family: sans-serif;
    font-size: 9px;
    text-align: center;
    border-width: 2px;
    padding: 0px;
}
.grid-page-prev {
    height: 16px;
    width: 16px;
}
.grid-page-num {
    height: 16px;
    width: 118px;
}
.grid-page-next {
    height: 16px;
    width: 16px;
}





.grid-table {
    position: absolute;
    top: 20px;
    left: 28px;
    border-width: 0px;
    border-collapse: collapse;
    table-layout: fixed;
}

.grid-table-row {
	background-color: white;
}
.grid-table-row-selected,
.grid-table-row-selected td,
.grid-table-row-selected input {
	color: highlighttext!important;
	background-color: highlight!important;
}

.grid-table-data {
	border-top: none;
	border-left: none;

	margin: 0px;
	padding: 0px 2px 0px 2px;
	overflow: hidden;
	height: 20px;

	text-align: left;
	text-overflow: ellipsis;
	vertical-align: middle;
	white-space: nowrap;
}
.grid-table-data-input {
	background-color: transparent;
	border-style: none;
	color: inherit;
	width: 100%;
	height: 100%;
	margin: 0px;
}
.grid-table-data-select {
	background-color: transparent;
	border-style: none;
	color: inherit;
	width: 100%;
	height: 100%;
	margin: 0px;
}
.grid-table-data-check {
	border-style: none;
	width: 75%;
	height: 75%;
	margin: 0px;
}

.grid-table-data:last-child {
    border-right: none;
}

.grid-table-row:last-child .grid-table-data {
    border-bottom: none;
}





.grid-colheader {
	display: inline-block;
	width: 100px;
	height: 20px;
	overflow: hidden;
}
.grid-colheader-button-default {
	font: menu;
}
.grid-colheader-button-filter {
	font: menu;
	background-image: url(../img/filter.png);
	background-repeat: no-repeat;
	background-position: right;
}
.grid-colheader-button-sortasc {
	font: menu;
	background-image: url(../img/asc.png);
	background-repeat: no-repeat;
	background-position: right;
}
.grid-colheader-button-sortdesc {
	font: menu;
	background-image: url(../img/desc.png);
	background-repeat: no-repeat;
	background-position: right;
}

.grid-colheader-default {}
.grid-colheader-ascending .grid-header-sort {
	width: 16px;
	background: url(../img/grid.png) -20px 50% no-repeat;
}
.grid-colheader-descending .grid-header-sort {
	width: 16px;
	background: url(../img/grid.png) -40px 50% no-repeat;
}
.grid-colheader-image {
	display: inline-block;
	overflow: hidden;
	top: 0px;
	left: 0px;
	width: 16px;
	height: 16px;
	line-height: 1px;
	vertical-align: top;
	margin: 0px 3px -1px 0px;
	background-repeat: no-repeat
}
.grid-colheader-resize {
	cursor: e-resize;
	float: right;
	position: relative;
	right: -5px;
	top: 0px;
	width: 10px;
	height: 100%;
}





.grid-rowheader {
    box-sizing: border-box;
    position: relative;
    overflow-y: hidden;
    width: 100%;
    vertical-align: top;
}