@font-face {
    font-family: "Source Sans Pro";
    src: url('../font/SourceSansPro-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: "Source Sans Pro";
    src: url('../font/SourceSansPro-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Source Sans Pro";
    src: url('../font/SourceSansPro-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: "Source Sans Pro";
    src: url('../font/SourceSansPro-Regular.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: "Source Sans Pro";
    src: url('../font/SourceSansPro-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: "Source Sans Pro";
    src: url('../font/SourceSansPro-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

/* Всегда показываем светлую тему */
body {
    color-scheme: light dark;
}

input, textarea {
    background-color: rgb(255, 255, 255);
    color: rgb(33, 37, 41);
}

* {
    scrollbar-color: #c1c1c1 #fafafa;
}

/* Закреплённая шапка */
.main-header {
    position: sticky;
    top: 0;
    background: #ffffff;
    z-index:2;
}

/* Текст, обрезанный до двух строк */
.two_line_text {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* number of lines to show */
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.callout.callout-primary {
    border-left-color: #0062cc;
}

/* Квадратные фото */
.img-square {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f0f1f3 url('/dist/img/no_image.jpg') no-repeat center center;
    background-size: cover;
}

.img-square:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

.img-square img {
    width: 100%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.img-square:has(img:not(.d-none)) {
    background: #ffffff;
}

/* Кнопка наверх в шапке */
.moveToTop {
    display: flex;
    max-width: calc(100vw - 140px);
    padding: 0.1rem 0 0.1rem 0.75rem !important;
    flex-wrap: nowrap;
    align-items: center;
    text-align: left;
    line-height: 0.85;
}

.moveToTop .pageNameClientAddress {
    line-height: 0.85;
    font-size: 85%;
}

@media (min-width: 768px) {
    .moveToTop {
        max-width: 400px;
    }
}

@media (min-width: 992px) {
    .moveToTop {
        max-width: 550px;
    }
}

/* Чёрные и серые элементы в общем стиле лк */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #040404;
    border-color: #000000;
}

.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[aria-selected]:hover {
    background-color: #040404;
}

.lk-border-radius {
    border-radius: .9rem !important;
}

.custom-switch.custom-switch-on-lk .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #040404;
    border-color: #000000;
}

.btn-lk {
    color: #040404;
    padding: .4rem .5rem;
    border-radius: .9rem;
    background-color: #f2f2f2;
    border-color: #e5e5e5;
    box-shadow: none;
}

.btn-lk.p-xs {
    padding: .125rem .25rem;
}

.btn-lk.p-sm {
    padding: .2rem .4rem;
}

.bg-light > a.btn-lk {
    color: #040404 !important;
}

.btn-lk.btn-lk-outline {
    border-color: #0f0f0f;
}

.btn-lk.white {
    background-color: #ffffff;
}

.btn-lk:hover, .btn-lk:active,
.btn-lk.white:hover, .btn-lk.white:active {
    background-color: #e5e5e5;
}

.btn-lk.active {
    color: #ffffff;
    background-color: #0f0f0f;
    border-color: #0f0f0f;
}

.btn-lk.active:hover, .btn-lk.active:active {
    background-color: #000000;
}

.bg-light > a.btn-lk.active {
    color: #ffffff !important;
}

.btn-rounded {
    border-radius: .9rem !important;
}

.bg-lk-active {
    background-color: #0f0f0f;
    color: #ffffff;
}

.icheck-lk.icheck-primary>input:first-child:checked+input[type=hidden]+label::before,
.icheck-lk.icheck-primary>input:first-child:checked+label::before {
    background-color: #0f0f0f;
    border-color: #0f0f0f;
    border-radius: 5px;
}

.icheck-lk[class*=icheck-]>input:first-child+input[type=hidden]+label::before,
.icheck-lk[class*=icheck-]>input:first-child+label::before {
    background-color: #ffffff;
    border-radius: 5px;
}

.bg-lk-active:hover,
.bg-lk-active:active,
a.bg-lk-active:hover,
a.bg-lk-active:active {
    background-color: #0f0f0f;
    color: #ffffff;
}

.swal-button {
    padding: .4rem .75rem;
    border-radius: .9rem;
}

.swal-button.swal-button--cancel {
    color: #040404;
    background-color: #f2f2f2;
    border-color: #e5e5e5;
}

.swal-button.swal-button--confirm {
    color: #ffffff;
    background-color: #0f0f0f;
    border-color: #0f0f0f;
}

.swal-button.swal-button--confirm:hover, .swal-button.swal-button--confirm:active {
    background-color: #000000;
}

.callout.callout-lk {
    border-left-color: #e5e5e5;
}

.text-truncate.text-clip {
    text-overflow: clip;
}

table.dataTable.dtr-inline.collapsed>tbody>tr>td.dtr-control:before, table.dataTable.dtr-inline.collapsed>tbody>tr>th.dtr-control:before {
    border: .15em solid white;
    box-shadow: 0 0 .2em #444;
    background-color: #000000;
}

.jconfirm .jconfirm-box.jconfirm-type-dark {
    border-top: solid 7px #0f0f0f;
}

.vertical-center {
    vertical-align: middle !important;
}

.btn-max-width {
    width:100%;
    max-width:400px;
}

.card.collapsed-card > .card-header {
    border-radius: .25rem;
}

/* Подчёркнутый текст */
.text-underline {
    text-decoration: underline;
}

/* Указатель - курсор */
.cursor-pointer {
    cursor: pointer;
}

/* Указатель - запрещено */
.cursor-not-allowed {
    cursor: not-allowed;
}

/* Расположение flex-элемента вверху */
.align-self-start {
    align-self: start;
}

/* Видео, встроенное в блок */
.video-responsive {
    display: block;
    max-width: 100%;
    height: auto
}

/* ----------- Отображение файла начало ----------- */
.file_embed_card_body {
    margin: 0;
    padding: 0;
    height: calc(100vh - 60px);
}

.file_embed_iframe {
    width: 100%;
    height: calc(100vh - 60px);
    border: none;
    margin: 0;
    padding: 0;
}

#pdf_viewer .card-body {
    margin: 0;
    padding: 0;
    height: 100vh;
    overflow:hidden;
}

#pdf_viewer_content {
    width: 100%;
    height: 100vh;
    border: none;
    margin: 0;
    padding: 0;
}

#close_pdf_viewer {
    margin: 2px 1px;
    border: none;
    border-radius: 2px;
    color: rgb(12 12 13);
    font-size: 18px;
    line-height: 18px;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    cursor: default;
    box-sizing: border-box;
    background: none;
    width: 28px;
    height: 28px;
    outline: none;
    position: absolute;
    right: 2px;
    opacity: 0.7;
}

#close_pdf_viewer:hover {
    background-color: rgb(221 222 223);
}

@media (prefers-color-scheme: dark){
    #close_pdf_viewer {
        color: rgb(249 249 250);
    }
    #close_pdf_viewer:hover {
        background-color: rgb(102 102 103);
    }
}

@media (min-width: 992px){
    #close_pdf_viewer {
        right: 5px;
    }
}

