.gscrollablegrid {
    min-width: 300px;
    min-height: 50px;
	display: flex;
	flex: 1;
}
.gscrollablegrid div.container {
	background-color: #B3CAE9;
	overflow: hidden;
	
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
  	-webkit-flex-direction: column;
  	-ms-flex-direction: column;
  	flex-direction: column;
	
	height: initial;
	box-sizing: border-box;
}
/* Tables have to be fixed layout because otherwise cell width won't match */
.gscrollablegrid table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;   
	empty-cells: show;
    white-space: nowrap;
    height: 1px; /* chrome cell height fix */
}
.gscrollablegrid .pager {
    background: #EAEAEA;
	border-bottom: 1px solid #a0a0a0;
    padding-top: 3px;
    padding-bottom: 3px;
}
.gscrollablegrid .pager table td div {
    padding-left: 4px;
    padding-right: 4px;
    line-height: 20px;
}
.gscrollablegrid .pager table td div.left {
    float: left;
}
.gscrollablegrid .pager table td div.right {
    float: right;
}
.gscrollablegrid .pager table td div.right .gridFullDataSet a {
    background: transparent url(img/refresh.gif) no-repeat 1px 2px;
    border: 1px dotted #333333;
    padding: 0 5px 0 4px;
    margin-left: 4px;
    text-decoration: none;
}
.gscrollablegrid .pager input {
    width: 30px;
    line-height: 12px;
}
.gscrollablegrid .pager table td div.left .gridViewAllRows a {
    color: #3E597F;
    text-decoration: none;
    font-weight: bold;
}

.gscrollablegrid .pager table td div.right .gridViewAllRows a {
    border: 1px dotted #333333;
    color: #3E597F;
    margin-left: 3px;
    padding: 0 2px 0 3px;
    text-decoration: none;
    font-weight: bold;
}
.gscrollablegrid .pager input {
    text-align: center;
}
.gscrollablegrid .pager .gridPageSelection {
    margin-right: 20px;
}
.gscrollablegrid .pager .gridRowsPerPagePopupLink .popmenu .popmenu1 {
    padding: 0px;
}
.gscrollablegrid .pager .gridPageSelection .currentPage {
    background-color: #ffffcc;
    color: #000000;
}
.gscrollablegrid .pager .gridPageSelection .firstPageLink {
	background: transparent url(img/chevron_left.gif) no-repeat 4px 2px;
	padding: 0px 6px 0px 6px;
	margin: 0px 4px 0px 0px;
}
.gscrollablegrid .pager .gridPageSelection a {
    border: 1px dotted #aaaaaa;
    text-decoration: none;
    padding: 0 6px 0 7px;
    color: #3E597F;
    font-weight: bold;
}
.gscrollablegrid .pager .gridDirectPageSelector {
    margin-left: 20px;
}
.gscrollablegrid .pager .gridDirectPageSelector .dpsLink a {
	border: 1px dotted #aaaaaa;
	padding: 0px 5px 0px 4px;
	text-decoration: none;
	background: transparent url(img/refresh.gif) no-repeat 1px 2px;
	margin-right: 5px;
}
.gscrollablegrid .pager a.rowsPerPageLink {
	color: #880000;
	border: 1px dotted #aaaaaa;
	text-decoration: none;
	padding: 0px 6px 0px 5px;
	margin: 3px;
	height: 12px;
	background: transparent url(img/chevron_dark_down.gif) no-repeat 2px 4px;
}
.gscrollablegrid .pager table td div.right .gridViewAllRowsLabel {
    margin-left: 10px;
}
.gscrollablegrid table th.gridColInvisible {
    background: url('img/hidden_texture.png') repeat rgba(255, 0, 0, 0.1) !important;
}
.gscrollablegrid table td.gridColInvisible {
    background: rgba(255, 0, 0, 0.1) !important;
}
.gscrollablegrid table th, .gscrollablegrid table td {
	padding: 0px 5px 0px 5px;
	white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    box-sizing: border-box;
}

