/* === Шапка поверх hero === */
.astroid-section.hero-full {
  margin-top: -114px;
}
.astroid-header {
  position: relative;
  z-index: 100;
  box-shadow: none;
}
body:has(.hero-slider) .astroid-section.astroid-header-section {
  --as-header-bg: transparent;
}

.hero-position .module-title {
  display: none;
}

/* === Логотип === */

.astroid-header .astroid-logo-text {
  display: inline-block;
  white-space: normal;
  line-height: 1.2;
  font-style: italic;
}

/* === Слайдер JR Prism === */
.hero-slider .carousel-item .row {
  position: relative;
  margin: 0;
}
.hero-slider .carousel-item .row::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .35);
  z-index: 1;
  pointer-events: none;
}
.hero-slider .carousel-item,
.hero-slider .carousel-item .row {
  height: 100dvh;
}
.hero-slider .carousel-item .col-md-7 {
  height: 100dvh;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding: 0 !important;
}
.hero-slider .carousel-item .col-md-7 img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}
.hero-slider .carousel-item .jrp-showcase-content-col.d-flex.flex-column {
  position: absolute !important;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center;
  padding: 130px 3rem 2rem !important;
  background: none;
  color: #fff !important;
  z-index: 2;
}
.hero-slider .carousel-item .jrp-showcase-content-col,
.hero-slider .carousel-item .jrp-showcase-title,
.hero-slider .carousel-item .jrp-showcase-desc,
.hero-slider .carousel-item .jrp-showcase-content-col a {
  color: #fff !important;
}