body.pdf_viewer-opened {
    overflow:hidden;
}

/* ----------- Отображение файла окончание ----------- */

/* ----------- Выбор файла на русском языке ----------- */
.custom-file-input:lang(en) ~ .custom-file-label::after {
    content: "Выбрать";
}

/* Текст с новыми строками */
.text_pre_line {
    white-space: pre-line;
}

.toasts-top-right {
    z-index: 1060;
}

.modal-dialog .overlay {
    z-index: 1056;
}

.bootstrap-datetimepicker-widget.dropdown-menu {
    z-index: 1056;
}

/* Текст, обрезанный до двух строк */
.two_line_text {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* number of lines to show */
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.callout.callout-primary {
    border-left-color: #0062cc;
}

/* Обрезание длинной строки в меню */
.sidebar .nav-sidebar .nav-link.text-truncate p {
    white-space: inherit;
}

.nav-sidebar .nav-item .nav-link .right.badge {
    font-weight: 400;
}

.bottom-0 {
    bottom: 0;
}

.right-0 {
    right: 0;
}

/* Иконка проигрывания видео */
.video_play_icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.w-33 {
    width: 33% !important
}

.w-34 {
    width: 34% !important
}

/* Header fixed to the top of the modal */
.modal-header-sticky {
    position: sticky;
    top: 0;
    z-index: 1055;
}

/* Footer fixed to the bottom of the modal */
.modal-footer-sticky {
    position: sticky;
    bottom: 0;
    z-index: 1055;
}

@media (min-width: 1300px) {
    .modal-xl {
        max-width: 1240px
    }
}

@media (min-width: 1400px) {
    .modal-xl {
        max-width: 1340px
    }
}

@media (min-width: 1500px) {
    .modal-xl {
        max-width: 1440px
    }
}

.href_span i {
    color: #007bff;
}

.href_span:hover i,
.href_span:hover {
    color: #0056b3;
}

.in_text_link {
    text-decoration: none !important;
}

.in_text_link i {
    color: #007bff;
}

.in_text_link:hover i,
.in_text_link:hover {
    color: #0056b3 !important;
}

a.black_link {
    color: inherit;
}

a.underline {
    text-decoration: underline;
}

a.underline:hover {
    text-decoration: none;
}

.vit-icon {
    display: inline-block;
    width: 26px;
    height: 17px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: text-top;
}

.vit-icon-chat {
    background-image: url('/dist/img/icons/chat.svg');
}

.vit-icon-contact {
    background-image: url('/dist/img/icons/contact.svg');
}

.vit-icon-estimate {
    background-image: url('/dist/img/icons/estimate.svg');
}

.vit-icon-faq {
    background-image: url('/dist/img/icons/faq.svg');
}

.vit-icon-home {
    background-image: url('/dist/img/icons/home.svg');
}

.vit-icon-partner {
    background-image: url('/dist/img/icons/partner.svg');
}

.vit-icon-pay {
    background-image: url('/dist/img/icons/pay.svg');
}

.vit-icon-photo {
    background-image: url('/dist/img/icons/photo.svg');
}

.vit-icon-plan {
    background-image: url('/dist/img/icons/plan.svg');
}

.vit-icon-settings {
    background-image: url('/dist/img/icons/settings.svg');
}

.vit-icon-tech_doc {
    background-image: url('/dist/img/icons/tech_doc.svg');
}

.vit-icon-webcam {
    background-image: url('/dist/img/icons/webcam.svg');
}

.vit-icon-ai {
    background-image: url('/dist/img/icons/ai.svg');
}

.vit-icon-ss {
    background-image: url('/dist/img/icons/ss.svg');
}

input.input_number_buttons::-webkit-outer-spin-button,
input.input_number_buttons::-webkit-inner-spin-button { margin-left: 10px; }

.has-html5video .fancybox__content {
    height: auto;
}

.fancybox__content[style*="transform: matrix(0, -1, 1, 0, 0, 0)"],
.fancybox__content[style*="transform: matrix(0, 1, -1, 0, 0, 0)"] {
    max-width:min(100vw,100vh);
    max-height:min(100vw,100vh);
}

.box-shadow {
    box-shadow: 0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)
}

