/**
 * Bootstrap 5.3.9 (файлы темы, vendor/bootstrap — из пакета npm bootstrap@5.3.9) — в слое bootstrap: стили темы (вне слоёв) сильнее его при любом весе селектора.
 * Файл не объединяется с другими (preprocess: false в sn.libraries.yml): порядок слоёв задаёт первая строка.
 *
 * Разметка сайта пришла из D7 на классах Bootstrap 3, часть имён совпадает с Bootstrap 5, но значит другое (row,
 * nav, navbar, col-sm-6, form-text, placeholder…), а его правила для тегов меняют тексты материалов. Поэтому ниже для
 * каждого правила Bootstrap 5, которое задевает разметку сайта, стоит то же правило нулевого веса с revert: свойство
 * возвращается к значению браузера, дальше действуют css/skin.css и css/style.css. Классы Bootstrap 5, которых в
 * разметке сайта нет, работают как обычно. Список собран скриптом tools/theme/build-css.mjs (unleak).
 */
@layer sn-first, bootstrap;
@import url("../vendor/bootstrap/bootstrap.min.css?v=5.3.9") layer(bootstrap);

/*
 * Правила Bootstrap 5 с !important внутри слоя сильнее любых стилей сайта; сильнее них — только !important в слое,
 * объявленном раньше. Так Bootstrap 5 прячет .visually-hidden: 1×1 пиксель, margin −1px, без отступов и рамки, без
 * переноса строк. У Drupal этот класс свой (system/hidden.module.css), и поверх него работают правила ядра и вида.
 * Ниже — то, что было до Bootstrap 5: служебный блок объявлений в конце страницы не укорачивает её на пиксель,
 * скрытые заголовки держат отступы вида, элемент с .focusable показывается по фокусу с клавиатуры, кнопка
 * контекстных ссылок сохраняет свой размер (contextual.theme.css, contextual.icons.theme.css).
 */
@layer sn-first {
  .visually-hidden {
    margin: revert !important;
    white-space: inherit !important;
  }
  h1.visually-hidden,
  h2.visually-hidden,
  h3.visually-hidden {
    margin-top: 21px !important;
    margin-bottom: 10.5px !important;
  }
  h4.visually-hidden,
  h5.visually-hidden,
  h6.visually-hidden {
    margin-top: 10.5px !important;
    margin-bottom: 10.5px !important;
  }
  .visually-hidden.focusable:active,
  .visually-hidden.focusable:focus-within {
    position: static !important;
    overflow: visible !important;
    clip: auto !important;
    width: auto !important;
    height: auto !important;
  }
  .contextual .trigger.visually-hidden {
    width: 26px !important;
    height: 26px !important;
    margin: 0 !important;
    padding: 0 2px !important;
    border: 1px solid #ccc !important;
  }
}