.gscrollablegrid table .noWordWrap{
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.gscrollablegrid div.header table th {
    background-color: #B3CAE9;
	color: black;
	margin: 0px;
	padding: 0px 5px 0px 5px;
	line-height: 20px;
    border-right: 1px solid #a0a0a0;
    box-sizing: border-box;	
    flex-shrink: 0;
}
.gscrollablegrid .header thead th .col_title {
	text-align: left;
	overflow: hidden;
	text-overflow: ellipsis;
	font-weight: bold;
}

.gscrollablegrid .header thead th span {
	vertical-align: middle;
}
.gscrollablegrid div.header table th.gridColSortable {
    cursor: pointer;
    cursor: hand;
}

.gscrollablegrid div.header table th.header-last-cell {
	width: 0px;
	padding: 0px;
}
.gscrollablegrid div.header.tableRightPadding table th.header-last-cell {
	width: 17px;
}

.gscrollablegrid div.body {
    background-color: #FFF;
	overflow-y: auto;
	overflow-x: auto;
	
	flex: 1;
	-webkit-overflow-scrolling: touch;
}

.gscrollablegrid div.header {
	overflow-x: hidden;
	overflow-y: hidden;
}
.gscrollablegrid div.container.no_data div.body {
    overflow-y: none;
    overflow: hidden;
}
.gscrollablegrid div.container.no_data div.body table tr td {
    border-right: none;
}
.gscrollablegrid div.body table td.gridRowNum, .gscrollablegrid div.header table th.gridRowNum, .gscrollablegrid div.footer table td.gridRowNum {
    width: 40px;
    color: #888888;
    text-align: center;
    border-left: 1px solid #a0a0a0;
}
.gscrollablegrid div.body table td.pgER, .gscrollablegrid div.header table th.pgER, .gscrollablegrid div.footer table td.pgER {
    width: 35px !important;
}
.gscrollablegrid div.body table td.gridCheck, .gscrollablegrid div.header table th.gridCheck {
    width: 39px;
    text-align: center;
    padding: 5px;
}
.gscrollablegrid .gridCheck {
	overflow: hidden;
	text-overflow: clip;
}
.gscrollablegrid .gridCheck input {
	position: relative;
    top: 2px;
}

.gscrollablegrid div.body table td.gridRowNum  {
    -webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor: cell;
	padding-left: 0px;
	padding-right: 0px;
}

.gscrollablegrid div.footer table td.gridCheck {
    width: 18px;
}
.gscrollablegrid div.body table td {
    font-size: 11px;
	line-height: 14px;
	padding: 2px 5px 2px 5px;
	border: 1px solid #a0a0a0;
}

/*
.gscrollablegrid div.body table tr td:first-child {
    border-top: 1px solid #333333;
    border-right: 1px solid #333333;
    border-bottom: 1px solid #333333;
    border-left: none !important;
}
.gscrollablegrid div.body table tr td:not(:first-child) {
    border: 1px solid #333333;
}
.gscrollablegrid div.body table tr:last-child td {
    border-top: 1px solid #333333;
    border-right: 1px solid #333333;
    border-left: 1px solid #333333;
    border-bottom: none !important;
}

.gscrollablegrid div.body table tr:nth-child(even) {
	background-color: #F9F9F9
}
.gscrollablegrid div.body table tr:nth-child(odd) {
	background-color: #FFFFFF
}
*/
.gscrollablegrid div.footer table tr {
	background-color: #B3CAE9;
	color: #FFF;
}
.gscrollablegrid div.footer table td {
	margin: 0px;
	line-height: 20px;
	border-left: 1px solid #333333;
	border-right: 1px solid #333333;
}
.gscrollablegrid div.body table tr {
    border: none;
	outline: none;
}
.gscrollablegrid div.body table tr.gridActiveRow {
	background: #c4ddff !important;
}
.gscrollablegrid div.body table a.colMasterLink, .gscrollablegrid div.body a.colMasterLink:visited {
	cursor: pointer;
	cursor: hand;
	color: #0000EE;
	font-weight: bold;
	text-decoration: none;
}
.gscrollablegrid div.body table a.popupLink, .gscrollablegrid div.body a.popupLink:visited {
	cursor: pointer;
	cursor: hand;
	color: #0000EE;
	font-weight: bold;
	text-decoration: none;
}
.gscrollablegrid div.body table a.popupLink img {
    padding-left: 3px;
}
.gscrollablegrid div.body table a.colMasterLink:hover {
	text-decoration: underline;
}
.gscrollablegrid div.footer table td:first-child {
    border-left: none;
}

.flexible_parent {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
}

.gscrollablegrid .scrollablegrid_col_file a {
	text-decoration: none;
}

.gscrollablegrid .scrollablegrid_col_file a:hover {
	text-decoration: underline;
}

.gscrollablegrid .scrollablegrid_col_file a:visited {
	color: #0000EE;
}

.gscrollablegrid div.body table.scrollablegrid_col_file tr {
	border: none !important;
	background: none !important;
	height: 25px !important;
}
.gscrollablegrid div.body table.scrollablegrid_col_file td {
	border: none !important;
}

.gscrollablegrid div.body table.scrollablegrid_col_file td:first-child {
	width: 25px;
}

/* stamps */

.gscrollablegrid div.body table td div.stamp {
	display: inline-block; 
	vertical-align: middle;
}
.gscrollablegrid div.body table td div.stamp div {
	float: left;
	border-radius: 3px;
	font-size: 12px;
	font-family: "Roboto Regular", Tahoma;
	padding: 4px 6px !important;
	color: #FFF !important;
	display: flex;
	line-height: 13px;
	min-height: 14px;
	white-space: pre-wrap;
}

.gscrollablegrid div.body table .cellchecker span {
    color: #000000 !important;
    font-size: 12px;
    font-family: "Roboto Medium";
}
.gscrollablegrid div.body table .cellbullet span {
    color: #000000 !important;
    font-size: 12px;
    font-family: "Roboto Medium";
}


/* Editable grid customisation */
.gscrollablegrid .body button.ui-datepicker-trigger {
    display: none;
}

.gscrollablegrid .header .filter-row button.ui-datepicker-trigger {
    display: none;
}

.gscrollablegrid .body .date img {
    vertical-align: middle; 
    margin-left: 5px;
    margin-bottom: 2px;
    cursor: pointer;
    cursor: hand;
}

.gscrollablegrid ul, .gscrollablegrid li {
	list-style-type: disc;
	font-size: 13px;
}

.gscrollablegrid .body .footer td {
	background-color: #B3CAE9;
	height: 15px;
}
.gscrollablegrid .body .footer td span {
	padding-left: 2px;
	padding-right: 2px;
}
.gscrollablegrid .filter-toggle-icon {
	display: inline-block;
	width: 10px;
	height: 10px;
	background: url("img/toggle_up.png");
}
.gscrollablegrid .filter-toggle-text {
	margin-right: 8px;
}

.gscrollablegrid .filter-toggle-cell {
	cursor: pointer;
	white-space: nowrap;
   	border-left: 1px solid #a0a0a0;
}

.gscrollablegrid .filter-row {
	border-top: 1px solid #a0a0a0;
}

.gscrollablegrid .filter-row.hidden-edit {
	background-color: pink;
}
.gscrollablegrid .filter-row.hidden-edit th {
	opacity: 0.8;
}

.gscrollablegrid .filter-toggle-text {
	color: 444;
	font-weight: normal;
}

.gscrollablegrid table.inner-clear tr,
.gscrollablegrid table.inner-clear td {
	padding: 0px !important;
	margin: 0px !important;
	border: 0px !important;
}

.gscrollablegrid th.has-hint .hint {
	height: 100%;
	width: 10px;
	overflow: visible;
	vertical-align: top;
	padding: 0px;
}
.gscrollablegrid th.has-hint .hint span {
    color: white;
    font-size: 8px;
    pointer-events: none;
    width: 10px;
    background: #5f77f7;
    height: 10px;
    border-radius: 5px;
    display: block;
    margin-left: 2px;
    margin-top: 2px;
    line-height: 10px;
}

/** Added entire table into header cells to split title, sort icon and hint */
.gscrollablegrid th > table {
	height: 100%;
}
.gscrollablegrid th > table td {
	height: 100%;
	padding: 0px;
}

.gscrollablegrid th .sort {
	width: 30px;
}


/** Editable cells */

.gscrollablegrid div.body table td.editable_cell, 
.gscrollablegrid div.header table th.filter-cell {
	padding: 0;
	height: inherit;
	overflow: visible;
}
.gscrollablegrid div.header table th.filter-cell.edit {
	background-color: rgba(234, 244, 255, 0.39);
	border-color: #a0a0a0;
}

.gscrollablegrid div.body table td.editable_cell > div,
.gscrollablegrid div.body table td.editable_cell .gexternallookup,
.gscrollablegrid div.header table th.filter-cell > div {
	height: 100%;
	overflow: visible;
	padding: 0;
	position: relative;
	width: 100%;
}

.gscrollablegrid div.header table th.filter-cell > div {
	height: calc(100% - 1px); /* .gscrollablegrid div.header now has overflow hidden */
}

.gscrollablegrid div.body table td.editable_cell > div,
.gscrollablegrid div.body table td.editable_cell .gexternallookup {
	position: static;
}

.gscrollablegrid div.body table td.editable_cell div input:not([type='checkbox']),
.gscrollablegrid div.header table th.filter-cell div input:not([type='checkbox']) {
	height: calc(100% + 2px);
	width: calc(100% + 2px);
	position: relative;
	top: -1px;
	left: -1px;
    background-color: transparent;
	border-radius: 0;
	padding: 1px;
	padding-left: 7px;
	padding-right: 7px;
	margin-bottom: -1px;
	text-align: inherit;
	box-sizing: border-box;
	box-shadow: none;
	border-color: transparent;
}

.gscrollablegrid div.body table td.editable_cell div input:hover,
.gscrollablegrid div.header table th.filter-cell div input:hover {
	border: 2px solid #447EC0;
	padding-left: 6px;
	padding-right: 6px;
}

.gscrollablegrid div.body table td.editable_cell div input:focus,
.gscrollablegrid div.header table th.filter-cell div input:focus {
	padding: 0px;
	padding-left: 6px;
	padding-right: 6px;
	border: 1px solid #447EC0;
	background-color: white;
}

.gscrollablegrid div.body table td.editable_cell div input.inputShadow,
.gscrollablegrid div.body table td.editable_cell div input.inputShadow:focus {
    border: 1px solid #ADADAD !important;
    padding: 1px;
    padding-left: 5px;
    padding-right: 5px;
    background-color: white !important;
    border-radius: 0;
}

.gscrollablegrid div.body table td.editable_cell div .gexternallookup .iptH {
	height: 100%;
	display: block;
}
.gscrollablegrid div.body table td.editable_cell div .gexternallookup .icons {
	display: flex;
	align-items: center;
	height: 100%;
}

/** Popup menu button in editable cell */
.gscrollablegrid div.body table td.editable_cell.grid-select > div {
	display: flex;
	box-sizing: border-box;
	padding: 5px;
}
.gscrollablegrid div.body table td.editable_cell.grid-select .sbtn {
    color: #0000EE;
	cursor: pointer;
	display: inline-block;
	align-self: center;
	font-weight: bold;
	text-decoration: none;
}
.gscrollablegrid div.body table td.editable_cell.grid-select .sbtn::after {
	content: "\2193";
	margin-left: 5px;
}

/** header */
.gscrollablegrid div.header {
	border-bottom: 1px solid #a0a0a0;
}
.gscrollablegrid div.header table th.filter-cell {
	text-align: left;
}
.gscrollablegrid div.header table th.filter-cell div input {
	padding-right: 25px;
}
.gscrollablegrid div.header table th.filter-cell div input:focus {
	padding-right: 24px;
}

/** Text alignment */
.gscrollablegrid td.align-center {
	text-align: center;
}
.gscrollablegrid td.align-center > div {
	justify-content: center;
}
.gscrollablegrid td.align-right {
	text-align: right;
}
.gscrollablegrid td.align-right > div {
	justify-content: right;
}


/** Disabled grid */
.gscrollablegrid.disabledObject input, 
.gscrollablegrid.disabledObject .gridCheck label::before {
    background-color: rgba(230, 230, 230, 0.3) !important;
    pointer-events: none;
}
.gscrollablegrid.disabledObject .gridCheck::label {
	pointer-events: none;
}
.gscrollablegrid.disabledObject .sbtn {
	pointer-events: none;
    background-color: #f8f8f8 !important;
}
.gscrollablegrid.disabledObject a.colMasterLink {
	color: #444 !important;
	pointer-events: none;
}
.gscrollablegrid.disabledObject a.colMasterLink:hover {
	text-decoration: none;
}
.gscrollablegrid a.calendaricon {
	margin: 0;
	float: none;
	display: inline-block;
    position: relative;
    top: 2px;
}
.gscrollablegrid .gexternallookup input {
    margin-top: -1px;
}

.cprogress {
	display: inline-flex;
	height: 22px;
	text-align: inherit;
}
.gscrollablegrid .cprogress span {
	display: inline-flex;
	align-items: center; 
	height: inherit;
}
.gscrollablegrid .cprogress .wrp {
	border-radius: 3px;
	overflow: hidden;
	background-color: #E3E3E3;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,0.15);
}
.gscrollablegrid .cprogress .wrp span:nth-child(1) {
	background-color: #6FA643;
	border-radius: 3px;
}
.gscrollablegrid .cprogress .wrp span:nth-child(2) {
	background-color: transparent;
}
.gscrollablegrid .gridCheck.gridCheckDisabled {
    opacity: 0.4;
}
.gscrollablegrid .gridCheck.gridCheckDisabled label::before {
    background-color: rgba(230, 230, 230, 0.3) !important;
    pointer-events: none;
}
.gscrollablegrid .gridCheck.gridCheckDisabled::label {
    pointer-events: none;
}