.iTable-resize-enabled {
    position:relative;
}
.iTable-resize-enabled .iTable-resizer{
    display:none;
}

.iTable-resize-enabled:hover .iTable-resizer,.active .iTable-resizer{
    display:block;
}

.iTable-resizer{
    background-color:#e2e6ea;
    width:7px;
    position: absolute;
    right:-4px;
    top:0;
    bottom:0;
    cursor:col-resize;
    border-radius: 2px;
    z-index:20;
}

.iTable-Header-Cell{
    vertical-align: middle!important;
    cursor:grab;
}

.iTable-resizer:hover,.iTable-resizer.active,.active .iTable-resizer{
    background-color:#007bff;
}
.iTable-Header-Cell-Outer {
    margin: 0;
    height: 100%;
    overflow: hidden;
}

.iTable-Header-Cell-Inner {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    height: 28px;
    overflow: hidden;
    flex-direction: row;
}

.iTable-Spacer-Start{
    display: flex;
    flex:1 1 0px;
    align-items: end;
    max-height: 100%;
    transition-property: flex-basis, width;
    transition-duration: 100ms,100ms;
}
.iTable-Spacer-End{
    display: flex;
    flex:1 1 0px;
    align-items: end;
    max-height: 100%;
    transition-property: flex-basis, width;
    transition-duration: 100ms,100ms;
}

.iTable-Column-sorted .iTable-Spacer-Start,.iTable-Header-Cell:hover .iTable-Spacer-Start{
    flex:1 0 20px;
}


.iTable-Header-Container{
    height:28px;
    display: flex;
    flex:0 1 auto;
    align-items: center;
    max-height: 100%;
    vertical-align: top;
    max-width:100%;
    overflow: hidden;
    padding: 0 6px!important;

    align-self: center;
    justify-content: center;
}

.iTable-HeaderEditor {
    height:28px;
    display: inline-block;
    align-items: center;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    width:100%;
    border:1px solid transparent;
    padding: 0.25rem 4px!important;
    cursor: text;
}

.iTable-Header-Cell-Sorted
{

}

.iTable-Header-Sorting {
    cursor:pointer;
    height:16px;
    border-radius: 50%;
    width: 0px;
    transition-property: visibility, opacity, width;
    transition-duration: 0ms, 0ms, 100ms;
    transition-delay: 0ms, 0ms, 0ms;
    visibility: hidden;
    opacity: 0;
    display: block;
}


.iTable-Header-Sorting *{
    line-height: 16px!important;
    font-size: 16px!important;
    text-align: center;
    margin: 0 auto;
    vertical-align: middle;
    width:16px;
}



.iTable-Header-Sorting:hover {
    background-color:#007bff!important;;
    color:#fff;
}

 .iTable-Column-sorted .iTable-Header-Sorting, .iTable-Column-sorted .iTable-Header-Cell:hover .iTable-Header-Sorting {
    background-color:#007bff!important;
    color:#fff;
    display: block;
    visibility: inherit;
    opacity: 1;
    width: 16px;
}

.iTable-Header-Options {
    width: 0px;
    height: 20px;
    transition-property: visibility, opacity, width;
    transition-duration: 0ms, 0ms, 100ms;
    transition-delay: 0ms, 0ms, 0ms;
    visibility: hidden;
    opacity: 0;
    background-color:#f8f9fa;
    border-radius: 3px;
    cursor: pointer;
}


.iTable-Header-Options *{
    line-height: 20px!important;
    font-size: 14px!important;
    text-align: center;
    margin: 1px auto 0;
    vertical-align: middle;
    width:20px;
}

.iTable-Header-Options:hover,.iTable-Header-Cell.show-menu .iTable-Header-Options {
    background-color:#007bff!important;
    color: #fff;
}



.iTable-Header-Cell:hover .iTable-HeaderEditor,.iTable-Header-Cell.show-menu .iTable-HeaderEditor {
    border:1px solid #e2e6ea;
    border-radius: 3px;
}

.iTable-Header-Cell:hover .iTable-Header-Container,.iTable-Header-Cell.show-menu .iTable-HeaderEditor-Container{
    overflow: hidden;
}

.iTable-Header-Cell:hover .iTable-Spacer, .iTable-Header-Cell.show-menu .iTable-Spacer ,.active .iTable-Spacer
{
    flex: 1 1 0px;
}

