[data-bs-theme="dark"] {
    --bs-text-dark: #FFFFFF;
}

body {
    font-family: "Montserrat", sans-serif;
}

.required:after {
    display: none;
}

.required-label:after {
    content: "*";
    position: relative;
    font-size: inherit;
    color: var(--bs-danger);
    padding-left: .25rem;
    font-weight: 600;
}

.required.has-error .help-block {
    color: #a94442;
}

/* Kartik Reset */
.select2-container {
    width: 100% !important;
}

[data-bs-theme=dark] .form-select {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236D6D80' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.select2-container--krajee-bs5 .select2-selection--single {
    padding: .775rem 1rem !important;
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    color: var(--bs-gray-700) !important;
    background: var(--bs-body-bg) !important;
    background-color: var(--bs-body-bg) !important;
    background-clip: padding-box !important;
    border: 1px solid var(--bs-gray-300) !important;
    border-radius: .475rem !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

.select2-container--krajee-bs5 .select2-selection--single .select2-selection__rendered {
    color: var(--bs-gray-700) !important;
    position: relative;
}

.select2-container--krajee-bs5:not(.select2-container--disabled) .select2-dropdown {
    border: 1px solid var(--bs-gray-300) !important;
    box-shadow: none;
    border-radius: 0.475rem !important;
    padding: 1rem 0 !important;
    background-color: var(--bs-dropdown-bg) !important;
}

.select2-container--krajee-bs5 .select2-search--dropdown .select2-search__field {
    background-color: var(--bs-body-bg) !important;
    padding: 0.775rem 1rem !important;
    color: var(--bs-gray-700) !important;
    font-size: 1.1rem !important;
    border: 1px solid var(--bs-gray-300) !important;
    border-radius: 0.475rem !important;
    outline: 0 !important;
}

.select2-container--krajee-bs5 li.select2-results__option {
    color: var(--bs-body-bg) !important;
    background-color: var(--bs-gray-700) !important;
}

.select2-container--krajee-bs5 .select2-results__option[aria-selected] {
    color: var(--bs-gray-700) !important;
    transition: color 0.2s ease !important;
    padding: 0.75rem 1.25rem !important;
    margin: 0 !important;
    background-color: var(--bs-body-bg) !important;
}

.select2-container--krajee-bs5 .select2-results__option--highlighted[aria-selected],
.select2-container--krajee-bs5 .select2-results__option.select2-results__option--selected {
    background-color: var(--bs-component-hover-bg);
    color: var(--bs-component-hover-color);
    transition: color 0.2s ease;
    position: relative;
}

.select2-container--krajee-bs5 .select2-results__option.select2-results__option--selected:after {
    content: "✔";
    display: block;
    top: 50%;
    position: absolute;
    transform: translateY(-50%);
    right: 1.25rem;
    color: var(--bs-component-hover-color);
}

span.select2-selection {
    height: 100% !important;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.5;
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 16px 12px;
    border-radius: 0.475rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    border: 1px solid var(--bs-gray-300);
}

input.select2-search__field {
    width: 100% !important;
}

.select2-container.select2-container--krajee-bs5 .select2-search--inline {
    float: unset;
}

.select2-container.select2-container--krajee-bs5 span.select2-selection__clear {
    position: absolute !important;
    float: unset !important;
    right: 0px;
    top: 3px;
}

.select2-container.select2-container--krajee-bs5 .select2-selection--multiple .select2-selection__rendered {
    display: contents;
}

.select2-container.select2-container--krajee-bs5 .select2-selection__clear {
    margin: 0;
    z-index: 1000;
    display: block;
    height: 0.7rem;
    width: 0.7rem;
    top: 50%;
    right: 3rem;
    position: absolute;
    transform: translateY(-50%);
    background-color: var(--bs-gray-700) !important;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0ndmFyKC0ta3QtZ3JheS03MDApJz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMDExLjQxNCAwTDggNi41ODYgMTQuMjkzLjI5M2ExIDEgMCAxMTEuNDE0IDEuNDE0TDkuNDE0IDhsNi4yOTMgNi4yOTNhMSAxIDAgMDEtMS40MTQgMS40MTRMOCA5LjQxNGwtNi4yOTMgNi4yOTNhMSAxIDAgMDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAxMC0xLjQxNHonLz48L3N2Zz4=);
    mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0ndmFyKC0ta3QtZ3JheS03MDApJz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMDExLjQxNCAwTDggNi41ODYgMTQuMjkzLjI5M2ExIDEgMCAxMTEuNDE0IDEuNDE0TDkuNDE0IDhsNi4yOTMgNi4yOTNhMSAxIDAgMDEtMS40MTQgMS40MTRMOCA5LjQxNGwtNi4yOTMgNi4yOTNhMSAxIDAgMDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAxMC0xLjQxNHonLz48L3N2Zz4=);
}

.select2-container--krajee-bs5 .select2-selection {
    background-color: transparent;
    height: 45px !important;
    display: flex;
    align-items: center;
    border-radius: .475rem !important;
    border: 1px solid var(--bs-gray-300) !important;
}

