/* -- Обнуление стилей -- */
:root {
  --main-0: #8A8896;
  --main-1: #494D5A;
  --main-2: #373A43;
  --main-3: #1C1D22;
  --main--1: #ACABB5;
  --main--2: #C9C9CF;
  --main--3: #ECEFE6;
  --neitral-3: #1B1B1B;
  --neitral-2: #363636;
  --accent-1: #375A67;
  --accent-2: #223A42;
  --accent-3: #0F1A1F;
  --accent-0: #558BA0;
  --accent-05: #6C9DB2;
  --accent--1: #8DA9BD;
  --accent--2: #BECEDA;
  --accent--3: #F2F5F8;
}

*,
::after,
::before {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
ul[class],
ol[class] {
  list-style: none;
}
button,
input,
optgroup,
select,
fieldset,
textarea {
  margin: 0;
  border: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  background-color: transparent;
}

/* ---- Общие стили --- */
html,
body {
  width: auto;
  height: auto;
}
html body {
  font-family: "Open Sans", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.08px;
  color: var(--black, #1b1b1b);
  display: flex;
  flex-direction: column;
  min-height: 100vh !important;
}
body a,
body a:hover {
  color: var(--black, #1b1b1b);
  text-decoration: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .h1,
body .h2,
body .h3,
body .h4,
body .h5,
body .h6 {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
}
body .h1 {
  font-size: 89px;
  font-weight: 300;
  line-height: 134px;
  letter-spacing: -1.335px;
}
body .h2 {
  font-size: 55px;
  font-weight: 300;
  line-height: 78px;
  letter-spacing: -0.275px;
}
body .h3,
body h3 {
  font-size: 44px;
  line-height: 62px;
}
body .h4,
body h4 {
  font-size: 31px;
  line-height: 40px;
  letter-spacing: 0.078px;
}
h4.section-title {
  color: var(--neitral-3);
  text-align: center;
  font-size: 29px;
  line-height: 38px;
  font-weight: 400;
  letter-spacing: 0.073px;
  margin: 5px 0;
}
h1.section-title {
  margin: 13px 0;
  text-align: center;
  color: var(--main-3);
}
body .h5,
body h5 {
  font-size: 22px;
  line-height: 28px;
}
body .h6,
body h6 {
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 0.027px;
}
@media (max-width: 768px) {
  h1.section-title {
    font-size: 22px;
    font-weight: 400;
    line-height: 28px;
  }
  h4.section-title {
    font-size: 31px;
    font-weight: 400;
    line-height: 40px;
    letter-spacing: 0.078px;
    margin: 16px 0;
  }
}
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  color: var(--main-3);
}
.subtitle {
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: 0.013px;
}
body blockquote {
  padding: 12px 16px;
  border-radius: 4px;
  border-left: 2px solid var(--main-0);
  background: linear-gradient(90deg, #F7E8DF 0.06%, rgba(247, 232, 223, 0.00) 100%);
}
body p {
  margin: 16px 0;
}
.container-wrapper {
  padding: 0 16px;
  margin: 0 auto;
  width: 100%;
  max-width: 1440px;
  position: relative;
}
.button {
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  line-height: 14px;
  letter-spacing: 0.175px;
  text-align: center;
  padding: 10px 24px;
  border-radius: 4px;
  text-transform: uppercase;
}
.primary-button {
  color: var(--accent-3);
  background: var(--accent-05);
  border: 2px solid transparent;
  transition: color 0.4s ease-in-out, border 0.4s ease-in-out,
    background 0.4s ease-in-out;
}
.primary-button--dark{
  color: var(--accent-1);
}
.primary-button.icon {
  display: flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
}
.primary-button:hover,
.primary-button:focus,
.primary-button:active {
  color: var(--main-3);
  border: 2px solid var(--accent-1);
  background: var(--accent-05);
  text-decoration: none;
}
.primary-button:active {
  color: var(--accent-2);
  border: 2px solid transparent;
}
.secondary-button {
  color: var(--accent-1);
  box-shadow: 0 0 0 1px var(--accent-1);
  background: rgba(242, 245, 248, 0.30);
  transition: box-shadow 0.4s ease-in-out, background 0.4s ease-in-out;
}
.secondary-button:hover,
.secondary-button:focus,
.secondary-button:active {
  color: var(--accent-1);
  box-shadow: 0 0 0 2px var(--accent-1);
  background: rgba(255, 255, 255, 0.30);
  text-decoration: none;
}
.secondary-button:active {
  background: var(--accent--2);
}
.thirdy-button {
  padding: 10px 16px;
  color: var(--accent-1);
  background: transparent;
  transition: background 0.4s ease-in-out;
}
.thirdy-button:hover,
.thirdy-button:focus {
  color: var(--accent-1);
  background: var(--accent--3);
  text-decoration: none;
}
.thirdy-button:active {
  color: var(--accent-1);
  background: var(--accent--2);
}
.button--map {
  color: var(--accent--2);
  display: flex;
  align-items: center;
  gap: 8px;
  transition: opacity 0.4s ease-in-out;
  width: max-content;
}
/* .button--map:hover,
.button--map:focus,
.button--map:active {
  opacity: 0.8;
  color: var(--brown-100, #f0e1d8);
} */
.button--map:hover svg path,
.button--map:focus svg path,
.button--map:active svg path{
  fill: var(--accent-1);
  transition: 0.4s ease;
}
.button--auth {
  display: flex;
  gap: 8px;
  align-items: center;
  border-radius: 4px;
  border: 1px solid var(--brown-100, #f0e1d8);
  background: rgba(16, 23, 30, 0.3);
  color: var(--brown-100, #f0e1d8);
  font-size: 15px;
  font-weight: 700;
  line-height: 15px;
  letter-spacing: 0.188px;
  text-transform: uppercase;
  transition: background 0.4s ease-in-out;
}
.button--auth:hover,
.button--auth:focus,
.button--auth:active {
  color: var(--brown-100, #f0e1d8);
  background: rgba(16, 23, 30, 0.5);
}

/* Анимация ---------------------------------*/
.container-wrapper.anim-items {
  opacity: 0;
  transform: translate(0, 34px);
  transition: all 1.2s ease;
}
.container-wrapper.anim-items.animActive {
  opacity: 1;
  transform: translate(0);
}

/* Меню ---------------------------------- */
.additional-list {
  display: none;
}
#main-menu {
  display: flex;
}
.sticky-block{
  position: sticky;
  top: 0px;
}
.navbar {
  position: sticky;
  top: 0px;
  height: 56px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 4px 0;
  background: var(--main-1);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.25);
  z-index: 1005;
}
.navbar .container-wrapper {
  padding: 0;
}
.nav-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  width: 100%;
}
.nav-menu-header {
  display: none;
}
.nav-menu > .nav-menu-item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  padding: 0 16px;
  border: 2px solid transparent;
  border-radius: 4px;
  transition: background 0.3s ease;
  cursor: pointer;
  color:#FFF;
  font-family: "Open Sans";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.08px;
}
.nav-menu > .nav-menu-item.active:has(.current.active) {
  border: 2px solid var(--main-0);
}
.nav-menu > .nav-menu-item > a {
  color: #fff;
  transition: color 0.3s ease;
}
.nav-menu > .nav-menu-item:hover > a {
  color: var(--main-3);
}
.nav-menu > .nav-menu-item:not(.nav-menu-item.icon-to-text):hover {
  background: var(--main--2);
  border: 2px solid transparent;
}
.nav-menu-item.icon-to-text {
  width: 48px;
  height: 48px;
  padding: 11px 0 13px;
  display: block;
  z-index: 20;
  flex-grow: 0;
  border-radius: 0;
}
.nav-menu-item.icon-to-text a {
  display: block;
  font-size: 0 !important;
  width: 24px;
  height: 24px;
  background: url(../images/icons/home-page.svg) center center no-repeat !important;
  margin: 0 auto;
  cursor: pointer;
  z-index: 20;
}
/*Выпадающее подменю*/
.nav-arrow {
  margin-left: 8px;
  margin-top: -1px;
  transition: all 0.3s ease;
  cursor: pointer;
  flex-shrink: 0;
}
.nav-menu-item.drop-down .nav-arrow {
  transform: rotateX(0deg);
}
.nav-menu-item.drop-down svg path{
  fill: var(--main-0);
}
.nav-menu-item.drop-down:hover .nav-arrow {
  transform: rotateX(180deg);
}
.navbar--top .nav-menu-item.drop-down .drop-down-menu,
body:has(.inner-class) .nav-menu-item.drop-down .drop-down-menu {
  bottom: auto;
  top: calc(100% + 8px);
}
.nav-menu-item.drop-down .drop-down-menu {
  visibility: hidden;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  /* bottom: calc(100% + 8px); */
  top: calc(100% + 8px);
  left: 50%;
  transform: translate(-50%, 0px);
  min-width: 132px;
  max-width: 360px;
  border-radius: 4px;
  background: var(--main-2);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.25);
  transition: opacity 0.2s ease, visibility 0.1s ease;
  z-index: 10;
}
.nav-menu-item:last-child.drop-down .drop-down-menu{
  left: 10%;
}
.nav-menu-item.drop-down:hover .drop-down-menu {
  opacity: 1;
  visibility: visible;
}
.drop-down-list {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin: 8px 0;
  width: max-content;
  min-width: 132px;
  max-width: 360px;
}
.drop-down-menu .nav-menu-item {
  display: flex;
  align-items: center;
  min-height: 48px;
  margin: 0 8px;
  border-radius: 4px;
  border: 2px solid transparent;
  transition: border 0.3s ease;
}
.drop-down-menu .nav-menu-item:hover {
  border: 2px solid var(--main-0);
}
.drop-down-menu .nav-menu-item a {
  padding: 8px;
  display: block;
  white-space: normal;
  word-break: break-word;
  color: var(--white, #fff);
}
.navbar__search .k2SearchBlock .k2SearchBlockForm {
  display: none;
  top: 56px;
  position: absolute;
  left: 0;
  top: 0px;
  width: 60%;
}
.navbar__search div.k2SearchBlock form input.inputbox {
  width: 100%;
  color: var(--main-3, #16271b);
  background: rgba(255, 255, 255, 0.30);
}
.navbar__search{
  display: none;
}
.navbar__search .navbar__search-btn {
  display: none;
  position: absolute;
  left: 16px;
}

@media screen and (max-width: 1200px) {
  .navbar__search .navbar__search-btn {
    display: block;
  }
  .additional-list {
    display: flex;
    padding-left: 16px;
  }
  .menu-toggler svg {
    margin-right: 8px;
  }
  .menu-toggler:hover {
    cursor: pointer;
  }
  .additional-list-item.home {
    height: 100%;
    position: absolute;
    right: 16px;
  }
  .additional-list-item.menu-toggler {
    display: flex;
    align-items: center;
    color: var(--white, #fff);
  }
  .nav-menu {
    position: fixed !important;
    top: 0;
    left: 0;
    padding-top: 56px;
    flex-direction: column;
    gap: 0;
    justify-content: flex-start;
    height: 200vh;
    height: 200dvh;
    padding: 0 16px;
    padding-top: 56px;
    overflow-y: auto;
    background: var(--main-3);
    transform: translateX(-105%);
    transition: all 0.4s ease;
    z-index: 50;
  }
  .nav-menu.opened {
    transform: translate(0);
  }
  .nav-menu.opened::-webkit-scrollbar {
    width: 0;
  }
  .nav-menu > .nav-menu-item.icon-to-text {
    display: none;
  }
  .nav-menu > .nav-menu-header {
    display: block;
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 9999;
  }
  .nav-menu-item.drop-down:hover > .nav-arrow {
    transform: rotateX(0);
  }
  .nav-menu-item.drop-down .nav-arrow.active-menu {
    transform: rotateX(180deg);
  }
  .nav-arrow {
    margin-left: 0;
    margin-top: 0;
    margin-bottom: -2px;
  }
  .nav-menu > .nav-menu-item {
    display: block;
  }
  .nav-menu > .nav-menu-item > a,
  .nav-menu > .nav-menu-item.drop-down > a {
    padding: 14px 16px;
    display: inline-block;
  }
  .nav-menu > .nav-menu-item:has(.nav-arrow.active-menu) > a,
  .nav-menu > .nav-menu-item.drop-down:has(.nav-arrow.active-menu) > a {
    color: var(--main-3);
  }
  .drop-down-menu .nav-menu-item a {
    color: var(--main-3);
  }
  .nav-menu > .nav-menu-item.active:has(.current.active) {
    border: none;
    border-bottom: 1px solid var(--main-3);
  }
  .nav-menu > .nav-menu-item.drop-down .drop-down-menu {
    display: none;
    position: relative;
    inset: auto;
    top: auto !important;
    max-width: none;
    opacity: 1;
    visibility: visible;
    border: none;
    box-shadow: none;
    background: var(--main--1);
    transform: none;
    z-index: 999999;
    transition: all 0.3s ease;
  }
  .nav-menu > .nav-menu-item.drop-down .drop-down-menu > .drop-down-list {
    width: 100%;
    margin: 0;
    max-width: none;
    align-items: center;
  }
  .nav-menu > .nav-menu-item.drop-down .drop-down-menu {
    width: 100% !important;
  }
  .nav-menu > .nav-menu-item.drop-down,
  .nav-menu > li.nav-menu-item {
    max-width: 100%;
    width: 100%;
    height: fit-content !important;
    max-height: 2000px !important;
    padding: 8px 0;
    border: none;
    text-align: center;
    border-bottom: 1px solid var(--main-3);
  }
  .nav-menu > .nav-menu-item.drop-down:has(.nav-arrow.active-menu) {
    background: var(--main--1);
    border-radius: 0;
    border: none;
  }

  .nav-menu > .nav-menu-item.drop-down:has(.nav-arrow.active-menu):hover {
    background: var(--main--1);
  }
  .nav-menu-item.drop-down:has(.nav-arrow.active-menu) + .nav-menu-item {
    margin-top: 8px;
  }

}

/* Header ---------------------------------------------- */
.header {
  display: flex;
  flex-direction: column;
  position: relative;
}
.header__logo {
  flex-grow: 1;
  position: relative;
  margin-top: -112px;
  margin-top: -128px;
}
.header__logo::before {
  /* content: ""; */
  position: absolute;
  top: -56px;
  left: 0;
  width: 100%;
  height: 184px;
  background: linear-gradient(180deg, #f3f5f7 0%, rgba(243, 245, 247, 0) 100%);
  z-index: 1;
}
.carousel-inner .item{
  position: absolute;
  inset: 0;
  z-index: -1;
}
.header__slider-wrapper{
  position: absolute;
  top: 0;
  width: 100%;
  height: 472px;
  .swiper-button-next,
  .swiper-button-prev{
    display: none;
  }
}

.header__slider-wrapper .collections__item-image{
  height: 472px;
}
.carousel-inner img,
.header__slider-wrapper .collections__item-image img{
  object-position: bottom;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.header-logos {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  /* margin-bottom: 13px; */
  padding: 16px 8px 20px 8px;
  flex-direction: column;
  position: relative;
}
.header-logos::after{
  content: '';
  width: 1px;
  height: calc(100% - 32px);
  display: flex;
  align-items: center;
  position: absolute;
  right: 0;
  top: 15px;
  background-color: #433C54;
}
.header-contacts,
.header-contacts__title,
.header-titles{
  display: flex;
}
.header-contacts{
  margin-left: -16px;
}
.header-titles{
  padding: 16px 8px;
  gap: 8px;
}
.header-titles img{
  width: 80px;
  height: 80px;
}
.header-titles h6{
  font-size: 21px;
  font-weight: 400;
  line-height: 28px;
  color: var(--neitral-2);
}
.header-contacts__title{
  flex-direction: column;
  h1{
    font-size: 21px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
  }
}
.header-contacts__subtitle {
  color: var(--main-3);
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: 0.035px;
  margin-bottom: 3px;
}
.header__logo-wrapper {
  background: linear-gradient(180deg, rgba(236, 239, 230, 0.80) 19.58%, rgba(236, 239, 230, 0.60) 59.22%, rgba(236, 239, 230, 0.30) 100%);
  backdrop-filter: blur(1px);
  width: 100%;
  max-width: 480px;
  padding: 0 16px 16px 16px;
  display: flex;
  flex-direction: column;
  /* justify-content: space-between; */
  min-height: 472px;
  position: relative;
  z-index: 3;
}
.header-contacts-block {
  margin: 8px 0 8px;
}
.header-contacts-block a {
  display: block;
  margin-bottom: 4px;
}
.header-contacts-block p {
  margin: 0;
  margin-bottom: 16px;
}
.header-contacts-btns {
  display: flex;
  /* flex-direction: column; */
  flex-wrap: wrap;
  align-items: center;
  column-gap: 8px;
  row-gap: 12px;
  position: relative;
}
.header-contacts-btns .button {
  display: flex;
  align-items: center;
  gap: 8px;
}
/* режим работы */
.dates {
  position: absolute;
  bottom: calc(100% + 8px);
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--accent--3);
  box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.15), 1px 1px 2px rgba(0, 0, 0, 0.3);
  padding: 12px;
  border-radius: 4px;
  visibility: hidden;
  transition: all 0.3s ease;
  opacity: 0;
  z-index: 999999999;
}
body:has(.inner-class) .dates{
  position: static;
  opacity: 1;
  visibility: visible;
  box-shadow: none;
  li:before{
    content: '';
  }
}
.header-contacts-btns .button:first-child:hover + .dates {
  opacity: 1;
  visibility: visible;
}
.dates:hover {
  opacity: 1;
  cursor: pointer;
  visibility: visible;
}
.dates-list {
  display: flex;
  padding-left: 0;
  margin-bottom: 12px;
}
.dates-list li{
  list-style: none;
}
.dates-list-item {
  color: var(--main-1);
  text-align: center;
  font-size: 15px;
  line-height: 18px;
  letter-spacing: 0.038px;
  background: var(--white, #fff);
  border: 1px solid var(--main--1);
  padding: 5px;
  text-transform: uppercase;
}
.dates-list-item.active {
  color: var(--main--1);
  background: var(--white, #fff);
}
.about-content-working-hours p {
  font-size: 15px;
  line-height: 18px;
  letter-spacing: 0.038px;
  color: var(--grey, #363636);
  margin-top: 8px;
  margin-bottom: 0;
}
/* соц сети */
.header-contacts-socials {
  display: flex;
  gap: 16px;
  /* justify-content: center; */
  margin-top: 24px;
}
.header-contacts-socials .button {
  width: 32px;
  height: 32px;
  display: block;
  border-radius: 4px;
  padding: 4px;
}
.button--tg{
  background-color: #08C;
}
.button--inst {
  background: linear-gradient(
    225deg,
    #d300c5 6.56%,
    #ff0069 38.33%,
    #ff7a00 69.06%,
    #ffd600 90.42%
  );
}
.button--vk {
  background: #07f;
}
.header-contacts-socials .button--yt {
  background: #c4302b;
  padding: 6px 4px;
}
.button--ok {
  background: #ee8208;
}
/* условия */
.header-contacts__title .header-contacts__title--inner,
.inner-class ~ .header h1 {
  display: none;
}
.inner-class ~ .header .header-contacts__title--inner {
  display: block;
}
.header-contacts__title {
  display: flex;
  gap: 4px;
  padding: 4px 4px 4px 0;
}
.header-contacts__title img {
  width: 32px;
  height: 32px;
  margin-top: 3px;
}
.inner-class ~ .header .header-contacts-block,
.inner-class ~ .header .header-contacts-btns,
.inner-class ~ .header .header-contacts-socials {
  display: none;
}
.inner-class ~ .header .header__logo-wrapper {
  min-height: auto;
}

/* Contacs */
.header-block {
  background: linear-gradient(180deg, #ECEFE6 34.96%, rgba(236, 239, 230, 0.00) 100%);
  position: relative;
  z-index: 2;
  padding-top: 16px;
}
.header-block .container-wrapper {
  display: flex;
  justify-content: end;
  height: 112px;
  /* align-items: center; */
}
.header__row {
  display: flex;
  justify-content: space-between;
}
/* Название и логотип */
.header-logos img {
  width: auto;
}

/* Языковые версии и версия для слабовидящих */
.header .button--map {
  position: absolute;
  left: 0;
}
.skiptranslate {
  display: none !important;
}
.content {
  text-align: center;
  margin: auto;
}
.VIpgJd-yAWNEb-VIpgJd-fmcmS-sn54Q {
  background: none !important;
  box-shadow: none !important;
}
.header-block__lang {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  padding-top: 16px;
}
.language {
  display: flex;
  gap: 24px;
  align-items: center;
}
.language a {
  color: var(--main-2);
  font-size: 14px;
  font-weight: 500;
  line-height: 14px;
  letter-spacing: 0.188px;
  text-transform: uppercase;
  transition: color 0.4s ease-in-out;
}
.language + ul {
  margin-bottom: -4px;
  list-style-type: none;
}
.language + ul .bvi-open {
  color: var(--main-2);
  transition: color 0.4s ease-in-out;
}

/* Поиск */
.header-block__search {
  position: relative;
  margin-right: 3%;
}
/* Кнопки | Header */
.btns-header {
  display: flex;
  gap: 8px;
  margin-right: 48px;
}
.btns-header--mobile {
  display: none;
}
/* Иконки в контактах */
p.adress,
p.mail,
p.tel,
.mail,
a.tel,
a.hotline {
  padding-left: 32px;
  position: relative;
  width: fit-content;
}
.link a.tel,
.link a.mail,
.link a.hotline {
  padding-left: 32px;
  position: relative;
  display: inline-block;
  color: var(--black, #1b1b1b);
  text-decoration: none;
  min-height: 23px;
}
.link a.tel:hover,
.link a.hotline:hover {
  text-decoration: underline;
}
p.tel span,
div.tel.icon span,
p.hotline span {
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 0.035px;
  color: #454545;
}
p.adress > a,
p.mail > a,
p.tel > a,
.mail a,
a.mail,
a.tel,
p.hotline > a,
a.hotline {
  color: var(--black, #1b1b1b) !important;
  text-decoration: none !important;
  transition: all 0.4s ease;
  position: relative;
}
p.tel > a:hover,
p.mail > a:hover,
p.adress > a:hover,
a.tel:hover,
a.hotline:hover {
  color: var(--main-1);
  text-decoration: underline;
}
.adress::before {
  content: url(../images/icons/address.svg);
  position: absolute;
  left: 0;
  top: 0px;
}
.tel::before,
a.tel::before,
a.hotline::before {
  content: url(../images/icons/office-phone.svg);
  position: absolute;
  left: 0;
  top: 2px;
}
.tel.icon::before,
a.tel.icon::before {
  content: "";
}
a.hotline::before{
  content: url(../images/icons/hotline.svg);
}
.mail::before {
  content: url(../images/icons/email.svg);
  position: absolute;
  left: 0;
  top: 1px;
}
@media screen and (max-width: 992px) {
  .header-block{
    position: absolute;
    z-index: 22;
    top: 56px;
    height: 56px;
    width: 100%;
    padding-top: 0;
  }
  .header-block__search{
    position: static;
    height: fit-content;
    
  }
  .header .header-block__search > div.k2SearchBlock{
    display: none; 
  }
  .navbar__search{
    display: flex;
    padding: 16px 0;
  }
  .header .button--map{
    display: none;
  }
  
  .header-block .container-wrapper {
    justify-content: space-between;
  }
  .header__logo .container-wrapper {
    padding: 0;
  }
  .header__logo {
    min-height: calc(100dvh - 56px);
    min-height: calc(100vh - 56px);
  }
  .inner-class ~ .header .header__logo {
    min-height: auto;
  }
  .header__logo-wrapper {
    background: linear-gradient(
      180deg,
      #f2f7f4 28.88%,
      rgba(242, 247, 244, 0.6) 100%
    );
    max-width: 100%;
    gap: 0;
    min-height: auto;
    padding-top: 160px;
  }
  /* .header-contacts {
    padding-right: 72px;
    min-height: 80px;
  }
  .header-logos {
    position: absolute;
    flex-direction: column;
    gap: 8px;
    right: 16px;
  } */
  .header-contacts__subtitle {
    padding-left: 0;
  }
  .header-contacts__title {
    gap: 16px;
  }
  .header-contacts__title img {
    width: 40px;
    height: 40px;
    margin-top: 0;
  }
  div.k2SearchBlock form input.inputbox, .genericSearchForm input.k2-input{
    width: 56px;
  }
  .header-block__lang{
    height: fit-content;
    padding: 16px 0;
  }
}
@media screen and (max-width: 768px) {
  .header-block__search {
    /* position: absolute; */
    right: 16px;
    bottom: 0;
    top: auto;
    z-index: 50;
    background: var(--white, #fff);
    margin: 0;
  }
  .button-search {
    top: auto;
    bottom: -10px;
  }
}
@media screen and (max-width: 600px) {
}

/* Форма авторизации ------------------ */
.btns-header:has(.button--auth.active) + #k2ModuleBox543 {
  display: block;
}
div#k2ModuleBox543 {
  display: none;
  position: absolute;
  top: 56px;
  right: 0;
  left: auto;
  z-index: 9999;
  border-radius: 4px;
  background: var(--main--3);
  box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.25),
    0px 4px 16px 0px rgba(0, 0, 0, 0.1);
  width: 560px;
  padding: 19px 24px 16px;
}
#k2ModuleBox543 .preText {
  color: var(--main-3);
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 0.027px;
  margin: 0;
  margin-bottom: 21px;
}
div.k2LoginBlock fieldset.input p input {
  border-radius: 4px;
  border: 1px solid var(--main--1);
  background: #fff;
  padding: 16px 12px 16px 16px;
  color: #7d7d7d;
  font-family: "Open Sans", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.085px;
  width: 100%;
  height: 48px;
}
div.k2LoginBlock fieldset.input p input:focus-visible {
  outline: none;
  border: 1px solid var(--main--2);
}
div.k2LoginBlock fieldset.input p:nth-child(3) input {
  width: 24px;
  height: 24px;
}
#form-login-username label,
#form-login-password label {
  display: none;
}
#form-login-username,
#form-login-password {
  margin-bottom: 16px;
}
#form-login-remember {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-end;
  padding-left: 4px;
  height: 48px;
}
#modlgn_remember {
  margin-right: 20px;
}
div.k2LoginBlock fieldset.input .button {
  margin-top: 24px;
}
#form-login ul {
  position: absolute;
  bottom: 118px;
  left: 140px;
  height: 48px;
  display: flex;
  font-family: "Open Sans", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 15px;
  letter-spacing: 0.175px;
  text-transform: uppercase;
}
#form-login ul a {
  color: var(--brown-500, #9a6b56);
}
#form-login ul .button {
  padding: 12px 8px;
}
.close-auth {
  position: absolute;
  top: 16px;
  right: 16px;
  cursor: pointer;
}
#form-login .create-acc {
  text-align: center;
}
#form-login .create-acc p:first-child {
  color: var(--main-3);
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 0.023px;
  margin: 0;
  padding-top: 24px;
  padding-bottom: 8px;
  border-top: 1px solid var(--main--1);
}
#form-login .create-acc .button {
  padding: 10px 8px;
}
.button.thirdy-button.ubLogout {
  position: relative;
  left: -8px;
  padding: 10px 8px;
}
.ubCommentsCount {
  display: none;
}
.k2UserBlockActions {
  padding: 0 !important;
}
.k2UserBlockActions li {
  margin: 16px 0 !important;
}
.k2UserBlockActions li:nth-child(2) {
  display: none !important;
}
@media (max-width: 992px) {
  div#k2ModuleBox543 {
    right: auto;
    left: 0;
    top: 56px;
    padding: 16px;
  }
}
@media (max-width: 600px) {
  div#k2ModuleBox543 {
    width: 360px;
  }
  #form-login ul {
    left: 8px;
    bottom: 100px;
  }
  div.k2LoginBlock fieldset.input .button {
    margin-left: 0;
    margin-bottom: 32px;
  }
}

