/* Стили для лоадера */
.js-loader {
    position : relative;
}

.b-loader {
    position        : absolute;
    top             : 50%;
    left            : 50%;
    transform       : translate(-50%, -50%);
    z-index         : 100;
    height          : 100%;
    width           : 100%;
    display         : flex;
    align-items     : center;
    justify-content : center;
    background      : rgba(0, 0, 0, 0.20);
}

.b-loader svg {
    height           : 75px;
    width            : 75px;
    fill             : #000;
    transform-origin : 44% 50%;
    animation        : rotate 1.5s infinite linear;
}

@keyframes rotate {
    0% {
        transform : rotate(0);
    }

    100% {
        transform : rotate(360deg);
    }
}


/*Переопределяем стили на странице*/
h2,
h3 {
    display : inline-block;
}

.b-dw-section h2 {
    margin-bottom : 12px;
}

.b-document-wrap .b-dw-section h3 {
    margin : 15px 0 8px 0;
}

h2 + ul,
h3 + ul {
    margin-top : 0;
}

h2:hover .b-anchor__svg,
h3:hover .b-anchor__svg,
h2:hover .b-tooltip,
h3:hover .b-tooltip {
    visibility : visible;
}

.b-document-wrap .b-list {
    list-style : none;
}

.b-document-wrap ul:not([class]) > li:not([class]):before {
    content     : '—';
    float       : left;
    margin-left : -20px
}

.b-document-wrap ul li:last-child {
    margin-bottom : 0;
}

.b-dw-section ul {
    margin-bottom : 0;
}


/* Стили для  tooltip*/
.b-tooltip {
    visibility        : hidden;
    display           : block;
    transform-origin  : 100% 0;
    -webkit-animation : fadeIn 300ms ease-in-out;
    animation         : fadeIn 300ms ease-in-out;
    text-align        : left;
    background-color  : #1e2021;
    padding           : 3px;
    margin-left       : 5px;
    width             : 167px;
    position          : absolute;
    border-radius     : 3px;
    box-shadow        : 1px 1px 1px rgba(0, 0, 0, 0.2);
    left              : 20px;
    color             : #fff;
    font-size         : 12px;
    line-height       : 1.4;
    top               : 50%;
    transform         : translateY(-50%);
}

.b-tooltip:before {
    position           : absolute;
    content            : '';
    width              : 0;
    height             : 0;
    border             : 6px solid transparent;
    border-right-color : #1e2021;
    left               : -12px;
    top                : 5px;
}

@-webkit-keyframes fadeIn {
    0% {
        opacity   : 0;
        transform : scale(0.6);
    }

    100% {
        opacity   : 100%;
        transform : scale(1);
    }
}

@keyframes fadeIn {
    0% {
        opacity : 0;
    }
    100% {
        opacity : 100%;
    }
}


/* Некоторые стили для страницы */
.b-anchor {
    position    : relative;
    display     : inline-block;
    float       : right;
    cursor      : pointer;
    outline     : none;
    margin-left : 5px;
}

/*Хак для отступа сверху при скролле*/
.b-anchor-padding-top {
    padding-top : 75px !important;
    margin-top  : -75px !important;
}

/*Если js не загрузился нам нужен хак*/
.b-no-js.b-anchor-padding-top {
    padding-top : 0 !important;
    margin-top  : 0 !important;
}

.b-anchor__svg {
    color          : #1b1f23;
    vertical-align : middle;
    visibility     : hidden;
    display        : inline-block;
    fill           : currentColor;
}


/* Стили для таблицы */
.b-table {
    width        : 100% !important;
    table-layout : fixed !important;
    word-wrap    : break-word;
}

.b-table th {
    background-color : #fff !important;
    padding-right    : 4px !important;
}

th.b-table__th {
    text-align    : left;
    padding-right : 0 !important;
}

.b-table__td {
    vertical-align : top !important;
}

.b-table__td .b-table__text {
    justify-content : flex-start;
    padding-left    : 1px;
    line-height     : 1.4;
}

.b-table__text--bold {
    font-weight : bold;
}

.b-table__fix-size-row {
    width : 209px;
}

.b-table__text--center {
    display         : flex;
    justify-content : center;
}

.b-table__column td {
    text-align : center;
}

.b-table__link {
    word-wrap : break-word;
}

/* Стили для табов (переключение таблицы) */
.tab-content > .tab-pane {
    display : none;
}

