table.gridvue { width: 100%; border-collapse: separate !important; border-spacing: 0; border-width: 0; }
/* CAPTION WITH TABLE TITLE */
table.gridvue > caption {
	border-style: none;
	padding: 5px 0;
	color: initial;
	text-align: left;
	caption-side: top;
	border-radius: 4px 4px 0 0;
	}
	table.gridvue > caption h1, table.gridvue > caption h2, table.gridvue > caption h3, table.gridvue > caption h4, table.gridvue > caption h5, table.gridvue > caption h6, table.gridvue > caption h7 {
		float: left;
		padding: 4px 0;
		margin: 0;
	}
	table.gridvue > caption:after {
		border-style: none;
		border-radius: 4px 4px 0 0;
		padding: 5px;
		text-align: right;
	}
	table.gridvue > caption .input-group .btn:not([class*="btn-"]) { background-color: ButtonFace; border-color: #ccc; }
	table.gridvue > caption .input-group .btn:not([class*="btn-"]):hover, table.gridvue > caption .input-group > input:active + div > .btn:not([class*="btn-"]), 
    	table.gridvue > caption .input-group > input:focus + div > .btn:not([class*="btn-"]), table.gridvue > caption .input-group:hover .btn:not([class*="btn-"]) { background-color: #ccc; border-color: #bbb; }

/* HEADER */
table.gridvue > thead { margin-right: -1px; }
	table.gridvue > thead > tr > th, table.gridvue > thead > tr > td {
		font-weight: normal;
		color: #fff;
		background-color: #666666;
		border: solid #fff;
		border-width: 0 1px 0 0;
		height: 30px;
		line-height: 18px;
		vertical-align: middle;
		position: relative;
		padding: 10px;
		z-index: 1;
	}
	table.gridvue.table-sm > thead > tr > th, table.gridvue > thead > tr > td {
		padding: 0.5rem;
	}
	table.gridvue > thead > tr > th:active, table.gridvue > thead > tr > td:active { outline: none; }
	table.gridvue > thead > tr > th:last-child, table.gridvue > thead > tr > td:last-child { border-right-width: 0; }
		table.gridvue > thead > tr > th > a, table.gridvue > thead > tr > th > span, table.gridvue > thead > tr > td > a, table.gridvue > thead > tr > td > span {
			display: block;
			min-height: 23px;
			color: white;
			background-color: transparent;
			text-decoration: none !important;
		}
	table.gridvue > thead > tr > th > a:hover { text-decoration: none; }

/* SORTING */
table.gridvue > thead > tr > [data-sortable="true"], table.gridvue > thead > tr > .controls { cursor: pointer; padding: 0 10px; }
	table.gridvue > thead > tr > [data-sortable="true"] > a { padding: 12px 0; }
	table.gridvue.table-sm > thead [data-sortable="true"] { padding: 0 0.5rem; }
	table.gridvue.table-sm > thead > tr > [data-sortable="true"] > a,
	table.gridvue.table-sm > thead > tr > [data-sortable="true"] > span {
		padding: 0.5rem 0;
	}
	table.gridvue > thead > tr > [data-sortable="true"]:before {
		position: absolute;
		left: 0;
		display: block;
		width: 100%;
		height: 5px;
		content: '';
		z-index: 0;
	}
    
    table.gridvue > thead > tr > [data-sortable="true"]:hover > *:first-child:before,
    table.gridvue > thead > tr > th:hover:after { background-color: rgba(255, 255, 255, 0.2); }

	table.gridvue > thead > tr > .sorted-desc:before { bottom: 0; top: auto; }
	table.gridvue > thead > tr > .sorted-asc:before { top: 0; bottom: auto; }
    table.gridvue > thead > tr > th[class*="sorted-"]:before { background-color: rgba(255, 255, 255, 0.35); }
	table.gridvue > thead > tr > [data-sortable="true"]:hover > *:first-child:before {
		position: absolute;
		left: 0; bottom: 0; top: auto;
		display: block;
		width: 100%;
		height: 5px;
		content: '';
		z-index: 0;
	}
	table.gridvue > thead > tr > .sorted-asc:hover > *:first-child:before { bottom: 0; top: auto; }
	table.gridvue > thead > tr > .sorted-desc:hover > *:first-child:before { top: 0; bottom: auto; }
	table.gridvue > thead > tr > [data-sortable="true"]:hover > *:first-child:after {
		position: absolute;
		top: 4px; left: 0;
		display: block;
		width: 100%;
		color: #fff;
		z-index: 0;
		text-align: center;
		filter: alpha(opacity=40);
		opacity: 0.4;
		font: normal normal 0.8em 'Glyphicons Regular';
		line-height: 1;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
	table.gridvue > thead > tr > .sorted-asc:hover > *:first-child:after { content: '\e602'; top: auto; bottom: 4px; }
	table.gridvue > thead > tr > .sorted-desc:hover > *:first-child:after { content: '\e601'; }

table.gridvue > thead > tr > .controls { text-align: center; font-size: 18px; color: #fff; }
	table.gridvue > thead > tr > .controls a, table.gridvue > thead .controls input, table.gridvue > thead .controls button { color: #fff; background-color: transparent; cursor: pointer; text-decoration: none; }
	table.gridvue > thead > tr > .controls:first-child, table.gridvue > thead .controls:first-child + .controls { width: 18px; }
	table.gridvue > thead > tr > .controls:last-child { width: 35px; white-space: nowrap; }

/* BODY */
table.gridvue > tbody > tr > td {
	border: solid #cccccc;
	border-width: 0 1px 1px 0;
	height: 22px;
	padding: 8px 10px 5px 10px;
	font-size: 0.9em;
	}
	table.gridvue.table-sm > tbody > tr > td { padding: 0.5rem; }
	table.gridvue > tbody > tr > th { font-weight: bold; }
	table.gridvue > tbody > tr > td:first-child { border-left-width: 1px; }
	table.gridvue > tbody > tr.selected > td:not(.controls) { background-color: #cccccc; transition: all 0.25s ease-out; }
	table.gridvue > tbody > tr > td > .text-ellipsis { position: absolute; height: 20px; max-width: calc(100% - 15px); margin-top: -10px;  }

table.gridvue > tbody > tr > .controls {
	text-align: center;
	font-size: 0;
	white-space: nowrap;
	padding: 0 5px;
	vertical-align: middle;
	}
	table.gridvue > tbody > tr > .controls a { vertical-align: -2px; }
    fieldset.search-group {
		display: inline-block;
		border-style: none;
		padding: 0;
		margin: 0 0 -3px 0;
	}
	table.gridvue > tbody > tr > .controls > * { font-size: 16px; margin: 0 2px; }
	table.gridvue > tbody > tr > .controls a, table.gridvue > tbody > tr > .control:before, table.gridvue > tbody > tr > .controls input, 
	table.gridvue > tbody > tr > .controls button, table.gridvue > tbody > tr > .controls .btn { background-color: transparent; cursor: pointer; text-decoration: none; }

/* responsive */
table.gridvue > tbody > tr.parent > td:not(.controls), table.gridvue > tbody > tr.selected > td:not(.controls) { transition: all 0.25s ease-out; }
	table.gridvue > tbody > tr.child { display: none; }
	table.gridvue > tbody > tr.child .expandable-content { height: 0; overflow: hidden; }
	table.gridvue > tbody > tr.parent + tr.child { display: table-row; height: auto; }
	table.gridvue > tbody > tr.child > td { padding: 0; height: 0; }
	table.gridvue > tbody > tr.child .expandable-content { margin: 0; padding: 0 20px; }
	table.gridvue.table-sm > tbody > tr.child .expandable-content { padding: 0 0.75rem; }

	table.gridvue th.control, table.gridvue td.control { display:none; cursor: pointer; }
	table.gridvue.expandable th.control, table.gridvue.expandable td.control { display: table-cell; }
	table.gridvue:not(.expandable) td.control + * { border-left-width: 1px; }
	table.gridvue th.control:before, table.gridvue td.control:before {
		font-family: 'Glyphicons Halflings';
		position: relative;
		speak: none;
		top: 1px;
		display: inline-block;
		font-style: normal;
		font-weight: normal;
		font-size: 16px;
		width: 16px; height: 16px;
		line-height: 1;
		text-decoration: none;
		text-align: center;
		vertical-align: middle;
		content: '\e250';
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
	table.gridvue tr.parent > th.control:before, table.gridvue tr.parent > td.control:before { content: '\e252'; }
	table.gridvue.expandable th.none, table.gridvue.expandable td.none, table.gridvue.expandable th.expandable, 
	table.gridvue.expandable td.expandable, table.gridvue.expandable th.never, table.gridvue.expandable td.never, 
    table.gridvue th.none, table.gridvue td.none,  
    table.gridvue th.never, table.gridvue td.never { display: none; }
	table.gridvue dl { display: inline-block; white-space: nowrap; padding: 0; margin: 0 20px 0 0; vertical-align: top; }
	table.gridvue dl > dt {
		display: inline-block;
		height: auto;
		line-height: 20px;
		padding: 5px 0;
		margin: 0;
		font-weight: bold;
		vertical-align: top;
	}
	table.gridvue dl > dd {
		display: inline-block;
		height: auto;
		line-height: 20px;
		padding: 5px 0 5px 5px;
		margin: 0;
		white-space: normal;
	}
    table.gridvue .table-responsive { max-height: 240px; }

/* pagination */
table.gridvue[data-paging="false"] > tfoot { display: none; }
table.gridvue > tfoot > tr > th, table.gridvue > tfoot > tr > td { position: relative; background-color: #fff; }
table.gridvue .pagination { margin: 5px auto; text-align: center; border-radius: 0; }
table.gridvue.table-sm .pagination { margin: 0.25rem auto; }
table.gridvue .pagination > li.active > a { color: #fff; background-color: #666; border-color: #666; }
table.gridvue .pagination > li:first-child { }
table.gridvue .pagination > li:last-child { border-width: 1px; }
table.gridvue .pagination > li:first-child > a, table.gridvue .pagination li:last-child > a { padding-right: 15px; border-radius: 0; }
table.gridvue .pagination > li, table.gridvue .pagination > li > a { text-decoration: none; user-select: none !important; -webkit-user-select: none !important; }
table.gridvue .pagination > li:not(.active) > a:hover { color: #333; }
table.gridvue .pagination > li .popover-content input[type="number"] { color: #333; }

table.gridvue.table-sm .pagination > li > a, table.gridvue.table-sm .pagination > li > span { padding: .6em .75em; line-height: .75em; }

table.gridvue .progress { margin-bottom: 3px; }

/* gridvue pre-scrollable*/
table.gridvue .gridvue-pre-scrollable { max-height: 60px; overflow-y: auto; }