/* Блок "Main" -------------------------------------------- */
.main {
  background: var(--main--3);
  overflow: hidden;
  flex: 1;
}

/* Меню на внутренних страницах -------------------------- */
.menu-sidebar {
  width: 328px;
  margin: 16px;
  margin-left: 0;
  border-radius: 6px;
  background: var(--main-2);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.25);
  padding: 8px;
}
.menu-sidebar li {
  list-style-type: none;
}
.menu-sidebar li a {
  color:  #fff;
  border: 2px solid transparent;
  position: relative;
  border-radius: 4px;
  padding: 8px 16px;
  width: fit-content;
  min-height: 48px;
  display: flex;
  align-items: center;
  transition: border 0.4s ease-in-out;
}
.menu-sidebar li.leftsidebar a {
  padding-right: 32px;
}
.menu-sidebar li.current.active a {
  border: 2px solid var(--main-0);
}
.menu-sidebar > li > a:hover {
  border: 2px solid var(--main-0);
}

/*Ошибка 404 -------------------------------- */
.error ~ .menu-biblio {
  display: none;
}
.well blockquote {
  font-size: 34px;
  line-height: 40px;
  margin-bottom: 24px;
}
.well a {
  color: #1c2f73;
  text-shadow: 0.3px -0.3px 0.5px var(--brown-500, #9a6b56);
}
.well a:hover {
  color: #1c2f73;
  text-shadow: 0.3px -0.3px 0.5px var(--brown-500, #9a6b56);
}
h2.page-header {
  margin-top: 16px;
  font-size: 51px;
  line-height: 72px;
}
.footer__block-appeal {
  position: absolute;
  right: 0px;
  bottom: 0px;
}

/* Banners MIddle */
.banners-middle {
  width: 100%;
  max-width: 360px;
  background: var(--main--3);
  padding: 24px 16px;
  margin-right: 24px;
}
.banners-middle .banner-items__wrapper{
  position: static !important;
}
.banners-middle .banner-items__wrapper:first-child {
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--main--2);
}
.banner-item__header {
  color: var(--neitral-2);
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0.023px;
  margin-bottom: 8px;
  padding: 0 20px;
}
.banner-item a {
  display: flex;
  gap: 20px;
  min-height: 48px;
  align-items: center;
  margin-bottom: 8px;
  padding: 0 20px;
}
.banners-middle .banner-items__wrapper:first-child .banner-item:last-child a {
  margin: 0;
}
.banner-item img {
  width: 24px;
  height: 24px;
}
@media screen and (max-width: 1250px) {
  .banners-middle {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 8px 0 54px;
    display: flex;
    max-width: none;
    width: auto;
    margin: 0;
    border-radius: 21px 21px 0 0;
    box-shadow: 0 -4px 8px 0 rgba(0, 0, 0, 0.1),
      0 -1px 2px 0 rgba(0, 0, 0, 0.25);
    z-index: 11;
  }
  .banner-items__wrapper.active {
    width: 100%;
  }
  .banner-items__wrapper .banner-item {
    display: none;
  }
  .banner-items__wrapper.active .banner-item {
    display: block;
  }
  .banners-middle .banner-items__wrapper:first-child {
    margin: 0;
    padding: 0;
    border: none;
  }
  .banner-item__header {
    position: absolute;
    bottom: 12px;
    width: 50%;
    text-align: center;
    margin: 0;
    padding: 0;
  }
  .banner-items__wrapper span {
    border-radius: 6px;
    display: inline-block;
    padding: 11px 16px;
  }
  .banners-middle .banner-items__wrapper:last-child .banner-item__header {
    right: 0;
    border-left: 1px solid var(--main--2);
  }
  .banner-items__wrapper.active .banner-item__header span {
    background: #e8d2c5;
  }
}
.hot-deals{
  background: var(--accent--1);
}
.hot-deals .swiper{
  max-width: 1032px;
}
.hot-deals__wrapper{
  padding: 16px 16px 24px 16px;
}
.hot-deals .collections__item-title{
  color: var(--main-3);
  text-align: center;
  font-family: Montserrat;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0.024px;
}
.hot-deals .info__items{
  position: relative;
  max-width: 1192px;
  margin: 0 auto;
}
.hot-deals .info-item{
  display: flex;
  padding: 16px;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  border: 1px solid #B18F25;
  background: var(--main--3);
  height: auto;
}
.hot-deals .info-item:has(.banners-lower__image){
  background: transparent;
  border: none;
  .h6.banners-lower__link{
    display: none;
  }
}
.hot-deals .collections__item-block{
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.hot-deals .collections__item-introtext{
  color: var(--main-3);
  text-align: center;
  font-family: "Open Sans";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.08px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  p{
    margin: 4px 0;
  }
}
.hot-deals .swiper-button-prev::after,
.hot-deals .swiper-button-next::after{
  content: '';
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}
/* .hot-deals .swiper-button-prev{
  right: 80px;
} */
.hot-deals .swiper-button-prev::after{
  background-image: url(../images/icons/chevron-left.svg);
}
/* .hot-deals .swiper-button-next{
  left: 80px;
} */
.hot-deals .swiper-button-next::after{
  background-image: url(../images/icons/chevron-right.svg);
}
/* Новости и события (ГЛАВНАЯ) -----------------------*/
.swiper-pagination-new {
  text-align: center;
  margin-top: 24px;
}
.swiper .swiper-pagination-new .swiper-pagination-bullet {
  background: var(--main--3);
  border: none;
  opacity: 1;
}
.swiper .swiper-pagination-new .swiper-pagination-bullet-active {
  background: var(--main-0);
}
.news {
  background: linear-gradient(270deg, #C9C9CF 36.75%, #D7DCE0 65.41%, #ECEFE6 68.96%);
}
.news .container-wrapper {
  display: flex;
}
.news__container {
  padding-bottom: 32px;
  height: fit-content;
}
.news .main-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 24px;
  padding-top: 12px;
  padding-bottom: 18px;
}
.news__wrapper,
.flex-column-layout {
  display: flex;
  gap: 32px;
  position: relative;
}
.news__block {
  display: flex;
  flex-direction: column;
}
.news__items {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.news__item {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  border-radius: 6px;
  background: var(--white, #fff);
  cursor: pointer;
  max-width: 448px;
  min-width: 390px;
  z-index: 1;
}
.news__item::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 4px;
  box-shadow: 0 0 0 1px var(--main-0);
  transition: box-shadow 0.3s ease-in-out;
  z-index: -1;
}
.news__item:hover {
  box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.1),
    1px 1px 2px 0 rgba(0, 0, 0, 0.25);
}
.news__item:hover::before {
  box-shadow: 0 0 0 2px var(--accent-0);
}
.news__item-details {
  display: flex;
  flex-direction: column;
  padding: 16px;
}
.news__item-title {
  margin-bottom: 10px;
}
.news__item-title a {
  display: block;
  color: var(--main-3);
}
.news__item-title a:hover {
  text-decoration: none;
  color: var(--main-3);
}
.news__item-date {
  color: var(--grey, #363636);
  font-size: 13px;
  line-height: 16px;
  letter-spacing: 0.052px;
}
.news__item-intro .moduleItemIntrotext {
  height: auto;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news__item-intro .moduleItemIntrotext p {
  margin: 0;
}
.news__item-img,
.news__item-img a {
  display: block;
  width: 100%;
  max-width: 176px;
  height: 195px;
  flex-shrink: 0
}
.news__item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 6px 6px 0;
}
.news__item-more svg path{
  fill: #375A67;
}
/* -- Избранные новости */
.news-favorites {
  max-width: 568px;
  margin-top: 0;
  padding: 2px !important;
}
.news-favorites .news__items {
  flex-direction: row;
  /* margin: 8px !important; */
  gap: 0;
  height: 578px;
  margin-right: 4px;
}
.news-favorites .news__item {
  max-width: 100%;
  /* max-width: 552px;
  max-height: 578px; */
  padding: 16px;
  flex-direction: column;
  justify-content: flex-start;
}
.news-favorites .news__item-details {
  padding: 0;
}
.news-favorites--slider .news__item-img,
.news-favorites--slider .news__item-img a {
  width: 100%;
  max-width: 100%;
  height: 330px;
}
.news-favorites--slider .news__item-img img {
  border-radius: 4px;
}
.news-favorites--slider .news__item-date {
  margin: 16px 0;
}
.news-favorites--slider .news__item-title {
  margin-bottom: 8px;
  font-size: 21px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
}
.news-favorites--slider .news__item-intro {
  padding-bottom: 16px;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.08px;
  color: var(--neitral-2);
}
.news-favorites--slider .news__item-more {
  position: absolute;
  bottom: 8px;
  right: 0px;
}
@media (max-width: 1250px) {
  .news .container-wrapper,
  .flex-column-layout {
    display: flex;
    flex-direction: column;
  }
  .sticky-block{
    position: static;
  }
  .news__item{
    max-width: 100%;
  }
  .banners-lower__wrapper{
    justify-content: center;
  }
}
@media (max-width: 992px) {
  .news .container-wrapper {
    padding-bottom: 56px;
  }
  .news__wrapper {
    gap: 24px;
    flex-direction: column;
  }
  .swiper-pagination-new {
    margin-top: 24px;
  }
  .news__item {
    max-width: 100%;
  }
  .news-favorites .news__items {
    margin: 0px !important;
    margin-left: 2px !important;
  }
  .news-favorites--slider .news__item-more {
    position: relative;
    margin-left: auto;
    bottom: 0;
    right: -16px;
  }
  .news__archive {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
  }
  .news__archive .button {
    white-space: nowrap;
  }
  .news .main-title {
    justify-content: center;
    padding: 0;
  }
}
@media (max-width: 600px) {
  .news__block {
    margin-top: 0;
  }
  .news-favorites .news__items {
    margin: 0px !important;
    height: 455px;
  }
  .news-favorites--slider .news__item-title {
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    letter-spacing: 0.027px;
  }
  .news-favorites--slider .news__item-img,
  .news-favorites--slider .news__item-img a {
    height: 184px;
  }
  .news-favorites--slider .news__item-more {
    position: absolute;
    margin-left: auto;
    bottom: 8px;
    right: 0;
  }
  .news__item {
    align-items: center;
  }
  .news__item-img {
    margin: 8px;
  }
  .news__item-img,
  .news__item-img a {
    max-width: 80px;
    height: 104px;
  }
  .news__item-img img {
    border-radius: 2px;
  }
}

/* Афиша */
.afisha-container {
  background: linear-gradient(265deg, #C9C9CF 12.22%, #E6EBEF 46.35%, #ECEFE6 80.47%);
  padding: 8px 0 24px;
}
.afisha-container .secondary-button {
  margin: 0 auto;
  display: flex;
  width: fit-content;
}
.afisha-container .filter-block {
  display: none;
}
.afisha-result-wrapper.afisha-bibl-swiper {
  max-width: 1248px;
  padding-top: 16px;
}
.bibl-afisha .swiper-btn {
  position: absolute;
  top: calc(50% + 24px);
  cursor: pointer;
}
.bibl-afisha .swiper-btn--prev {
  left: 28px;
}
.bibl-afisha .swiper-btn--next {
  right: 28px;
}
.afisha-container .btn--open {
  margin: 0;
  margin-left: -16px;
}
@media screen and (max-width: 1200px) {
  .bibl-afisha .container-wrapper {
    padding: 0;
  }
  .bibl-afisha .swiper-btn--prev {
    left: 16px;
  }
  .bibl-afisha .swiper-btn--next {
    right: 16px;
  }
  .afisha-result-wrapper.afisha-bibl-swiper {
    max-width: calc(100% - 120px);
  }
  .bibl-afisha .afisha-item {
    align-items: center;
    flex-direction: column;
  }
  .bibl-afisha .modal .afisha-item img {
    min-height: auto;
  }
  .bibl-afisha .modal .afisha-content {
    max-height: none;
  }
  .bibl-afisha .afisha-description {
    padding: 0 8px 0 16px;
  }
  .bibl-afisha .afisha-extrafields {
    padding: 14px 8px 0 16px;
  }
  .bibl-afisha .modal .afisha-extrafields {
    padding: 14px 0 0 0;
  }
  .bibl-afisha .modal .afisha-description {
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .bibl-afisha .afisha-titles {
    background: linear-gradient(
      180deg,
      rgba(242, 247, 244, 0.8) 0%,
      #f2f7f4 100%
    );
    backdrop-filter: blur(4px);
    margin-top: -100px;
    width: calc(100% + 2px);
    padding: 16px 8px 12px 16px;
    margin-left: -1px;
  }
  .bibl-afisha .afisha-item img {
    width: 95%;
    min-height: 328px;
    height: 100%;
  }
}
/* Баннер "Исторические объекты района" */
.banner-culture__wrapper{
  display: flex;
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  min-height: 128px;
  padding: 16px;
  justify-content: center;
  align-items: center;
  background: url(../images/culture-module-bg.png),
  var(--accent-1);
  background-position: center;
  background-size: cover;
  overflow: hidden;
  a{
    color: var(--main--3);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
  }
  a:hover{
      color: var(--main--3);
    }
  .qr-gid{
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 6px;
    width: 64px;
    height: 64px;
    flex-shrink: 0;
  }
}
/* Баннеры Lower ---------------------------------*/
.banners-lower {
  background: var(--main--3);
}
.banners-lower__wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, 437px);
  gap: 8px;
  padding: 16px 0;
}
.banners-lower__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border-radius: 6px;
  background: white;
  transition: background 0.3s ease-in-out;
  cursor: pointer;
}
.banners-lower__item.highlighted{
  background: var(--main--2);
  .banners-lower__image{
    height: 136px;
  }
}
.banners-lower__item.highlighted:hover{
  background: var(--main--1);
}
.banners-lower__item::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 6px;
  box-shadow: 0 0 0 1px var(--main--2);
  transition: box-shadow 0.3s ease-in-out;
  z-index: -1;
}
.banners-lower__item:hover {
  background: var(--accent--3);
  box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.10), 
  1px 1px 2px 0 rgba(0, 0, 0, 0.25);
}
.banners-lower__item:hover::before {
  box-shadow: 0 0 0 2px var(--accent-1);
}
.banners-lower__image {
  width: auto;
  height: 72px;
  flex-shrink: 0;
}
.hot-deals .info__items .banners-lower__image{
  width: 100%;
  height: 138px;
}
.banners-lower__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.banners-lower__link {
  text-align: center;
  width: 100%;
}
.banners-lower__link a,
.banners-lower__link a:hover {
  color: var(--main-3);
  text-decoration: none;
}
@media (max-width: 992px) {
  .banners-lower__wrapper {
    gap: 16px;
  }
}
@media (max-width: 768px) {
  .banners-lower__wrapper {
    grid-template-columns: 1fr;
    padding: 16px 0;
  }
  .banner-culture__wrapper h4{
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    letter-spacing: 0.027px;
  }
  .banner-culture__wrapper svg,
  .banner-culture__wrapper .qr-gid{
    width: 40px;
    height: 40px;
    svg{
      width: 24px;
      height: 24px;
    }
  }
  .news__item{
    min-width: 320px;
  }
  
}