.tab-content > .active {
    display : block;
}

.nav {
    display       : flex;
    flex-wrap     : wrap;
    padding-left  : 0 !important;
    margin-bottom : 0;
    list-style    : none;
}

.nav-tabs > li {
    float         : left;
    margin-bottom : -1px !important;
}

.nav > li {
    position : relative;
    display  : block;
    z-index  : 110;
}

.nav-tabs {
    border-bottom : none;
}

.nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
    color               : #555;
    cursor              : default;
    font-weight         : bold;
    background-color    : #fff;
    border              : 1px solid #ddd;
    border-bottom-color : transparent;
}

.nav-tabs > li > a {
    margin-right    : 2px;
    line-height     : 1.42857143;
    border          : 1px solid transparent;
    border-radius   : 4px 4px 0 0;
    text-decoration : none;
}

.nav > li > a {
    position : relative;
    display  : block;
    padding  : 10px 15px;
}

.nav-tabs > li > a:hover {
    border-color : #eee #eee #ddd;
    color        : #5197bb;
}

.nav > li > a:focus, .nav > li > a:hover {
    text-decoration  : none;
    background-color : #eee;
}

.b-border {
    border  : 1px solid #ddd;
    padding : 20px 15px 20px 15px;
}

/* Переопределение встроенных стилей для таблицы */
.dataTables_scroll {
    margin-bottom : 15px;
}

/*Засветление, чтобы было понятно, что внизу что-то есть*/
/*.dataTables_scroll::after {
    content    : '';
    position   : absolute;
    display    : block;
    height     : 30px;
    width      : 100%;
    bottom     : 50px;
    left       : 0;
    background : linear-gradient(to bottom, rgba(255, 255, 255, 0), rgb(255, 255, 255));
}*/

/*Границы для таблицы слева, справа*/
.dataTables_scrollBody {
    border-left  : 1px solid #d6d6e16b;
    border-right : 1px solid #d6d6e16b;
}

.dataTables_wrapper.no-footer .dataTables_scrollBody {
    border-bottom : 1px solid #d6d6e16b;
}

table.dataTable {
    border-collapse : collapse !important;
}

.b-document-wrap table th,
.b-document-wrap table td {
    padding : auto;
}

.b-document-wrap table {
    margin : 0 !important;
}

table.dataTable thead th,
table.dataTable thead td {
    border-bottom : 1px solid #d6d6e16b !important;
}

.dataTables_filter input,
.dataTables_length select {
    display            : inline-block;
    color              : #555;
    background-color   : #fff;
    background-image   : none;
    border             : 1px solid #ccc;
    -webkit-box-shadow : inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow         : inset 0 1px 1px rgba(0, 0, 0, .075);
    -webkit-transition : border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    -o-transition      : border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition         : border-color ease-in-out .15s, box-shadow ease-in-out .15s;

    height             : 30px;
    padding            : 5px 10px;
    font-size          : 12px;
    line-height        : 1.5;
    border-radius      : 3px;
}

.dataTables_filter {
    padding-bottom : 10px;
}

.dataTables_paginate {
    padding-top : 7px;
}

.dataTables_filter {
    float : left !important;
}

.dataTables_length {
    float : right !important;
}


.dataTables_wrapper .dataTables_paginate .paginate_button {
    position         : relative;
    float            : left;
    padding          : 6px 12px;
    margin-left      : -1px;
    line-height      : 1.42857143;
    color            : #337ab7;
    text-decoration  : none;
    background-color : #fff;
    border           : 1px solid #ddd;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
    border-color : #ddd;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    color            : #777;
    cursor           : not-allowed;
    background-color : #fff;
    border-color     : #ddd
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    z-index          : 3;
    color            : #fff !important;
    cursor           : default;
    background       : none;
    background-color : #5197bb;
    border-color     : #5197bb;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    color            : #000 !important;
    background       : none;
    background-color : #ddd;
    border-color     : #ddd;
}

.dataTables_wrapper .dataTables_paginate {
    display : flex;
}

.dataTables_wrapper .dataTables_paginate > span {
    display     : flex;
    align-items : flex-end;
}


/*Переопреление стилей для отсупа в ячейках и рамок*/
table.dataTable.compact tbody th,
table.dataTable.compact tbody td {
    padding : 6px 4px;
}

.b-document-wrap table th,
.b-document-wrap table td {
    border        : none !important;
    border-bottom : 1px solid #d6d6e16b !important;
}

