/* -- Обнуление стилей -- */
*,
::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;
}
td {
    border: 1px solid #999999;
    padding: 4px 8px;
}
video::-webkit-media-controls-fullscreen-button {
  display: none;
}
button,
input,
optgroup,
select,
fieldset,
textarea {
  margin: 0;
  border: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  background-color: transparent;
}
::-webkit-scrollbar {
  width: 0;
  height: 0;
}

/* ---- Общие стили --- */
html body {
  color: #1b1b1b;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 0.08px;
  color: #1b1b1b;
  position: relative;
  background: #d8c9c1;
  height: 100vh;
  height: 100dvh;
  height: 100%;
  position: fixed;
  width: 100%;
}
.container {
  padding: 0 16px;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  max-width: 1920px;
  position: relative;
}
/* Кнопка поиска */
.container > .button {
  position: absolute !important;
  right: 24px;
  bottom: 24px;
  border-radius: 6px;
  padding-right: 16px;
  background-image: linear-gradient(
    45deg,
    rgba(255, 231, 112, 1) 10%,
    rgba(135, 114, 33, 1) 49%,
    rgba(219, 199, 107, 1) 67%,
    rgba(181, 156, 44, 1) 91%
  );
  background-origin: border-box;
  box-shadow: inset 0 100vw #d8c9c1;
  border: 6px solid transparent;
  z-index: 99;
}
body a,
body a:hover {
  color: #1b1b1b;
  text-decoration: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  font-family: "Forum", sans-serif;
  font-weight: 400;
  color: #1b1b1b;
}
body h1 {
  font-size: 122px;
  line-height: 182px;
  letter-spacing: -1.83px;
}
body h2 {
  font-size: 76px;
  line-height: 106px;
  letter-spacing: -0.38px;
}
body h3 {
  font-size: 56px;
  line-height: 72px;
}
body h4 {
  font-size: 43px;
  line-height: 56px;
  letter-spacing: 0.108px;
}
body h5 {
  font-size: 31px;
  line-height: 40px;
}
body h6 {
  font-size: 25px;
  line-height: 32px;
  letter-spacing: 0.038px;
}
body h1.decor,
body h2.decor,
body h3.decor,
body h4.decor,
body h5.decor,
body h6.decor {
  font-family: "Raleway", sans-serif;
}
body h1.decor {
  font-size: 99px;
  line-height: 148px;
  letter-spacing: -1.485px;
}
body h2.decor {
  font-size: 62px;
  line-height: 86px;
  letter-spacing: -0.31px;
}
body h3.decor {
  font-size: 49px;
  font-weight: 500;
  line-height: 68px;
}
body h4.decor {
  font-size: 35px;
  font-weight: 500;
  line-height: 46px;
  letter-spacing: 0.088px;
}
body h5.decor {
  font-size: 25px;
  font-weight: 500;
  line-height: 32px;
}
body h6.decor {
  font-size: 21px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.032px;
}
body p {
  margin: 16px 0;
}
.button {
  display: inline-block;
  font-family: "Raleway", sans-serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.032px;
  text-align: center;
  color: #1b1b1b;
  border-radius: 12px;
  padding: 6px 8px;
  text-decoration: none !important;
}
.primary-button {
  border: 5px solid #ffe770;
  background: #d8c9c1;
  box-shadow: 7px 3px 80px 0px rgba(31, 29, 32, 0.1),
    2px 1px 16px 0px rgba(31, 29, 32, 0.15),
    1px 0px 6px 0px rgba(31, 29, 32, 0.3);
}
.secondary-button {
  border-radius: 38px;
  border: 2px solid #009aeb;
  color: #06c;
  background: rgba(255, 255, 255, 0.5);
}
.thirdy-button {
  color: #06c;
  padding: 8px 10px;
  background: transparent;
}
.primary-button.icon,
.secondary-button.icon,
.thirdy-button.icon {
  padding-left: 48px;
  position: relative;
}
.primary-button.icon svg,
.primary-button.icon img,
.secondary-button.icon svg,
.secondary-button.icon img,
.thirdy-button.icon svg,
.thirdy-button.icon img {
  position: absolute;
  left: 8px;
  top: 9px;
}

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