/* Блок "Новые поступения" ---------------------------------*/
.flex-column-layout:has(.book),
.editions{
  background: var(--main--3);
  /* gap: 0; */
  position: relative;
}


.book {
  display: flow-root;
  background: var(--main--3);
  padding-bottom: 24px;
  height: fit-content;

}

.book .section-title{
  text-align: start;
  min-height: 72px;
  display: flex;
  align-items: center;
  padding-left: 24px;
}
.books__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  /* margin-top: 24px; */
}
.books__item {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-radius: 6px;
  box-shadow: 0 0 0 1px var(--main--2);
  background: #fff;
  transition: box-shadow 0.4s ease-in-out, background 0.4s ease-in-out;
  cursor: pointer;
}
.books__item:hover {
  box-shadow: 0 0 0 2px var(--accent-0);
  background: var(--accent--3);
}
.book__wrapper{
  position: relative;
}
.inner-class ~ .main .books__item:hover {
  box-shadow: 0 0 0 1px var(--accent-0);
}
.books__item-details {
  padding: 16px 0 8px 16px;
  position: relative;
}
.h5.books__item-title {
  margin-bottom: 8px;
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 0.027px;
}
.books__item-title a {
  color: var(--main-3);
  
}
.books__item-author {
  color: var(--main-2);
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0.024px;
}
.books__item-intro {
  color: var(--neitral-2);
  height: auto;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.08px;
}
.books__item-more {
  position: absolute;
  bottom: 8px;
}
.books__item-more .thirdy-button {
  position: relative;
  left: -16px;
  white-space: nowrap;
}
.books__item-img {
  width: 188px;
  width: 176px;
  min-height: 263px;
  min-height: 296px;
  height: 100%;
  padding: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.books__item-img img {
  width: 100%;
  height: 100%;
  height: 230px;
  object-fit: cover;
}
.books__archive {
  width: fit-content;
  margin: 0 auto;
  margin-top: 16px;
  position: absolute;
  top: 0;
  right: 0;
}
@media (max-width: 992px) {
  .books__item-details {
    display: flex;
    flex-direction: column;
  }
  .books__item-more {
    position: static;
    padding-top: 8px;
    margin-top: auto;
  }
}
@media (max-width: 768px) {
  .books__items {
    grid-template-columns: 1fr;
  }
  .books__item {
    position: relative;
  }
  .books__item-details {
    margin-right: 16px;
  }
  .books__item-row {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: calc(100% - 96px);
    min-height: 112px;
  }
  .h5.books__item-title {
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    letter-spacing: 0.027px;
  }
  .books__item-intro {
    margin-top: 12px;
  }
  .book .section-title{
    text-align: center;
    justify-content: center;
    padding-bottom: 56px;
    padding-left: 0;
  }
  .book .secondary-button{
    width: max-content;
  }
  .books__archive {
    margin-top: 24px;
    right: 50%;
    transform: translateX(50%);
    top: 32px;
  }
  .books__item-img {
    position: absolute;
    right: 8px;
    top: 8px;
  }
  .books__item-img,
  .books__item-img a {
    width: 80px;
    min-height: auto;
    height: 112px;
    display: block;
    overflow: hidden;
  }
  .books__item-img img{
    height: 100%;
    background-position: center !important;

  }
}

/* Карта библиотек */
.biblio-map {
  background: var(--main-0);
}
.biblio-map .container {
  padding: 16px;
}
.biblio-map .guest_form_row,
.biblio-map .map_btn,
.biblio-map .navigation-button {
  display: none;
}
body:has(.biblio-map) h1.section-title {
 background: linear-gradient(180deg, #8A8896 0%, rgba(138, 136, 150, 0.90) 37.81%, rgba(138, 136, 150, 0.70) 100%);
  position: absolute;
  top: -4px;
  left: 0;
  z-index: 1;
  width: 100%;
}
body:has(.biblio-map) .content-category__wrapper .container-wrapper{
  padding-left: 0;
}
.biblio-map #guest_map ymaps {
  border-radius: 6px;
}
.biblio-map #guest_map {
  height: 688px !important;
}
@media (max-width: 768px) {
  .biblio-map {
    height: 584px;
  }
  .biblio-map #guest_map {
    height: 560px !important;
  }
  .header__slider-wrapper,
  .header__slider-wrapper .collections__item-image,
  .header__logo-wrapper{
    min-height: 780px;
  }
  .header-titles img{
    height: 40px;
    width: 40px;
  }
  .header-logos{
    justify-content: flex-start;
  }
  .header-contacts__title {
    h1{
      font-size: 18px;
      font-weight: 500;
      line-height: 24px;
      letter-spacing: 0.027px;
    }
  }
  .header-contacts__subtitle{
    font-size: 12px;
    font-weight: 400;
    line-height: 14px;
    letter-spacing: 0.048px;
  }
  .header-contacts__title {
        gap: 8px;
    }
}

