/* =====================================================================
   Городской портал — тема поверх Bootstrap 5.0.2
   Дизайн: демо-шаблон City Portal (wt_50749)
   Тёмный фон #1e1e1e, акцент #de0d0f, шрифт Lato, красная полоса меню,
   чёрный подвал с колонками ссылок
   ===================================================================== */

/* ---------------------------------------------------------------
   1. Палитра и база
   --------------------------------------------------------------- */
:root {
    --cp-red: #de0d0f;
    --cp-red-hover: #b00b0c;
    --cp-red-light: #f32a2a;
    --cp-red-subtle: #f8d7d8;
    --cp-red-subtle-border: #efbfc0;
    --cp-black: #1e1e1e;
    --cp-panel: #242424;
    --cp-panel-2: #2b2b2b;
    --cp-border: #3a3a3a;
    --cp-text: #d6d6d6;
    --cp-muted: #999999;
    --bs-primary: #de0d0f;
    --bs-primary-rgb: 222, 13, 15;
    --bs-link-color: #de0d0f;
    --bs-link-hover-color: #b00b0c;
}

body {
    background-color: var(--cp-black);
    color: var(--cp-text);
    font-family: 'Lato', "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.55;
}

a {
    color: var(--cp-red);
    text-decoration: none;
}
a:hover {
    color: var(--cp-red-hover);
    text-decoration: none;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Lato', "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #ffffff;
    font-weight: 700;
}

h2, .h2 {
    font-size: 2rem;
    margin: 0 0 1.5rem;
    padding-bottom: .8rem;
    border-bottom: 3px solid var(--cp-red);
}
h3, .h3 {
    font-size: 1.375rem;
    margin: 0 0 .9rem;
}

::selection {
    background: var(--cp-red);
    color: #fff;
    text-shadow: none;
}

img {
    max-width: 100%;
    height: auto;
}

code {
    display: block;
    white-space: pre-wrap;
    color: #fff;
    background: #000;
}

.text-muted {
    color: var(--cp-muted) !important;
}

/* ---------------------------------------------------------------
   2. Каркас шаблона (шапка / меню / контент / подвал)
   --------------------------------------------------------------- */
.cp-main {
    flex: 1 1 auto;
    padding: 1.5rem 0 2.5rem;
}

.cp-header {
    position: relative;
    z-index: 100;
}

/* верхняя чёрная полоса (auth / соцсети) */
.cp-header .icms-header__top {
    background: rgba(0, 0, 0, .55);
    padding: .6rem 0;
}
.cp-header .icms-header__top a {
    color: #fff;
    font-size: .95rem;
    transition: color .25s;
}
.cp-header .icms-header__top a:hover {
    color: var(--cp-red);
}
/* ссылки в шапке без подчёркивания (при наведении — смена цвета) */
.cp-header a {
    text-decoration: none;
}
/* подписи карусели без подчёркивания (при наведении — смена цвета) */
.carousel-caption a {
    text-decoration: none;
}
.carousel-caption a.h2:hover,
.carousel-caption a.h2:focus {
    color: var(--cp-red-light);
}
.cp-header .icms-header__top .icms-widget.card,
.cp-header .icms-header__top .card {
    background: transparent;
    border: none;
    margin-bottom: 0;
}
.cp-header .icms-header__top .card-body {
    padding: 0;
}
/* меню пользователя в верхней полосе */
.cp-header .icms-header__top .navbar {
    padding: 0;
    min-height: 0;
}
.cp-header .icms-header__top .navbar-nav .nav-link {
    padding: .35rem .5rem;
    line-height: 1.4;
}
.cp-header .icms-header__top .navbar-nav .nav-link:first-child {
    padding-left: 0;
}
.cp-header .icms-header__top-social .icms-svg-icon {
    width: 22px;
    height: 22px;
    vertical-align: -4px;
}
@media (max-width: 575.98px) {
    .cp-header .icms-header__top .container {
        flex-wrap: wrap;
        justify-content: space-between;
    }
}

/* средняя полоса: логотип + поиск/меню пользователя */
.cp-header .icms-header__middle {
    padding: 1.25rem 0 1.5rem;
}

/* поиск в шапке (как в демо: прозрачный белый инпут с иконкой справа) */
.cp-header .icms-header__middle .form-inline {
    position: relative;
    margin: 0;
}
.cp-header .icms-header__middle .form-inline .form-control {
    width: 270px;
    max-width: 45vw;
    height: 48px;
    background: rgba(255, 255, 255, .5);
    border: none;
    border-radius: 0;
    font: 13px 'Lato', sans-serif;
    color: #000;
    padding: 0 58px 0 14px;
    box-shadow: none;
}
.cp-header .icms-header__middle .form-inline .form-control::placeholder {
    color: rgba(0, 0, 0, .6);
}
.cp-header .icms-header__middle .form-inline .form-control:focus {
    background: rgba(255, 255, 255, .8);
    box-shadow: none;
    border: none;
}
.cp-header .icms-header__middle .form-inline .input-group-append {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    z-index: 5;
}
.cp-header .icms-header__middle .form-inline .input-group-append .btn {
    height: 48px;
    width: 48px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    color: #000;
    transition: opacity .25s;
}
.cp-header .icms-header__middle .form-inline .input-group-append .btn:hover {
    opacity: .7;
}
@media (max-width: 575.98px) {
    .cp-header .icms-header__middle .form-inline .form-control {
        width: 40vw;
        max-width: none;
    }
}

.cp-logo__img {
    height: 52px;
    width: auto;
}
.cp-logo__title {
    margin-left: .75rem;
    font-family: 'Lato', sans-serif;
    font-size: 1.9rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #fff;
    line-height: 1.1;
}
.cp-logo a:hover .cp-logo__title {
    color: var(--cp-red);
}

/* красная полоса меню (главное меню) */
.cp-header .icms-header__bottom {
    background-color: var(--cp-red);
    color: #fff;
    line-height: 3.4rem;
    margin-bottom: 1.5rem;
}
.cp-header .icms-header__bottom .navbar {
    padding: 0;
    min-height: 0;
    background: transparent;
    border: none;
}
.cp-header .icms-header__bottom .navbar-nav {
    flex-wrap: nowrap;
}
.cp-header .icms-header__bottom .navbar-nav .nav-item {
    border-right: 1px solid #000;
}
.cp-header .icms-header__bottom .navbar-nav .nav-item:first-child {
    border-left: 1px solid #000;
}
.cp-header .icms-header__bottom .nav-link {
    position: relative;
    color: #fff;
    font-family: 'Lato', sans-serif;
    font-size: .85rem;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 3.2rem;
    padding: 0 .6rem;
    background: transparent;
    transition: background .25s, color .25s;
}
.cp-header .icms-header__bottom .nav-link::before {
    display: none;
}
.cp-header .icms-header__bottom .nav-link:hover,
.cp-header .icms-header__bottom .nav-link:focus,
.cp-header .icms-header__bottom .nav-item.active > .nav-link,
.cp-header .icms-header__bottom .nav-item.show > .nav-link {
    background: #000;
    color: #fff;
}
.cp-header .icms-header__bottom .nav-link > .counter.badge {
    color: var(--cp-red);
    background-color: #fff;
}
.cp-header .icms-header__bottom .nav-link.active > .counter.badge {
    background-color: var(--cp-red);
    color: #fff;
}

/* выпадающее меню (подменю) */
.cp-header .icms-header__bottom .dropdown-menu {
    background-color: #000;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-top: 0;
    min-width: 195px;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .6);
}
.cp-header .icms-header__bottom .dropdown-menu .dropdown-item {
    color: #fff;
    line-height: 3.2rem;
    padding: 0 1rem;
    border-bottom: 1px solid #434343;
    white-space: normal;
}
.cp-header .icms-header__bottom .dropdown-menu .dropdown-item:last-child {
    border-bottom: none;
}
.cp-header .icms-header__bottom .dropdown-menu .dropdown-item:hover,
.cp-header .icms-header__bottom .dropdown-menu .dropdown-item:focus,
.cp-header .icms-header__bottom .dropdown-menu .dropdown-item.active {
    background-color: #383838;
    color: #fff;
}
.cp-header .icms-header__bottom .dropdown-divider {
    border-color: #434343;
}
.cp-header .icms-header__bottom .dropdown-toggle::after {
    margin-left: .5rem;
    vertical-align: .1em;
}
/* вложенные подменю главного меню: на десктопе открываются вправо */
@media (min-width: 992px) {
    .cp-header .icms-header__bottom .dropdown-menu .dropdown-menu {
        top: 0;
        left: 100%;
        margin-top: 0;
        margin-left: .1rem;
    }
}
@media (max-width: 991.98px) {
    .cp-header .icms-header__bottom .navbar-collapse {
        background-color: #000;
        margin: 0 -1rem;
        padding: 0 1rem;
    }
    .cp-header .icms-header__bottom .navbar-nav .nav-item {
        border: none;
    }
    .cp-header .icms-header__bottom .nav-link {
        line-height: 1.4;
        padding: .8rem 0;
        border-bottom: 1px solid #434343;
    }
    .cp-header .icms-header__bottom .navbar-toggler {
        border-color: rgba(255, 255, 255, .55);
        padding: .25rem .5rem;
        margin: .6rem 0;
    }
    .cp-header .icms-header__bottom .navbar-light .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }
    .cp-header .icms-header__bottom .dropdown-menu {
        border: none;
        background-color: rgba(255, 255, 255, .06);
    }
    .cp-header .icms-header__bottom .dropdown-menu .dropdown-menu {
        position: static;
        float: none;
        top: auto;
        left: auto;
        margin: 0 0 0 .75rem;
        box-shadow: none;
        border-left: 1px solid #434343;
    }
}