/* Header --------------- */
.header {
  border-bottom: 1px solid #e3e3e3;
  background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0.8) 100%);
  height: 72px;
  position: relative;
  z-index: 9;
}
.header .container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 32px;
}
.header__block {
  position: absolute;
  right: 16px;
  display: flex;
  gap: 48px;
}
/* Языки */
.header .header__lang {
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: 14px;
  font-weight: 500;
  line-height: 12px;
  letter-spacing: 0.175px;
}
.header .btn-back {
  position: absolute;
  left: 16px;
  padding: 12px;
}
.header + .container {
  display: flex;
  height: calc(100% - 72px);
  padding: 0;
}

/* Menu ---------------- */
.navbar {
  background: #d8c9c1;
}
.nav-menu-wrapper {
  padding: 16px 0 80px 24px;
}
.nav-menu .nav-menu-item:first-child {
  display: none;
}
.nav-menu .nav-menu-item {
  width: 312px;
  height: 296px;
  padding: 16px 0;
  margin-bottom: 8px;
  transition: all 0.4s ease-out;
}
.nav-menu .nav-menu-item a {
  position: relative;
  color: #12151c;
  font-family: "Forum", sans-serif;
  font-size: 43px;
  line-height: 56px;
  letter-spacing: 0.108px;
  width: 312px;
  height: 100%;
  padding: 0 48px 42px 24px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  text-align: center;
}
.infokiosk-one-bel ~ .container .nav-menu .nav-menu-item a {
  padding-left: 48px;
}
.nav-menu .nav-menu-item:nth-child(3) a,
.nav-menu .nav-menu-item:nth-child(4) a {
  padding-bottom: 16px;
}
.nav-menu-wrapper
  > .nav-menu:has(> .nav-menu-item:first-child.current)
  > .nav-menu-item.active.drop-down,
.nav-menu .nav-menu-item.current.drop-down,
.nav-menu .nav-menu-item.aktive.drop-down:has(.current) {
  background-image: url(../images/menu-back.svg);
  transition: all 0.4s ease-out;
}
.nav-menu .nav-menu-item:nth-child(2) a::before {
  content: url(../images/icons/menu/visitor.svg);
  position: absolute;
  top: 42px;
  left: calc(50% - 63px);
}
.nav-menu .nav-menu-item:nth-child(3) a::before {
  content: url(../images/icons/menu/collection.svg);
  position: absolute;
  top: 16px;
  left: calc(50% - 63px);
}
.nav-menu .nav-menu-item:nth-child(4) a::before {
  content: url(../images/icons/menu/map.svg);
  position: absolute;
  top: 16px;
  left: calc(50% - 63px);
}
.drop-down-menu {
  display: none;
}

/* Главная ---------- */
.main,
.main:has(.static .blocks .card) {
  background: url(../images/fon_infokiosk.jpg);
  background-position: center right;
  width: 100%;
  height: 100%;
  padding: 48px;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}