:where([data-bs-theme=dark]) { color-scheme: revert; }
:where(*),
:where(*)::before,
:where(*)::after { box-sizing: revert; }
@media (prefers-reduced-motion: no-preference) {
  :where(:root) { scroll-behavior: revert; }
}
:where(body) { margin: revert; font-family: revert; font-size: revert; font-weight: revert; line-height: revert; color: revert; text-align: revert; background-color: revert; -webkit-text-size-adjust: revert; -webkit-tap-highlight-color: revert; }
:where(hr) { margin: revert; color: revert; border: revert; border-top: revert; opacity: revert; }
:where(h6),
:where(.h6),
:where(h5),
:where(.h5),
:where(h4),
:where(.h4),
:where(h3),
:where(.h3),
:where(h2),
:where(.h2),
:where(h1),
:where(.h1) { margin-top: revert; margin-bottom: revert; font-weight: revert; line-height: revert; color: revert; }
:where(h1),
:where(.h1) { font-size: revert; }
@media (min-width: 1200px) {
  :where(h1),
  :where(.h1) { font-size: revert; }
}
:where(h2),
:where(.h2) { font-size: revert; }
@media (min-width: 1200px) {
  :where(h2),
  :where(.h2) { font-size: revert; }
}
:where(h3),
:where(.h3) { font-size: revert; }
@media (min-width: 1200px) {
  :where(h3),
  :where(.h3) { font-size: revert; }
}
:where(h4),
:where(.h4) { font-size: revert; }
@media (min-width: 1200px) {
  :where(h4),
  :where(.h4) { font-size: revert; }
}
:where(h5),
:where(.h5) { font-size: revert; }
:where(h6),
:where(.h6) { font-size: revert; }
:where(p) { margin-top: revert; margin-bottom: revert; }
:where(abbr[title]) { -webkit-text-decoration: revert; text-decoration: revert; cursor: revert; -webkit-text-decoration-skip-ink: revert; text-decoration-skip-ink: revert; }
:where(address) { margin-bottom: revert; font-style: revert; line-height: revert; }
:where(ol),
:where(ul) { padding-left: revert; }
:where(ol),
:where(ul),
:where(dl) { margin-top: revert; margin-bottom: revert; }
:where(ol ol),
:where(ul ul),
:where(ol ul),
:where(ul ol) { margin-bottom: revert; }
:where(dt) { font-weight: revert; }
:where(dd) { margin-bottom: revert; margin-left: revert; }
:where(blockquote) { margin: revert; }
:where(b),
:where(strong) { font-weight: revert; }
:where(small),
:where(.small) { font-size: revert; }
:where(mark) { padding: revert; color: revert; background-color: revert; }
:where(sub),
:where(sup) { position: revert; font-size: revert; line-height: revert; vertical-align: revert; }
:where(sub) { bottom: revert; }
:where(sup) { top: revert; }
:where(a) { color: revert; text-decoration: revert; }
:where(a:not([href]):not([class])),
:where(a:not([href]):not([class]):hover) { color: revert; text-decoration: revert; }
:where(pre),
:where(code),
:where(kbd),
:where(samp) { font-family: revert; font-size: revert; }
:where(pre) { display: revert; margin-top: revert; margin-bottom: revert; overflow: revert; font-size: revert; }
:where(pre code) { font-size: revert; color: revert; word-break: revert; }
:where(code) { font-size: revert; color: revert; word-wrap: revert; }
:where(a > code) { color: revert; }
:where(kbd) { padding: revert; font-size: revert; color: revert; background-color: revert; border-radius: revert; }
:where(kbd kbd) { padding: revert; font-size: revert; }
:where(figure) { margin: revert; }
:where(img),
:where(svg) { vertical-align: revert; }
:where(table) { caption-side: revert; border-collapse: revert; }
:where(caption) { padding-top: revert; padding-bottom: revert; color: revert; text-align: revert; }
:where(th) { text-align: revert; }
:where(thead),
:where(tbody),
:where(tfoot),
:where(tr),
:where(td),
:where(th) { border-color: revert; border-style: revert; border-width: revert; }
:where(label) { display: revert; }
:where(button) { border-radius: revert; }
:where(button:focus:not(:focus-visible)) { outline: revert; }
:where(input),
:where(button),
:where(select),
:where(optgroup),
:where(textarea) { margin: revert; font-family: revert; font-size: revert; line-height: revert; }
:where(button),
:where(select) { text-transform: revert; }
:where([role=button]) { cursor: revert; }
:where(select) { word-wrap: revert; }
:where(select:disabled) { opacity: revert; }
:where(button),
:where([type=button]),
:where([type=reset]),
:where([type=submit]) { -webkit-appearance: revert; }
:where(button:not(:disabled)),
:where([type=button]:not(:disabled)),
:where([type=reset]:not(:disabled)),
:where([type=submit]:not(:disabled)) { cursor: revert; }
:where(*)::-moz-focus-inner { padding: revert; border-style: revert; }
:where(textarea) { resize: revert; }
:where(fieldset) { min-width: revert; padding: revert; margin: revert; border: revert; }
:where(legend) { float: revert; width: revert; padding: revert; margin-bottom: revert; line-height: revert; font-size: revert; }
@media (min-width: 1200px) {
  :where(legend) { font-size: revert; }
}
:where(legend + *) { clear: revert; }
:where(*)::-webkit-datetime-edit-fields-wrapper,
:where(*)::-webkit-datetime-edit-text,
:where(*)::-webkit-datetime-edit-minute-field,
:where(*)::-webkit-datetime-edit-hour-field,
:where(*)::-webkit-datetime-edit-day-field,
:where(*)::-webkit-datetime-edit-month-field,
:where(*)::-webkit-datetime-edit-year-field { padding: revert; }
:where(*)::-webkit-inner-spin-button { height: revert; }
:where([type=search]) { -webkit-appearance: revert; outline-offset: revert; }
:where([type=search])::-webkit-search-cancel-button { cursor: revert; filter: revert; }
:where(*)::-webkit-search-decoration { -webkit-appearance: revert; }
:where(*)::-webkit-color-swatch-wrapper { padding: revert; }
:where(*)::-webkit-file-upload-button { font: revert; -webkit-appearance: revert; }
:where(*)::file-selector-button { font: revert; -webkit-appearance: revert; }
:where(output) { display: revert; }
:where(iframe) { border: revert; }
:where(summary) { display: revert; cursor: revert; }
:where(progress) { vertical-align: revert; }
:where(.lead) { font-size: revert; font-weight: revert; }
:where(.list-unstyled) { padding-left: revert; list-style: revert; }
:where(.list-inline) { padding-left: revert; list-style: revert; }
:where(.img-thumbnail) { padding: revert; background-color: revert; border: revert; border-radius: revert; max-width: revert; height: revert; }
:where(.container) { width: revert; padding-right: revert; padding-left: revert; margin-right: revert; margin-left: revert; }
@media (min-width: 576px) {
  :where(.container) { max-width: revert; }
}
@media (min-width: 768px) {
  :where(.container) { max-width: revert; }
}
@media (min-width: 992px) {
  :where(.container) { max-width: revert; }
}
@media (min-width: 1200px) {
  :where(.container) { max-width: revert; }
}
@media (min-width: 1400px) {
  :where(.container) { max-width: revert; }
}
:where(.row) { display: revert; flex-wrap: revert; margin-top: revert; margin-right: revert; margin-left: revert; }
:where(.row > *) { flex-shrink: revert; width: revert; max-width: revert; padding-right: revert; padding-left: revert; margin-top: revert; }
@media (min-width: 576px) {
  :where(.col-sm-3) { flex: revert; width: revert; }
  :where(.col-sm-6) { flex: revert; width: revert; }
  :where(.col-sm-12) { flex: revert; width: revert; }
}
@media (min-width: 768px) {
  :where(.col-md-4) { flex: revert; width: revert; }
  :where(.col-md-6) { flex: revert; width: revert; }
  :where(.col-md-12) { flex: revert; width: revert; }
}
@media (min-width: 992px) {
  :where(.col-lg-3) { flex: revert; width: revert; }
  :where(.col-lg-6) { flex: revert; width: revert; }
  :where(.col-lg-12) { flex: revert; width: revert; }
}
:where(.table) { width: revert; margin-bottom: revert; vertical-align: revert; border-color: revert; }
:where(.table > :not(caption) > * > *) { padding: revert; color: revert; background-color: revert; border-bottom-width: revert; box-shadow: revert; }
:where(.table > tbody) { vertical-align: revert; }
:where(.table > thead) { vertical-align: revert; }
:where(.table-bordered > :not(caption) > *) { border-width: revert; }
:where(.table-bordered > :not(caption) > * > *) { border-width: revert; }
:where(.table-responsive) { overflow-x: revert; -webkit-overflow-scrolling: revert; }
:where(.form-text) { margin-top: revert; font-size: revert; color: revert; }
:where(.form-control) { display: revert; width: revert; padding: revert; font-size: revert; font-weight: revert; line-height: revert; color: revert; -webkit-appearance: revert; -moz-appearance: revert; appearance: revert; background-color: revert; background-clip: revert; border: revert; border-radius: revert; transition: revert; }
@media (prefers-reduced-motion: reduce) {
  :where(.form-control) { transition: revert; }
}
:where(.form-control[type=file]) { overflow: revert; }
:where(.form-control[type=file]:not(:disabled):not([readonly])) { cursor: revert; }
:where(.form-control:focus) { color: revert; background-color: revert; border-color: revert; outline: revert; box-shadow: revert; }
:where(.form-control)::-webkit-date-and-time-value { min-width: revert; height: revert; margin: revert; }
:where(.form-control)::-webkit-datetime-edit { display: revert; padding: revert; }
:where(.form-control)::placeholder { color: revert; opacity: revert; }
:where(.form-control:disabled) { background-color: revert; opacity: revert; }
:where(.form-control)::-webkit-file-upload-button { padding: revert; margin: revert; -webkit-margin-end: revert; margin-inline-end: revert; color: revert; background-color: revert; pointer-events: revert; border-color: revert; border-style: revert; border-width: revert; border-inline-end-width: revert; border-radius: revert; -webkit-transition: revert; transition: revert; }
:where(.form-control)::file-selector-button { padding: revert; margin: revert; -webkit-margin-end: revert; margin-inline-end: revert; color: revert; background-color: revert; pointer-events: revert; border-color: revert; border-style: revert; border-width: revert; border-inline-end-width: revert; border-radius: revert; transition: revert; }
@media (prefers-reduced-motion: reduce) {
  :where(.form-control)::-webkit-file-upload-button { -webkit-transition: revert; transition: revert; }
  :where(.form-control)::file-selector-button { transition: revert; }
}
:where(.form-control:hover:not(:disabled):not([readonly]))::-webkit-file-upload-button { background-color: revert; }
:where(.form-control:hover:not(:disabled):not([readonly]))::file-selector-button { background-color: revert; }
:where(textarea.form-control) { min-height: revert; }
:where(.form-select) { display: revert; width: revert; padding: revert; font-size: revert; font-weight: revert; line-height: revert; color: revert; -webkit-appearance: revert; -moz-appearance: revert; appearance: revert; background-color: revert; background-image: revert; background-repeat: revert; background-position: revert; background-size: revert; border: revert; border-radius: revert; transition: revert; }
@media (prefers-reduced-motion: reduce) {
  :where(.form-select) { transition: revert; }
}
:where(.form-select:focus) { border-color: revert; outline: revert; box-shadow: revert; }
:where(.form-select[multiple]),
:where(.form-select[size]:not([size="1"])) { padding-right: revert; background-image: revert; }
:where(.form-select:disabled) { background-color: revert; }
:where(.form-select:-moz-focusring) { color: revert; text-shadow: revert; }
:where(.input-group) { position: revert; display: revert; flex-wrap: revert; align-items: revert; width: revert; }
:where(.input-group > .form-control),
:where(.input-group > .form-select) { position: revert; flex: revert; width: revert; min-width: revert; }
:where(.input-group > .form-control:focus),
:where(.input-group > .form-select:focus) { z-index: revert; }
:where(.input-group .btn) { position: revert; z-index: revert; }
:where(.input-group .btn:focus) { z-index: revert; }
:where(.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating)) { border-top-right-radius: revert; border-bottom-right-radius: revert; }
:where(.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback)) { margin-left: revert; border-top-left-radius: revert; border-bottom-left-radius: revert; }
:where(.btn) { display: revert; padding: revert; font-family: revert; font-size: revert; font-weight: revert; line-height: revert; color: revert; text-align: revert; text-decoration: revert; vertical-align: revert; cursor: revert; -webkit-user-select: revert; -moz-user-select: revert; user-select: revert; border: revert; border-radius: revert; background-color: revert; transition: revert; }
@media (prefers-reduced-motion: reduce) {
  :where(.btn) { transition: revert; }
}
:where(.btn:hover) { color: revert; background-color: revert; border-color: revert; }
:where(.btn:focus-visible) { color: revert; background-color: revert; border-color: revert; outline: revert; box-shadow: revert; }
:where(:not(.btn-check) + .btn:active),
:where(.btn:first-child:active),
:where(.btn.active),
:where(.btn.show) { color: revert; background-color: revert; border-color: revert; }
:where(:not(.btn-check) + .btn:active:focus-visible),
:where(.btn:first-child:active:focus-visible),
:where(.btn.active:focus-visible),
:where(.btn.show:focus-visible) { box-shadow: revert; }
:where(.btn:disabled),
:where(.btn.disabled),
:where(fieldset:disabled .btn) { color: revert; pointer-events: revert; background-color: revert; border-color: revert; opacity: revert; }
:where(.btn-link) { text-decoration: revert; }
:where(.btn-link:focus-visible) { color: revert; }
:where(.btn-link:hover) { color: revert; }
:where(.fade) { transition: revert; }
@media (prefers-reduced-motion: reduce) {
  :where(.fade) { transition: revert; }
}
:where(.fade:not(.show)) { opacity: revert; }
:where(.collapse:not(.show)) { display: revert; }
:where(.collapsing) { height: revert; overflow: revert; transition: revert; }
@media (prefers-reduced-motion: reduce) {
  :where(.collapsing) { transition: revert; }
}
:where(.nav) { display: revert; flex-wrap: revert; padding-left: revert; margin-bottom: revert; list-style: revert; }
:where(.nav-tabs) { border-bottom: revert; }
:where(.navbar) { position: revert; display: revert; flex-wrap: revert; align-items: revert; justify-content: revert; padding: revert; }
:where(.navbar > .container) { display: revert; flex-wrap: revert; align-items: revert; justify-content: revert; }
:where(.navbar-brand) { padding-top: revert; padding-bottom: revert; margin-right: revert; font-size: revert; color: revert; text-decoration: revert; white-space: revert; }
:where(.navbar-brand:hover),
:where(.navbar-brand:focus) { color: revert; }
:where(.navbar-nav) { display: revert; flex-direction: revert; padding-left: revert; margin-bottom: revert; list-style: revert; }
:where(.navbar-text) { padding-top: revert; padding-bottom: revert; color: revert; }
:where(.navbar-text a),
:where(.navbar-text a:hover),
:where(.navbar-text a:focus) { color: revert; }
:where(.navbar-collapse) { flex-grow: revert; flex-basis: revert; align-items: revert; }
:where(.breadcrumb) { display: revert; flex-wrap: revert; padding: revert; margin-bottom: revert; font-size: revert; list-style: revert; background-color: revert; border-radius: revert; }
:where(.pagination) { display: revert; padding-left: revert; list-style: revert; }
:where(.badge) { display: revert; padding: revert; font-size: revert; font-weight: revert; line-height: revert; color: revert; text-align: revert; white-space: revert; vertical-align: revert; border-radius: revert; }
:where(.badge:empty) { display: revert; }
:where(.btn .badge) { position: revert; top: revert; }
:where(.alert) { position: revert; padding: revert; margin-bottom: revert; color: revert; background-color: revert; border: revert; border-radius: revert; }
:where(.alert-dismissible) { padding-right: revert; }
:where(.tooltip) { z-index: revert; display: revert; margin: revert; font-family: revert; font-style: revert; font-weight: revert; line-height: revert; text-align: revert; text-decoration: revert; text-shadow: revert; text-transform: revert; letter-spacing: revert; word-break: revert; white-space: revert; word-spacing: revert; line-break: revert; font-size: revert; word-wrap: revert; opacity: revert; }
:where(.tooltip.show) { opacity: revert; }
:where(.tooltip .tooltip-arrow) { display: revert; width: revert; height: revert; }
:where(.tooltip .tooltip-arrow)::before { position: revert; content: revert; border-color: revert; border-style: revert; }
:where(.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow) { bottom: revert; }
:where(.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow)::before { top: revert; border-width: revert; border-top-color: revert; }
:where(.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow) { left: revert; width: revert; height: revert; }
:where(.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow)::before { right: revert; border-width: revert; border-right-color: revert; }
:where(.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow) { top: revert; }
:where(.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow)::before { bottom: revert; border-width: revert; border-bottom-color: revert; }
:where(.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow) { right: revert; width: revert; height: revert; }
:where(.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow)::before { left: revert; border-width: revert; border-left-color: revert; }
:where(.tooltip-inner) { max-width: revert; padding: revert; color: revert; text-align: revert; background-color: revert; border-radius: revert; }
:where(.placeholder) { display: revert; min-height: revert; vertical-align: revert; cursor: revert; background-color: revert; opacity: revert; }
:where(.placeholder.btn)::before { display: revert; content: revert; }
:where(.clearfix)::after { display: revert; clear: revert; content: revert; }

/*
 * Атрибуты оформления из текстов D7. Любое правило стилей сильнее атрибута, поэтому там, где Bootstrap 5 задел
 * свойство, которым управляет атрибут, значение атрибута повторено правилом: рамки ячеек таблицы с border
 * и рамка iframe без frameborder="0".
 */
:where(table[border]:not([border="0"]) > thead > tr > th, table[border]:not([border="0"]) > thead > tr > td,
  table[border]:not([border="0"]) > tbody > tr > th, table[border]:not([border="0"]) > tbody > tr > td,
  table[border]:not([border="0"]) > tfoot > tr > th, table[border]:not([border="0"]) > tfoot > tr > td,
  table[border]:not([border="0"]) > tr > th, table[border]:not([border="0"]) > tr > td) {
  border-width: 1px;
  border-style: inset;
}
:where(iframe[frameborder="0"]) {
  border-width: 0;
}