/* Баннеры "Интернет-ресурсы" -----------------------------*/
.banners-resources {
  position: relative;
  background: var(--main--1);
  width: 100%;
  padding: 16px 0;
  overflow: hidden;
}
.banners-resources .container-wrapper {
  padding: 0;
}
.banners-resources__wrapper {
  position: relative;
  overflow: visible !important;
}
.banners-resources__carousel {
  padding: 16px;
}
.banners-resources__item {
  position: relative;
  display: flex !important;
  align-items: center;
  min-height: 84px;
  border-radius: 4px;
  background: #fff;
}
.banners-resources__item::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 4px;
  box-shadow: 0 0 0 1px var(--main-0);
  transition: box-shadow 0.3s ease-in-out;
  z-index: -1;
}
.banners-resources__item:hover {
  box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.10), 
  1px 1px 2px 0 rgba(0, 0, 0, 0.25);
  cursor: pointer;
}
.banners-resources__item:hover::before {
  box-shadow: 0 0 0 2px var(--accent-1);
}
.banners-resources__image {
  width: 48px;
  height: 48px;
  margin: 16px;
}
.banners-resources__image img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}
.banners-resources__link {
  font-size: 12px;
  line-height: 14px;
  font-weight: 400;
  letter-spacing: 0.048px;
  padding-right: 8px;
  display: flex;
  align-items: center;
}
.banners-resources__link a {
  color: var(--main-2);
}
@media (max-width: 1439px) {
  .banners-resources .container-wrapper {
    padding: 0 16px;
  }
}
@media (max-width: 768px) {
  .banners-resources {
    padding: 0;
  }
  .banners-resources__carousel {
    padding: 16px 0;
  }
}