.card_no_bg {
    background-color: #f4f6f9;
}

.font-size-80 {
    font-size: 0.8rem;
}

.font-size-110 {
    font-size: 1.1rem;
}

.dropzone .dz-preview .dz-image,
.dropzone .dz-preview .dz-details,
.dropzone .dz-preview .dz-progress,
.dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark,
.dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark {
    z-index: inherit;
}

table.dataTable tbody > tr > td a.td-link {
    display: block;
    width: 100%;
    height: 100%;
    color: #212529;
}

table.dataTable tbody > tr > td a.td-link:hover {
    color: #0056b3;
}

/* Смещение иконок в развёрнутом меню слева - начало */
body:not(.sidebar-collapse) .brand-link .brand-image {
    margin-left: .5rem;
}

body:not(.sidebar-collapse) .user-panel .image {
    padding-left: .45rem;
}

body:not(.sidebar-collapse) .nav-sidebar.nav-sidebar-lk>.nav-item .nav-icon {
    margin-left: 0;
}

body:not(.sidebar-collapse) .nav-sidebar.nav-sidebar-lk>.nav-item .nav-link {
    padding: .5rem .6rem;
}

body:not(.sidebar-collapse) .nav-sidebar.nav-sidebar-lk .nav-link>.right, .nav-sidebar .nav-link>p>.right {
    right: .25rem;
}

body.sidebar-collapse .sidebar .nav-sidebar.nav-sidebar-lk .nav-link.text-truncate {
    text-overflow: clip;
}
/* Смещение иконок в развёрнутом меню слева - конец */

.text-bolder {
    font-weight: 600;
}

.btn.btn-app.btn-app-lk {
    margin:0;
    padding: 6px 5px 4px 5px;
    min-width: 50px;
    height: 50px;
    border-radius: .9rem;
}