.hero-slider .carousel-item .jrp-showcase-content-col.d-flex.flex-column {
  justify-content: center !important;
  gap: 1rem;
}
.hero-slider .carousel-item .jrp-showcase-celement {
}
.burger-menu-button .box {
  width: 30px;
  height: 30px;
  display: inline-block;
  position: relative;
}
*, ::before, ::after {
  box-sizing: border-box;
}
.burger-menu-button .button {
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-transform: none;
}
button:not(:disabled), [type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled) {
  cursor: pointer;
}
button, select {
  text-transform: none;
}
input, button, select, optgroup, textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
.burger-menu-button {
  text-align: right;
  line-height: 0;
}
.astroid-header {
  color: var(--as-header-text-color);
}
.g-0, .gx-0 {
  --bs-gutter-x: 0;
}
.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
}
.container, .container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
}
.g-0, .gy-0 {
  --bs-gutter-y: 0;
}
[data-bs-theme="dark"] .astroid-framework {
  --bs-body-bg: rgba(40, 41, 40, 1);
  --bs-body-color: rgba(179, 179, 180, 1);
  --as-header-text-color: rgba(224, 224, 224, 1);
  --as-stick-header-menu-link-color: rgba(184, 184, 185, 1);
  --as-stick-header-menu-link-hover-color: rgba(192, 87, 60, 1);
  --as-stick-header-menu-link-active-color: rgba(255, 255, 255, 1);
  --as-main-menu-link-color: rgba(180, 180, 181, 1);
  --as-main-menu-link-hover-color: rgba(192, 87, 60, 1);
  --as-main-menu-link-active-color: rgba(255, 255, 255, 1);
  --as-dropdown-menu-link-hover-color: rgba(192, 87, 60, 1);
  --as-dropdown-menu-active-link-color: rgba(255, 255, 255, 1);
  --as-stick-header-mobile-menu-icon-color: rgba(248, 248, 248, 1);
  --as-mobile-menu-text-color: rgba(162, 162, 163, 1);
  --as-mobile-backgroundcolor: rgba(51, 51, 51, 1);
  --as-mobile-menu-link-color: rgba(172, 172, 173, 1);
  --as-mobile-menu-active-link-color: rgba(192, 87, 60, 1);
  --as-mobile-menu-active-icon-color: rgba(255, 255, 255, 1);
  --as-mobile-menu-icon-color: rgba(183, 183, 185, 1);
  --as-mobilemenu-backgroundcolor: rgba(51, 51, 51, 1);
  --as-mobilemenu-menu-text-color: rgba(174, 174, 175, 1);
  --as-mobilemenu-menu-link-color: rgba(190, 190, 191, 1);
  --as-mobilemenu-menu-active-link-color: rgba(192, 87, 60, 1);
  --as-mobilemenu-menu-icon-color: rgba(186, 186, 187, 1);
  --as-mobilemenu-menu-active-icon-color: rgba(255, 255, 255, 1);
}
:root .astroid-framework, [data-bs-theme="light"] .astroid-framework {
  --bs-body-bg: rgba(255, 255, 255, 1);
  --bs-body-color: rgba(110, 109, 122, 1);
  --as-header-text-color: rgba(255, 255, 255, 1);
  --as-stick-header-menu-link-color: rgba(110, 109, 122, 1);
  --as-stick-header-menu-link-hover-color: rgba(192, 87, 60, 1);
  --as-stick-header-menu-link-active-color: rgba(24, 24, 24, 1);
  --as-main-menu-link-color: rgba(255, 255, 255, 1);
  --as-main-menu-link-hover-color: rgba(192, 87, 60, 1);
  --as-main-menu-link-active-color: rgba(255, 230, 35, 1);
  --as-dropdown-menu-link-hover-color: rgba(192, 87, 60, 1);
  --as-dropdown-menu-active-link-color: rgba(255, 178, 67, 1);
  --as-stick-header-mobile-menu-icon-color: rgba(27, 27, 27, 1);
  --as-mobile-menu-text-color: rgba(110, 109, 122, 1);
  --as-mobile-backgroundcolor: rgba(248, 245, 239, 1);
  --as-mobile-menu-link-color: rgba(110, 109, 122, 1);
  --as-mobile-menu-active-link-color: rgba(192, 87, 60, 1);
  --as-mobile-menu-active-icon-color: rgba(0, 0, 0, 1);
  --as-mobile-menu-icon-color: rgba(110, 109, 122, 1);
  --as-mobilemenu-backgroundcolor: rgba(248, 245, 239, 1);
  --as-mobilemenu-menu-text-color: rgba(110, 109, 122, 1);
  --as-mobilemenu-menu-link-color: rgba(110, 109, 122, 1);
  --as-mobilemenu-menu-active-link-color: rgba(192, 87, 60, 1);
  --as-mobilemenu-menu-icon-color: rgba(110, 109, 122, 1);
  --as-mobilemenu-menu-active-icon-color: rgba(54, 54, 54, 1);
}
body.astroid-framework, .body.astroid-framework {
  font-weight: 400;
  text-transform: none;
  font-size: 12pt;
  line-height: 1.7em;
  font-family: "Archivo", Arial, Helvetica, sans-serif;
}
body {
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  -webkit-text-size-adjust: 100%;
}
[data-bs-theme="dark"] {
  --bs-indigo: rgba(113, 44, 249, 1);
  --bs-purple: rgba(103, 58, 183, 1);
  --bs-pink: rgba(255, 171, 231, 1);
  --bs-red: rgba(192, 87, 60, 1);
  --bs-yellow: rgba(226, 172, 39, 1);
  --bs-primary: rgba(226, 172, 39, 1);
  --bs-warning: rgba(226, 172, 39, 1);
  --bs-danger: rgba(192, 87, 60, 1);
}
:root {
  --as-header-text-color: var(--bs-body-color);
  --as-stick-header-menu-link-color: var(--bs-link-color);
  --as-stick-header-menu-link-hover-color: var(--bs-link-hover-color);
  --as-stick-header-menu-link-active-color: var(--bs-link-hover-color);
  --as-main-menu-link-color: var(--bs-link-color);
  --as-main-menu-link-background: transparent;
  --as-main-menu-link-hover-color: var(--bs-link-hover-color);
  --as-main-menu-hover-background: transparent;
  --as-main-menu-link-active-color: var(--bs-link-hover-color);
  --as-main-menu-active-background: transparent;
  --as-dropdown-menu-link-hover-color: var(--bs-link-hover-color);
  --as-dropdown-menu-hover-bg-color: transparent;
  --as-dropdown-menu-active-link-color: var(--bs-link-hover-color);
  --as-dropdown-menu-active-bg-color: transparent;
  --as-stick-header-mobile-menu-icon-color: var(--bs-link-color);
  --as-mobile-menu-text-color: var(--bs-body-color);
  --as-mobile-backgroundcolor: var(--bs-body-bg);
  --as-mobile-menu-link-color: var(--bs-link-color);
  --as-mobile-hover-background-color: transparent;
  --as-mobile-menu-active-link-color: var(--bs-link-hover-color);
  --as-mobile-menu-active-bg-color: transparent;
  --as-mobile-menu-active-icon-color: var(--bs-link-hover-color);
  --as-mobile-menu-icon-color: var(--bs-link-color);
  --as-mobilemenu-backgroundcolor: var(--bs-body-bg);
  --as-mobilemenu-menu-text-color: var(--bs-body-color);
  --as-mobilemenu-menu-link-color: var(--bs-link-color);
  --as-mobilemenu-hover-background-color: transparent;
  --as-mobilemenu-menu-active-link-color: var(--bs-link-hover-color);
  --as-mobilemenu-menu-active-bg-color: transparent;
  --as-mobilemenu-menu-icon-color: var(--bs-link-color);
  --as-mobilemenu-menu-active-icon-color: var(--bs-link-hover-color);
}
[data-bs-theme="dark"] {
  --bs-carousel-indicator-active-bg: #000;
  --bs-carousel-caption-color: #000;
  --bs-carousel-control-icon-filter: invert(1) grayscale(100);
}
:root, [data-bs-theme="light"] {
  --bs-carousel-indicator-active-bg: rgb(255, 255, 255);
  --bs-carousel-caption-color: rgb(255, 255, 255);
  --bs-carousel-control-icon-filter: ;
}
[data-bs-theme="dark"] {
  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}
