﻿body {
    font-family: 'Montserrat', sans-serif;
}

body, .btn, .form-control {
    font-size: 14px;
}

h1 {
    font-size: 2rem;
}

h2 {
    font-size: 1.75rem;
}

h3 {
    font-size: 1.5rem;
}

h4 {
    font-size: 1.25rem;
}

h5 {
    font-size: 1rem;
}

.cursor-pointer {
    cursor: pointer;
}


/* Стили панелей */

.panel-heading_with-filter {
    height: 46px;
    line-height: 26px;
}

.panel-heading-filter {
    float: right;
    position: relative;
    top: -8px;
    width: auto;
}


/*Общий класс - строка для перехода*/
.clickable-row {
    cursor: pointer;
}

.admin-container {
    padding-top: 20px;
    padding-bottom: 0px;
}

.admin-container-with-bottom-padding {
    padding-top: 20px;
    padding-bottom: 20px;
}

.admin-container .jumbotron p {
    font-size: 20px;
}

.top-margin20 {
    margin-top: 20px;
}

/**Переписанный стиль NProgress для того чтобы bar не заваливался за overlay*/
#nprogress .bar {
    z-index: 100002;
}

.actionButtons-block {
    margin-bottom: 15px;
}

.clickable-row {
    cursor: pointer;
}

/**Глобальный overlay для действий сохранения и тех действий где надо блокировать пользователя*/
#globalOverlay {
    background: rgba(255, 255, 255, 0.5);
    bottom: 0;
    display: none;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 100000;
}

#globalProgressBar {
    background: rgba(255, 255, 255, 0.5);
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
}

    #globalProgressBar > div {
        vertical-align: middle;
        width: 100%;
        height: auto;
    }

        #globalProgressBar > div > div {
            max-width: 300px;
            margin: 0 auto;
            padding: 20px;
            background-color: #fff;
            border: solid 1px #000;
        }

    #globalProgressBar .text {
        margin-bottom: 15px;
        font-size: 13px;
    }

.photo-holder {
    height: 100px;
    position: relative;
    width: 100px;
}

.no-photo {
    font-size: 100px;
    position: absolute;
}

.photo {
    position: absolute;
    width: 100%;
}

.photo-holder-menu {
    background: rgba(0, 0, 0, 0.5);
    bottom: 0;
    display: none;
    left: 0;
    list-style-type: none;
    margin: 0;
    padding: 0;
    position: absolute;
    right: 0;
}

.photo-holder-editable:hover .photo-holder-menu {
    display: block;
}

.photo-holder-menu > li {
    display: block;
}

    .photo-holder-menu > li > a {
        color: #fff;
        display: block;
        padding: 7px;
        text-decoration: none;
    }



.title-add-link {
    display: inline-block;
    font-size: 18px;
    margin-right: 2px;
    position: relative;
    text-decoration: none;
    top: 2px;
}

.table-hover tr:hover {
    cursor: pointer;
}

.loading-overlay-container {
    position: relative;
    min-height: 60px;
}

.loading-overlay-container-inline {
    position: relative;
}

.loading-inline {
    display: block;
    width: 40px;
    height: 40px;
    background: url('default.gif');
}

.loading-overlay {
    background: rgba(255, 255, 255, 0.5) url('default.gif') no-repeat 50% 50%;
    bottom: 0;
    left: 0;
    min-height: 50px;
    position: absolute;
    right: 0;
    top: 0;
}

.link-button {
    display: inline-block;
    font-size: 25px;
    margin-right: 10px;
}

/**Делаем иконку в дереве белой*/

.list-group .active .fa {
    color: #fff;
}

.dataTables_filter {
    display: none;
}

.table tr.active {
    font-weight: bold;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    /* Margin bottom by footer height */
    margin-bottom: 40px;
}

@media print {
    body {
        margin: 0;
    }
}

.long-text-in-table {
    max-width: 400px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap
}

.long-text-in-table-multiline {
    max-width: 400px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: normal
}

.long-text-in-table-multiline-olympiad {
    max-width: 400px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: normal;
    word-break: break-word;
}