/* Footer ---------------------------------*/
.footer {
  background: var(--main-1);
  color: #FFF;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.08px;
}
.footer__wrapper {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  position: relative;
  padding: 16px 0 24px;
}
.footer__block:first-child {
  align-items: flex-start;
}
.footer__block {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.contacts-footer__block {
  display: flex;
  gap: 32px;
  margin-bottom: 24px;
}
.contacts-footer__block p {
  margin: 0;
}
.contacts-footer__block .adress {
  max-width: 316px;
}
.contacts-footer__block .tel a,
.contacts-footer__block .mail a {
  display: block;
  width: 100%;
  white-space: nowrap;
}
.footer .bannergroup_social {
  margin: 4px 0;
  height: fit-content;
  display: flex;
  padding: 0 16px 16px 16px;
}
.footer p a {
  color: var(--white, #fff) !important;
}
.footer p a:hover {
  color: var(--white, #fff) !important;
}
.footer__block-menu {
  margin-left: -21px;
}
.copy {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}
.copyright-cvr p{
  font-size: 14px;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: 0.035px;
}
.copyright-cvr{
  padding-top: 0 !important;
}
.copyright-cvr h6{
  color: #B3B3B3 !important;
  font-family: "Open Sans";
  font-size: 12px !important;
  font-style: normal;
  font-weight: 400 !important;
  line-height: 14px; /* 116.667% */
  letter-spacing: 0.048px;
}
.copy p {
  margin: 0;
}
.copy img {
  display: block;
  width: 40px;
  height: 40px;
}
/* -- Социальные сети */
.bannergroup_social {
  display: flex;
}
.footer .bannergroup_social {
  margin-left: 0;
}
.banneritem {
  margin-left: 24px;
}
.banneritem:first-child {
  margin-left: 0;
}
.bannergroup_social img {
  width: 24px;
  height: 24px;
}
.banneritem img {
  transition: all 0.4s ease;
}
@media (max-width: 1200px) {
  .footer__wrapper {
    justify-content: space-between;
  }
  .copy {
    margin-left: 0;
    align-items: flex-start;
  }
  .footer .bannergroup_social {
    gap: 16px;
    flex-direction: column;
    margin-bottom: 16px;
  }
  .banneritem {
    margin-left: 0;
  }

  .footer__block-metrica img {
    width: auto;
  }
  .developer {
    padding-bottom: 56px;
  }
}
@media (max-width: 992px) {
  .contacts-footer__block {
    flex-direction: column;
    gap: 12px;
  }
  .copy p {
    text-align: center;
  }
  .footer__block {
    position: relative;
  }
  .footer__block-metrica {
    position: absolute;
    bottom: 0;
  }
}

/* Разработка ---------------------------------------- */
.developer {
  display: flex;
  justify-content: center;
  background: linear-gradient(180deg, rgba(0, 45, 60, 0) 0%, #002d3c 100%);
}

/* Кнопка "Наверх" ----------------------------------- */
.scrollUp {
  position: fixed;
  bottom: 16px;
  right: 16px;
  display: none;
  padding: 16px;
  padding-bottom: 12px;
  background: var(--main-1);
  box-shadow: 4px 4px 16px 0 rgba(0, 0, 0, 0.15),
    1px 1px 2px 0 rgba(0, 0, 0, 0.3);
  border-radius: 50%;
  z-index: 100;
  transition: opacity 0.4s ease;
}
.scrollUp:hover {
  opacity: 0.8;
}
.scrollUp-show {
  display: block;
}
.scrollUp:hover {
  cursor: pointer;
}
.scrollUp svg {
  transform: rotate(180deg);
  transition: fill 0.4s ease;
}
body:has(.afisha-container) .scrollUp {
  bottom: 16px !important;
}
@media (max-width: 768px) {
  .scrollUp {
    display: none !important;
  }
  .footer .bannergroup_social{
    padding: 0;
  }
}
@media (max-width: 500px){
  .footer__block:has(.footer__block-menu){
    position: static;
  }
  .footer__block-menu{
    position: absolute;
    bottom: 64px;
    right: 50%;
    transform: translateX(50%);
  }
  .copyright-cvr{
    padding-bottom: 90px !important;
  }
}
/* Блок "Сookie" ---------------------- */
body #sp-cookie-consent {
  background: var(--main-1);
  z-index: 9999999;
  font-family: "PT Sans", sans-serif;
}
#sp-cookie-consent::before {
  content: "";
  background: var(--main-1);
  opacity: 0.24;
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
}

/* Внутренние страницы (ОБЩИЕ СТИЛИ) ------------------------------------ */
.inner-block {
  display: flex;
}
.inner-img {
  margin: 0;
  margin-right: 16px;
}
.inner-class ~ .afisha-container .button.secondary-button.icon,
.inner-class ~ .afisha-container:not(:has(.afisha)),
.inner-class ~ .biblio-map,
.inner-class ~ .news,
.inner-class ~ .banners-resources,
.inner-class ~ .book,
.inner-class ~ .hot-deals,
.inner-class ~ .editions {
  display: none;
}
@media (max-width: 992px) {
  .content-container {
    margin-right: 0 !important;
  }
}
@media (max-width: 768px) {
  .inner-block {
    flex-direction: column;
  }
  .inner-img {
    margin-right: 0;
  }
}

/* Вывод в категории "Новоcти" --------------------------- */
/* body:has(.news-category) .main {
  background: var(--main--);
}
body:has(.news-static) .main {
  background: var(--white, #fff);
} */
.news-category {
  display: flex;
  padding-bottom: 24px;
}
.news-category__wrapper {
  width: 100%;
}
.news-category__wrapper .container-wrapper {
  padding-right: 0;
}
.news-list #itemListLeading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
/* --- Отдельная карточка новости в архиве */
.news-list .news__item {
  max-width: none;
  padding: 16px;
  flex-direction: column;
}
.news-list .news__item-details {
  padding: 0;
  margin-top: 16px;
}
.news-list .news__item-intro {
  margin: 12px 0 16px;
}
.news-list .news__item-intro .moduleItemIntrotext {
  -webkit-line-clamp: 2;
}
.news-list .news__item-img,
.news-list .news__item-img a {
  max-width: 100%;
  height: 320px;
}
.news-list .news__item-img img {
  border-radius: 6px;
}
.news-list .news__item-title {
  color: var(--main-3);
  margin: 0;
}
.news__item-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin-top: auto;
}
.news__item-more{
  position: absolute;
  bottom: -8px;
  right: 0;
}
.news-list .news__item-more {
  margin-left: auto;
}

@media (max-width: 992px) {
  .news-list #itemListLeading {
    gap: 16px;
  }
  .news-category {
    flex-direction: column;
  }
  .news-category__wrapper .container-wrapper {
    padding-left: 0;
  }
}
@media (max-width: 768px) {
  .news-list #itemListLeading {
    grid-template-columns: 1fr;
  }
  .news-list .news__item-title {
    font-size: 15px;
    line-height: 18px;
    letter-spacing: 0.015px;
    max-height: 36px;
  }
  .news__item-more{
    position: static;
  }
  .news__item-intro .moduleItemIntrotext{
    -webkit-line-clamp: 5 !important;
  }
}
/* Новость (ВНУТРЕНЯЯ) */
.part1-item--mobile {
  display: none;
}
.part2-item .news__item-tags {
  margin-top: 16px;
}
.part2-item .createdate {
  margin-bottom: 16px;
}
.news-static .itemImageGallery {
  padding-top: 24px;
  border-top: 1px solid var(--green-50, #f2f7f4);
  border-bottom: 1px solid var(--green-50, #f2f7f4);
}
.itemImageGallery h6 {
  color: #4c4239;
  margin-bottom: 16px;
}

@media (max-width: 768px) {
  .news-static .part1-item {
    display: none;
  }
  .part1-item--mobile {
    display: block;
  }
}

/* Вывод для шаблона "Content" --------------------------- */
.content-category {
  display: flex;
  padding-bottom: 24px;
}
.content-category__wrapper {
  width: 100%;
}
.content-category__wrapper .container-wrapper {
  padding-right: 0;
}
@media (max-width: 992px) {
  .content-category {
    flex-direction: column;
  }
  .content-category__wrapper .container-wrapper {
    padding-left: 0;
  }
}

/* Вывод в категории "Новые поступления" ------------------ */
#k2Container.infoblock-list {
  margin-bottom: 8px;
}
.book-category {
  display: flex;
  padding-bottom: 24px;
}
.book-category__wrapper {
  width: 100%;
}
.book-category__wrapper .container-wrapper {
  padding-right: 0;
}
@media (max-width: 992px) {
  .book-category {
    flex-direction: column;
  }
  .left-inner-sidebar {
    order: 2;
  }
  .menu-sidebar {
    width: 100%;
    margin: 0;
  }
  .book-category__wrapper .container-wrapper {
    padding-left: 0;
  }
}
/* Фильтр "Новые поступления" */
.book-filter {
  border-radius: 8px;
  background: var(--main--1);
  margin-bottom: 32px;
}
/* -- Поиск */
#k2ModuleBox536 {
  padding: 16px;
  margin-top: 16px;
}
.book-filter .button-search {
  display: none;
}
.book-filter .k2SearchBlock .k2SearchBlockForm {
  display: block;
}
.book-filter .k2SearchBlock form input.inputbox,
.genericSearchForm input.k2-input {
  padding: 13px 98px 13px 16px;
  border: 1px solid var(--main--2);
  color: var(--main-1);
  width: 100%;
  height: 48px;
  background: var(--white, #fff);
  border-radius: 4px;
}

.book-filter .k2SearchBlock form input.button {
  border-radius: 4px;
  background: var(--main-0);
  color: var(--white, #fff);
  padding: 16px;
  top: 1px;
}
@media (max-width: 768px) {
  .book-filter .k2SearchBlock .k2SearchBlockForm {
    position: relative;
  }
  .book-filter {
    margin-bottom: 16px;
  }
}
/* -- Другие поля фильтра */
#K2FilterBox535 {
  margin: 0 16px;
}
#K2FilterBox535 .k2filter-table {
  position: relative;
}
.K2FilterBlock .inputbox,
.K2FilterBlock .selectize-control.single .selectize-input {
  height: 48px !important;
  background: var(--white, #fff);
  border: 1px solid var(--main--1);
  display: inline-block !important;
}
.K2FilterBlock .k2filter-table input {
  font-family: "Open Sans", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.085px;
  color: var(--main-1);
}
.selectize-input > input {
  height: 100% !important;
}
.K2FilterBlock .selectize-control.single .selectize-input:after {
  content: url(../images/icons/expand-arrow.svg);
  border: none;
  right: 12px;
  top: 16px;
  transition: all 0.4s ease;
  width: 24px;
  height: 24px;
}
.K2FilterBlock .selectize-control.single .selectize-input.input-active:after {
  transform: rotateX(180deg);
}
#K2FilterBox535 .k2filter-cell {
  padding: 0;
}
#K2FilterBox535 .k2filter-cell0,
#K2FilterBox535 .k2filter-cell1 {
  width: 50% !important;
  padding-right: 8px;
}
#K2FilterBox535 .k2filter-cell0 {
  float: inline-end;
  padding-right: 0;
  padding-left: 8px;
}
#K2FilterBox535 .k2filter-cell1 {
  position: absolute;
  top: 0;
  left: 0;
}
#K2FilterBox535 .k2filter-cell2 {
  width: 100% !important;
  padding: 24px 0;
}
#K2FilterBox535.K2FilterBlock .selectize-input,
#K2FilterBox535.K2FilterBlock input.inputbox {
  padding: 8px 52px 8px 12px !important;
}
#K2FilterBox535 .k2filter-cell2 h3 {
  display: none;
}
.k2filter-field-title-az {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.k2filter-field-title-az a:first-child {
  display: none;
}
#K2FilterBox535 .k2filter-cell2 a {
  color: var(--main-1);
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: 0.013px;
  padding: 16px 8px;
}
#K2FilterBox535 .buttons {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 16px;
}
#K2FilterBox535 .primary {
  order: 2;
}
#K2FilterBox535 input.button {
  margin: 0;
}
#K2FilterBox535 .buttons span {
  position: relative;
  transition: all 0.4s ease-in-out;
}
#K2FilterBox535 .buttons .primary-button {
  padding-top: 12px;
  padding-bottom: 12px;
  display: flex;
  padding-left: 40px;
}
#K2FilterBox535 .buttons span.thirdy svg path{
  fill: var(--accent-1);
}
span.primary {
  display: flex;
  align-items: center;
}
.primary svg {
  position: absolute;
  top: 12px;
  left: 16px;
  z-index: 7;
  transition: all 0.4s ease-in-out;
}
.primary svg path {
  transition: all 0.4s ease-in-out;
}
.primary:hover svg path {
  fill: #0F1A1F;
}