:root, [data-bs-theme="light"] {
  --bs-btn-close-filter: ;
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}
[data-bs-theme="dark"] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-bg: #212529;
  --bs-emphasis-color: rgb(255, 255, 255);
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-primary-text-emphasis: #eecd7d;
  --bs-secondary-text-emphasis: #808286;
  --bs-success-text-emphasis: #7eca8f;
  --bs-info-text-emphasis: #74c7d4;
  --bs-warning-text-emphasis: #eecd7d;
  --bs-danger-text-emphasis: #d99a8a;
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: #2d2208;
  --bs-primary-border-subtle: #886717;
  --bs-form-valid-color: #7eca8f;
  --bs-form-valid-border-color: #7eca8f;
  --bs-form-invalid-color: #d99a8a;
  --bs-form-invalid-border-color: #d99a8a;
}
:root, [data-bs-theme="light"] {
  --bs-primary: rgb(226, 172, 39);
  --bs-primary-rgb: 226, 172, 39;
  --bs-primary-text-emphasis: #5a4510;
  --bs-secondary-text-emphasis: #121216;
  --bs-success-text-emphasis: #10431c;
  --bs-info-text-emphasis: #09414a;
  --bs-warning-text-emphasis: #5a4510;
  --bs-danger-text-emphasis: #4d2318;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #f9eed4;
  --bs-primary-border-subtle: #f3dea9;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-bg: rgb(255, 255, 255);
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-focus-ring-width: 0.25rem;
  --bs-form-valid-color: rgb(40, 167, 69);
  --bs-form-valid-border-color: rgb(40, 167, 69);
  --bs-form-invalid-color: rgb(192, 87, 60);
  --bs-form-invalid-border-color: rgb(192, 87, 60);
}
:host, :root {
  --fa-family-classic: "Font Awesome 7 Free";
  --fa-font-solid: normal 900 1em/1 var(--fa-family-classic);
  --fa-style-family-classic: var(--fa-family-classic);
}
:host, :root {
  --fa-font-regular: normal 400 1em/1 var(--fa-family-classic);
}
:host, :root {
  --fa-family-brands: "Font Awesome 7 Brands";
  --fa-font-brands: normal 400 1em/1 var(--fa-family-brands);
}ontent-col > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  flex: 0 0 auto !important;
}

.hero-slider .carousel-inner {
  padding: 0 !important;
}

.hero-slider .jrp-showcase-indicators {
  display: none !important;
}

.hero-slider .carousel-control-prev,
.hero-slider .carousel-control-next {
  width: 8%;
  opacity: 0;
  transition: opacity .3s;
  z-index: 3;
}
.hero-slider .carousel {
  --bs-carousel-control-icon-filter: none;
}

.hero-slider .carousel:hover .carousel-control-prev,
.hero-slider .carousel:hover .carousel-control-next {
  opacity: .7;
}

/* кнопка Read More не нужна — название кликабельно */
.mod-jrprism .jrp-showcase-readon {
  display: none !important;
}

body:has(.mosaic-mod) .astroid-component-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* описания в слайдере и мозаике JR Prism */
.hero-slider .jrp-showcase-desc,
.jrp-mosaic-desc {
  font-family: "Archivo", Arial, sans-serif;
  font-size: 1.05rem;
  line-height: 1.5;
}

/* === Strips: горизонтальная лента (JR Prism, card grids) === */

/* контейнер: карточки в один ряд с прокруткой */
.strips-mod .row {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  margin: 0 !important;
  gap: 0;
  scroll-snap-type: x proximity;
}

/* колонка: фиксированная ширина полосы, без отступов */
.strips-mod .row > .col,
.strips-mod .row > [class*="col-"] {
  flex: 0 0 400px;
  max-width: 400px;
  padding: 0 !important;
  margin: 0 !important;
  scroll-snap-align: start;
}

/* карточка: точка отсчёта, без рамок и теней */
.strips-mod .card {
  position: relative;
  width: 100%;
  height: 100%;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: hidden;
}

/* картинка на всю ширину карточки */
.strips-mod .card-img-link {
  display: block;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}
.strips-mod .card-img-link img {
  width: 100% !important;
  max-width: 100% !important;
  height: 320px;
  object-fit: cover;
  display: block;
}

