
.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px; display: block; }
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }

/* classes deliberately lacking in specificity and at the beginning of the sheet to increase likelihood of being overwritten by other specifications */
.faintGrey {     background-color:rgba(0,0,0,0.03) }
.groupLevel1 {   background-image: url(img/grey05.png)}
.groupLevel2 {   background-image: url(img/grey10.png) }
.groupLevel3 {   background-image: url(img/grey15.png) }
.groupLevel4 {   background-image: url(img/grey20.png) }
.groupLevel5 {   background-image: url(img/grey25.png) }
.groupLevel6 {   background-image: url(img/grey30.png) }
.groupLevel7 {   background-image: url(img/grey35.png) }
.groupLevel8 {   background-image: url(img/grey40.png) }
.groupLevel9 {   background-image: url(img/grey45.png) }
.groupLevel10 {  background-image: url(img/grey50.png) }
.groupLevel11 {  background-image: url(img/grey55.png); color:#FFF }
.groupLevel12 {  background-image: url(img/grey60.png); color:#FFF }
.groupLevel13 {  background-image: url(img/grey65.png); color:#FFF } 
.groupLevel14 {  background-image: url(img/grey70.png); color:#FFF }
.groupLevel15 {  background-image: url(img/grey75.png); color:#FFF }
.groupLevel16 {  background-image: url(img/grey80.png); color:#FFF }
.groupLevel17 {  background-image: url(img/grey85.png); color:#FFF }
.groupLevel18 {  background-image: url(img/grey90.png); color:#FFF }
.groupLevel19 {  background-image: url(img/grey95.png); color:#FFF }
.groupLevel20 {  background-color:#000;color:#FFF }

div.kgcubed-grid {
    border:1px solid black;
    position:relative;
    background-color:#666;
}
div.kgcubed-grid div.scrollArea {
    z-index: 3;
    position:absolute;
    overflow:auto;
    border-top: 1px solid #DDD;
    border-left: 1px solid #DDD;
}
div.kgcubed-grid div.cells, div.kgcubed-grid div.frozenCells, div.kgcubed-grid div.frozenColumnCells, div.kgcubed-grid div.frozenRowCells, div.kgcubed-grid div.frozenHeaderCells {
   position:relative;
}
div.kgcubed-grid div.scrollArea, div.kgcubed-grid div.frozenArea, div.kgcubed-grid div.frozenColumnArea, div.kgcubed-grid div.frozenRowArea {
    background-color: white;
}
div.kgcubed-grid textarea.clipboard {
    position:absolute;
    left:-10em;
    top:-10em;
    width:8em;
    height:5em;
    border:0;
}
div.kgcubed-grid div.frozenArea {
    position:absolute;
    z-index: 15;
    overflow:hidden;
    border-top: 1px solid #DDD;
    border-left: 1px solid #DDD;
    border-right:1px solid #AAA;
    border-bottom:1px solid #AAA;
}
div.kgcubed-grid div.frozenColumnArea {
    position:absolute;
    z-index: 10;
    overflow:hidden;
    border-top: 1px solid #DDD;
    border-left: 1px solid #DDD;
    border-right:1px solid #AAA;
}
div.kgcubed-grid div.frozenRowArea {
    position:absolute;
    z-index: 10;
    overflow:hidden;
    border-top: 1px solid #DDD;
    border-left: 1px solid #DDD;
    border-bottom:1px solid #AAA;
}
div.kgcubed-grid div.frozenHeaderArea {
    position:absolute;
    z-index: 30;
    overflow:hidden;
    border-left: 1px solid #DDD;
    border-right:1px solid #777;
    background-color: #AAA;
    top:0%;
}
div.kgcubed-grid div.headerArea {
    position:absolute;
    top:0px;
    z-index: 20;
    overflow:hidden;
    border-left: 1px solid #999;
}
div.kgcubed-grid div.columnHeaderCell {
    float:left;
    white-space:normal;
    word-wrap: break-word;
    background-color: #CCC;
    height:100%;
    border-right:1px solid #999;
    border-bottom:1px solid #999;
    -moz-box-sizing: border-box;		
    -webkit-box-sizing: border-box;		
    -ms-box-sizing: border-box;		
    box-sizing: border-box;
    padding-top:1px;
    padding-bottom:1px;
    padding-left:3px;
    padding-right:3px;
}
div.kgcubed-grid div.columnGroupArea {
    position:absolute;
    z-index: 50;
    background-color: yellow;
    overflow:hidden;
    top:0;
}
div.kgcubed-grid div.columnGroupCells>div {
    position:absolute
}

div.kgcubed-grid div.grabbable>div {
    cursor: grab;
}
div.kgcubed-grid div.cell {
    position:absolute;
    overflow: hidden;
    border-bottom: 1px solid #DDD;
    border-right: 1px solid #DDD;
    padding-left:3px;
    padding-right:3px;
    white-space:nowrap;
    -moz-box-sizing: border-box;		
    -webkit-box-sizing: border-box;		
    -ms-box-sizing: border-box;		
    box-sizing: border-box;	
    -webkit-touch-callout: none; /* iOS Safari */		
    -webkit-user-select: none;   /* Chrome/Safari/Opera */		
    -khtml-user-select: none;    /* Konqueror */		
    -moz-user-select: none;      /* Firefox */		
    -ms-user-select: none;       /* IE/Edge */		
    user-select: none;
    
}
div.kgcubed-grid div.cell.groupingCell {
    font-weight:bold;
    border:1px solid black;
}
div.kgcubed-grid div.cell.fetching {
    color:#000000;
    background:url('img/paste.png');
    background-size: auto 100%;
    background-repeat: repeat;
    background-position: center;
    font-weight:bold;
}
div.kgcubed-grid div.cell.multiple {
    color:#000;
    background:url('img/multiple.png');
    background-size: auto 100%;
    background-repeat: repeat;
    background-position: center;
    font-weight:bolder;
    background-color:#EE9999;
}
div.kgcubed-grid div.greyedOut {
    background-color:#888;
    color:#333;
}
div.kgcubed-grid div.isDragging {
    width:200%;
    height:200%;
}
div.kgcubed-grid div.isDragging>div {
    border:1px solid black;
    margin-right:0.2em;
    cursor: grabbing;
    border-radius:8px;
    background-color: #DDD;
}
div.kgcubed-grid div.left {
    text-align:left;
}
div.kgcubed-grid div.right {
    text-align:right;
}
div.kgcubed-grid div.center {
    text-align:center;
}

div.kgcubed-grid div.resizeShadow {
    position:absolute;
    z-index: 200;
    background-color:rgba(0,0,0,0.1);
}
div.kgcubed-grid div.groupHeaderCell {
    float:left;
    background-color: #CCC;
    text-align: center;
}
div.kgcubed-grid div.groupHeaderCell.beingDragged div.headerCellColumnArea>div {
    margin-left:-1px;
    background-color:transparent
}
div.kgcubed-grid div.groupHeaderCell.beingDragged div.headerCellColumnArea>div>div {
    background-color: transparent;
}
div.kgcubed-grid div.groupHeaderCell.beingDragged div.arrowFilter {
    display:none;
}
div.kgcubed-grid div.groupHeaderCellText {
    border-right:1px solid #999;
    border-bottom:1px solid #999;
    padding-left:3px;
    padding-right:3px;
    padding-bottom:1px;
}
div.kgcubed-grid div.cBoth {
    clear:both;
}
div.kgcubed-grid div.headerCellColumnArea:not(.isDragging) {
    width:101%;
}
div.kgcubed-grid div.headerCellColumnArea.isDragging>div.groupHeaderCell:not(.beingDragged) {
    background-color:#CCC
}

div.kgcubed-grid div.rowExpandersArea {
    position:absolute;
    left:0px;
    overflow:hidden;
    background-color: #CCC;
}
div.kgcubed-grid div.leaf {
    position:absolute;
    height:0.8em;
    width:2em;
    background:url('img/leaf.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 70%;
}
div.kgcubed-grid div.expand {
    position:absolute;
    height:0.8em;
    width:2em;
    cursor:pointer;
    background:url('img/expand.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right;
}
div.kgcubed-grid div.collapse {
    position:absolute;
    height:0.8em;
    width:2em;
    cursor:pointer;
    background:url('img/collapse.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right;
}

div.kgcubed-grid div.dark {
    background-color: lightsteelblue;
}
div.kgcubed-grid div.light {
    background-color: lightblue;
}

div.kgcubed-grid div.bottomRightCorner {
    position:absolute;
    height:1px;
    width:1px;
}

div.kgcubed-grid div.selectionDIV {
    background-color:rgba(32,32,128,0.2);
    position:absolute;
    z-index: 10;
}
div.kgcubed-grid div.copiedSelectionDIV {
    border:2px blue dashed;
    position:absolute;
    z-index: 13;
    -moz-box-sizing: border-box;		
    -webkit-box-sizing: border-box;		
    -ms-box-sizing: border-box;		
    box-sizing: border-box;
}


div.kgcubed-grid div.editDIV {
    position:absolute;
    z-index: 15;
    border: 1px solid black;
    background-color:white;
    -moz-box-sizing: border-box;		
    -webkit-box-sizing: border-box;		
    -ms-box-sizing: border-box;		
    box-sizing: border-box;
}

div.kgcubed-grid div.editDIV input, div.kgcubed-grid div.editDIV select {
    background-color:transparent;
    border:0;
    width:100%;
    height:100%;
    font-size:85%;
}

div.kgcubed-grid div.toolbar {
    position:absolute;
    height:3em;
    top:-3em;
    width:calc(100% + 2px);
    background-color:rgba(0,0,0,0.05);
    border:1px solid rgba(0,0,0,0.15);
    display: none;
    border-top-left-radius: 0.75em;
    border-top-right-radius: 0.75em;
    margin-left:-1px;
    z-index: 50;
}
div.kgcubed-grid div.toolbar div {
    float:left;
    margin-top:0.5em;
    height:2em;
    width:2em;
    cursor:pointer;
    margin-left: 0.5em;
    margin-right: 0.5em;
}
div.kgcubed-grid div.toolbar div.button {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
div.kgcubed-grid div.toolbar div.button:hover {
    border:1px solid #CCC;
    border-radius: 4px
}
div.kgcubed-grid div.toolbar div.copy { background-image:url('img/copy.png'); }
div.kgcubed-grid div.toolbar div.paste { background-image:url('img/paste.png'); }
div.kgcubed-grid div.toolbar div.group { background-image:url('img/group.png'); }
div.kgcubed-grid div.toolbar div.clearFilter { background-image:url('img/clearFilter.png'); }
div.kgcubed-grid div.toolbar div.columnBucket { background-image:url('img/columns.png'); }
div.kgcubed-grid div.toolbar div.formula { background-image:url('img/function.png'); }
div.kgcubed-grid div.toolbar div.zoomIn { background-image:url('img/zoomIn.png'); }
div.kgcubed-grid div.toolbar div.zoomOut { background-image:url('img/zoomOut.png'); }
div.kgcubed-grid div.toolbar div.formulaBar {
    background-color:#DDD;
    position:absolute;
    width:100%;
    z-index:10;
    height:calc(3em - 2px);
    margin:0;
    border-top-left-radius: 0.75em;
    border-top-right-radius: 0.75em;
}
div.kgcubed-grid div.toolbar div.formulaBar>div {
    width:2em;
    margin-left: 0.2em;
    margin-right: 0.2em;
    margin-top:0.4em;
}
div.kgcubed-grid div.toolbar div.formulaBar>div:first-child {
    background-image:url('img/delete.png');
    background-size: 70%;
    background-repeat: no-repeat;
    background-position: center;
}
div.kgcubed-grid div.toolbar div.formulaBar>div:nth-child(2) {
    background-image:url('img/tick.png');
    background-size: 80%;
    background-repeat: no-repeat;
    background-position: center;
}
div.kgcubed-grid div.toolbar div.formulaBar>div:nth-child(3) {
    background-image:url('img/function.png');
    background-size: 80%;
    background-repeat: no-repeat;
    background-position: center;
}
div.kgcubed-grid div.toolbar div.formulaBar>input {
    margin-top:0.55em;
    height:2em;
    width:calc( 100% - 11em);
    border:1px solid #666;
    padding-left:6px;
    float:right;
    margin-right:1em
}
div.kgcubed-grid div.toolbar div.formulaBar>div.functionPopup {
    background-color:rgba(240,240,240,0.9);
    border:1px solid #666;
    position:absolute;
    top:65%;
    left:5em;
    border-radius:4px;
    min-height:20em;
    width:25em;
    overflow:auto;
}
div.kgcubed-grid div.toolbar div.formulaBar>div.functionPopup {color:#000}
div.kgcubed-grid div.toolbar div.formulaBar>div.functionPopup>p {color:#555;font-weight:bold;font-size:130%;text-align:right;margin:0;margin-right:0.3em}
div.kgcubed-grid div.toolbar div.formulaBar>div.functionPopup>ul { padding-left:1.5em}
div.kgcubed-grid div.toolbar div.formulaBar>div.functionPopup>ul>li {
    padding:3px;
    padding-left:1em;
    padding-right:1em;
    border-radius:6px;
    margin-right:1em;
}
div.kgcubed-grid div.toolbar div.formulaBar>div.functionPopup>ul>li:hover { background-color:rgba(255,255,255,0.7)}
div.kgcubed-grid div.statusBar {
    position:absolute;
    max-height:3em;
    bottom:0%;
    left:0%;
    z-index: 10;
}
div.kgcubed-grid div.statusBar>div {
    float:left;
    border:1px solid rgba(0,0,0,0.6);
    border-radius:10px;
    padding:5px;
    background-color:rgba(0,0,0,0.6);
    margin:3px;
    color:white;
    cursor:pointer;
}
div.columnHeaderCell>div.arrowFilter {
    background:url('img/filterArrow.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position:absolute;
    right:2px;
    bottom:1px;
    height:0.4em;
    width:0.65em;
    cursor:pointer;
}
div.columnHeaderCell>div.arrowFiltered {
    background:url('img/filteredArrow.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position:absolute;
    right:2px;
    bottom:1px;
    height:0.4em;
    width:0.65em;
    cursor:pointer;
}
div.kgcubed-grid div.tRight>div.arrowFilter {
    left:2px
}
div.kgcubed-grid div.tRight>div.arrowFiltered {
    left:2px
}
div.kgcubed-grid>div.filterPopup {
    position: absolute;
    width:14em;
    height:16em;
    background-color:#EEE;
    z-index: 35;
    border:1px solid #CCC;
    -moz-box-sizing: border-box;		
    -webkit-box-sizing: border-box;		
    -ms-box-sizing: border-box;		
    box-sizing: border-box;
    box-shadow:5px 5px 5px rgba(0,0,0,0.4);
}
div.filterPopup>input.searchBox {
    width:96%;
    left:2%;
    top:0.2em;
    border-radius: 0;
    position: absolute;
    border:1px solid #AAA;
    -moz-box-sizing: border-box;		
    -webkit-box-sizing: border-box;		
    -ms-box-sizing: border-box;		
    box-sizing: border-box;
    background:url('img/search.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right;
    background-color:#FFF;
    height:1.6em;
    font-size:90%;
}
div.filterPopup>div.valueList {
    position: absolute;
    width:96%;
    left:2%;
    height:13.5em;
    top:2em;
    border:1px solid #AAA;
    background-color:#FFF;
    font-size:90%;
    -moz-box-sizing: border-box;		
    -webkit-box-sizing: border-box;		
    -ms-box-sizing: border-box;		
    box-sizing: border-box;
    overflow-y: auto;
}
div.filterPopup>button {
    position: absolute;
    bottom:0.2em;
    width:30%;
    border-radius: 0;
    font-size:85%;
    height:2em;
    background-color:#CCC;padding:0;
}
div.filterPopup.alreadyFiltered>button {width:18%; font-size:75%}
div.filterPopup>button.sortAZFilterButton {
    left:32%;width:18%;
    background-image:url('img/sortAscending.png');
    background-size: auto 90%;
    background-repeat: no-repeat no-repeat;
    background-position: center;
}
div.filterPopup.alreadyFiltered>button.sortAZFilterButton {left:21%}
div.filterPopup>button.sortZAFilterButton {
    right:32%;width:18%;
    background-image:url('img/sortDescending.png');
    background-size: auto 90%;
    background-repeat: no-repeat no-repeat;
    background-position: center;
}
div.filterPopup.alreadyFiltered>button.sortZAFilterButton {right:21%}
div.filterPopup>button.cancelFilterButton {right:2%;}
div.filterPopup>button.clearFilterButton {
    left:40%;
    width:20%;
    background:url('img/clearFilter.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color:#CCC;
}
div.filterPopup>button.okFilterButton {left:2%;}

div.valueList>div {
    float:left;
    height:2em;
    line-height:2em;
    overflow: hidden;
    width:100%;
}

div.kgcubed-grid div.tLeft {
    text-align:left;
}
div.kgcubed-grid div.tCenter {
    text-align:center;
}
div.kgcubed-grid div.tRight {
    text-align:right;
}
div.kgcubed-grid div.gridListEditor {
    margin-top:-1px; 
    border:1px solid #666;
    background-color:#EEE;
    box-shadow:5px 5px 5px rgba(0,0,0,0.4);
}
div.kgcubed-grid div.gridListEditor>div {
    width:calc(100% - 2em);
    background-color:#E6E6E6;
    border-bottom:1px solid #AAA;
    float:left;
    height:1.4em;
    overflow: hidden;
    white-space:nowrap;
}
div.kgcubed-grid div.gridListEditor>button {
    width:2em;
    height:1.4em;
    min-height:1.4em;
    border:0;
    float:left;
    background:url('img/delete.png');
    background-size: auto 75% ;
    background-repeat: no-repeat;
    background-position: center;
    background-color:#CCC;
}
div.kgcubed-grid div.gridListEditor>button:hover {
    background-color:#CDCDCD;
}
div.kgcubed-grid div.gridListEditor>div>input {
    background-color: white;
}
div.kgcubed-grid div.cells div.topNbottom {
    border-top:1px solid black;
    border-bottom:1px solid black;
}
div.kgcubed-grid div.cells div.leftNright {
    border-left:1px solid black;
    border-right:1px solid black;
}
div.kgcubed-grid div.editDIV>input[type='checkbox'] {
    margin:0
}

div.kgcubed-grid div.columnBucketPopup {
    position:absolute;
    top:0;
    min-width:15em;
    max-width:40em;
    max-height:20em;
    background-color:rgba(224,224,224,0.9);/*#E0E0E0;*/
    z-index:40;
    display:none;
    padding:6px;
    border:1px solid #999;
    border-bottom-right-radius: 1em;
    box-shadow:5px 5px 5px rgba(0,0,0,0.6);
    overflow-y:auto;
    overflow-x:hidden;
    white-space:nowrap;
}
div.kgcubed-grid div.columnBucketPopup div {
    margin:1px;
    border-radius: 6px;
    padding:6px;
}
div.kgcubed-grid div.columnBucketPopup div label {
    width:100%;
}
div.kgcubed-grid div.columnBucketPopup div:hover {
    background-color:rgba(0,0,0,0.1);
}
div.kgcubed-grid div.columnBucketPopup * {
    cursor:pointer;
    margin-right:0.75em;
}


div.kgcubed-grid div.font-red {
    color:red
}
div.kgcubed-grid div.font-green {
    color:green
}
div.kgcubed-grid div.font-white, div.kgcubed-grid div.font-white.link {
    color:white
}
div.kgcubed-grid div.font-grey {
    color:rgba(128,128,128,0.5);
}
div.kgcubed-grid div.red {
    background-color:red
}
div.kgcubed-grid div.green {
    background-color:green
}
div.kgcubed-grid div.yellow {
    background-color:yellow
}
div.kgcubed-grid div.grey {
    background-color:#999
}
div.kgcubed-grid div.link {
    color:blue;
    text-decoration: underline;
    cursor: pointer;
}

div.kgcubed-grid div.columnHeaderCell>div, div.kgcubed-grid div.groupHeaderCellText {
  -webkit-touch-callout: none; /* iOS Safari */		
  -webkit-user-select: none;   /* Chrome/Safari/Opera */		
  -khtml-user-select: none;    /* Konqueror */		
  -moz-user-select: none;      /* Firefox */		
  -ms-user-select: none;       /* IE/Edge */		
  user-select: none;		
}

div.kgcubed-grid div.groupingPopup {
    position:absolute;
    width:40em;
    min-height:20em;
    max-height:100%;
    z-index: 30;
    background-color:rgba(224,224,224,0.9);
    padding:6px;
    border:1px solid #999;
    border-bottom-right-radius: 1em;
    box-shadow:5px 5px 5px rgba(0,0,0,0.6);
    top:0;
}
div.kgcubed-grid div.groupingPopup>ul {
    list-style-type: none;
    padding:0;
    margin:0
}
div.kgcubed-grid div.groupingPopup>ul>li {
    border:1px solid #999;
    margin:0.3em;
    padding:4px;
    border-radius:0.3em;
    background-color:#F0F0F0;
    cursor:move; cursor:-webkit-grab; cursor:-moz-grab; cursor:grab;
}
div.kgcubed-grid div.groupingPopup>ul>li>div {
    float:right;
    width:1.5em;
    height:1.2em ;
    cursor: pointer;
    background:url('img/delete.png');
    background-size: auto 80%;
    background-repeat: no-repeat;
    background-position: right;
}
div.kgcubed-grid div.groupingPopup>p {
    font-weight: bold;
    color:#333;
}
div.kgcubed-grid div.groupingPopup>ul>li>select {
    margin-top:-2px;
    margin-bottom: -2px;
}
div.kgcubed-grid div.groupingPopup>button {
    width:50%;
    position: absolute;
    bottom:1px;
    left:0%;
    height:2em;
}
div.kgcubed-grid div.groupingPopup>button:last-child {
    left:50%;
    border-bottom-right-radius:1em
}
div.kgcubed-grid div.rowExpander {
    padding:2px;
}
div.kgcubed-grid div.rowExpander>div {
    background-color:#999;
    width:1.3em;
    margin:2px;
    text-align:center;
    cursor: pointer;
    border:1px solid #444;
    font-size:70%;
    padding:1.5px;
    border-radius: 3px;
    color:#444;
}
div.kgcubed-grid div.rowExpander>div:hover {
    border:1px solid white;
    background-color:#666;
    color:white;
}

/* deprecated row-cover functionality
div.kgcubed-grid div.cover {
    width:100%;
    background-color:rgba(0,0,0,0.6);
    position: absolute;
    z-index:999;
    color:rgba(255,255,255,0.7);
    font-weight:bold
}
div.kgcubed-grid div.cover:hover {
    background-color:rgba(0,0,0,0.1);
    color:rgba(0,0,0,0.2);
}
*/
div.kgcubed-grid ::-webkit-scrollbar {
     width:1em;height:1em
}
div.kgcubed-grid ::-webkit-scrollbar-track:vertical  {
   background-color:#666;
}
div.kgcubed-grid ::-webkit-scrollbar-thumb:vertical {
    background-color:#CCC;
    border-bottom-right-radius:15px;
    border-top-right-radius:15px;
    border-left:1px solid black;
}
div.kgcubed-grid ::-webkit-scrollbar-track:horizontal  {
   background-color:#666;
}
div.kgcubed-grid ::-webkit-scrollbar-thumb:horizontal {
    background-color:#CCC;
    border-bottom-left-radius:15px;
    border-bottom-right-radius:15px;
    border-top:1px solid black;
}

div.kgcubed-grid>div.verticalDivider {
    width:1px;height:100%;position:absolute;border-left:1px solid black;right:18px;z-index:999
}