/* логотип/бренд в шапке */
.cp-logo__img {
    height: 52px;
    width: auto;
    border-radius: 4px;
}

/* пользовательское меню в шапке */
.cp-header .icms-user-menu {
    background-color: rgba(255, 255, 255, .1);
    border-radius: .5rem;
    cursor: pointer;
}
.cp-header .icms-user-menu.show {
    background-color: rgba(255, 255, 255, .2);
}
.cp-header .icms-user-menu .nav-link {
    color: #fff;
}
.cp-header .icms-user-menu .nav-link:hover {
    color: var(--cp-red-light);
}
.cp-header .icms-user-menu .dropdown-menu {
    background-color: #000;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-top: 0;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .6);
}
.cp-header .icms-user-menu .dropdown-menu .nav-link {
    color: #fff;
    padding: .65rem 1.3rem;
    border-bottom: 1px solid #434343;
}
.cp-header .icms-user-menu .dropdown-menu .nav-link:hover,
.cp-header .icms-user-menu .dropdown-menu .nav-link:focus {
    background-color: #383838;
    color: #fff;
}
/* вложенные подменю пользовательского меню: на десктопе открываются влево */
@media (min-width: 992px) {
    .cp-header .icms-user-menu .dropdown-menu .dropdown-menu {
        top: 0;
        left: auto;
        right: 100%;
        margin-top: 0;
        margin-right: .1rem;
    }
}

/* --- контент --- */
/* изолируем Leaflet-карту в собственный stacking-контекст,
   чтобы её внутренние слои (z-index 400+) не перекрывали шапку и меню */
.galleryplus-map-widget,
.leaflet-container {
    position: relative;
    z-index: 0;
}
.cp-content {
    background-color: var(--cp-panel);
    border: 1px solid var(--cp-border);
    border-radius: .5rem;
    padding: 1.5rem;
}
/* на мобильных растягиваем панель контента до ширины плиток galleryplus
   (сами плитки вынесены на всю ширину вьюпорта в galleryplus.css) */
@media (max-width: 767.98px) {
    .cp-content:has(.galleryplus-grid) {
        width: calc(100vw - 4px);
        width: calc(100dvw - 4px);
        margin-left: calc(50% - 50vw + 2px);
        margin-right: calc(50% - 50vw + 2px);
    }
}
.cp-content h1,
.cp-content .h1 {
    font-size: 2.1rem;
    margin: 0 0 1.5rem;
    padding-bottom: .8rem;
    border-bottom: 3px solid var(--cp-red);
}
.cp-content .breadcrumb {
    margin-bottom: 1rem;
}
.cp-content .breadcrumb a,
.cp-content .breadcrumb .breadcrumb-item {
    color: var(--cp-muted);
}
.cp-content .breadcrumb .breadcrumb-item.active {
    color: var(--cp-text);
}
.cp-content .breadcrumb-item + .breadcrumb-item::before {
    color: var(--cp-muted);
}
/* заголовки блоков в профиле пользователя (перебиваем scss modern) */
body .icms-users-profile__view .fieldset_title {
    border-top-color: var(--cp-border);
}
body .icms-users-profile__view .fieldset_title h3 {
    margin: -.7rem 0 0;
    background: transparent;
    color: var(--cp-red);
    text-transform: uppercase;
    font-weight: 700;
}
body .icms-users-profile__view .fieldset_title a {
    background: transparent;
    color: var(--cp-muted);
}
body .icms-users-profile__view .fieldset_title a:hover {
    color: var(--cp-red-light);
}
.cp-content .breadcrumb::after {
    background: linear-gradient(270deg, var(--cp-panel) 40%, rgba(36, 36, 36, 0));
}

/* --- боковые колонки --- */
.cp-sidebar {
    display: flex;
    flex-direction: column;
}

/* --- подвал --- */
.icms-footer__middle {
    background: #000;
    padding-top: 1px;
}
.icms-footer__middle .container.border-bottom {
    border-bottom: 1px solid #333 !important;
}
.icms-footer__middle h3 {
    color: #fff;
    font-size: 1.375rem;
    margin: 0 0 .9rem;
}
.icms-footer__middle a {
    color: #888;
}
.icms-footer__middle a:hover {
    color: var(--cp-red-light);
}
.icms-footer__bottom {
    background: #000;
    color: #999;
    font-size: .9rem;
}
.icms-footer__bottom a {
    color: var(--cp-red);
}
.icms-footer__bottom a:hover {
    color: #fff;
}
.icms-footer__bottom .cp-footer__info {
    margin-left: .5rem;
    opacity: .7;
}
.icms-footer__bottom .icms-widget.card,
.icms-footer__bottom .card,
.icms-footer__middle .icms-widget.card,
.icms-footer__middle .card {
    background: transparent;
    border: none;
    margin-bottom: 0;
}
.icms-footer__bottom .card-body,
.icms-footer__middle .card-body {
    padding: 0;
}
.icms-footer__bottom .icms-widget > .card-header,
.icms-footer__middle .icms-widget > .card-header {
    background: transparent;
    border-bottom: none;
    color: #fff;
}

/* кнопка «наверх» */
#scroll-top {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1038;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
    transform: translateY(5rem);
}
#scroll-top.position-fixed {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}
.cp-scroll-top.btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--cp-red);
    border-color: var(--cp-red);
}
.cp-scroll-top.btn:hover {
    background-color: #000;
    border-color: #000;
}
.cp-scroll-top .icms-svg-icon {
    width: 1.25rem;
    height: 1.25rem;
}

/* уведомление о cookie */
.icms-cookiealert {
    background-color: rgba(20, 20, 20, .92);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: #ffffff;
    transform: translateY(100%);
    transition: all 500ms ease-out;
    opacity: 0;
}
.icms-cookiealert.show {
    opacity: 1;
    transform: translateY(0%);
    transition-delay: 500ms;
}
.icms-cookiealert .acceptcookies {
    background-color: var(--cp-red);
    border-color: var(--cp-red);
    color: #fff;
    border-radius: .25rem;
    margin-left: .75rem;
    white-space: nowrap;
}
.icms-cookiealert .acceptcookies:hover {
    background-color: var(--cp-red-hover);
    border-color: var(--cp-red-hover);
}

/* ---------------------------------------------------------------
   3. Тёмные карточки / таблицы / формы
   --------------------------------------------------------------- */
.card,
.icms-widget.card {
    background-color: var(--cp-panel-2);
    border-color: var(--cp-border);
    color: var(--cp-text);
}
.card-header,
.icms-widget > .card-header {
    background-color: rgba(255, 255, 255, .04);
    border-bottom: 1px solid var(--cp-border);
    color: #fff;
    font-weight: 700;
}
.card-header h3,
.card-header .h3 {
    margin: 0;
}
.card .card-title {
    color: #fff;
}

.table {
    --bs-table-bg: transparent;
    color: var(--cp-text);
    border-color: var(--cp-border);
}
.table > :not(caption) > * > * {
    background-color: transparent;
    border-bottom-color: var(--cp-border);
    color: var(--cp-text);
}
.table thead th {
    border-bottom-color: var(--cp-border);
    color: #fff;
}
.table-hover > tbody > tr:hover > * {
    background-color: rgba(255, 255, 255, .05);
    color: var(--cp-text);
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: rgba(255, 255, 255, .03);
}
.table-light {
    background-color: var(--cp-panel-2);
    color: var(--cp-text);
}

.list-group {
    background-color: transparent;
}
.list-group-item {
    background-color: var(--cp-panel-2);
    border-color: var(--cp-border);
    color: var(--cp-text);
}
.list-group-item a {
    color: inherit;
}

.form-control,
.form-select {
    background-color: #fff;
    border-color: #ced4da;
    color: #212529;
}
.form-control:focus,
.form-select:focus {
    background-color: #fff;
    color: #212529;
    border-color: var(--cp-red);
    box-shadow: 0 0 0 .25rem rgba(222, 13, 15, .25);
}
.form-control::placeholder {
    color: #6c757d;
}

/* ---------------------------------------------------------------
   4. Совместимость с классами Bootstrap 4
   --------------------------------------------------------------- */
/* отступы: только левые/правые (остальные есть в Bootstrap 5) */
.ml-0 { margin-left: 0 !important; }
.ml-1 { margin-left: .25rem !important; }
.ml-2 { margin-left: .5rem !important; }
.ml-3 { margin-left: 1rem !important; }
.ml-4 { margin-left: 1.5rem !important; }
.ml-5 { margin-left: 3rem !important; }
.ml-auto { margin-left: auto !important; }
.ml-n1 { margin-left: -.25rem !important; }
.ml-n2 { margin-left: -.5rem !important; }
.ml-n3 { margin-left: -1rem !important; }
.ml-n4 { margin-left: -1.5rem !important; }
.ml-n5 { margin-left: -3rem !important; }

.mr-0 { margin-right: 0 !important; }
.mr-1 { margin-right: .25rem !important; }
.mr-2 { margin-right: .5rem !important; }
.mr-3 { margin-right: 1rem !important; }
.mr-4 { margin-right: 1.5rem !important; }
.mr-5 { margin-right: 3rem !important; }
.mr-auto { margin-right: auto !important; }
.mr-n1 { margin-right: -.25rem !important; }
.mr-n2 { margin-right: -.5rem !important; }
.mr-n3 { margin-right: -1rem !important; }
.mr-n4 { margin-right: -1.5rem !important; }
.mr-n5 { margin-right: -3rem !important; }