#K2FilterBox535 .buttons .thirdy-button {
  padding: 12px 8px 12px 32px;
  position: relative;
  top: 1px;
}
.thirdy svg {
  position: absolute;
  top: 11px;
  left: 8px;
  z-index: 7;
}
/* Карточки "Новые поступления" */
.infoblock-list #itemListLeading {
  display: grid;
  grid-gap: 16px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 8px;
}
@media (max-width: 992px) {
  .infoblock-list #itemListLeading {
    gap: 16px;
  }
}
@media (max-width: 768px) {
  .infoblock-list #itemListLeading {
    grid-template-columns: 1fr;
  }
  #K2FilterBox535 .k2filter-cell2 a {
    padding: 16px;
  }
}
/* Внутренняя страница "Новые поступления" */
.books-block span.itemImage,
.books-block span.itemImage a {
  min-width: 184px;
  max-width: 184px;
  min-height: 257px !important;
}

/* Страница "Структура" --------------------- */
.structure h5 {
  text-align: center;
}
@media (max-width: 768px) {
  .structure h5 {
    text-align: left;
  }
}

/* Страница "Контакты" ------------------  */
.page-contacts {
  display: flex;
  justify-content: center;
  gap: 86px;
}
@media (max-width: 1180px) {
  .page-contacts {
    gap: 48px;
  }
  .page-contacts__item iframe {
    width: 400px;
    height: 220px;
  }
}
@media (max-width: 768px) {
  .page-contacts {
    gap: 24px;
    flex-direction: column;
  }
  .page-contacts__item iframe {
    width: 100%;
  }
}