.select2-container--bootstrap5 .select2-selection--single {
    /*background-color: #fff;*/
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNic+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjMzQzYTQwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nTTIgNWw2IDYgNi02Jy8+PC9zdmc+);
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

/* Bootstrap-Switch Reset */
.bootstrap-switch .bootstrap-switch-label {
    background-color: transparent;
}

.swal-toast—sm .swal2-popup {
    padding: .5rem 2rem;
    min-height: 70px;
    justify-content: space-around;
    align-items: center;
    overflow: hidden;
}

.swal-toast—sm .swal2-icon {
    transform: scale(1.3);
    flex-shrink: 0;
    margin: 0;
}

.swal-toast—sm .swal2-html-container {
    grid-row: 1/99;
}

.swal-toast—sm .swal2-title {
    margin: 0.2em 0 0.2em 1em !important;
}

.swal-toast—sm .swal2-html-container {
    margin: 0 0 0 1em !important;
}

.swal-toast—sm .swal2-popup .swal2-title {
    font-size: 1.2rem;
}


.text-ellipsis {
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.text-ellipsis-1 {
    -webkit-line-clamp: 1;
}

.text-ellipsis-2 {
    -webkit-line-clamp: 2;
}

.text-ellipsis-3 {
    -webkit-line-clamp: 3;
}

.ck.ck-toolbar.ck-toolbar_grouping .ck.ck-button,
.ck.ck-toolbar.ck-toolbar_grouping a.ck.ck-button {
    gap: 5px
}

.ck.ck-splitbutton.ck-dropdown__button {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
}

.ck.ck-powered-by {
    display: none;
}

.ck.ck-splitbutton:hover > .ck-splitbutton__arrow:not(.ck-disabled):after,
.ck.ck-button.ck-on.ck-splitbutton__arrow::after {
    content: none !important;
}

[data-bs-theme] .ck.ck-editor__main > .ck-editor__editable,
[data-bs-theme] .ck.ck-toolbar,
[data-bs-theme] .ck.ck-menu-bar,
[data-bs-theme] .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es,
[data-bs-theme] .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se,
[data-bs-theme] .ck.ck-button:not(.ck-color-grid__tile),
[data-bs-theme] a.ck.ck-button:not(.ck-color-grid__tile),
[data-bs-theme] .ck.ck-button.ck-disabled,
[data-bs-theme] a.ck.ck-button.ck-disabled,
[data-bs-theme] .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button:focus:not(.ck-on),
[data-bs-theme] .ck.ck-color-grid,
[data-bs-theme] .ck.ck-dropdown__panel {
    background-color: var(--bs-card-bg) !important;
}

[data-bs-theme] .ck.ck-icon.ck-icon_inherit-color,
[data-bs-theme] .ck.ck-button .ck-button__label,
[data-bs-theme] a.ck.ck-button .ck-button__label,
[data-bs-theme] .ck.ck-button .ck-button__keystroke,
[data-bs-theme] a.ck.ck-button .ck-button__keystroke,
[data-bs-theme] .ck-source-editing-area textarea {
    color: var(--bs-text-dark);
}

[data-bs-theme] .ck.ck-button:not(.ck-disabled):hover,
[data-bs-theme] a.ck.ck-button:not(.ck-disabled):hover,
[data-bs-theme] .ck.ck-button.ck-on,
[data-bs-theme] a.ck.ck-button.ck-on,
[data-bs-theme] .ck.ck-button.ck-on:not(.ck-disabled):hover,
[data-bs-theme] a.ck.ck-button.ck-on:not(.ck-disabled):hover,
[data-bs-theme] .ck.ck-list__item > .ck-button:hover:not(.ck-disabled),
[data-bs-theme] .ck.ck-button:not(.ck-disabled):active,
[data-bs-theme] a.ck.ck-button:not(.ck-disabled):active,
[data-bs-theme] .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button:focus:not(.ck-on),
[data-bs-theme] .ck-source-editing-area textarea {
    background: var(--bs-light) !important;
}

[data-bs-theme] code:not([class*=language-]) {
    color: var(--bs-text-warning) !important;
}

.ck-content > * {
    color: var(--bs-text-dark) !important;
}

.slim-paragraphs p {
    margin: 0 !important;
}

.pagination .active {
    transform: scale(1.2) !important;
}

.pagination .active a {
    color: var(--bs-pagination-active-color) !important;
}

.pagination li a:hover {
    color: var(--bs-pagination-active-color);
}

.min-h-0 {
    min-height: 0 !important;
}

/* Ограничение текста по строкам */
.clamp {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.clamp-5 {
    -webkit-line-clamp: 5;
}
.clamp-10 {
    -webkit-line-clamp: 10;
}

/* Переопределение стилей для таблиц из CKEditor */
.ck-content .table table td,
.ck-content .table table th {
    padding: .4em !important;
}