.iTable-Header-Cell:hover .iTable-Spacer-Start, .iTable-Header-Cell.show-menu .iTable-Spacer-Start,.active .iTable-Spacer-Start{
    flex: 1 0 20px;
}
.iTable-Header-Cell:hover .iTable-Spacer-End, .iTable-Header-Cell.show-menu .iTable-Spacer-End,.active .iTable-Spacer-End{
    flex: 1 0 20px;
    //align-self: flex-end;
    justify-content: right;
}
.iTable-Header-Cell:hover .iTable-Header-Sorting, .iTable-Header-Cell.show-menu .iTable-Header-Sorting, .iTable-Header-Cell.show-menu .iTable-Header-Sorting,.active .iTable-Header-Sorting{
    width: 16px;
    /* display: inline-block; */
    visibility: inherit;
    opacity: 1;
    transition-property: visibility, opacity, width;
    transition-duration: 0ms, 0ms, 100ms;
    transition-delay: 105ms, 105ms, 0ms;
    background-color:#f8f9fa;
    display: block;
}

.iTable-Header-Cell:hover .iTable-Header-Options , .iTable-Header-Cell.show-menu .iTable-Header-Options,.active .iTable-Header-Options{
    width: 20px;
    /* display: inline-block; */
    visibility: inherit;
    opacity: 1;
    transition-property: visibility, opacity, width;
    transition-duration: 0ms, 0ms, 100ms;
    transition-delay: 105ms, 105ms, 0ms;
}

.iTable-Header-Sort {
    position: fixed;
    z-index:201;
}

.iTable-Options-Menu {

}

.iTable-Options-Menu a {
    cursor:pointer;
}

@-moz-document url-prefix() {
  .iTable-Scrollbar-Container {
    padding-bottom:14px;
  }
}

.iTable-columnDragImpostor {
    position: fixed;
    background-color: #eeeeee;
    z-index:2000;
    box-shadow: 5px 5px 10px rgba(0,0,0,0.75);
}

.iTable-columnDragImpostor .iTable-resizer,.iTable-columnDragImpostor .iTable-Header-Sorting,.iTable-columnDragImpostor .iTable-Header-Options {
    display: none!important;
}


.iTable-columnPlaceholder {
    background-color:#eee;
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
}

@keyframes placeHolderShimmer{
    0%{
        background-position: -468px 0
    }
    100%{
        background-position: 468px 0
    }
}

.iTable-Loading {
    height:14px;
    width:100%;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    animation-name: placeHolderShimmer;
    animation-timing-function: linear;
    background: #F6F6F6;
    background: linear-gradient(to right, #F6F6F6 8%, #F0F0F0 18%, #F6F6F6 33%);
    background-size: 800px 104px;
    position: relative;
}


    .grid-container {
  display: grid; /* This is a (hacky) way to make the .grid element size to fit its content */
  overflow: auto;
}
.grid {
  display: flex;
  flex-wrap: nowrap;
}

.iTable-Header {
    position: relative;
    height: 42px;
}

.iTable-Header .grid {
    align-items: end;
    position: absolute;
    bottom: 0;
    height: 42px;
}


.iTable-Header .grid-col {
    position: sticky;
    top:88px;
    z-index: 1;
}

.grid-col {
    border: 1px solid rgba(0,0,0,.125);
    margin-right: -1px;
}

.grid-item--header {
    height: 40px;
    min-height: 40px;
    position: sticky;
    position: -webkit-sticky;
    background: white;
    top: 0;
    padding: 5px 6px!important;
    font-weight: bold;
}

.grid-item--header:hover,.grid-col.active .grid-item--header {
    background-color: #f8f9fa!important;
}

.grid-col.no-resize .grid-item--header{
    cursor:default;
}

.grid-col--fixed-left {
  position: sticky;
  left: 0;
  z-index: 10!important;
  background: white;
}



.grid-col--fixed-left .grid-item.iTable-Header-Cell{
    background-color:#f0f7ff;
    //padding: 4px 5px 4px!important;
}

.grid-col--fixed-right {
  position: sticky;
  right: 0;
  z-index: 40!important;
  background: white;
}

.grid-item {
    height: 40px;
    border: 1px solid rgba(0,0,0,.125);
    border-top: 0;
    border-right:0;
    border-left:0;
    background-color: #ffffff;
    padding: 8px;
    line-height:24px;
    text-overflow: ellipsis ;
    white-space: nowrap;
    position:relative;
}

.grid-item:not(.grid-item--header) {
    overflow: hidden;
}

.grid-last-element {
    flex: 1 1 110px;
}

.iScrollBar{
    position: relative;
    height:15px;
    overflow: hidden;
}
.iScrollBarHandle{
    position:absolute;
    top:0;
    left:0;

}

.iTable-Header .grid-col:hover {
    z-index:5;
}

.iTable-Header .grid-col.grid-col--fixed-left:hover {
    z-index:11;
}

.overflow-visible {
    overflow: visible!important;
}