.well-block {
    position: relative;
    border-radius: 3px;
    background: #f2f2f2;
    border-left: 3px solid #999999;
    margin: 20px 0;
    padding: 20px;
    width: 100%;
    box-shadow: 0 1px 1px rgba(0,0,0,0.1);
}

.rtp-processPercentDiv {
    width: 52px;
    height: 14px;
    background: #fff;
    border: 1px solid silver;
}

.rtp-processValueDiv {
    background: #0a96be;
    width: 31px;
    height: 13px;
}

.popover {
    z-index: 9999;
    position: fixed;
    width: 380px;
    max-width: 380px;
}

    .popover .popover-title {
        font-weight: bold;
    }

.btn-fixed-width {
    width: 100px;
}

/*Баг: почему-то чекбокс в лейбле всегда визуально смещён чуть выше
    Исправляем данную ситуацию
*/
.shifted-checkbox {
    position: relative;
    top: 1px;
}


.input-number-inline {
    display: inline-block;
    margin-left: 20px;
    width: 80px;
}

.block-label {
    display: block;
    margin: 5px 0;
}

.flex-filler {
    flex-grow: 1;
}

.link-button-with-text-container {
    display: flex;
    align-items: center;
}

    .link-button-with-text-container:hover {
        text-decoration: none;
    }

.custom-ghost {
    border: 1px dashed #777;
    opacity: .3;
    background: #fff;
}

.ocr-icon {
    font-family: 'Tahoma';
    font-size: 10px;
    font-weight: bold;
    padding-bottom: 4px;
    padding-right: 8px;
}

.drag-icon {
    font-size: 16px;
    margin-right: 10px;
    cursor: move;
}

.modal-dialog--big {
    width: 1100px;
    max-width: none;
}
/* Стиль для таблиц в rich-text */

.rich-text td {
    padding: 15px 7px;
}

.rich-text tr:nth-child(even) {
    background: #FAFAFA;
}

.rich-text table {
    width: 100%;
    border-spacing: 0;
    border-collapse: separate;
    border: 1px solid #aaa;
}


.row-controls {
    display: flex;
    align-items: center;
    margin: 5px 0 10px;
}

.row-controls__checkbox {
    position: relative;
    top: -2px;
}

.row-controls__text {
    margin: 0 5px;
}

.row-controls__input {
    display: block;
    width: 190px;
    margin-right: 10px;
}

.row-controls__input_small {
    width: 88px;
}



.breadcrumb {
    background-color: #fff;
    padding-left: 0;
    padding-right: 0;
}

.breadcrumb-in-container {
    padding-left: 0;
    padding-right: 0;
}

.header__content .breadcrumb {
    padding-left: 0;
    padding-right: 0;
}

    .header__content .breadcrumb > li > a {
        color: #fff;
    }

.breadcrumb > .active {
    font-size: 14px;
    line-height: 1.71;
    text-align: left;
    color: #000000;
}

.breadcrumb > li {
    display: inline;
}

    .breadcrumb > li > a {
        color: #0071ab;
        text-decoration: underline;
    }

/**Глобальные стили прохождения теста*/
.test-wrapper {
    display: flex;
    align-items: center;
}

.test-wrapper__left, .test-wrapper__right {
    flex: 0 0 40px;
    min-width: 20%;
    margin-top: -30px;
}

.test-wrapper__right {
    text-align: right;
}

.test-wrapper__main {
    flex-grow: 1;
}

.test-paginate-footer {
    display: flex;
    align-items: center;
}

.test-paginate-footer__paginator {
    margin: auto;
}

.test-paginate-footer__paginator-blocks {
	display: flex;
	margin: auto;
	flex-wrap: wrap;
}

.pagination-wrapper_block-wrapper {
    display: flex;
    margin: 0 10px;
}

.test-paginate-footer__current {
    margin: 0 20px;
}

.test-paginate-footer__total {
}

.test-paginate-footer-item {
}

.test-paginate-footer-item__value {
    font-weight: bold;
}

.pagination__item_wrong > a {
    background: #a00;
    color: #fff;
}