/* Онлайн-заявка в библиотеку */
#fox-container-m542 {
  border-radius: 6px;
  padding: 16px;
  margin-top: 8px;
  background: linear-gradient(180deg, #e8d2c5 0%, #cba895 100%);
}
#fox-container-m542 .fox-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}
div#fox-container-m542 form .fox-row,
div#fox-container-m542 .controls,
div#fox-container-m542 .fox-form input[type="text"],
div#fox-container-m542 .fox-form input[type="email"] {
  width: 100% !important;
}
div#fox-container-m542 input[type="text"],
div#fox-container-m542 input[type="email"] {
  padding: 16px 12px 16px 16px !important;
  height: 48px;
  color: var(--main-1) !important;
  border: 1px solid var(--main--1) !important;
  background: rgba(255, 255, 255, 0.8) !important;
}
#fox-container-m542 .fox-form .fox-row:nth-child(2) .fox-column {
  display: flex;
  gap: 16px;
}
#fox-container-m542 .fox-item {
  position: relative;
}
#fox-container-m542 .fox-item h5 {
  color: var(--main-3);
  font-size: 31px;
  line-height: 40px;
  font-weight: 400;
  letter-spacing: 0.078px;
}
#fox-container-m542 .fox-column .control-group:nth-child(3) .controls {
  height: auto;
  padding: 0;
}
#fox-container-m542 .fox-item .control-label {
  position: absolute;
  top: 50px;
  left: 16px;
  color: var(--main-1);
  font-size: 12px;
  line-height: 14px;
  letter-spacing: 0.048px;
}
#fox-container-m542 .fox-item .control-label .required {
  opacity: 0;
}
#fox-container-m542 #fox-m542-captcha-box {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#fox-container-m542 #fox-m542-captcha-box .control-label {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  color: var(--main-3);
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 0.023px;
  text-align: center;
  border-top: 1px solid var(--main--2);
  padding: 24px 0 10px;
  margin-top: 8px;
}
#fox-container-m542 #fox-m542-captcha-box .controls {
  width: fit-content !important;
  margin: 0 auto;
}
div#fox-container-m542 .btn {
  display: inline-block;
  font-size: 15px;
  font-weight: 700;
  line-height: 15px;
  letter-spacing: 0.175px;
  text-align: center;
  text-shadow: none;
  border: none;
  background: var(--brown-500, #9a6b56);
  padding: 10px 24px;
  margin: 0;
  border-radius: 4px;
  text-transform: uppercase;
  transition: opacity 0.4s ease-in-out;
}
div#fox-container-m542 .btn:hover {
  opacity: 0.8;
}
div#fox-container-m542 .btn span {
  color: #fff !important;
}
#fox-m542-submit-box .controls {
  text-align: center;
}
div#fox-container-m542 #fox-m542-submit-box.control-group {
  margin-bottom: 0;
}
div#fox-container-m542 .fox-item-html p:last-child {
  margin-bottom: 8px;
}
@media (max-width: 768px) {
  #fox-container-m542 {
    margin-bottom: 24px;
  }
  #fox-container-m542 .fox-form .fox-row:nth-child(2) .fox-column {
    flex-direction: column;
  }
}

/* Кнопка */
#k2Container .btn-appeal {
  width: fit-content;
  border-radius: 4px;
  background: var(--white, #fff);
  border: 2px solid var(--green-50, #f2f7f4);
  padding: 9px 24px;
  font-size: 15px;
  font-weight: 700;
  line-height: 15px;
  letter-spacing: 0.175px;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--accent-1);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 auto;
  transition: border 0.4s ease-in-out;
}
#k2Container .btn-appeal:hover {
  border: 2px solid var(--brown-500, #9a6b56);
  text-decoration: none;
}

