:root {
    --column-panel-expr-block-size: 220px;
    --column-panel-attr-size: 100px;
    --column-panel-caption-size: 100px;
    --tool-button-width: 22px;
    --tool-button-height: 22px;
    --icon-size: 18px;
}

.eqjs-column-buttonsBlock,
.eqjs-qp-condition-buttonsBlock {
    background-color: var(--button-block-background);
    border-radius: 0;
    padding: 0;
    position: absolute;
    right: 0;
    /*display: flex;*/
    align-items: center;
    justify-content: flex-end;
    /*border: 1px solid red;*/
    top: 4px;
}

.eqjs-qc-column-checkbox:hover,
.eqjs-qp-column-checkbox:hover,
.eqjs-column-buttonsBlock .eqjs-button:hover,
.eqjs-qp-condition-buttonsBlock .eqjs-button:hover {
    color: var(--accent-text-color);
}

.eqjs-qc-column-checkbox,
.eqjs-qp-condition-checkbox,
.eqjs-button,
.eqjs-qp-condition-button,
.eqjs-ep-entity-node-button
{
    width: 22px!important;
    height: 22px!important;
    display: inline-flex!important;
    align-items: center;
    justify-content: center;
    font-family: 'easyquery' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none !important;
    line-height: 1 !important;
    font-size: var(--icon-size);
    color: var(--button-text-color);
    text-decoration: none !important;
    padding: 0;
    outline: none;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.eqjs-ep-entity-node-button,
.eqjs-column-sortbutton,
.eqjs-qc-column-checkbox,
.eqjs-qp-condition-checkbox {
    font-size: 18px;
}

.eqjs-button-placeholder,
.eqjs-qp-button-placeholder {
    margin: 0;
}

.eqjs-ep-entity-node-button {
    top: 2px;
    position: relative;
}

.eqjs-ep-entity-node-button:hover,
.eqjs-ep-entity-node-button-open,
.eqjs-button:hover,
.eqjs-qp-condition-button:hover
{
    color: var(--accent-text-color);
}

.eqjs-ep-entity-node-button:focus {border: none!important;}

.eqjs-ep-tool-panel-select-all,
.eqjs-ep-tool-panel-deselect-all,
.eqjs-ep-tool-panel-add-columns,
.eqjs-ep-tool-panel-add-cond
{
    font-family: "easyquery"!important;
    color: var(--button-text-color);
    display: flex;
    align-items: center;
    justify-content: center;
}

.eqjs-ep-tool-panel-select-all:hover,
.eqjs-ep-tool-panel-deselect-all:hover,
.eqjs-ep-tool-panel-add-columns:hover,
.eqjs-ep-tool-panel-add-cond:hover
{
    color: var(--accent-text-color);
}

.eqjs-qc-row,
.eqjs-qp-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    min-height: auto;
    /*line-height: 1.4;*/
    overflow: hidden;
    flex-shrink: 0;
}

.eqjs-qc-row:not(.eqjs-mobile),
.eqjs-qp-row:not(.eqjs-mobile) {
    height: 30px;
}

.eqjs-qc-row {
    padding-left: 40px;
}

.eqjs-qc-row:not(:nth-last-child(1))
{
    border-bottom: 1px solid var(--border-color);
}

.eqjs-qc-row:not([data-show-buttons]) .eqjs-qc-column-checkbox,
.eqjs-qc-row:not([data-show-buttons]) .eqjs-column-sortbutton.eqjs-column-sortbutton-none
{
    visibility: hidden;
}

.eqjs-buttons-in-block-1.eqjs-qc-row[data-show-buttons] {padding-right: calc(var(--tool-button-width) * 1 + 2px);}
.eqjs-buttons-in-block-2.eqjs-qc-row[data-show-buttons] {padding-right: calc(var(--tool-button-width) * 2 + 2px);}
.eqjs-buttons-in-block-3.eqjs-qc-row[data-show-buttons] {padding-right: calc(var(--tool-button-width) * 3 + 2px);}
.eqjs-buttons-in-block-4.eqjs-qc-row[data-show-buttons] {padding-right: calc(var(--tool-button-width) * 4 + 2px);}
.eqjs-buttons-in-block-5.eqjs-qc-row[data-show-buttons] {padding-right: calc(var(--tool-button-width) * 5 + 2px);}

.eqjs-qc-row.eqjs-qc-disabled[data-show-buttons] {
    padding-right: 60px!important;
}


.eqjs-qc-header {
    padding-right: 100px;
}

.eqjs-qc-header.eqjs-no-buttons {
    padding-right: 0;
}


