/* Подключение шрифта для контентной части */
/* Thin 100 */
@font-face {
    font-family: 'Exo 2';
    src: url("/fonts/Exo2/exo_2_woff_2/Exo2-Thin.woff2") format("woff2"),
        url("/fonts/Exo2/exo_2_woff/Exo2-Thin.woff") format("woff");
    font-weight: 100;
    font-style: normal;
}

/* ExtraLight 200 */
@font-face {
    font-family: 'Exo 2';
    src: url("/fonts/Exo2/exo_2_woff_2/Exo2-ExtraLight.woff2") format("woff2"),
        url("/fonts/Exo2/exo_2_woff/Exo2-ExtraLight.woff") format("woff");
    font-weight: 200;
    font-style: normal;
}

/* Light 300 */
@font-face {
    font-family: 'Exo 2';
    src: url("/fonts/Exo2/exo_2_woff_2/Exo2-Light.woff2") format("woff2"),
        url("/fonts/Exo2/exo_2_woff/Exo2-Light.woff") format("woff");
    font-weight: 300;
    font-style: normal;
}

/* Regular 400 */
@font-face {
    font-family: 'Exo 2';
    src: url("/fonts/Exo2/exo_2_woff_2/Exo2-Regular.woff2") format("woff2"),
        url("/fonts/Exo2/exo_2_woff/Exo2-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}

/* Medium 500 */
@font-face {
    font-family: 'Exo 2';
    src: url("/fonts/Exo2/exo_2_woff_2/Exo2-Medium.woff2") format("woff2"),
        url("/fonts/Exo2/exo_2_woff/Exo2-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
}

/* SemiBold 600 */
@font-face {
    font-family: 'Exo 2';
    src: url("/fonts/Exo2/exo_2_woff_2/Exo2-SemiBold.woff2") format("woff2"),
        url("/fonts/Exo2/exo_2_woff/Exo2-SemiBold.woff") format("woff");
    font-weight: 600;
    font-style: normal;
}

/* Bold 700 */
@font-face {
    font-family: 'Exo 2';
    src: url("/fonts/Exo2/exo_2_woff_2/Exo2-Bold.woff2") format("woff2"),
        url("/fonts/Exo2/exo_2_woff/Exo2-Bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
}

/* ExtraBold 800 */
@font-face {
    font-family: 'Exo 2';
    src: url("/fonts/Exo2/exo_2_woff_2/Exo2-ExtraBold.woff2") format("woff2"),
        url("/fonts/Exo2/exo_2_woff/Exo2-ExtraBold.woff") format("woff");
    font-weight: 800;
    font-style: normal;
}

/* Black 900 */
@font-face {
    font-family: 'Exo 2';
    src: url("/fonts/Exo2/exo_2_woff_2/Exo2-Black.woff2") format("woff2"),
        url("/fonts/Exo2/exo_2_woff/Exo2-Black.woff") format("woff");
    font-weight: 900;
    font-style: normal;
}

/* Подключение иконочного шрифта */
@font-face {
    font-family: "Material Icons Outlined";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("/fonts/material-icons/material-icons-outlined.woff2") format("woff2"),
        url("/fonts/material-icons/material-icons-outlined.woff") format("woff");
}

.material-icons-outlined {
    font-family: "Material Icons Outlined";
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga";
    max-width: 50px;
}

html {
    height: 100%;
}

body {
    font-family: 'Exo 2', sans-serif;
    font-size: 17px;
    height: 100%;
    background: var(--black_5_percent);
    margin: 0;
}

* {
    box-sizing: border-box;
}

h1 {
    font-weight: 200;
    /* font-size: 52px; */
    font-size: clamp(24px, calc(24px + 1vw), 52px);
    /*padding: 0;
    margin-top: 0;*/
    margin-bottom: var(--empty_space_small);
}

h2 {
    font-weight: 300;
    font-size: clamp(22px, calc(22px + 1vw), 42px);
    /*padding: 0;
    margin-top: 0;*/
    margin-bottom: var(--empty_space_small);
    /* font-size: 42px; */
}

h3 {
    font-weight: 400;
    font-size: clamp(20px, calc(20px + 1vw), 34px);
    /*padding: 0;
    margin-top: 0;*/
    margin-bottom: var(--empty_space_small);
    /* font-size: 34px; */
}

h4 {
    font-weight: 600;
    font-size: clamp(18px, calc(18px + 1vw), 26px);
    /*padding: 0;
    margin-top: 0;*/
    margin-bottom: var(--empty_space_small);
    /* font-size: 26px; */
}

h5 {
    font-weight: 700;
    font-size: clamp(16px, calc(16px + 1vw), 20px);
    /*padding: 0;
    margin-top: 0;*/
    margin-bottom: var(--empty_space_small);
    /* font-size: 20px; */
}

h6 {
    font-weight: 900;
    font-size: 13px;
    text-transform: uppercase;
    /*padding: 0;
    margin-top: 0;*/
    margin-bottom: var(--empty_space_small);
}

/* стили для параграфа */
.content p {
    /*margin: 0;
    padding: 0;*/
    margin-bottom: var(--empty_space_small);
}
h1 div.description {
    font-size: 17px;
}
/* Ссылки страницы авторизации и контентной части */
/*.user_login .admin_form_auth a,*/
/*.content a:not(.btn),
.content a:not(.btn_circle) {
    display: inline-block;
    color: var(--blue);
    cursor: pointer;
    text-decoration: underline;
}

    .content a:not(a.btn):hover,
    .content a:not(a.btn_circle):hover,
    .user_login .admin_form_auth a:hover {
        text-decoration: none;
        background-color: rgba(13, 76, 211, 0.2);
        border-radius: 4px;
    }
*/
.content a {
    display: inline-block;
    color: var(--blue);
    cursor: pointer;
    text-decoration: underline;
    word-break: break-all;
}

.content a:hover,
.user_login .admin_form_auth a:hover {
    text-decoration: none;
    background-color: rgba(13, 76, 211, 0.2);
    border-radius: 4px;
}

ul, ol, dl {
    padding: 0 0 0 20px;
    line-height: 2.2rem;
    overflow: hidden;
    margin: 0 0 10px;
}

    ul li,
    ol li {
        padding-left: 10px;
    }

  /*  ul li:not(:last-child),
    ol li:not(:last-child){
        margin-bottom: 10px;
    }*/

hr {
    border: none;
    border-top: 1px solid var(--black_20_percent);
    text-align: center;
    font-size: 20px;
    margin-top: var(--empty_space_m);
    margin-bottom: var(--empty_space_m);
}

/* Поля формы */
/* Убрать подсветку во всех браузерах: input, select, button, a */
:active, :hover, :focus {
    outline: 0;
    outline-offset: 0;
}

.input_fields,
.select_fields {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.input_fields {
    position: relative;
}
    .input_fields.error_field .fstdropdown,
    .input_fields.error_field input,
    .input_fields.error_field select {
        border: 2px solid #f79888 !important;
    }
    /* Цвет текста подсказки в полях */
    .input_fields input::placeholder,
    .input_fields textarea::placeholder,
    .input_fields select::placeholder,
    .input_fields select option:first-child {
        /*color: var(--black);*/
        color: #B3B3B3;
    }


    .input_fields input,
    .input_fields textarea,
    .input_fields select {
        height: 48px;
        border: 2px solid var(--black_20_percent);
        border-radius: var(--rounding_8px);
        padding: 6px;
        font-size: 15px;
        transition: .6s;
        font-family: 'Exo 2', sans-serif;
    }

        .input_fields input:disabled,
        .input_fields input:read-only,
        .input_fields input:disabled:hover,
        .input_fields input:read-only:hover,
        .input_fields input:disabled:active,
        .input_fields input:read-only:active,
        .input_fields textarea:disabled,
        .input_fields textarea:disabled:hover,
        .input_fields textarea:disabled:active,
        .input_fields select:disabled,
        .disabledActions .fstdropdown,
        .disabledActions input,
        .input_fields select:disabled:hover,
        .input_fields select:disabled:active,
        .input_fields.error_field input:disabled,
        .input_fields.error_field select:disabled {
            background: #EDEDED;
            border: 2px solid #EDEDED;
            cursor: not-allowed;
            border-radius: var(--rounding_8px);
        }

    .input_fields textarea {
        height: initial;
    }

    .input_fields label {
        font-size: 16px;
        white-space: nowrap; /* Текст не переносится */
        overflow: hidden; /* Обрезаем всё за пределами блока */
        text-overflow: ellipsis; /* Добавляем многоточие */
        /*white-space: pre-wrap;*/
    }

    .input_fields input:hover,
    .input_fields textarea:hover,
    .input_fields select:hover {
        border: 2px solid var(--black_40_percent);
    }

    .input_fields input:focus,
    .input_fields input:active,
    .input_fields textarea:focus,
    .input_fields textarea:active,
    .input_fields select:focus,
    .input_fields select:active {
        border-color: var(--light_blue);
        background: var(--black_5_percent);
    }

/* Ширина полей */
.input_fields input,
.input_fields select,
.input_fields textarea {
    width: 100%;
}

/* Стили радиокнопок и чекбоксов */
/* Увеличить размер иконок */
input[type="radio"],
input[type="checkbox"] {
    transform: scale(1.6);
    translate: 6px 1px;
    /*transform: translate(6px 1px);*/
    cursor: pointer;
}

.radio_btn,
.check_box_btn {
    display: inline-flex;
    align-items: flex-start;
    gap: 10px;
}

    .radio_btn:not(:last-child),
    .check_box_btn:not(:last-child) {
        margin-right: 40px;
        margin-bottom: 20px;
    }

    .radio_btn > input,
    .check_box_btn > input {
        margin-right: 14px;
    }

.input_textarea textarea {
    resize: vertical;
}

/* Стили для скрытия фразы "файл не загружен" */
/* Для полей, где уже загружен файл */
.uploaded_file {
    width: 132px;
    height: 34px;
    overflow: hidden;
}

/* Настройки полей, переопределение стилей jquerry */
.selectize-control {
    width: 100% !important;
}

/* Переопределение сторонних стилей bootstrap */
/* Применяются для элементов типа input */
.selectize-input {
    border: none;
    padding: 0;
    display: initial;
    width: 100%;
    overflow: initial;
    position: initial;
    z-index: 1;
    -webkit-box-sizing: initial;
    -moz-box-sizing: initial;
    box-sizing: initial;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.selectize-control {
    display: flex;
    align-items: center;
    border: 2px solid var(--black_20_percent);
    padding-left: 6px;
    border-radius: 8px;
    height: 48px;
    font-size: 15px;
}

.selectize-input.focus {
    border-color: none;
    outline: none;
    box-shadow: none;
}

.selectize-input.full {
    background-color: transparent;
}

.selectize-control.single .selectize-input.input-active,
.selectize-input {
    background-color: transparent;
}

.selectize-input {
    min-height: initial;
}

/* разграничительная линия */
.separator_line {
    border: 1px solid #D9D9D9;
    display: none;
}

@media (max-width: 1000px) {
    .separator_line {
        display: block;
    }
}

/* Стили кнопок */
button {
    /*background-color: var(--white);*/
    border: none;
    font-family: 'Exo 2', sans-serif;
}
.right {
    text-align:right;
}

.left {
    text-align: left;
}

.btn,
a.btn,
.input_fields input[type="button"],
.input_fields input[type="submit"] {
    display: inline-flex;
    align-items: center;
    column-gap: 10px;
    color: var(--white);
    background: var(--middle_blue);
    border: 2px solid var(--middle_blue);
    border-radius: 8px;
    padding: 11px 28px 15px 22px;
    box-shadow: var(--shadow_button);
    user-select: none;
    cursor: pointer;
    min-width: 80px;
    width: fit-content;
    text-decoration: none;
    font-size: 16px;
    margin-bottom: 14px;
    margin-right: 14px;
}

.btn.closeBtn {
    position: absolute;
    display: flex;
    min-width: unset;
    min-height: unset;
    padding: unset;
    margin-right: 10px !important;
    top: 0;
    right: 0;
    background-color: transparent;
    border: none;
}

.input_fields input[type="button"] {
    position: absolute;
    right: 4px;
    bottom: 4px;
    border: none;
    box-shadow: none;
    padding: 0 20px;
    margin: 0;
    min-width: inherit;
    height: 40px;
    border-radius: 4px;
    background-color: var(--black_10_percent);
    color: var(--black);
}

    .input_fields input[type="button"]:hover {
        background-color: var(--black_20_percent);
    }

    .btn .material-icons-outlined {
        font-size: 18px;
    }

    .btn:hover,
    a.btn:hover {
        box-shadow: var(--no_shadow);
        background: var(--navy_blue);
    }

    /* переопределить эффект наведения ссылок */
a.btn:hover {
    border-radius: 8px;
    border-color: var(--navy_blue);
}


/*.btn_margins {
    margin-right: 20px;
    margin-bottom: 20px;
}*/

.btn_white {
    background-color: var(--white);
    color: var(--black);
    border-color: var(--white);
}

    .btn_white .material-icons-outlined {
        color: var(--black);
    }

    .btn_white:hover {
        background-color: var(--black_5_percent);
        border-color: var(--black_20_percent);
    }

.btn_grey,
a.btn_grey {
    background-color: var(--black_5_percent);
    color: var(--black);
    border-color: var(--black_20_percent);
}

    .btn_grey .material-icons-outlined {
        color: var(--red);
    }

    .btn_grey:hover,
    a.btn_grey:hover {
        background-color: var(--black_5_percent);
        border-color: var(--black_20_percent);
    }

.btn_red {
    background-color: #E7472C;
    border-color: #E7472C;
}

.btn_red:hover {
    background-color: #E7472C;
    border-color: #E7472C;
    filter: brightness(30%);
}

.content a.btn_circle,
.btn_circle {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: initial;
    width: 48px;
    height: 48px;
    /*color: var(--red);*/
    /*color: var(--black);*/
    border-radius: 50%;
    border: 1px solid black;
    cursor: pointer;
    background-color: var(--black_5_percent);
    border: 2px solid var(--black_20_percent);
    text-decoration: none;
    padding: 20px;
}

    .btn_circle .material-icons-outlined {
        font-size: 24px;
    }

.content a.btn_circle:hover,
.btn_circle:hover {
    /*background-color: var(--white);*/
    border-color: var(--white);
    background-color: #e6e6e6;
}

/* Настройки неактивных кнопок */
.btn_disabled,
.btn_disabled:hover,
button.btn:disabled {
    background-color: #E0E0E0;
    color: #B3B3B3;
    box-shadow: none;
    cursor: not-allowed;
    border: 2px solid #E0E0E0;
}

    .btn_disabled .material-icons-outlined,
    button.btn:disabled .material-icons-outlined {
        color: #B3B3B3;
    }

.btn_grey.btn_disabled,
.btn_white.btn_disabled,
button.btn_grey:disabled {
    border-color: #E0E0E0;
    color: #B3B3B3;
}
.group-btn {
    padding: 0;
}
    .group-btn .btn {
        margin-right: 0;
        border-radius: 0;
    }
    .group-btn .btn:first-child {
        border-radius: 8px 0 0 8px;
    }
    .group-btn .btn:last-child {
        border-radius: 0 8px 8px 0;
    }
.hidden {
    display: none !important;
}
.disabledActions {
    pointer-events: none;
}

.disabledActionsGrey {
    pointer-events: none;
    opacity: 0.6;
}

    .disabledActionsGrey .fstdiv .fstdropdown .fstselected {
        background-color: #EDEDED;
    }

:root {
    /* Версия для госасситента(базовая) */
    /* Типы сеток для контентной части*/
    --two_columns: calc(100% / 2 - 30px);
    --three_columns: calc(100% / 3 - 60px);
    --four_columns: calc(100% / 4 - 90px);
    /* Монохромые цвета */
    --white: #ffffff;
    --black_5_percent: #F2F2F2;
    --black_10_percent: #E6E6E6;
    --black_20_percent: #CCCCCC;
    --black_30_percent: #B3B3B3;
    --black_40_percent: #999999;
    --black_50_percent: #808080;
    --black: #000000;
    /* Хроматические цвета */
    --green: #2EA35D;
    --green_rgba: 46, 163, 93;
    /* --orange: #FF9E58;*/
    --orange: #FE6E06;
    /*--orange_rgba: 255, 158, 88;*/
    --orange_rgba: 254, 110, 6;
    --red: #E7472C;
    --red_rgba: 231, 71, 44;
    --light_blue: #29ABE2;
    --light_blue_rbga: 41, 171, 226;
    --middle_blue: #1574AA;
    --navy_blue: #075E8F;
    --dark_blue: #023653;
    --blue: #0D4CD3;
    --blue_rgba: 13, 76, 211;
    --gosassitent_color_blue: #4B9FCF;
    --alert: #C03030;
    /* Цвета с прозрачностью */
    --black_transparency_30: rgba(0, 0, 0, 0.3);
    --black_transparency_10: rgba(0, 0, 0, 0.1);
    /* Градиенты */
    --gradient_Base_Style: linear-gradient(var(--navy_blue), var(--dark_blue));
    --gradient_Base_Style_lighter: linear-gradient(var(--light_blue), var(--middle_blue));
    --radial_gradient_Base_Style: radial-gradient(circle, var(--navy_blue), var(--dark_blue));
    /* Отступы между блоков (margin/padding) */
    /* margin: var(--name) / padding: var(--name) */
    --empty_space_b: max(4.5vw, 50px);
    --empty_space_m: max(3.5vw, 30px);
    --empty_space_s: max(2.5vw, 20px);
    --empty_space_large: clamp(60px, calc(60px + 1vw), 80px);
    --empty_space_mean: clamp(40px, calc(40px + 1vw), 60px);
    --empty_space_small: clamp(20px, calc(20px + 1vw), 40px);
    /* эффекты */
    --shadow_button: 0px 4px 4px rgba(0, 0, 0, 0.25);
    --no_shadow: none;
    /* Радиус скругления углов */
    --rounding_8px: 8px;
    --rounding_22px: 22px;
    /* Фильтры */
    /* Эффект наведения для кнопок */
    --btn_hover_effect: brightness(85%);
    --light-grey: #b9b9b9;
}

.border-red {
    border: 1px solid var(--red) !important;
}

.loader-container {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    text-align: center;
    z-index: 9999999;
    box-sizing: border-box;
}

.loader {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -24px 0 0 -24px;
}