/* заголовок поверх картинки, прижат к низу */
.strips-mod .card-body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1rem !important;
  background: linear-gradient(transparent, rgba(0, 0, 0, .8));
  color: #fff;
  z-index: 2;
}
.strips-mod .card-body * {
  color: #fff !important;
}

/* кнопка Read More не нужна — вся карточка кликабельна */
.strips-mod .card-body .btn {
  display: none;
}
body:has(.strips-mod) .astroid-component-section {
  display: none;
}

.btn.circle i,
.btn.circle .fas {
  display: none !important;
}
.btn.circle {
  background-image: url("/images/ToTop30.png") !important;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: 30px;
  height: 30px;
}

/* Картинка интро слева */
.item-image.left {
  float: left;
  width: 40%;
  max-width: 40%;
  margin: 0 1.5rem 1rem 0;
}
.item-image.left img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 768px) {
  .item-image.left {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 1rem 0;
  }
}
.item-page::after,
.blog-item::after {
  content: "";
  display: block;
  clear: both;
}

/* === Шкала времени (TimelineJS) === */

/* общий фон и слайды */
.tl-timeline,
.tl-storyslider,
.tl-slide,
.tl-slide-content,
.tl-slide-content-container {
  background: #1a1a1a !important;
}

/* текст на слайде */
.tl-slide .tl-headline,
.tl-slide .tl-headline-date,
.tl-slide .tl-text,
.tl-slide .tl-text p,
.tl-slide .tl-text a {
  color: #f0f0f0 !important;
}

/* нижняя панель */
.tl-timenav-slider {
  background: #646464 !important;
}

/* флажки */
.tl-timemarker-content-container {
  background: #3a3a3a !important;
  border-color: #666 !important;
}
.tl-timemarker-content-container .tl-headline,
.tl-timemarker-text .tl-headline {
  color: #e0e0e0 !important;
}

/* ножки флажков */
.tl-timemarker .tl-timemarker-line-left,
.tl-timemarker .tl-timemarker-line-right {
  border-color: #bbb !important;
  background: #bbb !important;
  opacity: 1 !important;
}

/* навигация по слайдам */
.tl-icon-goend,
.tl-icon-goback,
.tl-slidenav-icon,
.tl-slidenav-title,
.tl-slidenav-description {
  color: #ccc !important;
}

/* кнопки зума слева */
.tl-menubar,
.tl-menubar-button {
  background: #646464 !important;
  border-color: #555 !important;
}
.tl-menubar-button {
  color: #ddd !important;
}

.sigplus-gallery .sigplus-image {
  display: block;
  overflow: hidden;
}
.sigplus-gallery .sigplus-preview,
.sigplus-gallery .sigplus-image img {
  display: block;
  transition: transform .35s ease;
}
.sigplus-gallery .sigplus-image:hover .sigplus-preview,
.sigplus-gallery .sigplus-image:hover img {
  transform: scale(1.12);
}
.sigplus-gallery .captionplus,
.sigplus-gallery .captionplus-overlay,
.sigplus-gallery .captionplus-outside {
  font-family: "Archivo", Arial, sans-serif;
  font-size: 0.95rem;
  line-height: 1.4;
}

@media (prefers-reduced-motion: reduce) {
  .sigplus-gallery .sigplus-image:hover .sigplus-preview,
  .sigplus-gallery .sigplus-image:hover img {
    transform: none;
  }
}

.nav-item-id-120 > .nav-submenu {
  width: 600px !important;
  column-count: 3;
  column-gap: 1.5rem;
}
.nav-item-id-120 > .nav-submenu > li {
  break-inside: avoid;
}
.nav-item-id-120 .nav-submenu {
  left: 100%;
  right: auto;
}

@media (max-width: 991px) {
  .astroid-header > .d-flex > .d-lg-none.justify-content-start {
    order: 2;
    margin-left: auto;
  }
}
@media (min-width: 992px) {
  .astroid-header .astroid-logo {
    flex: 0 0 25%;
    max-width: 25%;
    text-align: center;
    white-space: normal;
  }
}
@media (max-width: 991px) {
  .burger-menu-button .inner,
  .burger-menu-button .inner::before,
  .burger-menu-button .inner::after {
    background-color: #fff !important;
  }
}
/* Astroid дублирует наборы тёмной темы, светлый перебивает — держим принудительно */
[data-bs-theme="dark"] .astroid-framework,
[data-bs-theme="dark"] body.astroid-framework {
  --bs-body-bg: rgba(40, 41, 40, 1) !important;
  --bs-body-color: rgba(179, 179, 180, 1) !important;
}

/* карты и видео не вылезают за край на мобильных */
iframe {
  max-width: 100%;
}