.pagination__item_right > a {
    background: #0a0;
    color: #fff;
}

@-moz-document url-prefix() {
    a {
        outline: 0;
    }
}

.alert.alert-success {
    font-family: Geometria;
    font-size: 14px;
    font-weight: normal;
    line-height: 2;
    text-align: left;
}

.alert.alert-danger {
    background-image: none;
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
    font-family: Geometria;
    font-size: 14px;
    font-weight: normal;
    line-height: 2;
    text-align: left;
}

    .alert.alert-danger button.close {
        color: #721c24;
        opacity: .6;
    }

#globalConfirmationOk, #globalAlertOk, #globalConfirmationCancel.reversed {
    /*width: 197px;*/
    padding-left: 35px;
    padding-right: 35px;
    height: 50px;
    border-radius: 25px;
    background-color: #ffffff;
    box-shadow: 0px 3px 1px 0 rgba(0, 113, 171, 0.2);
    border: solid 1px #0071ab;
    color: #0071ab;
    background-color: transparent;
    -webkit-box-shadow: 0 2px 2px 0 rgba(66, 165, 245, 0.14), 0 3px 1px -2px rgba(66, 165, 245, 0.2), 0 1px 5px 0 rgba(66, 165, 245, 0.12);
    box-shadow: 0 2px 2px 0 rgba(66, 165, 245, 0.14), 0 3px 1px -2px rgba(66, 165, 245, 0.2), 0 1px 5px 0 rgba(66, 165, 245, 0.12);
    -webkit-transition: 0.2s ease-in;
    -o-transition: 0.2s ease-in;
    transition: 0.2s ease-in;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
}

    #globalConfirmationOk:hover, #globalAlertOk:hover, #globalConfirmationCancel.reversed:hover {
        -webkit-box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2);
        background: #0071ab;
        border-color: #0071ab;
        box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2);
        color: #ffffff;
    }

    #globalConfirmationOk:focus, #globalAlertOk:focus {
        outline: none !important;
    }

    #globalConfirmationCancel, #globalConfirmationOk.reversed {
        /*width: 197px;*/
        padding-left: 35px;
        padding-right: 35px;
        height: 50px;
        border-radius: 25px;
        background-color: #ffffff;
        box-shadow: 0px 3px 1px 0 rgba(0, 113, 171, 0.2);
        border: solid 1px #e26d4e;
        color: #e26d4e;
        background-color: transparent;
        -webkit-box-shadow: 0 2px 2px 0 rgba(66, 165, 245, 0.14), 0 3px 1px -2px rgba(66, 165, 245, 0.2), 0 1px 5px 0 rgba(66, 165, 245, 0.12);
        box-shadow: 0 2px 2px 0 rgba(66, 165, 245, 0.14), 0 3px 1px -2px rgba(66, 165, 245, 0.2), 0 1px 5px 0 rgba(66, 165, 245, 0.12);
        -webkit-transition: 0.2s ease-in;
        -o-transition: 0.2s ease-in;
        transition: 0.2s ease-in;
        font-size: 16px;
        font-weight: bold;
        line-height: 1.5;
    }

        #globalConfirmationCancel:hover, #globalConfirmationOk.reversed:hover {
            -webkit-box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2);
            background: #e26d4e;
            border-color: #e26d4e;
            box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2);
            color: #ffffff;
        }

        #globalConfirmationCancel:focus {
            outline: none !important;
        }

.text-button {
    text-decoration: none;
    color: #0071ab;
    font-weight: bold;
    margin-right: 20px;
}



.text-button__icon {
    font-size: 16px;
    margin-right: 11px;
    position: relative;
    top: 2px;
}

.text-button__icon_inverted {
    margin-right: 0;
    margin-left: 11px;
}

.text-button:hover {
    text-decoration: none;
}

    .text-button:hover .text-button__text {
        text-decoration: underline;
    }

.text-button_disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: default;
}


