div.table-12 {
	display:grid;
	grid-template-columns: repeat(12, 1fr);
	grid-template-row: 25px;
}
div.table-14 {
	display:grid;
	grid-template-columns: repeat(14, 1fr);
	grid-template-row: 25px;
}
div.table-row {
	position:relative;
}
div.table-row-wrapper {
	display:contents;
}
div.table-row-wrapper:hover div{
	background-color:#f2f2f2;
}
div.column-1 {
	grid-column: span 1;
}
div.column-2 {
	grid-column: span 2;
}
div.column-3 {
	grid-column: span 3;
}
div.column-4 {
	grid-column: span 4;
}
div.column-5 {
	grid-column: span 5;
}
div.column-6 {
	grid-column: span 6;
}
div.column-7 {
	grid-column: span 7;
}
div.column-8 {
	grid-column: span 8;
}
div.column-9 {
	grid-column: span 9;
}
div.column-10 {
	grid-column: span 10;
}
div.column-11 {
	grid-column: span 11;
}
div.column-12 {
	grid-column: span 12;
}
div.column-13 {
	grid-column: span 13;
}
div.column-14 {
	grid-column: span 14;
}

tbody.tb-border {
	border-top:solid 2px !important;
	border-bottom:solid 2px !important;
	border-collapse: collapse;
}

tr.tr-border {
	border-top:solid 2px;
	border-bottom:solid 2px;
}

td.td-bl {
	border-left:solid 2px !IMPORTANT;
}

td.td-bl3 {
	border-left:solid 3px !IMPORTANT;
}

td.td-br {
	border-right:solid 2px !IMPORTANT;
}

tbody.border-top-3 {
	border-top:solid 3px;
}

th {
	position: sticky;
	top:0;
}

.thead-dark td {
	color: #fff;
	background-color: #343a40;
    border-color: #454d55;
	font-weight: bold;
	text-align: -webkit-match-parent;
}

.tableFixHead          { overflow: auto; }
.tableFixHead thead th { position: sticky; top: 0; z-index: 1; }

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table td.wrap {
  word-break: break-all;
  white-space: normal;
}