/* Стилизация блоков "Спойлеры" ------------------------------- */
.link {
  background: var(--main--3);
  margin: 12px 0 24px;
  border: 1px solid var(--main-0);
  border-radius: 6px;
  clear: both;
}
.link .spojler {
  color: var(--main-3);
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 0.027px;
  position: relative;
  padding: 12px 16px;
  margin-bottom: 0;
  margin-top: 0;
  padding-right: 44px;
  transition: all 0.5s ease;
}
.link .spojler p {
  margin: 0;
  width: calc(100% - 60px);
}
.spojler::after {
  content: url(../images/icons/expand-arrow.svg);
  position: absolute;
  right: 16px;
  bottom: 12px;
  width: 24px;
  height: 24px;
  transition: all 0.5s ease;
}
.link .spojler.active {
  border-radius: 6px;
}
.spojler.active::after {
  transform: rotateX(180deg);
}
.spojler.active,
.spojler:hover {
  cursor: pointer;
}
.link:first-child .visible_text {
  margin-top: 16px;
}
.visible_text {
  padding: 0;
  display: flex;
  align-items: center;
  margin: 24px 0;
  position: relative;
}
.visible_text > p:first-child {
  display: inline-block;
  min-width: 208px;
  max-width: 208px;
  height: 208px;
  margin: 0 32px 0 0;
}
.visible-text__block p:nth-child(2) {
  margin: 0;
}
.visible_text > p:first-child > img {
  object-fit: cover;
  width: 100%;
  height: 100% !important;
  border-radius: 3px;
}
.visible_text h3 {
  color: var(--main-1);
  font-size: 17px;
  line-height: 20px;
  letter-spacing: 0.026px;
  margin-bottom: 8px;
}
.visible_text h6 {
  color: var(--main-1);
  font-size: 15px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: 0.015px;
  margin-top: 24px;
}
.visible_text h6.visible-text__title {
  margin-bottom: 0px;
}
.hide_text {
  display: none;
  padding: 0 16px 16px;
  width: 100%;
  background-color: white;
}
.hide_text h3 {
  margin-top: 5px;
}
.hide_text p > img {
  margin: 16px;
  margin-left: 0;
}
.hide_text > p:first-child {
  margin-top: 0;
}
.hide_text p > span {
  color: var(--main-3);
  display: inline-block;
  margin-right: 4px;
}
.link .hide_text ul:not(.dates-list) li:before {
  content: "";
  position: static;
}
.link .hide_text p:last-child {
  margin-bottom: 0;
}
/* .link .hide_text ul:not(.dates-list) li {
  list-style-type: disc;
  padding: 0;
  margin: 0;
  margin-left: 28px;
} */
@media (max-width: 768px) {
  .visible_text > p:first-child {
    min-width: 80px;
    max-width: 80px;
    height: 80px;
    position: absolute;
    right: 0;
    top: 0;
    margin-right: 0;
    margin-left: 16px;
  }
  .visible-text__block {
    width: calc(100% - 96px);
  }
}
/* Спойлер "Электронные обращения" */
.link.important .spojler {
  border-radius: 6px;
  padding: 16px;
  font-family: "Open Sans", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.085px;
}
.link.important .spojler > p:first-child {
  margin-bottom: 12px;
}
.link.important .spojler > p:nth-child(2) {
  max-width: 789px;
}
.link.important .spojler.active > p:nth-child(2) {
  max-width: 100%;
}
.link.important .spojler .button {
  position: absolute;
  right: 8px;
  top: 12px;
  padding: 10px 8px;
}
.link.important .spojler .hide,
.link.important .spojler.active .show {
  display: none;
}
.link.important .spojler.active .hide {
  display: block;
}
.link.important .spojler::after {
  content: "";
}
.link.important .hide_text {
  background: var(--green-50, #f2f7f4);
  padding-bottom: 16px;
  border-radius: 0 0 6px 6px;
}
.link.important .hide_text--inner {
  background-color: var(--white, #fff);
  border-radius: 6px;
  padding: 6px 16px;
}
@media (max-width: 992px) {
  .link.important {
    margin-bottom: 24px;
  }
}
@media (max-width: 400px) {
  .link.important .spojler .button {
    bottom: 8px;
    top: auto;
  }
  .link.important .spojler > p:nth-child(2) {
    width: 100%;
    padding-bottom: 40px;
  }
}

/* Карта сайта ------------------------------------------ */
.osmap-items.itemFullText {
  padding-left: 16px;
  padding-right: 16px;
  margin: auto;
  max-width: 1200px;
  margin-bottom: 16px;
}
.osmap-items.itemFullText ul {
  padding-left: 0;
}
.osmap-sitemap .itemListCategory2 h2 {
  font-size: 36px;
  line-height: 50px;
  letter-spacing: 0.09px;
}
.osmap-items ul {
  margin: 0;
}
.osmap-items ul li {
  list-style-type: none;
  position: relative;
  margin: 10px 0;
  padding-left: 28px;
}
.osmap-items ul li a {
  text-decoration: none;
}
.osmap-items ul li:before {
  content: url("/templates/klich_bibl_1.0/images/icons/mark.svg");
  position: absolute;
  left: 0;
  top: -2px;
}
@media (max-width: 768px) {
  .osmap-sitemap .itemListCategory2 h2 {
    font-size: 23px;
    line-height: 28px;
  }
  .header-titles{
    align-items: flex-end;
  }
}

/* Системные сообщения */
#system-message .close {
  display: none;
}
/* заыбли Логин, Пароль  т.п. */
.form-validate {
  margin-top: 16px;
}
.control-group {
  margin-bottom: 16px;
}
.control-group .star {
  color: red;
}
.control-group input {
  width: 100%;
  max-width: 400px;
  height: 48px;
  padding: 16px 12px 16px 16px;
  margin-top: 8px;
  border-radius: 4px;
  border: 1px solid var(--brown-100, #f0e1d8);
}
.control-group input:focus-visible {
  outline: none;
  border: 1px solid var(--brown-500, #9a6b56);
}
.control-group:nth-child(3) {
  position: relative;
}
.control-group:nth-child(3) .control-label {
  position: absolute;
  top: 6px;
  left: 40px;
}
.control-group:nth-child(3) .control-label:has(.hasPopover) {
  position: static;
  margin-bottom: 8px;
}
.control-group:nth-child(3) .controls:has(.g-recaptcha) {
  padding: 0;
  height: auto;
  align-items: baseline;
}
.control-group:nth-child(3) .controls {
  display: flex;
  align-items: center;
  padding-left: 4px;
  height: 24px;
  width: 24px;
}
.control-group .btn {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 14px;
  letter-spacing: 0.175px;
  text-align: center;
  padding: 11px 16px 10px;
  color: var(--white, #fff);
  background: var(--brown-500, #9a6b56);
  padding: 12px 16px;
  margin-top: 8px;
  border-radius: 4px;
  text-transform: uppercase;
  transition: all 0.4s ease-in-out;
}
.control-group .btn:hover,
.control-group .btn:focus,
.control-group .btn:active {
  color: var(--brown-900, #5e3727);
  background: var(--brown-200, #cba895);
  box-shadow: 0px 0px 1px 1px rgba(205, 127, 50, 0.75),
    4px 4px 16px 0px rgba(51, 43, 36, 0.15),
    1px 1px 2px 0px rgba(51, 43, 36, 0.3);
  text-decoration: none;
  transition: all 0.4s ease-in-out;
}
.nav.nav-tabs.nav-stacked {
  display: flex;
  position: relative;
  left: -8px;
  margin: 16px 0 70px;
}
.btn-group .btn {
  position: relative;
  left: -8px;
}
.nav.nav-tabs.nav-stacked a,
.btn-group .btn,
.button.validate {
  color: var(--brown-700, #7a4e3c);
  font-size: 14px;
  font-weight: 700;
  line-height: 14px;
  letter-spacing: 0.175px;
  text-align: center;
  padding: 10px 8px;
  border-radius: 4px;
  text-transform: uppercase;
}
.nav.nav-tabs.nav-stacked a:hover,
.nav.nav-tabs.nav-stacked a:focus,
.nav.nav-tabs.nav-stacked a:active,
.btn-group .btn:hover,
.btn-group .btn:focus,
.btn-group .btn:active,
.button.validate:hover,
.button.validate:focus,
.button.validate:active {
  color: var(--brown-900, #5e3727);
  background: var(--brown-200, #cba895);
  text-decoration: none;
  transition: all 0.4s ease-in-out;
}
.nav.nav-tabs.nav-stacked li:nth-child(3) a {
  color: #4c4239;
  text-align: center;
  font-family: "PT Serif", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.026px;
  text-transform: initial;
  position: absolute;
  top: 32px;
  left: 0px;
}
.nav.nav-tabs.nav-stacked li:nth-child(3) a:hover {
  color: var(--brown-900, #5e3727);
  background: var(--white, #fff);
}
/* Профиль */
.profile {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 16px 0 32px;
}
#users-profile-core legend,
.form-validate .componentheading {
  color: var(--brown-900, #5e3727);
  font-size: 17px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.026px;
  margin-bottom: 8px;
}
.dl-horizontal {
  display: grid;
  grid-template-columns: 300px 200px;
}
.dl-horizontal dt {
  margin: 4px 0;
}
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf {
  display: none !important;
}
.skiptranslate {display: none !important;} 
 body > .skiptranslate > iframe,
 body > .skiptranslate .skiptranslate,
 body > .skiptranslate .skiptranslate body{
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  position: absolute;
  left: -99999px;
  width: 0px !important;
  height: 0px !important;
}
body { top: 0px !important;
  position: static !important;
  min-height: 100vh;
  margin: 0;
  padding: 0;}

#google_translate_element{width:300px;float:right;text-align:right;display:block}
.goog-te-banner-frame.skiptranslate { display: none !important;} 
body { top: 0px !important; }
#goog-gt-tt{display: none !important; top: 0px !important; } 
.goog-tooltip .skiptranslate{display: none !important; top: 0px !important; } 
.activity-root { display: hide !important;} 
.status-message { display: hide !important;}
.started-activity-container { display: hide !important;}


/* Модальное окно */
.modal-overlay {
    position: fixed !important;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 100;
}

.modal-overlay.is-active {
    opacity: 1;
    pointer-events: auto;
}
.modal{
  display: flex;
  max-width: 888px;
  width: calc(100% - 16px);
  max-height: 698px;
  height: fit-content;
  padding: 16px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 24px;
  border: 1px solid #B18F25;
  background: var(--main--3);
  box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.10), 
  1px 1px 2px 0 rgba(0, 0, 0, 0.25);
  position: relative;
  z-index: 101;
  top: 72px;
}
.modal > *{
position: relative;
  z-index: 101;
}
.modal__phone-text{
  display: flex;
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 14px;

}
.modal__body{
  display: flex;
  flex-direction: column;
  gap: 14px;
}
section.directory{
  margin-top: 0  !important;
   margin-bottom: 0  !important;
  background-color: var(--main--3) !important;
}