.b-document-wrap table .parent td {
    border-bottom : none !important;
}

.child table tr:not(:last-child) {
    border-bottom : none;
}

.child table tr td {
    border : none !important;
}

table.dataTable > tbody > .odd + tr.child:hover {
    background : #f9f9f9 !important;
}

.odd + .child,
.odd + .child tr {
    background-color : #f9f9f9 !important;
}

/* Переопредение иконки для разворачивания карточек */
table.dataTable.dtr-column > tbody > tr > td.control:before,
table.dataTable.dtr-column > tbody > tr > th.control:before {
    content           : '';
    background-image  : url("data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='arrow-circle-down' class='svg-inline--fa fa-arrow-circle-down fa-w-16' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='currentColor' d='M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z'%3E%3C/path%3E%3C/svg%3E");
    background-repeat : no-repeat;
    background-color  : transparent;
    border-radius     : initial;
    border-color      : transparent;
    box-shadow        : none;
    -moz-transform    : rotate(-90deg);
    -webkit-transform : rotate(-90deg);
    transform         : rotate(-90deg);
    transition        : all 200ms;
}

table.dataTable.dtr-column > tbody > tr.parent td.control:before,
table.dataTable.dtr-column > tbody > tr.parent th.control:before {
    content           : '';
    background-color  : transparent;
    -moz-transform    : rotate(0deg);
    -webkit-transform : rotate(0deg);
    transform         : rotate(0deg);
    transition        : all 200ms;
}

/*Переопределение стилей для стрелочки по возрастанию, убыванию*/
.dataTables_scrollHead table.dataTable thead .sorting:after,
.dataTables_scrollHead table.dataTable thead .sorting_asc:after,
.dataTables_scrollHead table.dataTable thead .sorting_desc:after,
.dataTables_scrollHead table.dataTable thead .sorting_asc_disabled:after,
.dataTables_scrollHead table.dataTable thead .sorting_desc_disabled:after {
    content           : '';
    display           : inline-block;
    position          : absolute;
    width             : 20px;
    height            : 20px;
    background-repeat : no-repeat;
}

.dataTables_scrollHead table.dataTable thead .sorting:after {
    background-image : url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7XQMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC');
}

.dataTables_scrollHead table.dataTable thead .sorting_asc:after {
    background-image : url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==');
}

.dataTables_scrollHead table.dataTable thead .sorting_desc:after {
    background-image : url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII=');
}

.dataTables_scrollHead table.dataTable thead .sorting_asc_disabled:after {
    background-image : url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAW0lEQVQoz2NgoCm4w3Vnwh02wspK7/y6k01Ikdadx3f+37l9RxmfIsY7c4GKQHDiHUbcyhzvvIMq+3THBpci3jv7oIpAcMcdduzKEu/8vPMdDn/eiWQYBYMKAAC3ykIEuYQJUgAAAABJRU5ErkJggg==');
}

.dataTables_scrollHead table.dataTable thead .sorting_desc_disabled:after {
    background-image : url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAWUlEQVQoz2NgGAWDCtyJvPPzznc4/HknEbsy9js77vyHw313eHGZZ3PnE1TRuzuOuK1lvDMRqmzuHUZ87lO+cxuo6PEdLUIeyb7z604pYf+y3Zlwh4u2YQoAc7ZCBHH4jigAAAAASUVORK5CYII=');
}

/*Переопределил стиль для таблицы «Список словарей»*/
table.dataTable thead th, table.dataTable thead td {
    padding : 10px 18px 10px 10px;
}

.b-slider {
    display : none;
}

.b-no-js {
    display       : block !important;
    margin-top    : 50px !important;
    margin-bottom : 20px;
    width         : 100%;
    height        : 400px;
    overflow-y    : scroll;
    position      : relative;
    border        : 0;
    border-bottom : 2px #000 solid;
}

.b-no-js tr th:first-child:empty {
    width : 0;
}


.b-table-button {
    color         : #000 !important;
    background    : none !important;
    border-color  : #ddd !important;
    margin-top    : 0 !important;
    margin-right  : 0 !important;
    margin-left   : 15px !important;
    margin-bottom : 0 !important;
    padding       : 0.4em 1em !important;
    font-size     : 13px !important;
    line-height   : 1.42857143 !important;
}

.b-table-button:hover {
    background-color : #ddd !important;
}

div.dt-buttons {
    float        : right !important;
    margin-right : -2px;
}