.eqjs-qc-expr-block {
    flex-basis: var(--column-panel-expr-block-size);
    min-width: var(--column-panel-attr-size);
    white-space: nowrap;
    margin-left: 10px;
    flex-shrink: 1;
    overflow: hidden;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.eqjs-qc-expr-block > * {
    margin: 0 2px!important;
}

.eqjs-qc-expr-block a, .eqjs-qc-expr-block a:hover {
    border-bottom: none;
}

.eqjs-qc-captionelement, .eqjs-qp-valueelement {
    margin-left: 10px;
    flex-shrink: 1;
    flex-grow: 1;
    width: var(--column-panel-caption-size);
    min-width: 0;
    overflow: hidden;
    height: 100%;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.eqjs-qp-valueelement {
    width: auto;
    flex-grow: 0;
}

.eqjs-qc-attrelement, .eqjs-qp-attrelement, .eqjs-qp-operelement {
    margin-left: 0;
    flex-shrink: 1;
    flex-grow: 1;
    min-width: 0;
    overflow: hidden;
    height: 100%;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    width: var(--column-panel-attr-size);
    flex-basis: var(--column-panel-expr-block-size);
}

.eqjs-qc-captionelement a,
.eqjs-qc-captionelement span,
.eqjs-qc-attrelement a,
.eqjs-qp-attrelement a,
.eqjs-qp-valueelement a,
.eqjs-qp-operelement a
{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    align-items: center;
    border: 1px solid transparent;
    padding: 0 2px;
}

.eqjs-qc-captionelement a, .eqjs-qc-captionelement a:hover {
    color: #05496b;
    border-bottom: none;
}

.eqjs-qc-column-checkbox, .eqjs-qc-sortbutton-placeholder {
    position: absolute;
    flex: 0 0 18px!important;
}

.eqjs-qc-column-checkbox {
    left: 4px;
}

.eqjs-qc-sortbutton-placeholder {
    left: 24px;
    top: 3px;
}

.eqjs-button-placeholder {
    width: var(--tool-button-width);
    height: var(--tool-button-height);
}

.eqjs-button-placeholder:hover,
.eqjs-qp-button-placeholder:hover {
    background-color: var(--button-background-hover);
}

.eqjs-qc-row.eqjs-no-checkbox {
    padding-left: 20px;
}

.eqjs-qc-header.eqjs-no-checkbox .eqjs-qc-header-expression {
    margin-left: 30px;
}

.eqjs-qc-row.eqjs-no-checkbox .eqjs-qc-sortbutton-placeholder {
    left: 4px;
}

.eqjs-qc-header {
    display: flex;
    flex-flow: row wrap;
    height: 22px;
    overflow: hidden;
}


.eqjs-qc-header-expression {
    margin-left: 20px;
    flex-basis: var(--column-panel-expr-block-size);
    min-width: var(--column-panel-expr-block-size);
}

.eqjs-qc-header-title {
    flex-shrink: 0;
    flex-grow: 1;
    width: var(--column-panel-caption-size);
    margin-left: 2px;
    display: inline-block;
}

.eqjs-addrow {
    padding: 10px 0;
    border-top: 1px solid var(--border-color);
}

.eqjs-qp-ve-editbox {
    z-index: 2;
}

.eqjs-menu-scrollDiv:not(.eqjs-mobile) {
    /*max-height: 500px;*/
}

.eqjs-qc-colelement {
    margin: 0;
}

.eqjs-qc-captionelement {
    padding: 0!important;
}

.eqjs-qc-captionelement a, .eqjs-qc-expr-block > div {
    height: 18px;
}

.eqjs-qc-captionelement a {
    top: -1px;
}

.eqjs-qp-row {
    padding-right: 66px;
    flex-wrap: nowrap;
    /*min-width: 360px;*/
}

.eqjs-qp-attrelement {
    max-width: fit-content;
}

.eqjs-qp-valueelement {
    min-width: 50px!important;
    margin-left: 0;
}

.eqjs-qp-operelement {
    max-width: fit-content;
}

.eqjs-qp-disabled span, .eqjs-qc-disabled span {
    margin-bottom: 0;
}

/* ColumnsBar */
.eqjs-cb-addrow, .eqjs-sb-addrow {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0!important;
    border: none!important;
}

.eqjs-cb-addrow a, .eqjs-sb-addrow a {
    display: flex;
    height: 23px;
    width: 23px;
    font-family: easyquery;
    text-decoration: none;
    position: relative;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #c2c2c2
}

.eqjs-cb-addrow a:hover, .eqjs-sb-addrow a:hover {
    color: #0a0a0a;
    border-bottom: none!important;
}

.eqjs-cb-addrow a::before, .eqjs-sb-addrow a::before {
    left: -20px;
    top: 0;
    position: absolute;
}

.eqjs-cb-buttonsBlock, .eqjs-sb-buttonsBlock {
    top: auto;
    bottom: 100%;
}

.eqjs-cb-buttonsBlock > div, .eqjs-sb-buttonsBlock > div {
    width: 23px;
    height: 23px;
    background: #ccc;
    display: flex!important;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: normal;
    border-radius: 4px;
}

.eqjs-cb-buttonsBlock > div:hover, .eqjs-sb-buttonsBlock > div:hover {
    background: #0a0a0a;
    color: #ffffff;
}

/* Mobile */
.eqjs-qc-row.eqjs-mobile, .eqjs-qp-row.eqjs-mobile {
    padding: 4px 8px;
    line-height: 1.2;
}

.eqjs-qc-expr-block.eqjs-mobile {
    margin-left: 40px;
}

.eqjs-qp-condition-buttonsBlock.eqjs-mobile {
    top: 6px;
}

.eqjs-menu-scrollDiv.eqjs-mobile {
    height: calc(100vh - 50px)!important;
    max-height: calc(100vh - 50px)!important;
}

.eqjs-qp-row.eqjs-mobile {
    padding: 0 10px;
    margin: 4px 4px 0 4px;
}

.eqjs-qp-row-group.eqjs-mobile {
    padding: 4px 10px!important;
}

.eqjs-qp-condition-buttonsBlock.eqjs-mobile {
    top: 0!important;
}

.eqjs-cb-addrow.eqjs-mobile a, .eqjs-sb-addrow.eqjs-mobile a {
    background: none!important;
}

.eqjs-qc-row.eqjs-mobile {
    border-style: solid;
}

/* Legacy */
.eqjs-addrow > a:hover {
    text-decoration: none;
    border-bottom: 1px dashed;
}

.eqjs-qc-captionelement {
    border: 1px solid transparent;
    padding: 2px;
}

.eqjs-qc-captionelement input {
    min-width: var(--column-panel-caption-size);
    width: auto;
}

.eqjs-qp-condition-buttonsBlock, .eqjs-facets-total-buttons {
    margin-right: 10px;
}