.custom-button {
    padding-left: 35px;
    padding-right: 35px;
    height: 50px;
    border-radius: 25px;
    background-color: #ffffff;
    box-shadow: 0px 3px 1px 0 rgba(0, 113, 171, 0.2);
    border: solid 1px #0071ab;
    color: #0071ab;
    background-color: transparent;
    box-shadow: 0 2px 2px 0 rgba(66, 165, 245, 0.14), 0 3px 1px -2px rgba(66, 165, 245, 0.2), 0 1px 5px 0 rgba(66, 165, 245, 0.12);
    transition: 0.2s ease-in;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
}

    .custom-button[disabled] {
        border: solid 1px #ccc;
        color: #ccc;
        box-shadow: none;
    }

    .custom-button:hover {
        background: #0071ab;
        border-color: #0071ab;
        color: #ffffff;
        box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2);
    }

    .custom-button[disabled]:hover {
        background: #fff;
        border-color: #ccc;
        color: #ccc;
        box-shadow: none;
    }

.custom-table {
    width: 100%;
}

    .custom-table thead th {
        background: #f9f9f9;
        border: 0;
        height: 60px;
        vertical-align: middle;
        font-family: Montserrat;
        font-size: 14px;
        font-weight: bold;
        font-style: normal;
        font-stretch: normal;
        line-height: 1.29;
        letter-spacing: normal;
        text-align: left;
        color: #777777;
        padding-left: 15px;
        padding-right: 15px;
    }

    .custom-table tbody td {
        height: 49px;
        border: solid 1px #e6e6e6;
        border-width: 0 0 1px 0;
        vertical-align: middle;
        font-family: Montserrat;
        font-size: 14px;
        font-weight: normal;
        font-style: normal;
        font-stretch: normal;
        line-height: 1.29;
        letter-spacing: normal;
        text-align: left;
        padding-left: 15px;
        padding-right: 15px;
        color: #333333;
    }

.custom-table-hover tr:hover {
    color: #212529;
    background-color: rgba(0,0,0,.075);
}

.check-icon-cell {
    width: 45px;
}

.check-icon-wrapper {
    font-size: 17px;
}

    .check-icon-wrapper span {
        display: block;
    }

    .check-icon-wrapper .icon-svg_check_box {
        color: #e6e6e6;
    }

    .check-icon-wrapper .icon-svg_check_mark_filled {
        color: #11c254;
    }

    .check-icon-wrapper .icon-svg_check_minus_filled {
        color: #11c254;
    }

.check-icon-wrapper-in-header {
    cursor: pointer;
}


.custom-table2 {
    width: 100%;
}

    .custom-table2 th {
        padding: 0 21px;
    }

    .custom-table2 td {
        border: 0;
        vertical-align: middle;
    }

    .custom-table2 thead tr {
        height: 56px;
        color: #999;
        font-weight: bold;
    }

    .custom-table2 tbody tr:nth-child(odd) {
        background: #ECF1FA;
    }

    .custom-table2 tbody td {
        padding: 21px;
    }

    .custom-table2 tbody tr:hover {
        background: #59A2C8;
        color: #fff;
    }

.popover-defect-line {
    margin: 10px 0 8px;
}

.pagebreak {
    page-break-before: always;
}

.unbreakable {
    page-break-inside: avoid;
}

#globalPrintWindow:last-child {
    page-break-after: auto;
}

.print-whole-page {
    width: 210mm;
    height: 297mm;
    overflow: hidden;
    border: 1px solid #f00;
}

.leader-line {
    z-index: 1050;
}

.fake-timer-data {
    color: gray;
}

.test-wrapper__main-blockName {
    font-size: 1.5em;
}

.datetimepicker-enabled-green .day:not(.disabled) {
    color: green;
    font-weight: bold;
}
.datetimepicker-enabled-green .day.active {
    color: #fff;
}

ng-multiselect-dropdown > .multiselect-dropdown > .dropdown-list {
    width: calc(90% + 124px);
}

.stickyColumn {
    position: sticky!important;
    left: 0px;
    width: 250px;
}

.odd .stickyColumn {
    background-color: #f2f2f2;
}

.even .stickyColumn {
    background-color: white;
}

.z-index-10 {
    z-index:10;

}