/* если есть видео */
.main:has(.video) {
  padding: 0;
}
/* если карта и библиотека */
.main:has(.static),
.main:has(.pdf) {
  background: url(../images/fon_karta.jpg);
  background-position: center right;
}
.main:has(.pdf) {
  max-width: 1580px;
}
/* если есть поиск */
.main:has(.genericView),
.main:has(.static .k2SearchBlock) {
  background: url(../images/fon_poisk.jpg);
  background-position: center;
}
/* если статичная */
body:has(.infokiosk-one) .main {
  background: #f7e7ca;
  padding: 48px;
  max-height: 1018px;
  position: relative;
}
body:has(.infokiosk-one) .main:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #f7e7ca;
}
body:has(.infokiosk-one) .main .static {
  background: url(../images/fon-inner.svg);
  background-repeat: no-repeat;
  width: 100%;
  height: 920px;
  overflow: hidden;
}
/* Карточки */
.cards {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.cards__wrapper {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.card__wrapper .card:first-child {
  margin-bottom: 48px;
}
.card__text-title {
  width: fit-content;
  border-radius: 4px;
  background: linear-gradient(
    314deg,
    rgba(247, 245, 242, 0.56) 17.69%,
    rgba(247, 245, 242, 0.21) 84.09%
  );
  box-shadow: 6px -6px 6px 0px rgba(173, 161, 154, 0.5) inset,
    12px -12px 12px 0px rgba(255, 255, 255, 0.5) inset,
    -6px 6px 6px 0px rgba(255, 255, 255, 0.5) inset,
    -12px 12px 12px 0px rgba(173, 161, 154, 0.5) inset;
  backdrop-filter: blur(12.5px);
  padding: 48px;
}
.card__text-title h4 {
  background: url(../images/card-back.svg);
  background-repeat: no-repeat;
}
.card__text-title h4 a {
  width: 582px;
  height: 112px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Заголовки */
.itemListCategory2,
.itemHeader {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translate(-50%, 15%);
  display: flex;
  align-items: center;
  gap: 16px;
  z-index: 10;
}
.itemImageBlock img {
  width: 40px !important;
}
h3.newscontainer-itemTitle.contentheading {
  font-size: 43px;
  line-height: 56px;
  letter-spacing: 0.108px;
}

/* Поиск */
.k2SearchBlock {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  margin-top: 15%;
  position: relative;
}
.genericSearchForm .k2-input,
.k2SearchBlock .inputbox {
  padding: 15px 16px;
  padding-right: 115px;
  border-radius: 6px;
  background-color: #fff;
  width: 100%;
}
.genericSearchForm .k2-input:focus-visible,
.k2SearchBlock .inputbox:focus-visible {
  outline: none;
}
.genericSearchForm .k2-submit,
.search-button {
  position: absolute;
  right: 0;
  border-radius: 6px;
  background-image: linear-gradient(
    45deg,
    rgba(255, 231, 112, 1) 10%,
    rgba(135, 114, 33, 1) 49%,
    rgba(219, 199, 107, 1) 67%,
    rgba(181, 156, 44, 1) 91%
  );
  background-origin: border-box;
  box-shadow: inset 0 100vw #dbc76b;
  border: 6px solid transparent;

  color: #12151c;
  padding: 12px 16px;
  font-family: "Open Sans";
  font-size: 14px;
  font-weight: 500;
  line-height: 12px;
  letter-spacing: 0.175px;
  text-transform: uppercase;
}

/* Карта района */
.map__block {
  position: relative;
  margin: 0 auto;
  width: fit-content;
  margin-top: -8px;
  text-align: center;
}
.map__block > img {
  height: 912px;
}
.place {
  border-radius: 4px;
  background: rgba(216, 201, 193, 0.5);
  box-shadow: 2px -2px 2px 0px rgba(173, 161, 154, 0.5) inset,
    4px -4px 4px 0px rgba(255, 255, 255, 0.5) inset,
    -2px 2px 2px 0px rgba(255, 255, 255, 0.5) inset,
    -4px 4px 4px 0px rgba(173, 161, 154, 0.5) inset;
  backdrop-filter: blur(12.5px);
  padding: 18px 32px;
  position: relative;
  font-family: "Raleway", sans-serif;
  font-size: 25px;
  font-weight: 500;
  line-height: 32px;
  position: absolute;
}
.place.icon {
  padding: 23px 32px;
  padding-left: 72px;
}
.place.icon img {
  position: absolute;
  left: 16px;
  top: 18px;
  width: 40px;
}
.newscontainer-itemFullText.itemFullText {
  position: relative;
}
/* Воложинский район */
#losk {
  top: 45px;
  left: 407px;
}
#bogdanovo {
  top: 130px;
  left: -64px;
}
#desyatniki {
  top: 249px;
  left: -64px;
}
#vishnevo {
  top: 260px;
  left: 246px;
}
#volozhin {
  top: 356px;
  left: 589px;
}
#pershai {
  top: 528px;
  left: 675px;
}
#rakov {
  top: 536px;
  right: 86px;
}
#ivenec {
  top: 685px;
  left: 717px;
}
/* Воложин */
#cerkovkonst {
  top: 137px;
  left: 9px;
}
#istoriyavolozhin {
  top: 256px;
  left: 253px;
}
#ieshiva {
  top: 176px;
  left: 545px;
}
#kosteluzefa {
  top: 286px;
  left: 566px;
}
#dvorectyshkevichey {
  top: 380px;
  left: 358px;
}
/* Ивенец */
#kostelalex {
  top: 159px;
  left: 737px;
}
#kostelmax {
  top: 345px;
  left: 428px;
}
#cerkovefro {
  top: 324px;
  right: 157px;
}
#istoriyaivenec {
  top: 430px;
  right: 490px;
}
/* Раков */
#istoriyarakov {
  top: 411px;
  left: 623px;
}
#cerkovpreobr {
  top: 437px;
  right: 163px;
}
#kostelryzhanceva {
  top: 527px;
  right: 351px;
}
/* Вишнево */
#kostelmarii {
  top: 221px;
  left: 228px;
}
#cerkovkosmy {
  top: 322px;
  left: 184px;
}
#znakshimon {
  top: 396px;
  left: 720px;
}
#istoriyavishnevo {
  top: 503px;
  left: 717px;
}