.pl-0 { padding-left: 0 !important; }
.pl-1 { padding-left: .25rem !important; }
.pl-2 { padding-left: .5rem !important; }
.pl-3 { padding-left: 1rem !important; }
.pl-4 { padding-left: 1.5rem !important; }
.pl-5 { padding-left: 3rem !important; }

.pr-0 { padding-right: 0 !important; }
.pr-1 { padding-right: .25rem !important; }
.pr-2 { padding-right: .5rem !important; }
.pr-3 { padding-right: 1rem !important; }
.pr-4 { padding-right: 1.5rem !important; }
.pr-5 { padding-right: 3rem !important; }

/* выравнивание текста */
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.float-left { float: left !important; }
.float-right { float: right !important; }

/* рамки */
.border-left { border-left: 1px solid #3a3a3a !important; }
.border-right { border-right: 1px solid #3a3a3a !important; }
.border-left-0 { border-left: 0 !important; }
.border-right-0 { border-right: 0 !important; }

/* шрифты */
.font-weight-light { font-weight: 300 !important; }
.font-weight-normal { font-weight: 400 !important; }
.font-weight-bold { font-weight: 700 !important; }
.font-weight-bolder { font-weight: bolder !important; }
.font-italic { font-style: italic !important; }

/* бейджи Bootstrap 4 */
.badge-pill {
    padding-right: .6em;
    padding-left: .6em;
    border-radius: 10rem;
}
.badge-primary { color: #fff; background-color: #de0d0f; }
.badge-secondary { color: #fff; background-color: #6c757d; }
.badge-success { color: #fff; background-color: #198754; }
.badge-danger { color: #fff; background-color: #dc3545; }
.badge-warning { color: #000; background-color: #ffc107; }
.badge-info { color: #000; background-color: #0dcaf0; }
.badge-light { color: #000; background-color: #f8f9fa; }
.badge-dark { color: #fff; background-color: #212529; }

/* закрывающая кнопка .close */
.close {
    float: right;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .5;
}
.close:hover {
    color: #000;
    text-decoration: none;
    opacity: .75;
}
.close:not(:disabled):not(.disabled):focus,
.close:not(:disabled):not(.disabled):hover {
    opacity: .75;
}
button.close {
    padding: 0;
    background-color: transparent;
    border: 0;
}

/* media object */
.media {
    display: flex;
    align-items: flex-start;
}
.media-body {
    flex: 1;
}
.media-body > *:last-child,
.media:last-child {
    margin-bottom: 0 !important;
}

/* embed-responsive */
.embed-responsive {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
}
.embed-responsive::before {
    display: block;
    content: "";
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.embed-responsive-21by9::before { padding-top: 42.857143%; }
.embed-responsive-16by9::before { padding-top: 56.25%; }
.embed-responsive-4by3::before { padding-top: 75%; }
.embed-responsive-1by1::before { padding-top: 100%; }

.no-gutters {
    margin-right: 0;
    margin-left: 0;
}
.no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
}

/* form-group / form-inline */
.form-group {
    margin-bottom: 1rem;
}
.form-inline {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
}
.form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
}
.form-inline .input-group {
    width: auto;
}
.form-inline label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
}

/* input-group-append / prepend */
.input-group-append,
.input-group-prepend {
    display: flex;
    align-items: center;
}
.input-group-append {
    margin-left: -1px;
}
.input-group-prepend {
    margin-right: -1px;
}
.input-group-append > .btn,
.input-group-prepend > .btn {
    position: relative;
    z-index: 2;
}
.input-group-append > .btn:focus,
.input-group-prepend > .btn:focus {
    z-index: 3;
}
.input-group-append > .btn:not(:last-child):not(.dropdown-toggle) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.input-group-prepend > .btn:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/* dropdown-menu-right */
.dropdown-menu-right {
    right: 0;
    left: auto;
}

/* custom-control (checkbox / radio / switch) */
.custom-control {
    position: relative;
    z-index: 1;
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5rem;
}
.custom-control-inline {
    display: inline-flex;
    margin-right: 1rem;
}
.custom-control-input {
    position: absolute;
    left: 0;
    z-index: -1;
    width: 1rem;
    height: 1.25rem;
    opacity: 0;
}
.custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    border-color: #de0d0f;
    background-color: #de0d0f;
}
.custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 .2rem rgba(222, 13, 15, .25);
}
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #efbfc0;
}
.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    color: #fff;
    background-color: #f8a3a4;
    border-color: #f8a3a4;
}
.custom-control-input[disabled] ~ .custom-control-label,
.custom-control-input:disabled ~ .custom-control-label {
    color: #6c757d;
}
.custom-control-input[disabled] ~ .custom-control-label::before,
.custom-control-input:disabled ~ .custom-control-label::before {
    background-color: #e9ecef;
}
.custom-control-label {
    position: relative;
    margin-bottom: 0;
    vertical-align: top;
}
.custom-control-label::before {
    position: absolute;
    top: .25rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    pointer-events: none;
    content: "";
    background-color: #fff;
    border: 1px solid #adb5bd;
}
.custom-control-label::after {
    position: absolute;
    top: .25rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    background: 50% / 50% 50% no-repeat;
}
.custom-checkbox .custom-control-label::before {
    border-radius: .25rem;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
    border-color: #de0d0f;
    background-color: #de0d0f;
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before,
.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
    background-color: rgba(222, 13, 15, .5);
}
.custom-radio .custom-control-label::before {
    border-radius: 50%;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(222, 13, 15, .5);
}
.custom-switch {
    padding-left: 2.25rem;
}
.custom-switch .custom-control-label::before {
    left: -2.25rem;
    width: 1.75rem;
    pointer-events: all;
    border-radius: .5rem;
}
.custom-switch .custom-control-label::after {
    top: calc(.25rem + 2px);
    left: calc(-2.25rem + 2px);
    width: calc(1rem - 4px);
    height: calc(1rem - 4px);
    background-color: #adb5bd;
    border-radius: .5rem;
    transition: transform .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: #fff;
    transform: translateX(.75rem);
}
.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(222, 13, 15, .5);
}

/* custom-select */
.custom-select {
    display: inline-block;
    width: 100%;
    padding: .375rem 2.25rem .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 12px;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.custom-select:focus {
    border-color: #efbfc0;
    outline: 0;
    box-shadow: 0 0 0 .2rem rgba(222, 13, 15, .25);
}

/* sr-only */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* серые фоны */
.bg-gray-100 { background-color: #f8f9fa !important; }
.bg-gray-200 { background-color: #eeeeee !important; }
.bg-gray-300 { background-color: #dee2e6 !important; }
.bg-gray-400 { background-color: #cccccc !important; }
.bg-gray-500 { background-color: #adb5bd !important; }
.bg-gray-600 { background-color: #888888 !important; }
.bg-gray-700 { background-color: #495057 !important; }
.bg-gray-800 { background-color: #333333 !important; }
.bg-gray-900 { background-color: #222222 !important; }

/* ---------------------------------------------------------------
   5. Порт компонентных стилей InstantCMS (тема modern)
   --------------------------------------------------------------- */

/* --- виджеты --- */
.icms-widget,
.icms-widget__tabbed {
    position: relative;
}
.icms-widget > .card-header > .icms-svg-icon {
    margin-right: .5rem;
    color: var(--cp-red);
}
.icms-widget .edit_wlinks,
.icms-widget__tabbed .edit_wlinks {
    transition: opacity .15s linear;
    position: absolute;
    bottom: 0;
    right: 0;
    opacity: 0;
    z-index: 10;
}
.icms-widget:hover .edit_wlinks,
.icms-widget__tabbed:hover .edit_wlinks {
    opacity: 1;
}
.icms-widget:last-child,
.icms-widget__tabbed:last-child {
    margin-bottom: 0 !important;
}

.icms-widget__tabbed > .card-header .nav-link {
    padding: .5rem 1rem;
}

.icms-widget__transparent.card,
.icms-widget__square.card {
    background-color: var(--cp-panel-2);
    border-color: var(--cp-border);
}

.icms-widget__compact.card {
    background-color: var(--cp-panel-2);
    border-color: var(--cp-border);
}
.icms-widget__compact > .card-header {
    background-color: transparent;
    padding: 0;
    font-weight: bold;
    margin: 0 0 1rem;
    border: none;
}
.icms-widget__compact > .card-body,
.icms-widget__compact > .icms-widgets > .card-body {
    padding: 0;
}

.icms-widget__square > .card-header {
    border-bottom: none;
    padding: 0;
    text-transform: uppercase;
    letter-spacing: -0.2px;
    font-weight: 700;
    position: relative;
}
.icms-widget__square > .card-header > span:first-child {
    position: relative;
    padding: 0 1rem 0 1.5rem;
    background: #fff;
    color: #5bc0de;
}
.icms-widget__square > .card-header > span:first-child::before {
    display: inline-block;
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    height: .9rem;
    width: .9rem;
    background: #5bc0de;
    margin-top: -.45rem;
}
.icms-widget__square > .card-header .links {
    background: #fff;
    padding-left: 1rem;
    z-index: 1;
}
.icms-widget__square > .card-header::before {
    content: '';
    display: inline-block;
    height: 3px;
    position: absolute;
    top: 50%;
    margin-top: -1.5px;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, .07);
}

/* --- меню / навигация --- */
.icms-user-menu {
    background-color: rgba(0, 0, 0, .05);
    cursor: pointer;
}
.icms-user-menu.show {
    background-color: rgba(0, 0, 0, .25);
}
.icms-user-menu .nav-link {
    color: rgba(0, 0, 0, .8);
}
.icms-user-menu .nav-link:hover,
.icms-user-menu .nav-link:focus {
    color: rgba(0, 0, 0, .9);
}
.icms-user-menu .nav-link.disabled {
    color: rgba(0, 0, 0, .3);
}

.icms-actions-menu {
    padding: .22rem 0;
}

.mobile-menu-wrapper {
    white-space: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.mobile-menu-wrapper > .nav,
.mobile-menu-wrapper > .swipe-wrapper {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}
.mobile-menu-wrapper > .nav > li,
.mobile-menu-wrapper > .swipe-wrapper > .swipe-item {
    flex: 0 0 auto;
}
.mobile-menu-wrapper::-webkit-scrollbar {
    display: none;
}
@media (max-width: 991.98px) {
    .mobile-menu-wrapper__info_bar:not(.transparent) {
        background-color: #f8f9fa;
    }
    .mobile-menu-wrapper__info_bar {
        border-top: 1px solid #eeeeee;
        margin-top: 1rem;
    }
    .mobile-menu-wrapper__info_bar .info_bar {
        border-top: none;
        margin-top: 0;
    }
    .mobile-menu-wrapper__tab {
        border-bottom: 1px solid #3a3a3a;
    }
    .mobile-menu-wrapper__tab .nav-tabs {
        border-bottom: none;
    }
    .mobile-menu-wrapper__tab .nav-tabs .nav-link {
        margin-bottom: 0;
    }
}

#mobile_device_type .icms-user-menu > .dropdown-menu {
    position: fixed !important;
    top: 0 !important;
    left: -100% !important;
    width: 100%;
    height: 100%;
    transform: none !important;
    right: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    border-radius: 0;
    border: none;
    display: block !important;
    transition: transform 400ms cubic-bezier(0.05, 0.74, 0.27, 0.99);
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
}
#mobile_device_type .icms-user-menu > .dropdown-menu.show {
    transform: translate3d(100%, 0, 0) !important;
}
#mobile_device_type .icms-user-menu > .dropdown-menu .nav-link {
    padding: .65rem 1.3rem;
    border-bottom: 1px solid #3a3a3a;
    font-size: 1.25rem;
}
#mobile_device_type .icms-user-menu > .dropdown-menu .dropdown-menu {
    position: relative;
    top: auto;
    right: auto;
    float: none;
    margin: 0;
    border: none;
    background-color: rgba(255, 255, 255, .05);
    border-radius: 0;
}

/* скрытие/показ текста пунктов меню */
.nav-item-text-xs-show .nav-item-text { display: inline-block; }
.nav-item-text-xs-hide .nav-item-text { display: none; }
@media (min-width: 576px) {
    .nav-item-text-sm-show .nav-item-text { display: inline-block; }
    .nav-item-text-sm-hide .nav-item-text { display: none; }
}
@media (min-width: 768px) {
    .nav-item-text-md-show .nav-item-text { display: inline-block; }
    .nav-item-text-md-hide .nav-item-text { display: none; }
}
@media (min-width: 992px) {
    .nav-item-text-lg-show .nav-item-text { display: inline-block; }
    .nav-item-text-lg-hide .nav-item-text { display: none; }
}
@media (min-width: 1200px) {
    .nav-item-text-xl-show .nav-item-text { display: inline-block; }
    .nav-item-text-xl-hide .nav-item-text { display: none; }
}

/* --- navbar (переопределения под Bootstrap 5 / наследуемые шаблоны) --- */
#desktop_device_type .icms-menu-hovered .dropdown:hover > .dropdown-menu,
#desktop_device_type .icms-user-menu:not(.show):hover > .dropdown-menu {
    display: block;
    -webkit-animation: slide-up .3s ease-in-out;
    animation: slide-up .3s ease-in-out;
    margin: 0;
}

.breadcrumb-item > a {
    color: inherit;
}
.breadcrumb {
    position: relative;
    background: transparent;
    padding: .5rem 0;
    font-size: .875rem;
}

.navbar .form-control {
    box-shadow: inset 0 -1px 0 #cccccc;
    transition: box-shadow .2s;
    background-color: transparent;
    border: none;
    border-radius: 0;
    color: #fff;
}
.navbar .form-control:focus {
    box-shadow: inset 0 -2px 0 #de0d0f;
}
.navbar .form-control:focus ~ .input-group-append .btn {
    color: #de0d0f;
}
.navbar .input-group-append .btn {
    color: #cccccc;
}

.navbar-nav.icms-navbar-expanded:not(.flex-column) .nav-item:not(:first-child) .nav-link {
    padding-left: 2rem;
}

.icms-navbar .dropdown-menu {
    padding: 0;
    border-radius: 0;
}
.icms-navbar .nav-link::before {
    bottom: -1px !important;
}
@media (max-width: 991.98px) {
    .icms-navbar .dropdown-menu {
        border-top: none;
        margin-top: 0;
    }
}
@media (min-width: 992px) {
    .icms-navbar .nav-link {
        text-transform: uppercase;
    }
    .icms-navbar .dropdown-menu {
        border-bottom: none;
        border-right: none;
        border-left: none;
        box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    }
    .icms-navbar .dropdown-menu .dropdown-item {
        padding: .5rem 1rem;
    }
}
.cp-header .icms-header__bottom .navbar-brand.icms-navbar-brand__show_on_hide,
.cp-header .icms-header__bottom .form-inline.icms-navbar-form__show_on_hide {
    display: none !important;
}

.nav-tabs .nav-link,
.icms-navbar .nav-link {
    outline-color: #3a3a3a;
    border: 0;
    position: relative;
    background-color: transparent;
}
.nav-tabs .nav-link::before,
.icms-navbar .nav-link::before {
    transition: all .5s;
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 0%;
    height: 3px;
    background-color: transparent;
    content: '';
}
.nav-tabs .nav-link.active,
.icms-navbar .nav-link.active {
    background-color: transparent;
}
.nav-tabs .nav-link.active::before,
.icms-navbar .nav-link.active::before {
    background-color: #de0d0f;
    width: 100%;
}
.nav-tabs .nav-link:not(.active):hover::before,
.icms-navbar .nav-link:not(.active):hover::before {
    width: 100%;
    background-color: #3a3a3a;
}

.nav-link > .counter.badge {
    color: #fff;
    background-color: #de0d0f;
}
.nav-link.active > .counter.badge {
    background-color: #fff;
    color: #de0d0f;
}

.navbar-light .nav-link {
    color: rgba(255, 255, 255, .85);
}
.navbar-light .nav-link:hover,
.navbar-light .nav-link:focus {
    color: #fff;
}
.navbar-light .nav-link.disabled {
    color: rgba(255, 255, 255, .4);
}
.navbar-light .show > .nav-link,
.navbar-light .active > .nav-link,
.navbar-light .nav-link.show,
.navbar-light .nav-link.active {
    color: #fff;
}
.navbar-dark .nav-link {
    color: rgba(255, 255, 255, .8);
}
.navbar-dark .nav-link:hover,
.navbar-dark .nav-link:focus {
    color: #fff;
}
.navbar-dark .nav-link.disabled {
    color: rgba(255, 255, 255, .25);
}
.navbar-dark .show > .nav-link,
.navbar-dark .active > .nav-link,
.navbar-dark .nav-link.show,
.navbar-dark .nav-link.active {
    color: #fff;
}
@media (max-width: 767.98px) {
    .navbar-dark .dropdown-menu {
        border-color: transparent;
        background-color: rgba(255, 255, 255, .06);
    }
    .navbar-dark .dropdown-menu .dropdown-item.border-bottom,
    .navbar-dark .dropdown-menu .dropdown-divider {
        border-color: rgba(255, 255, 255, .12) !important;
    }
    .navbar-dark .dropdown-menu .dropdown-item {
        color: rgba(255, 255, 255, .65);
    }
    .navbar-dark .dropdown-menu .dropdown-item:hover,
    .navbar-dark .dropdown-menu .dropdown-item:focus {
        background-color: rgba(255, 255, 255, .25);
    }
}

.dropdown-menu-arrow::before {
    position: absolute;
    top: -8px;
    left: 50%;
    content: "";
    width: 0;
    border-width: 0 8px 8px;
    border-style: solid;
    border-color: rgba(0, 0, 0, .15) transparent;
    margin-left: -8px;
}
.dropdown-menu-arrow::after {
    position: absolute;
    top: -7px;
    left: 50%;
    content: '';
    width: 0;
    border-width: 0 7px 7px;
    border-style: solid;
    border-color: #fff transparent;
    margin-left: -7px;
}
.dropdown-menu-arrow[x-placement^="top"]::after {
    top: auto;
    bottom: -7px;
    transform: rotate(180deg);
}
.dropdown-menu-arrow[x-placement^="top"]::before {
    top: auto;
    bottom: -8px;
    transform: rotate(180deg);
}

/* --- контент --- */
.content_list_item + .content_list_item {
    margin-top: 2rem;
}
.icms-body-toolbox + .content_list {
    margin-top: 1.5rem !important;
}
.content_item .field:not(.form-group),
.content_list .field:not(.form-group) {
    margin-bottom: .5rem;
}
@media (min-width: 576px) {
    .content_item .field:not(.form-group),
    .content_list .field:not(.form-group) {
        margin-bottom: .75rem;
    }
    .content_item .field:not(.form-group).left_field,
    .content_list .field:not(.form-group).left_field {
        float: left;
        margin-right: 1rem;
        margin-bottom: 0;
    }
    .content_item .field:not(.form-group).right_field,
    .content_list .field:not(.form-group).right_field {
        float: right;
        margin-left: 1rem;
        margin-bottom: 0;
    }
}
.content_item .field:not(.form-group).auto_field,
.content_list .field:not(.form-group).auto_field {
    overflow: visible;
}
.content_item .field:not(.form-group).none_field,
.content_list .field:not(.form-group).none_field {
    float: none;
    clear: both;
}
.content_item .title_left,
.content_list .title_left,
.content_item .title_top,
.content_list .title_top {
    font-weight: bold;
    color: #fff;
}
.content_item .title_left,
.content_list .title_left {
    float: left;
    margin-right: 1rem;
}
.content_item .title_top,
.content_list .title_top {
    margin-bottom: .5rem;
}
.content_item .value > *:last-child,
.content_list .value > *:last-child {
    margin-bottom: 0;
}
.content_item .field:not(.form-group):last-child,
.content_list .field:not(.form-group):last-child {
    margin-bottom: 0;
}
.content_item .field:not(.form-group):last-child::after,
.content_list .field:not(.form-group):last-child::after {
    content: "";
    display: table;
    clear: both;
}
.content_item td > .info_bar,
.content_list td > .info_bar {
    background-color: transparent;
    border: none;
}

.content_list.table .info_bar {
    margin-top: 0;
    padding: 0;
}

.content_list.compact .field {
    margin-bottom: .25rem;
}
.content_list.compact .content_list_item + .content_list_item {
    margin-top: 1rem;
}
@media (min-width: 992px) {
    article .content_list.compact {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: -1rem;
    }
    article .content_list.compact > * {
        flex: 0 0 50%;
        max-width: 50%;
        margin-top: 0 !important;
        margin-bottom: 1rem;
    }
}

.content_list.featured > div .info_bar {
    background-color: transparent;
    padding-bottom: 0;
    margin-top: 0;
}
@media (min-width: 992px) {
    .content_list.featured > div:first-child .field.ft_image {
        float: left;
        margin-right: 1rem;
        margin-bottom: 0;
        max-width: 50%;
    }
}
.content_list.featured .ft_image a {
    display: block;
    overflow: hidden;
}
.content_list.featured .ft_image a > img {
    width: 100%;
    transition: transform .3s ease-out;
}
.content_list.featured .ft_image a > img:hover {
    transform: scale(1.1);
}
.content_list.tiled .ft_image a > img {
    width: 100%;
    border-radius: .25rem;
}

.info_bar {
    background-color: rgba(255, 255, 255, .04);
    padding: .75rem 1rem;
    border-top: 1px solid var(--cp-border);
    font-size: 90%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    color: var(--cp-muted);
    margin-top: 1rem;
    border-radius: 0 0 .25rem .25rem;
}
.info_bar a {
    color: inherit;
}
.info_bar .bar_item {
    position: relative;
    margin-right: 1rem;
}
.info_bar .bar_item:last-child {
    margin-right: 0;
}

.icms-content-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 90%;
    color: var(--cp-muted);
}
.icms-content-toolbar__item {
    margin-right: .5rem;
}
@media (min-width: 992px) {
    .icms-content-toolbar__item {
        margin-right: 1rem;
    }
}
.icms-content-toolbar__item:last-child {
    margin-right: 0;
}
.icms-content-toolbar a {
    color: inherit;
}

.first_type_images,
.second_type_images,
.hover_image {
    position: relative;
    display: inline-block;
}
.first_type_images:after,
.second_type_images:after,
.hover_image:after {
    content: '';
    background: #000;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: opacity .15s linear;
    opacity: 0;
    background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTguMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4wIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMiA1MTI7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4Ij4KPGc+Cgk8cGF0aCBkPSJNNDk3LjkzOCw0MzAuMDYzbC0xMTItMTEyYy0wLjMxMy0wLjMxMy0wLjYzNy0wLjYwNy0wLjk1NS0wLjkwOUM0MDQuNjM2LDI4NS40MDMsNDE2LDI0OC4wMDYsNDE2LDIwOCAgIEM0MTYsOTMuMzEzLDMyMi42OTUsMCwyMDgsMFMwLDkzLjMxMywwLDIwOHM5My4zMDUsMjA4LDIwOCwyMDhjNDAuMDA3LDAsNzcuNDA0LTExLjM2NCwxMDkuMTU0LTMxLjAxOCAgIGMwLjMwMiwwLjMxOSwwLjU5NiwwLjY0MywwLjkwOSwwLjk1NWwxMTIsMTEyQzQzOS40Myw1MDcuMzEzLDQ1MS43MTksNTEyLDQ2NCw1MTJjMTIuMjgxLDAsMjQuNTctNC42ODgsMzMuOTM4LTE0LjA2MyAgIEM1MTYuNjg4LDQ3OS4yMDMsNTE2LjY4OCw0NDguNzk3LDQ5Ny45MzgsNDMwLjA2M3ogTTY0LDIwOGMwLTc5LjQwNiw2NC42MDItMTQ0LDE0NC0xNDRzMTQ0LDY0LjU5NCwxNDQsMTQ0ICAgYzAsNzkuNDA2LTY0LjYwMiwxNDQtMTQ0LDE0NFM2NCwyODcuNDA2LDY0LDIwOHoiIGZpbGw9IiNGRkZGRkYiLz4KCTxwYXRoIGQ9Ik0yNzIsMTc2aC0zMnYtMzJjMC0xNy42NzItMTQuMzI4LTMyLTMyLTMycy0zMiwxNC4zMjgtMzIsMzJ2MzJoLTMyYy0xNy42NzIsMC0zMiwxNC4zMjgtMzIsMzJzMTQuMzI4LDMyLDMyLDMyaDMydjMyICAgYzAsMTcuNjcyLDE0LjMyOCwzMiwzMiwzMnMzMi0xNC4zMjgsMzItMzJ2LTMyaDMyYzE3LjY3MiwwLDMyLTE0LjMyOCwzMi0zMlMyODkuNjcyLDE3NiwyNzIsMTc2eiIgZmlsbD0iI0ZGRkZGRiIvPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+Cjwvc3ZnPgo=);
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: .25rem;
}
.first_type_images:hover:after,
.second_type_images:hover:after,
.hover_image:hover:after {
    opacity: .4;
}
.first_type_images,
.second_type_images {
    float: left;
    margin-right: .5rem;
}
.first_type_images:last-child,
.second_type_images:last-child {
    margin-right: 0;
}

.icms-btn-tag::before {
    content: '#';
    margin-right: .1rem;
}
.tags_bar .icms-btn-tag {
    margin: 0 .25rem .25rem 0;
}
.tags_bar {
    margin-bottom: -.25rem;
}

.multiple_tags_list li {
    color: #5bc0de;
    border: 1px solid #5bc0de;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    border-radius: .2rem;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.multiple_tags_list li:hover {
    color: #fff;
    background-color: #5bc0de;
    border-color: #5bc0de;
}
.multiple_tags_list li > * {
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    text-decoration: none;
    color: inherit;
    display: block;
}

.icms-content-header {
    position: relative;
}
.icms-content-header::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: block;
    opacity: .85;
    background-image: linear-gradient(130deg, rgba(222, 13, 15, .55) 0%, rgba(30, 30, 30, .95) 90%);
    border-radius: .5rem;
}
.icms-content-header__banner {
    background-color: #495057;
    color: #fff;
    border-radius: .5rem;
    overflow: hidden;
    position: relative;
}
.icms-content-header h1 {
    margin: 0;
}
.icms-content-header .bi_rating {
    font-size: 130%;
}
.icms-content-header .bi_rating .arrow .disabled {
    color: #adb5bd !important;
}
.icms-content-header__image::before {
    background: rgba(0, 0, 0, .65);
}
.icms-content-fields__group_title {
    margin: 1rem 0;
}
.icms-content__author-avatar {
    display: flex;
    text-decoration: none;
    color: #fff;
}
.icms-content__author-avatar:hover {
    text-decoration: none;
    color: #de0d0f;
}
.icms-content__author-avatar-nickname {
    writing-mode: vertical-lr;
    padding: .5rem;
    text-align: center;
    transform: rotate(180deg);
    white-space: nowrap;
    text-overflow: ellipsis;
    max-height: 240px;
    overflow: hidden;
}

.fieldsgroup_wrap__counter {
    counter-reset: list-number;
}
.fieldsgroup_wrap__counter > .fieldsgroup-item > div::before {
    counter-increment: list-number;
    content: counter(list-number);
    display: block;
    padding: 0 1rem 0 0;
    font-weight: bold;
}

.score {
    min-width: 1rem;
    text-align: center;
}

.btn-click {
    display: inline-block;
    transform: scale(1);
    transform-origin: center;
    transition: transform 0.4s cubic-bezier(.4, 0, .2, 1), opacity 0.3s ease;
}
.btn-click__busy {
    transform: scale(0);
    pointer-events: none;
}

/* --- формы --- */
.is_collapse > .field,
.is_collapse > .field_tabbed,
.hide_field {
    display: none !important;
}
.is_collapsed {
    transition: all .15s ease-in-out;
}
.is_collapsed > legend::before {
    content: '+';
    display: inline-block;
    margin: 0 1rem 0 1rem;
}
.is_collapsed.do_expand > legend {
    cursor: pointer;
}
.is_collapsed.do_expand > legend::before {
    content: '';
    display: none;
}
.is_collapse {
    padding: 0 !important;
    position: relative;
    background: rgba(255, 255, 255, .05);
    height: 2.4rem;
    box-sizing: border-box;
    line-height: 2.025;
    cursor: pointer;
}
.is_collapse > legend {
    padding: 0 !important;
    margin: 0 !important;
    position: absolute;
    top: 0;
    width: 100% !important;
    box-sizing: border-box;
    display: block;
    left: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ft_rmfield > label {
    display: block;
}
.icms-form__symbols_count_wrap {
    position: relative;
}
.icms-form__symbols_count_wrap > input {
    padding-right: 3rem;
}
.icms-form__symbols_count_wrap .symbols_count {
    position: absolute;
    top: 0;
    right: 0;
    height: 2.375rem;
    padding: .375rem .75rem;
    font-size: 1rem;
    color: #888888;
    line-height: 1.5;
    border: 1px solid transparent;
}
.icms-form__symbols_count_wrap .symbols_count .overflowing,
.icms-form__symbols_count_wrap .symbols_count .overflowing_min {
    color: #dc3545;
}
.input-group > .icms-form__symbols_count_wrap {
    flex: 1 1 auto;
    width: 1%;
    margin-bottom: 0;
}
.input-group > .icms-form__symbols_count_wrap:not(:first-child) > .form-control {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.input-group > .icms-form__symbols_count_wrap:not(:last-child) > .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.icms-form__password-field {
    position: relative;
}
.icms-form__password-field input {
    padding-right: 3rem;
}
.icms-form__password-field:focus-within .icms-form__password-field-icon {
    opacity: 1;
    z-index: 3;
}
.icms-form__password-field-icon {
    opacity: .1;
    position: absolute;
    top: 0;
    right: 0;
    padding: 0 .75rem 0 0;
    font-size: 160%;
    color: #888888;
    line-height: 1.5;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all .15s ease-in-out;
}
.icms-form__password-field-icon:hover {
    color: #cccccc;
}
.icms-form__password-field-icon.active {
    color: #dc3545;
}
input.loading {
    padding-left: calc(1.5rem + 16px);
    background-position: .75rem center;
}
input.loading.form-control-sm {
    padding-left: calc(1rem + 16px);
    background-position: .5rem center;
}
button.loading {
    background-position: center center;
}
.mce-content-body {
    margin: 1rem;
}
form .without-tabs fieldset {
    padding: 1rem 1rem 0 1rem;
    border-radius: .25rem;
    border: 1px solid rgba(255, 255, 255, .15);
    margin-bottom: 1rem;
}
form .without-tabs fieldset legend {
    font-size: 1.25rem;
    width: 100%;
    float: none;
    padding: 0;
    margin: 0 0 1rem 0;
}
.pattern_fields {
    display: inline-block;
    margin-bottom: -.25rem;
}
.pattern_fields_panel {
    display: none;
}
.pattern_fields > a {
    line-height: 1;
    text-decoration: none;
    display: inline-block;
    white-space: nowrap;
    vertical-align: baseline;
    padding: .25em .5em;
    border-radius: .25rem;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    background-color: #5bc0de;
    color: #fff;
    margin: 0 0 .25rem 0;
}
.pattern_fields > a:hover {
    background-color: #3db4d7;
}
.input-has-icon .input-group-text {
    background-color: #fff;
    border-right: none;
    padding-left: .5rem;
    padding-right: 0;
}
.input-has-icon .input-group-text .icms-svg-icon {
    font-size: 1.5rem;
    color: #495057;
}
.input-has-icon.input-group > .form-control:not(:first-child) {
    border-left: none;
}
.input-has-icon.input-group > .form-control:not(:first-child):focus {
    border-color: #ced4da;
    box-shadow: none;
}

/* валидация полей (Bootstrap 4) */
form .field_error .invalid-feedback {
    display: block;
}
form .field_error .chosen-container-single .chosen-single,
form .field_error select,
form .field_error textarea,
form .field_error .form-control,
form .field_error .input-group-text {
    border-color: #dc3545;
}
form .field_error .chosen-container-single .chosen-single:focus,
form .field_error select:focus,
form .field_error textarea:focus,
form .field_error .form-control:focus,
form .field_error .input-group-text:focus {
    border-color: #dc3545 !important;
}
form .reguired_field > label::after,
form .reguired_field label > span::after {
    content: '*';
    color: #dc3545;
    padding-left: .5rem;
}
form .child_field {
    padding-left: 1rem;
}
.custom-checkbox.align-items-center label::after,
.custom-checkbox.align-items-center label::before {
    top: auto;
}

/* --- комментарии --- */
.text-success.rate-up,
.rate-down.text-danger {
    color: #6c757d !important;
}
.rate-disabled {
    color: #3a3a3a;
}
.refresh_btn {
    display: block;
    position: fixed;
    z-index: 100;
    right: 0;
    top: 45%;
}
.refresh_btn.refresh_spin > svg {
    animation: animate__comment-spin 2s infinite linear;
}
@keyframes animate__comment-spin {
    0% { transform: rotate(0deg); }
    to { transform: rotate(359deg); }
}
#wall_add_form,
#comments_add_form {
    display: none;
}
#wall_add_form > form > .textarea.form-control,
#comments_add_form > form > .textarea.form-control {
    margin-bottom: 1rem;
}
.justify-content-between ~ #comments_add_form {
    margin-top: 1rem;
}
.icms-comments__tabs-tab {
    position: absolute;
    top: 0;
    right: 0;
}
.icms-comments-ns.ns-1 { margin-left: .5rem; }
.icms-comments-ns.ns-2 { margin-left: 1rem; }
.icms-comments-ns.ns-3 { margin-left: 1.5rem; }
.icms-comments-ns.ns-4 { margin-left: 2rem; }
.icms-comments-ns.ns-5 { margin-left: 2.5rem; }
.icms-comments-ns.ns-6 { margin-left: 3rem; }
.icms-comments-ns.ns-7 { margin-left: 3.5rem; }
.icms-comments-ns.ns-8 { margin-left: 4rem; }
.icms-comments-ns.ns-9 { margin-left: 4.5rem; }
.icms-comments-ns.ns-10 { margin-left: 5rem; }
@media (min-width: 992px) {
    .icms-comments-ns.ns-1 { margin-left: calc(30px + 1rem); }
    .icms-comments-ns.ns-2 { margin-left: calc(60px + 2rem); }
    .icms-comments-ns.ns-3 { margin-left: calc(90px + 3rem); }
    .icms-comments-ns.ns-4 { margin-left: calc(120px + 4rem); }
    .icms-comments-ns.ns-5 { margin-left: calc(150px + 5rem); }
    .icms-comments-ns.ns-6 { margin-left: calc(180px + 6rem); }
    .icms-comments-ns.ns-7 { margin-left: calc(210px + 7rem); }
    .icms-comments-ns.ns-8 { margin-left: calc(240px + 8rem); }
    .icms-comments-ns.ns-9 { margin-left: calc(270px + 9rem); }
    .icms-comments-ns.ns-10 { margin-left: calc(300px + 10rem); }
}
.comment .icms-user-avatar > img {
    max-width: 1.25rem;
    min-width: auto;
    min-height: auto;
}
.comment .icms-user-avatar.peer_online::after,
.comment .icms-user-avatar.peer_no_online::after {
    bottom: -2px;
    right: -2px;
    border-width: 1px;
    height: 10px;
    width: 10px;
}
.comment .no_approved {
    display: none !important;
}
#comments_widget .bad {
    transition: opacity .15s linear;
}
#comments_widget .bad:hover {
    opacity: 1;
}
#comments_widget .bad6 { opacity: .1; }
#comments_widget .bad5 { opacity: .2; }
#comments_widget .bad4 { opacity: .35; }
#comments_widget .bad3 { opacity: .5; }
#comments_widget .bad2 { opacity: .65; }
#comments_widget .bad1 { opacity: .8; }
.icms-comment-html {
    position: relative;
    border-radius: .25rem;
    padding: 1rem;
    background-color: rgba(255, 255, 255, .05);
    border: 1px solid var(--cp-border);
}
.icms-comment-html::after,
.icms-comment-html::before {
    display: block;
    position: absolute;
    top: -10px;
    left: 2.5rem;
    width: 18px;
    height: 10px;
    pointer-events: none;
    content: " ";
    -webkit-clip-path: polygon(50% 0, 0% 100%, 100% 100%);
    clip-path: polygon(50% 0, 0% 100%, 100% 100%);
}
.icms-comment-html::before {
    background-color: var(--cp-border);
}
.icms-comment-html::after {
    background-color: rgba(255, 255, 255, .05);
    margin-top: 1px;
}
.icms-comment-html > *:last-child {
    margin-bottom: 0;
}
.icms-comment-rating {
    min-width: 30px;
}
.selected-comment .icms-comment-html {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .6);
}

/* --- рейтинг звёздами --- */
.icms-stars.is_enabled {
    cursor: pointer;
}
.icms-stars.is_enabled:hover .star {
    color: #e99002 !important;
}
.icms-stars.is_enabled .star:hover ~ .star {
    color: inherit !important;
}
.icms-stars[data-stars] .star {
    color: #e99002 !important;
}
.icms-stars[data-stars="1"] .star:nth-child(1) ~ .star,
.icms-stars[data-stars="2"] .star:nth-child(2) ~ .star,
.icms-stars[data-stars="3"] .star:nth-child(3) ~ .star,
.icms-stars[data-stars="4"] .star:nth-child(4) ~ .star,
.icms-stars[data-stars="5"] .star:nth-child(5) ~ .star {
    color: inherit !important;
}

/* --- таблицы в содержимом --- */
.ft_html table {
    width: 100%;
    margin-bottom: 1rem;
    color: var(--cp-text);
    background-color: transparent;
    border: 1px solid var(--cp-border);
}
.ft_html table th,
.ft_html table td {
    padding: .75rem;
    vertical-align: top;
    border: 1px solid var(--cp-border);
}
.ft_html table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid var(--cp-border);
}
.ft_html table tbody tr:hover {
    color: var(--cp-text);
    background-color: rgba(255, 255, 255, .05);
}
.ft_html table tbody + tbody {
    border-top: 2px solid var(--cp-border);
}
.table-hover > tbody > tr,
.table-hover > tbody > tr > th,
.table-hover > tbody > tr > td {
    transition: background-color .3s, color .3s;
}
.list-group-item.active .text-muted {
    color: #b8c0c8 !important;
}