a.btn.btn-app.btn-app-lk {
    text-decoration: none;
}

.callout a.btn.btn-app.btn-app-lk:hover {
    color: #1f2d3d;
}

.sortable_input {
    max-width: 38px;
}

.btn-lk-nav-link-outer {
    padding-left: 3px;
    padding-right: 0;
}

.btn-lk-nav-link-outer:first-of-type {
    padding-left: 0;
}

a.btn.btn-app.btn-app-lk.btn-lk-nav-link {
    background: #fff;
    color: #1f2d3d;
    line-height: 1;
    width: 100%;
    font-size: 11px;
    padding: 5px 0;
    height: 55px;
}

a.btn.btn-app.btn-app-lk.btn-lk-nav-link > .btn-app-lk-text-block {
    height: 25px;
    position: relative;
}

a.btn.btn-app.btn-app-lk.btn-lk-nav-link > .btn-app-lk-text-block > .btn-app-lk-text {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) ;
}

a.btn.btn-app.btn-app-lk.btn-lk-nav-link.active,
a.btn.btn-app.btn-app-lk.btn-lk-nav-link:hover {
    background: #fff !important;
    color: #000000;
    border-color: #000000;
}

a.btn.btn-app.btn-app-lk.btn-lk-nav-link > .btn-lk-nav-link-round-badge {
    position: absolute;
    left: 5px;
    top: 5px;
    padding: 0 4px;
    font-size: 9px;
    border-radius: 50%;
}

a.btn.btn-app.btn-app-lk.btn-lk-nav-link > .navbar-badge {
    right:0;
}

a.btn.btn-app.btn-app-lk.btn-lk-nav-link.dropdown-toggle::after {
    display: none;
}

.menu-profile {
    border-radius: .25rem;
}

.menu-profile:hover {
    background-color: rgba(255, 255, 255, .1);
    color: #fff;
}

.menu-profile:hover a {
    color: #fff;
}

.menu-profile.active {
    background-color: #007bff;
    color: #fff;
}

.menu-profile.active a {
    color: #fff;
}

.preloader .preloader_animation {
    animation: shake 3s infinite;
}

.preloader .preloader_text_1 {
    animation: preloader_text_1 15s infinite;
}

.preloader .preloader_text_2 {
    animation: preloader_text_2 15s infinite;
}

.preloader .preloader_text_3 {
    animation: preloader_text_3 15s infinite;
}

.preloader .preloader_text_4 {
    animation: preloader_text_4 15s infinite;
}

.preloader .preloader_text_5 {
    animation: preloader_text_5 15s infinite;
}

@keyframes preloader_text_1 {
    0% {
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    20% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

@keyframes preloader_text_2 {
    0% {
        opacity: 0;
    }
    20% {
        opacity: 0;
    }
    30% {
        opacity: 1;
    }
    40% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

@keyframes preloader_text_3 {
    0% {
        opacity: 0;
    }
    40% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    60% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

@keyframes preloader_text_4 {
    0% {
        opacity: 0;
    }
    60% {
        opacity: 0;
    }
    70% {
        opacity: 1;
    }
    80% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

@keyframes preloader_text_5 {
    0% {
        opacity: 0;
    }
    80% {
        opacity: 0;
    }
    90% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

/* Закреплено под шапкой */
.sticky-under-header {
    position: sticky;
    top: 55px;
}


.skeleton {
    div {
        background: #eee;
        background: linear-gradient(110deg, #ececec 10%, #f5f5f5 40%, #ececec 60%);
        border-radius: .9rem;
        background-size: 200% 100%;
        animation: 1.5s shine linear infinite;
    }

    div.h200 {
        height: 200px;
    }

    div.h30 {
        height: 30px;
    }

    div.h70 {
        height: 70px;
    }
}

.skeleton.light {
    div {
        background: #fefefe;
        background: linear-gradient(110deg, #fcfcfc 10%, #eaeaea 40%, #fcfcfc 60%);
        background-size: 200% 100%;
        animation: 1.5s shine linear infinite;
    }
}

.skeleton.chat-popover {
    width: 135px;
}

@keyframes shine {
    to {
        background-position-x: -200%;
    }
}

.text-blue-link {
    color: #007bff;
    cursor: pointer;
}

a.text-blue-link {
    color: #007bff;
    text-decoration: none;
}

.text-blue-link:hover,
a.text-blue-link:hover {
    color: #0056b3;

}