/* Внутренняя статика */
.infokiosk-one ~ .container .blocks {
  padding: 0 132px;
  margin-top: 32px;
  padding-bottom: 24px;
  max-height: 880px !important;
}
.infokiosk-one ~ .container .blocks h5 {
  margin-bottom: 24px;
}
.block {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 16px;
}
/* .blocks .block:last-child, */
.blocks > p:last-child {
  margin-bottom: 24px;
}
.block.right {
  flex-direction: row-reverse;
}
/* Кнопка видео */
.itemIntroText .button {
  position: absolute;
  left: 50%;
  bottom: 30px;
  transform: translate(-50%, 0%);
  z-index: 99;
}
/* -- Скролл */
#k2Container .gm-scrollbar-container .gm-scroll-view {
  width: 100% !important;
}
/* vertical scrollbar track */
#k2Container .gm-scrollbar.-vertical {
  width: 24px;
  border-radius: 4px;
  background-color: #f7e7ca;
  top: 52px;
  bottom: 84px;
  right: 16px;
}
/* scrollbar thumb */
#k2Container .gm-scrollbar.-vertical .thumb {
  width: 100%;
  height: 52px !important;
  border-radius: 6px;
  border: 4px solid transparent;
  background: #dbc76b;
  background-image: linear-gradient(
    60deg,
    #ffe770 13.39%,
    #877221 33.16%,
    #dbc76b 66.84%,
    #b59c2c 86.61%
  );
  background-origin: border-box;
  box-shadow: inset 0 100vw #dbc76b;
}
#k2Container .gm-scrollbar.-vertical .thumb:after {
  content: "";
  position: absolute;
  top: -4px;
  left: -4px;
  width: 24px;
  height: 52px;
  border-radius: 6px;
  box-shadow: 0px 8px 32px 0px rgba(91, 32, 0, 0.1),
    0px 1px 2px 0px rgba(62, 22, 0, 0.3);
}
/*  Видео */
.video {
  position: absolute;
  top: -72px;
  width: 100%;
  z-index: 1;
}
.video__container {
  background: #000;
}
.video__curtain {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 9;
}
.video__curtain img {
  position: absolute;
  top: calc(50% - 52px);
  left: calc(50% - 52px);
  cursor: pointer;
  cursor: pointer;
}