/* --- профиль / аватары --- */
.icms-profile-avatar__default {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    font-size: 1rem;
}
.icms-profile-avatar__default svg {
    width: 100%;
    height: 100%;
    text-rendering: optimizeSpeed;
}
.icms-profile-avatar__default.avatar__inlist {
    width: 64px;
    height: 64px;
}
.icms-profile-avatar__default.avatar__mini {
    width: 32px;
    height: 32px;
}
.icms-user-avatar {
    position: relative;
    display: inline-block;
}
.icms-user-avatar > * {
    border-radius: 50%;
    padding: 0;
    overflow: hidden;
    border: none;
    min-width: 32px;
    min-height: 32px;
}
.icms-user-avatar.peer_online::after,
.icms-user-avatar.peer_no_online::after {
    bottom: 0;
    right: 0;
    border: 2px solid #fff;
    height: 1em;
    width: 1em;
    content: '';
    position: absolute;
    border-radius: 50%;
}
.icms-user-avatar.peer_online::after {
    background-color: #43ac6a;
}
.icms-user-avatar.peer_no_online::after {
    background-color: #e99002;
}

/* --- спиннеры / загрузка --- */
.is-busy {
    position: relative;
}
.is-busy * {
    transition: none;
    visibility: hidden;
}
.is-busy::after {
    content: '';
    display: block;
    padding: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    border: 5px solid;
    border-top-color: transparent;
    border-left-color: transparent;
    border-radius: 50%;
    color: inherit;
    background-color: transparent;
    animation: loader-button 0.9s linear infinite;
    z-index: 99;
    width: 2rem;
    height: 2rem;
    margin: -1rem;
}
.is-busy.btn-sm::after {
    width: 1rem;
    height: 1rem;
    margin: -.5rem;
}
@keyframes loader-button {
    100% { transform: rotate(360deg); }
}
.spinner {
    width: 70px;
    height: 40px;
    margin: -20px 0 0 -35px;
    position: absolute;
    left: 50%;
    top: 50%;
}
.spinner > div {
    width: 18px;
    height: 18px;
    background-color: #de0d0f;
    border-radius: 100%;
    display: inline-block;
    animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}