/* библиотеки */
body:has(.main .static__content .itemFullText iframe) .navbar {
  display: none;
}
body:has(.main .static__content .itemFullText iframe) .main {
  padding: 0;
  background: transparent;
}
.static:has(.card__wrapper),
.static__content:has(.card__wrapper),
.part2-item:has(.card__wrapper) {
  height: 100%;
}
.blocks:has(.card__wrapper) {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.pdf__items {
  display: flex;
  gap: 48px;
}
.pdf-item {
  padding: 16px;
  border-radius: 4px;
  background: rgba(216, 201, 193, 0.15);
  box-shadow: 6px -6px 6px 0px rgba(173, 161, 154, 0.5) inset,
    12px -12px 12px 0px rgba(255, 255, 255, 0.5) inset,
    -6px 6px 6px 0px rgba(255, 255, 255, 0.5) inset,
    -12px 12px 12px 0px rgba(173, 161, 154, 0.5) inset;
  backdrop-filter: blur(12.5px);
  width: 512px !important;
  height: 824px !important;
}
.pdf-item .groupLeading {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.pdf__text {
  height: 80px;
}
.pdf__title {
  text-align: center;
}
.pdf__img {
  width: 480px;
  height: calc(100% - 96px);
  display: flex;
  align-items: center;
  overflow: hidden;
}
.pdf__img a {
  display: flex;
  width: 100%;
}
.pdf__img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}
/* Фильтр */
.pdf-filter {
  display: flex;
  gap: 24px;
  margin-bottom: 48px;
  margin-top: -8px;
}
.pdf-filter .k2SearchBlock {
  margin-top: 0;
  width: 50%;
}
.pdf-filter .K2FilterBlock {
  width: 50%;
  border-radius: 4px;
  background: #fff;
}
.pdf-filter .k2filter-cell {
  padding: 0;
  width: 100% !important;
}
.pdf-filter .k2filter-field-select {
  height: 48px;
}
.pdf-filter .k2filter-cell select {
  height: 48px;
  padding: 0 16px;
}
.pdf-filter .k2filter-cell select:focus-visible {
  outline: none;
}
.filter {
  width: 50%;
}
.pdf-search {
  width: 50%;
}

/* Страница поиска */
.genericSearchForm {
  position: relative;
  max-width: 1160px;
  margin: 0 auto;
}
.genericView h1 {
  font-size: 43px;
  line-height: 56px;
  letter-spacing: 0.108px;
  padding: 16px 0;
  text-align: center;
}
.genericItemList {
  display: flex;
  gap: 48px;
}
.genericItemHeader {
  height: 80px;
}
.genericItemTitle {
  font-size: 31px;
  line-height: 40px;
  text-align: center;
}
.genericItemTitle a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.genericItemView {
  padding: 16px;
  border-radius: 4px;
  background: rgba(216, 201, 193, 0.15);
  box-shadow: 6px -6px 6px 0px rgba(173, 161, 154, 0.5) inset,
    12px -12px 12px 0px rgba(255, 255, 255, 0.5) inset,
    -6px 6px 6px 0px rgba(255, 255, 255, 0.5) inset,
    -12px 12px 12px 0px rgba(173, 161, 154, 0.5) inset;
  backdrop-filter: blur(12.5px);
  width: 512px !important;
  height: 824px !important;

  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.genericItemBody {
  width: 480px;
  height: calc(100% - 96px);
  display: flex;
  align-items: center;
  overflow: hidden;
}
.genericItemImageBlock {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
}
.genericItemImage {
  width: 100%;
}
.genericItemImageBlock a {
  display: flex;
  width: 100%;
}
.genericItemImageBlock img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}
.genericItemIntroText {
  display: none;
}