.spinner > div.bounce1 {
    animation-delay: -0.32s;
}
.spinner > div.bounce2 {
    animation-delay: -0.16s;
}
@keyframes sk-bouncedelay {
    0%, 80%, 100% { transform: scale(0); }
    40% { transform: scale(1); }
}
.sk-circle {
    width: 90px;
    height: 90px;
    position: relative;
}
.sk-circle .sk-child {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
.sk-circle .sk-child::before {
    content: '';
    display: block;
    margin: 0 auto;
    width: 15%;
    height: 15%;
    background-color: #de0d0f;
    border-radius: 100%;
    animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
}
.sk-circle .sk-circle2 { transform: rotate(30deg); }
.sk-circle .sk-circle2::before { animation-delay: -1.1s; }
.sk-circle .sk-circle3 { transform: rotate(60deg); }
.sk-circle .sk-circle3::before { animation-delay: -1s; }
.sk-circle .sk-circle4 { transform: rotate(90deg); }
.sk-circle .sk-circle4::before { animation-delay: -0.9s; }
.sk-circle .sk-circle5 { transform: rotate(120deg); }
.sk-circle .sk-circle5::before { animation-delay: -0.8s; }
.sk-circle .sk-circle6 { transform: rotate(150deg); }
.sk-circle .sk-circle6::before { animation-delay: -0.7s; }
.sk-circle .sk-circle7 { transform: rotate(180deg); }
.sk-circle .sk-circle7::before { animation-delay: -0.6s; }
.sk-circle .sk-circle8 { transform: rotate(210deg); }
.sk-circle .sk-circle8::before { animation-delay: -0.5s; }
.sk-circle .sk-circle9 { transform: rotate(240deg); }
.sk-circle .sk-circle9::before { animation-delay: -0.4s; }
.sk-circle .sk-circle10 { transform: rotate(270deg); }
.sk-circle .sk-circle10::before { animation-delay: -0.3s; }
.sk-circle .sk-circle11 { transform: rotate(300deg); }
.sk-circle .sk-circle11::before { animation-delay: -0.2s; }
.sk-circle .sk-circle12 { transform: rotate(330deg); }
.sk-circle .sk-circle12::before { animation-delay: -0.1s; }
@keyframes sk-circleBounceDelay {
    0%, 80%, 100% { transform: scale(0); }
    40% { transform: scale(1); }
}
@keyframes slide-up {
    from { transform: translateY(0.5rem); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
.loading {
    background-image: url("data:image/svg+xml,%3Csvg xmlns:svg='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.0' width='16px' height='16px' viewBox='0 0 128 128' xml:space='preserve'%3E%3Cg%3E%3Ccircle cx='16' cy='64' r='16' fill='%23de0d0f' fill-opacity='1'/%3E%3Ccircle cx='16' cy='64' r='14.344' fill='%23de0d0f' fill-opacity='1' transform='rotate(45 64 64)'/%3E%3Ccircle cx='16' cy='64' r='12.531' fill='%23de0d0f' fill-opacity='1' transform='rotate(90 64 64)'/%3E%3Ccircle cx='16' cy='64' r='10.75' fill='%23de0d0f' fill-opacity='1' transform='rotate(135 64 64)'/%3E%3Ccircle cx='16' cy='64' r='10.063' fill='%23de0d0f' fill-opacity='1' transform='rotate(180 64 64)'/%3E%3Ccircle cx='16' cy='64' r='8.063' fill='%23de0d0f' fill-opacity='1' transform='rotate(225 64 64)'/%3E%3Ccircle cx='16' cy='64' r='6.438' fill='%23de0d0f' fill-opacity='1' transform='rotate(270 64 64)'/%3E%3Ccircle cx='16' cy='64' r='5.375' fill='%23de0d0f' fill-opacity='1' transform='rotate(315 64 64)'/%3E%3CanimateTransform attributeName='transform' type='rotate' values='0 64 64;315 64 64;270 64 64;225 64 64;180 64 64;135 64 64;90 64 64;45 64 64' calcMode='discrete' dur='720ms' repeatCount='indefinite'%3E%3C/animateTransform%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left center;
}
.loading > svg {
    visibility: hidden;
}

/* --- модальные окна --- */
.modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .5rem 1rem;
    background-color: #1e1e1e;
    color: #fff;
    border-bottom: 3px solid var(--cp-red);
    border-top-left-radius: .4rem;
    border-top-right-radius: .4rem;
}
.modal-header .modal-close > svg {
    fill: currentColor;
    width: 1.25rem;
}
.modal-title {
    color: #fff;
}
.modal-body {
    background-color: #fff;
    background-clip: padding-box;
    color: #212529;
}
.modal-content {
    background-color: transparent;
}
.fade-scale .modal-content {
    transform: scale(0.2);
    opacity: 0.2;
    transition: transform .1s ease-out, opacity .2s ease-out;
    will-change: transform, opacity;
}
.fade-scale.in .modal-content {
    opacity: 1;
    transform: scale(1);
}
.modal.show ~ *:not(.ui-widget):not(.tox):not(#toast-container):not(.tooltip):not(.unblured) > * {
    -webkit-filter: blur(2px);
    filter: blur(2px);
}
.ajax-modal {
    transition: all .15s ease-in-out;
    pointer-events: none;
}
.ajax-modal-ready {
    pointer-events: auto;
}

/* --- прочее --- */
.clickable {
    cursor: pointer;
}
.icms-dot-between {
    display: flex;
}
.icms-dot-between > *:not(:last-child)::after {
    content: '\002022';
    margin: 0 .5rem;
}
.icms-body-toolbox {
    margin-bottom: 1.5rem;
    display: flex;
    flex-direction: column;
}
.icms-body-toolbox h1 {
    margin: 0;
    order: 1;
}
@media (min-width: 992px) {
    .icms-body-toolbox {
        align-items: center !important;
        flex-direction: row;
    }
    .icms-body-toolbox h1 {
        flex: 1 1 auto !important;
        order: 0;
    }
}
.icms-filter-link__close {
    right: 1rem;
    top: .75rem;
    z-index: 1;
}
.highlight_new {
    color: #f04124 !important;
}
.icms-bg__cover {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.icms-bg__cover-bottom-gradient::before {
    content: '';
    width: 100%;
    height: 50%;
    display: block;
    position: absolute;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 80%);
}
blockquote,
.bb_quote {
    margin: 1rem 0;
    padding: .75rem 1rem;
    background-color: #2b2b2b;
    border-left: 5px solid #20c997;
    position: relative;
}
blockquote::before,
.bb_quote::before {
    content: "\201C";
    font-size: 3rem;
    position: absolute;
    top: 0;
    right: 5px;
    line-height: 1;
}
blockquote p:last-child,
.bb_quote p:last-child {
    margin-bottom: 0;
}
.spoiler {
    margin-bottom: 1rem;
}
.spoiler:last-child {
    margin-bottom: 0;
}
.spoiler > input + label {
    cursor: pointer;
    margin-bottom: 0;
}
.spoiler > input + label::before {
    content: '+';
    float: left;
    font-weight: bold;
    width: 15px;
}
.spoiler > input:checked + label::before {
    content: '-';
}
.spoiler > input:checked + label + .spoiler_body {
    display: block;
}
.spoiler > input,
.spoiler > input + label + .spoiler_body {
    display: none;
}
.spoiler > input + label,
.spoiler > .spoiler_body {
    background: #2b2b2b;
    padding: .5rem .75rem;
    width: 100%;
    display: block;
}
.spoiler > .spoiler_body {
    border: 1px solid #2b2b2b;
    border-top: none;
    background-color: transparent;
}
.color-block {
    float: left;
    border: 1px solid #cccccc;
    position: relative;
    height: 1.5rem;
    width: 2rem;
}
.inline_rss_icon {
    color: #fd7e14;
    font-size: 1rem;
}
.has-icon {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}
.collapse__angle-down {
    display: none;
}
.collapsed > .collapse__angle-down {
    display: inline-block;
}
.collapsed > .collapse__angle-up {
    display: none;
}
.icms-svg-icon {
    display: inline-block;
    font-size: inherit;
    height: 1em;
    overflow: visible;
    vertical-align: -0.125em;
    fill: currentColor;
    width: 1em;
}
.icms-svg-icon.w-32 {
    width: 2em;
    height: 2em;
}
.icms-links-inherit-color a {
    color: inherit;
    text-decoration: none;
}
.striped-list > .invite_sended .actions::before {
    content: attr(data-notice_title);
    background-color: #43ac6a;
    color: #fff;
    display: inline-block;
    font-size: .875em;
    border-radius: .25rem;
    padding: .25em .5em;
}
.pagination:last-child {
    margin-bottom: 0 !important;
}
.btn-dylan {
    position: relative;
    transition: all 0.4s ease-in;
}
.btn-dylan::before {
    content: '';
    background-color: rgba(222, 13, 15, .25);
    border-radius: 20%;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: scale(0.001, 0.001);
}
.btn-dylan:focus {
    outline: 0;
}
.btn-dylan:focus::before {
    animation: effect_dylan 0.8s ease-out;
}
.sort.asc::after {
    content: "\2191";
}
.sort.desc::after {
    content: "\2193";
}
.sort::after {
    padding-left: .5rem;
}
.icms-text-spoiler {
    position: relative;
    padding-bottom: 1.5rem;
}
.icms-text-spoiler .btn-spoiler-expand {
    display: none !important;
}
.icms-text-spoiler:not(.expanded) .btn-spoiler-collapse {
    display: none;
}
.icms-text-spoiler:not(.expanded) .btn-spoiler-expand {
    display: block !important;
}
.icms-text-spoiler:not(.expanded) {
    padding-bottom: 0;
}
.icms-text-spoiler:not(.expanded) .icms-text-spoiler__wrap {
    max-height: 7.5rem;
    overflow: hidden;
}
.icms-text-spoiler .btn-spoiler {
    display: flex;
    align-items: end;
    justify-content: center;
    text-decoration: none;
    font-size: .875rem;
    color: #d6d6d6;
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1.5rem;
    cursor: pointer;
    z-index: 100;
    background-color: rgba(36, 36, 36, .8);
    animation: fadeBackground .7s;
    animation-fill-mode: forwards;
}
.icms-text-spoiler .btn-spoiler > span {
    animation: fadeIn .7s;
    display: block;
    background-color: #242424;
    padding: 0 1rem;
}
@keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes fadeBackground {
    from { background-color: transparent; }
    to { background-color: rgba(36, 36, 36, .8); }
}
@keyframes effect_dylan {
    50% { transform: scale(1.5, 1.5); opacity: 0; }
    99% { transform: scale(0.001, 0.001); opacity: 0; }
    100% { transform: scale(0.001, 0.001); opacity: 1; }
}

.row > [class*="col-"] {
    min-width: 0;
}

/* ---------------------------------------------------------------
    Согласие с Политикой конфиденциальности в форме регистрации
   --------------------------------------------------------------- */

.icms-reg-agreement {
    border: 1px solid var(--bs-border-color);
    background: rgba(255, 255, 255, .03);
}

.icms-reg-agreement .form-check {
    padding-left: 1.75rem;
}

.icms-reg-agreement .form-check-input {
    margin-left: -1.75rem;
}

.icms-reg-agreement .form-check-label {
    font-size: .9rem;
    color: var(--bs-body-color);
}

.icms-reg-agreement__link {
    color: var(--bs-body-color);
    text-decoration: none;
}

.icms-reg-agreement__link:hover {
    color: var(--bs-body-color);
}

/* === Design options === */

/* Card shadows */
.card.mb-3.mb-md-4 {
    transition: box-shadow .2s;
}
.card.mb-3.mb-md-4:not(.icms-widget__transparent) {
    box-shadow: none;
}
body.cp-shadow .card.mb-3.mb-md-4:not(.icms-widget__transparent) {
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.35);
}

/* Card border radius */
body[data-card-radius] .card.mb-3.mb-md-4 {
    border-radius: var(--cp-card-radius-value, 0.25rem);
}

/* Scroll-to-top variants */
.cp-scroll-top--square {
    border-radius: 0 !important;
}
.cp-scroll-top--pill {
    border-radius: 50rem !important;
}
.cp-scroll-top--left {
    left: 1.5rem;
    right: auto;
}
.cp-scroll-top--center {
    left: 50%;
    transform: translateX(-50%);
}

/* === Theme toggle button === */
.cp-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.15);
    background: rgba(255,255,255,.06);
    color: #d6d6d6;
    transition: all .25s ease;
    cursor: pointer;
    flex-shrink: 0;
    margin-left: 12px;
}
.cp-theme-toggle:hover {
    background: rgba(255,255,255,.15);
    color: #fff;
    border-color: rgba(255,255,255,.3);
    transform: rotate(20deg) scale(1.1);
}
.cp-theme-toggle svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* === Light theme === */
body[data-theme="light"] {
    background-color: #f5f5f5;
    color: #212529;
}
body[data-theme="light"] .cp-header .icms-header__top {
    background-color: #1e1e1e;
    color: #fff;
}
body[data-theme="light"] .cp-header .icms-header__middle {
    background-color: #fff;
    border-bottom: 1px solid #dee2e6;
}
body[data-theme="light"] .cp-header .icms-header__bottom {
    background-color: #242424;
}
body[data-theme="light"] .cp-logo__title {
    color: #212529;
}
body[data-theme="light"] .cp-main {
    background-color: #f5f5f5;
}
body[data-theme="light"] .cp-content {
    background-color: transparent;
}
body[data-theme="light"] .card {
    background-color: #fff;
    color: #212529;
    border-color: #dee2e6;
}
body[data-theme="light"] .card .card-header,
body[data-theme="light"] .widget-title {
    color: #212529;
    border-bottom-color: #dee2e6;
}
body[data-theme="light"] .text-muted,
body[data-theme="light"] .cp-muted {
    color: #6c757d !important;
}
body[data-theme="light"] a {
    color: var(--cp-red, #de0d0f);
}
body[data-theme="light"] .icms-footer__middle {
    background-color: #fff;
    border-top: 1px solid #dee2e6;
    color: #212529;
}
body[data-theme="light"] .icms-footer__bottom {
    background-color: #f8f9fa;
    border-top: 1px solid #dee2e6;
    color: #6c757d;
}
body[data-theme="light"] .icms-footer__bottom a {
    color: #212529;
}
body[data-theme="light"] .btn-primary {
    background-color: var(--cp-red, #de0d0f);
    border-color: var(--cp-red, #de0d0f);
    color: #fff;
}
body[data-theme="light"] .btn-primary:hover {
    background-color: var(--cp-red-hover, #b00b0c);
    border-color: var(--cp-red-hover, #b00b0c);
}
body[data-theme="light"] .navbar-light .nav-link {
    color: rgba(255,255,255,.85);
}
body[data-theme="light"] .icms-comment-html {
    background-color: #f8f9fa;
    border-color: #dee2e6;
}
body[data-theme="light"] .icms-comment-html::after {
    background-color: #f8f9fa;
}
body[data-theme="light"] .info_bar {
    background-color: rgba(0,0,0,.03);
    color: #6c757d;
}
body[data-theme="light"] blockquote,
body[data-theme="light"] .bb_quote {
    background-color: #f8f9fa;
    border-left-color: #20c997;
}
body[data-theme="light"] .spoiler > input + label,
body[data-theme="light"] .spoiler > .spoiler_body {
    background: #f8f9fa;
}
body[data-theme="light"] .icms-text-spoiler .btn-spoiler {
    background-color: rgba(245,245,245,.8);
    color: #212529;
}
body[data-theme="light"] .icms-text-spoiler .btn-spoiler > span {
    background-color: #f5f5f5;
}
body[data-theme="light"] .ft_html table {
    color: #212529;
}
body[data-theme="light"] .ft_html table tbody tr:hover {
    background-color: rgba(0,0,0,.04);
}
body[data-theme="light"] .icms-content-header {
    color: #fff;
}
body[data-theme="light"] .theme-toggle-dark { display: none; }
body[data-theme="light"] .theme-toggle-light { display: inline; }
body[data-theme="light"] .cp-theme-toggle {
    border-color: rgba(0,0,0,.15);
    background: rgba(0,0,0,.04);
    color: #212529;
}
body[data-theme="light"] .cp-theme-toggle:hover {
    background: rgba(0,0,0,.1);
    border-color: rgba(0,0,0,.25);
    color: #000;
}
.theme-toggle-light { display: none; }
