* {
  margin: 0;
  padding: 0;
}

html {
  height: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
    display: block;
}

body {
    height: 100%;
    font-family: "Montserrat", "Arial", sans-serif;
    font-style: normal;
}

.wrapper {
    min-width: 300px;
    max-width: 100%;
    min-height: 100%;
    height: auto;
    margin: 0 auto;
    overflow: hidden;
}

.container {
    max-width: 1380px;
    padding: 0 70px;
    margin: 0 auto;
    box-sizing: border-box;
}

.top {
    width: 100%;
    position: absolute;
    height: 140px;
    padding: 20px 0;
    top: 0;
    z-index: 2;
}

.top .container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    gap: 20px;
}

.home .header-page {
    display: none;
}

.header-page .top {
    position: relative;
    background: #222222;
    height: 56px;
    padding: 6px 0;
    box-sizing: border-box;
    z-index:12;
}

.header-page .top .container {
    grid-template-columns: repeat(3, auto);
}

.header-page .top .version-spec {
    text-align: left;
}

.header-page .top .version-spec div {
    font-size: 16px;
    background: none;
    padding: 0;
    color: #ffffff;
}

.header-page .top .current-news {
    position: relative;
    left: 0;
    top: 0;
    padding: 0;
    transform: none;
    width: auto;
    text-align: center;
}

.header-page .top .current-news {
    width: auto;
    font-size: 16px;
    background: #909090;
    border-radius: 30px;
    overflow: hidden;
}

.header-page .top .current-news form {
    display: flex;
    flex-direction: row;
}

.header-page .top .current-news button {
    width: 50px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    outline: none;
    appearance: none;
    border: none;
    background: none;
    cursor: pointer;
}

.header-page .top .current-news button:hover svg {
    transform: scale(1.1);
}

.header-page .top .current-news input {
    font-family: "Montserrat", "Arial", sans-serif;
    display: inline-block;
    width: 100%;
    height: 44px;
    font-weight: 600;
    font-size: 16px;
    text-align: center;
    line-height: 1.5;
    border: none;
    color: #000000;
    appearance: none;
    outline: none;
    background: none;
}

.header-page .top .current-news input::placeholder {
    color: #000000;
    font-family: "Montserrat", "Arial", sans-serif;
    transition: all 0.5 ease-in-out;
    opacity: 1;
}

.header-page .top .current-news input:hover::placeholder,
.header-page .top .current-news input:focus::placeholder {
    opacity: 0;
}

.header-page .top .social ul {
    justify-content: end;
}

.social ul svg {
    color: #909090;
}

.version-spec {
  text-align: center;
}

.version-spec div {
  display: inline-block;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.5;
  background: #ffffff;
  padding: 12px 16px;
  border-radius: 30px;
  color: #000000;
  text-decoration: none;
  will-change: transform;
  transition: all 0.3s ease-out;
  cursor: pointer;
}

.version-spec div svg {
  vertical-align: middle;
  margin-right: 12px;
}

.version-spec div:hover {
  transform: scale(1.1);
}

.logo {
  text-align: right;
}

.logo img {
  max-height: 140px;
  width: auto;
}

.intro {
  position: relative;
  height: 100vh;
  min-height: 700px;
  overflow: hidden;
}

.fb-info {
    position: absolute;
    width: 50px;
    height: 50px;
    bottom: 30px;
    right: 70px;
    background: #ffffff;
    border-radius: 50%;
    cursor: pointer;
    z-index: 100;
    pointer-events: all;
}

@media (min-width: 769px) {
    .fb-info:hover .fb-info-content {
        display: flex;
    }
}

.fb-info img {
    width: 100%;
    opacity: 0.4;
}

.fb-info span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 40px;
    font-weight: 700;
}

.fb-info-content {
    display: none;
    position: absolute;
    bottom: 40px;
    right: 40px;
    width: 400px;
    height: auto;
    background: #ffffff;
    font-size: 14px;
    padding: 10px;
    border-radius: 16px;
    flex-direction: column;
    gap: 6px;
}

.fb-info.active .fb-info-content {
    display: flex;
}

@media (max-width: 768px) {
    .fb-info-content {
        width: 300px;
        right: 20px;
        bottom: 60px;
    }
}

.intro-layers {
  position: absolute;
  width: 100%;
  height: 100%;
  min-height: 700px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

/* Анимация движения */
@keyframes bounce-smooth {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0);
  }
}

.circle-item-1 {
  position: absolute;
  background: #8FBB4A;
  width: 156px;
  height: 156px;
  border-radius: 50%;
  box-shadow: 5px 8px 4px 0px #00000040 inset;
  top: 30px;
  left: 260px;
  z-index: 2;
  transform: translateY(0);
  animation: bounce-smooth 4s infinite ease-in-out;
}

.circle-item-2 {
  position: absolute;
  background: #7151A4F5;
  width: 225px;
  height: 225px;
  top: 64px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px;
  box-sizing: border-box;
  box-shadow: 13px 4px 4px 0px #00000040;
  z-index: 1;
  font-weight: 700;
  font-size: 28px;
  line-height: 1;
  text-align: center;
  color: #ffffff;
  animation: bounce-smooth 6s infinite ease-in-out;
}

.circle-item-2 span {
  display: inline-block;
  font-size: 64px;
}

.circle-item-3 {
  position: absolute;
  background: #FE8856C2;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  top: 240px;
  left: 270px;
  animation: bounce-smooth 8s infinite ease-in-out;
}

.circle-item-4 {
  position: absolute;
  background: #368F00A3;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  top: 420px;
  left: 100px;
  animation: bounce-smooth 10s infinite ease-in-out;
}

.circle-item-5 {
  position: absolute;
  background: #FE8856;
  width: 230px;
  height: 230px;
  border-radius: 50%;
  left: 0;
  bottom: -115px;
  animation: bounce-smooth 6s infinite ease-in-out;
}

@keyframes bounce {
   0% {
      transform: translateY(0);
   }
   50% {
      transform: translateY(-50px);
   }
   100% {
      transform: scale(1.05, 0.95) translateY(0);
   }
}

.circle-item-6 {
    position: absolute;
    background: none;
    width: 80px;
    height: 80px;
    /*animation: bounce 2s cubic-bezier(0.30, 2.40, 0.85, 2.50) infinite;*/
    z-index: 50;
}

.circle-item-6 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.current-news {
    position: absolute;
    display: inline-block;
    z-index: 1;
    left: 50%;
    top: 50%;
    padding: 0 20px;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 640px;
    box-sizing: border-box;
}

.current-news .search {
    display: inline-block;
    box-sizing: border-box;
    width: 100%;
    background: #ffffff;
    padding: 12px 16px;
    border-radius: 20px;
    color: #000000;
    text-decoration: none;
    will-change: transform;
    transition: all 0.3s ease-out;
}

.current-news .search form {
    display: flex;
    flex-direction: row;
}

.current-news .search button {
    width: 50px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    outline: none;
    appearance: none;
    border: none;
    background: none;
    cursor: pointer;
}

.current-news .search button:hover svg {
    transform: scale(1.1);
}

.current-news .search input {
    display: inline-block;
    width: 100%;
    font-weight: 600;
    font-size: 22px;
    text-align: center;
    line-height: 1.5;
    border: none;
    color: #000000;
    appearance: none;
    outline: none;
}

.current-news .search input::placeholder {
    color: #000000;
    font-family: "Montserrat", "Arial", sans-serif;
    transition: all 0.5 ease-in-out;
    opacity: 1;
}

.current-news .search input:hover::placeholder,
.current-news .search input:focus::placeholder {
    opacity: 0;
}

.dropdown-list {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    width: calc(100% - 80px);
    margin: 0 40px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    z-index: 10;
    height: 200px;
    overflow: auto;
    text-align: left;
    border-radius: 0  0 5px 5px;
}

.dropdown-list::-webkit-scrollbar {
    width: 5px;
}

.dropdown-list::-webkit-scrollbar-track {
    background: #eeeeee;
}

.dropdown-list::-webkit-scrollbar-thumb {
    background-color: #000000;
    border-radius: 5px;
}

.dropdown-list li {
    margin: 0;
}

.dropdown-list li a {
    display: block;
    padding: 8px 12px;
    color: #333;
    text-decoration: none;
    text-align: left;
}

.dropdown-list li a:hover {
    background-color: #f5f5f5;
}

.current-news:hover .dropdown-list {
    display: block;
}

.intro-image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.intro-image:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background: #00000080;
  top: 0;
  left: 0;
}

.intro-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.menu-mobile {
    display: none;
}

.menu {
    display: block;
    position: relative;
    width: 100%;
    max-width: 1380px;
    margin: 0 auto;
    padding: 34px 70px;
    box-sizing: border-box;
}

.checkbox-toggle {
    display: none;
}

.nav {
  max-width: 1380px;
  margin: 0 auto;
  box-sizing: border-box;
}

.nav div {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 10px 30px;
}

.nav .gerb {
    display: block;
    width: 50px;
    grid-row: 2 span;
}

.nav ul .gerb {
    display: none;
}

.nav .gerb img {
    width: 100%;
}

.nav ul li.gerb img {
    width: 40px;
}

.nav ul {
  list-style: none;
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
}

.nav ul li a {
  font-weight: 600;
  font-size: 16px;
  line-height: 100%;
  color: #000000;
  text-decoration: none;
}

.nav ul li a img {
  width: 40px;
}

.nav ul li.active a {
    color: #FF5722;
}

.nav ul li:hover a {
    color: #FF5722;
}

.main {
  padding: 0 0 256px;
}

.news-container {
  position: relative;
  margin-bottom: 50px;
}

.news-container-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}

.news-container-bg-item-01 {
  grid-column: span 2;
  background: #8FBB4A;
}

.news-container-bg-item-02 {
  grid-column: span 4;
  background: #FE8856;
}

.news-container-bg-item-03 {
  grid-column: span 5;
}

.news-container-bg-item-04 {
  grid-column: span 1;
  background: #BC77F0;
}

.news-list-group {
  display: grid;
  grid-template-columns: 3fr 2fr 3fr;
  gap: 20px;
}

.news-list-group.container {
    max-width: 1580px;
}

.news-list {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.territorial-divisions-page .news-list {
  grid-template-columns: repeat(2, 1fr);
}

.news-item {
  position: relative;
  aspect-ratio: 1 / 1;
}

.news-list.right .news-item {
  aspect-ratio: auto;
}

.news-item.violet {
  background: #7151A4E5;
}

.news-item.green .news-info {
  background: #8FBB4A;
}

.news-item.violet .news-info-title,
.news-item.green .news-info-title {
  color: #ffffff;
}

.news-image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  overflow: hidden;
}

.news-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease-in-out;
}

.news-item:hover .news-image img,
.news-item-static:hover .news-image img {
  transform: scale(1.1);
}

/* News all */

.news-all {
    margin-bottom: 70px;
}

.news-list-wrapper .news-list {
    grid-template-columns: repeat(3, 1fr);
}

.svoi-news-container {
  background: #EDF2F7D9;
  padding-bottom: 65px;
  margin-bottom: 50px;
}

.svoi-news-container-bg {
  width: 100%;
}

.svoi-news-container-bg-item-white {
  height: 130px;
  background: #ffffff;
  border-top: 4px solid #34417E;
  border-bottom: 4px solid #34417E;
  box-sizing: border-box;
}

.svoi-news-container-bg-item-blue {
  height: 130px;
  background: #5767B6;
  position: relative;
  left: -33.3%;
  top: -20px;
  box-sizing: border-box;
}

.svoi-news-container-bg-item-red {
  height: 130px;
  background: #EA4B41;
  position: relative;
  left: calc(-66.6% + 10px);
  top: -40px;
  box-sizing: border-box;
}

.svoi-news-container .container {
  position: relative;
  margin-top: -211px;
  z-index: 1;
  overflow: hidden;
}

.svoi-news-container .slider-controls {
  justify-content: end;
  gap: 10px;
  right: 40px;
  bottom: 40px;
  pointer-events: none;
}

.svoi-news-list .news-info {
  padding: 40px;
}

.svoi-news-container .slider-controls button {
  border: 2px solid #ffffff47;
  pointer-events: auto;
}

.svoi-news-container .slider-controls button svg path {
  stroke: #ffffff;
}

.svoi-news-container .slider-controls button:hover svg path {
  stroke: #000000;
}

.svoi-news-title {
  font-weight: 600;
  font-size: 36px;
  line-height: 1;
  text-align: right;
  margin-bottom: 45px;
}

.svoi-news-page {
    margin-bottom: 40px;
}

.svoi-news-page .news-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 40px;
}

.creativity-title-wrapper {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 50px;
}

.svoi-news-list-container {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: end;
  gap: 20px;
}

.news-item-static .news-info,
.news-item-static-svo .news-info {
  padding: 20px;
}

.news-item-static,
.news-item-static-svo {
    position: relative;
    aspect-ratio: 380 / 250;
    width: 100%;
    grid-column: span 1;
}

.svoi-news-page .news-item-static-svo {
    aspect-ratio: 1 / 1;
}

.news-item-static-svo a {
    position: relative;
    text-decoration: none;
    display: inline-block;
    width: 100%;
    height: 100%;
}

.news-item-static-svo .news-info-title {
    position: absolute;
    margin: 30px;
    bottom: 0;
    left: 0;
    font-size: 28px;
    line-height: 1.35;
}

.news-item-static-svo .news-info-title span {
	display: inline;
	background-color: #FFFFFF;
	padding: 5px 10px;
	color: #2a4b98;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;   
}

.svoi-news-list {
  width: 100%;
  grid-column: span 2;
}

.svoi-news-list .news-item {
  aspect-ratio: 840 / 392;
}

.news-item a,
.news-item-static a {
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

.news-label {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
  padding: 30px 30px 0;
  box-sizing: border-box;
  text-transform: uppercase;
}

.news-label span {
  display: inline-block;
  border-radius: 2px;
  font-weight: 600;
  font-size: 11px;
  line-height: 1;
  padding: 3px 5px;
  background: #ffffff;
  color: #000000;
}

.article-content-label span.orange,
.news-label span.orange {
  background: #FE8856;
  color: #ffffff;
}

.article-content-label span.red,
.news-label span.red {
  background: #EC6158;
  color: #ffffff;
}

.article-content-label span.blue,
.news-label span.blue {
  background: #2196F3;
  color: #ffffff;
}

.article-content-label span.green,
.news-label span.green {
  background: #4CAF50;
  color: #ffffff;
}

.article-content-label span.yellow,
.news-label span.yellow {
    background: #ffe500;
    color: #000000;
}

.article-content-label span.brown,
.news-label span.brown {
  background: #795548;
  color: #ffffff;
}

.news-info {
  width: 100%;
  padding: 30px;
  background: linear-gradient(180deg, rgba(34, 34, 34, 0) 0%, #222222 100%);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.news-info-wrapper {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-end;
    background: linear-gradient(180deg, rgba(34, 34, 34, 0) 0%, #222222 100%);
    z-index: 2;
}

.svoi-news-list .news-info .news-info-title,
.svoi-news-list .news-info .news-info-text {
    max-width: 380px;
    margin-right: 220px;
}

.news-info-title {
    font-weight: 600;
    font-size: 14px;
    line-height: 1;
    color: #ffffff;
    text-decoration: none;
}

.news-info-text {
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    color: #ffffff;
    text-decoration: none;
}

.news-info-date {
   color: #ffffff;
   font-size: 10px;
}

.more {
    display: inline-block;
    font-weight: 600;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
    color: #000000;
    background: #E8EFF5;
    padding: 12px 17px;
}

.creativity-container {
    position: relative;
    margin-bottom: 50px;
}

.creativity-container-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

.creativity-container-bg-item-01 {
    position: absolute;
    background: #FD8856;
    width: 123px;
    height: 123px;
    border-radius: 50%;
    top: 146px;
    left: 20px;
}

.creativity-container-bg-item-02 {
    position: absolute;
    background: #368F00E5;
    width: 71px;
    height: 71px;
    border-radius: 50%;
    top: 280px;
    right: 30px;
}

.creativity-container-bg-item-03 {
    position: absolute;
    background: #A5C96E;
    width: 101px;
    height: 101px;
    border-radius: 50%;
    top: 46px;
    right: -70px;
}

.creativity-title {
    font-weight: 600;
    font-size: 36px;
    line-height: 1;
}

.creativity-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.creativity-list .slick-list {
  margin-right: -20px;
}

.creativity-item {
  margin-right: 20px;
}

.creativity-image {
  position: relative;
  font-size: 0;
  margin-bottom: 18px;
}

.creativity-image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 295 / 420;
  object-fit: cover;
}

.creativity-image a:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background: none;
  transition: all 0.3s ease-in-out;
}

.creativity-image:hover a:before {
  background: #7151A4CC;
}

.creativity-image .zoom {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease-in-out;
}

.creativity-image:hover .zoom {
  opacity: 1;
}

.creativity-info {
  text-align: center;
}

.creativity-info .creativity-title {
  font-size: 18px;
  margin-bottom: 10px;
}

.creativity-text {
  font-weight: 600;
  font-size: 14px;
  line-height: 24px;
}

.creativity-text span {
    display: block;
}

.creativity-text span.school {
    font-weight: 400;
    font-size: 12px;
    line-height: 1;
}

/* Афиша */

.date-strip-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 20px 0;
    position: relative;
}

.date-strip {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding: 8px 0;
    flex: 1;
    cursor: grab;              /* ← курсор-«рука» */
    user-select: none;         /* ← не выделять текст при перетаскивании */
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.date-strip::-webkit-scrollbar { display: none; }
.date-strip.dragging {
    cursor: grabbing;
    scroll-behavior: auto;      /* во время drag — без smooth, иначе дёргается */
}

.date-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 44px;
    padding: 6px 8px;
    border-radius: 10px;
    text-decoration: none;
    color: #333;
    transition: background .2s;
    flex-shrink: 0;
}

.date-item input {
    display: none;
}

.date-item:hover {
    background: #f5f5f5;
}

.date-item.active {
    background: #eee; font-weight: 700;
}

.date-item.weekend .day-num {
    color: #e74c3c;
}

.date-item.active .day-num {
    color: #000;
}

.date-item:has(input:checked) {
    background: #eee;
    font-weight: 700;
}

.day-num  { font-size: 18px; font-weight: 600; line-height: 1.1; }
.day-name { font-size: 11px; color: #888; margin-top: 2px; }

/* Кастомный тултип (по желанию — можно удалить и оставить только title) */
.date-item[data-tooltip]:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    background: #222;
    color: #fff;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 12px;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    animation: tooltipFade .15s forwards;
    z-index: 10;
}
.date-item[data-tooltip]:hover::before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: #222;
    pointer-events: none;
    opacity: 0;
    animation: tooltipFade .15s forwards;
    z-index: 10;
}
@keyframes tooltipFade {
    to { opacity: 1; }
}

.date-arrow {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #333;
    padding: 0 8px;
}

.afisha__container {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.afisha__filter-grid {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 30px;
}

.afisha__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.afisha__filter-option {
    flex: 1;
}

.afisha__filter-option select {
    width: 100%;
    height: 40px;
    padding: 10px;
    font-size: 14px;
    font-size: 16px;
    font-weight: 700;
    border: 1px solid #dddddd;
    border-radius: 5px;
}

.afisha__filter-option option {
    font-size: 14px;
}

.afisha__filter-reset button,
.afisha__item-link {
    display: inline-block;
    font-weight: 600;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
    color: #ffffff;
    background: #ff5722;
    padding: 12px 17px;
    border: none;
    outline: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.afisha__filter-reset button:hover,
.afisha__item-link:hover {
    background: #e31e24;
}

.afisha__item {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid #dddddd;
    border-radius: 10px;
    overflow: hidden;
    box-sizing: border-box;
}

.afisha__item-age {
    position: absolute;
    top: 20px;
    right: 20px;
    font-weight: 600;
    font-size: 24px;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 50%;
}

.afisha__item-image {
    flex: none;
    width: 100%;
    max-height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border: 1px solid #dddddd;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
}

.afisha__item-content {
    flex: 1;
    width: 100%;
    height: 100%;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
}

.afisha__item-title {
    font-size: 18px;
    font-weight: 700;
}

.afisha__item-desc {
    font-size: 14px;
    font-weight: 400;
}

.afisha__item-info {
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    text-decoration: none;
}

.afisha__item-link {
    margin-top: 20px;
}

.afisha__content {
    margin-bottom: 60px;
}

.afisha__content .article-content-title {
    margin-bottom: 5px!important;
}

.afisha__info {
    margin-top: 20px;
    background: #eeeeee;
    padding: 14px;
    border-radius: 5px;
    display: flex;
    flex-direction: column;
    width: fit-content;
    gap: 5px;
}

.afisha__info-item {
    margin: 0 !important;
}

.afisha__content-main {
    margin-top: 20px;
}

.afisha .slick-track {
    margin-left: 0;
    margin-right: 0;   
}

.afisha .creativity-image img {
    aspect-ratio: 1 / 1;
}

.afisha .slick-track {
    display: flex;
}

.afisha .slick-slide {
    display: flex !important;
    flex: 0 0 auto;
    height: auto;
    align-items: flex-end;
}

/* Афиша end */

.what-see-container {
    position: relative;
    background: linear-gradient(0deg, #E8EFF5, #E8EFF5), linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);
    padding: 50px 0;
}

.what-see-page .what-see-container {
    background: none;
    padding: 0 70px 50px;
}

.what-see-container-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
}

.what-see-container-bg-item-01 {
    position: absolute;
    background: #8FBB4ACC;
    width: 115px;
    height: 115px;
    border-radius: 50%;
    top: 260px;
    left: 20px;
}

.what-see-container-bg-item-02 {
    position: absolute;
    background: #fe946780;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    top: 100px;
    right: 34vw;
}

.what-see-container-bg-item-03 {
  position: absolute;
  background: #7151a480;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  bottom: 20px;
  right: -6px;
}

.what-see-title-wrapper {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 50px;
  position: relative;
}

.what-see-title {
  font-weight: 600;
  font-size: 36px;
  line-height: 1;
}

.what-see-title-wrapper .more {
  background: #ffffff;
}

.what-see-list,
.what-see-page .what-see-page-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  overflow: hidden;
}

.what-see-list .slick-list {
  margin-right: -20px;
}

.what-see-item {
  position: relative;
  margin-right: 20px;
}

.what-see-page-list .what-see-item {
    margin-right: 0;
}

.what-see-item:hover .what-see-image img {
  transform: scale(1.1);
}

.what-see-image {
  font-size: 0;
  overflow: hidden;
}

.what-see-image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 380 / 480;
  object-fit: cover;
  transition: all 0.3s ease-in-out;
}

.what-see-info {
  position: absolute;
  left: 0;
  bottom: 0;
  min-height: 50%;
  background: linear-gradient(180deg, rgba(34, 34, 34, 0) 0%, #222222 100%);
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: end;
  gap: 15px;
  padding: 20px;
  box-sizing: border-box;
}

.what-see-info .what-see-title {
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  color: #ffffff;
}

.what-see-text {
  font-weight: 400;
  font-size: 12px;
  line-height: 1;
  color: #ffffff;
}

.map-container {
  background: #ffffff;
  height: 700px;
}

.svg-marker-container {
    width: 660px;
    height: 660px;
    overflow: hidden;
}

.svg-marker-container svg {
    width: 100%;
    height: 100%;
    display: block;
}
    
.svg-marker-container svg path {
    opacity: 0.5;
}

.svg-marker-container a:hover path {
    opacity: 0.8;
}

.recommendations {
  padding: 50px 0;
  background: #E8EFF5;
}

.recommendations-title {
  font-weight: 600;
  font-size: 36px;
  line-height: 1;
  text-align: center;
  margin: 0 auto;
  padding: 0 100px;
}

.slider-controls {
  position: absolute;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.slider-controls button {
  outline: none;
  border: 2px solid #FFFFFF;
  background: none;
  line-height: 1;
  font-size: 0;
  width: 70px;
  height: 70px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 50%;
  appearance: none;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
}

.slider-controls button:hover {
  background: #FFFFFF;
}

.recommendations-list {
  overflow: hidden;
}

.recommendations-list.slick-slider .slick-list {
  padding: 0 !important;
}

.recommendations-item {
  font-size: 0;
  background: #ffffff;
  padding: 32px;
  border-radius: 10px;
  overflow: hidden;
  height: 240px !important;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 40px 20px;
  transition: all 0.3s ease-in-out;
  box-shadow: 0px 4px 10px 0px #72727240;
}

.recommendations-item.slick-center {
  transform: scale(1.25);
}

.recommendations-item a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.territorial-divisions {
  position: relative;
  padding: 50px 0 70px;
}

.territorial-divisions .container {
  position: relative;
  z-index: 2;
}

.territorial-divisions-title {
  font-weight: 600;
  font-size: 36px;
  line-height: 1;
}

.territorial-divisions-title-wrapper {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 50px;
}

.territorial-divisions-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.territorial-divisions-item:first-child {
    grid-column: 3 span;
    grid-row: 1 span;
}

.territorial-divisions-item:first-child a {
    aspect-ratio: 16 / 3;
}

.territorial-divisions-item a {
    padding: 16px;
    display: flex;
    aspect-ratio: 16 / 9;
    position: relative;
    box-sizing: border-box;
    justify-content: center;
    align-items: end;
    text-decoration: none;
    overflow: hidden;
}

.territorial-divisions-item a:before {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(34, 34, 34, 0) 0%, #222222 100%);
    z-index: 2;
    top: 0;
    left: 0;
}

.territorial-divisions-item a img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    top: 0;
    left: 0;
    transition: all 0.3s ease-in-out;
}

.territorial-divisions-item:first-child a img {
    object-position: top;
}

.territorial-divisions-item a span {
    text-align: center;
    position: relative;
    z-index: 2;
    font-weight: 600;
    font-size: 16px;
    line-height: 1;
    text-decoration: none;
    color: #ffffff;
    transition: all 0.3s ease-in-out;
}

.territorial-divisions-item a:hover span {
    color: #ffffff;
}

.territorial-divisions-item a:hover img {
    transform: scale(1.1);
}

.territorial-divisions-sector-list {
    margin-top: 20px;
    list-style: none;
    border-left: 2px solid #000000;
}

.territorial-divisions-sector-list-item a:before {
    display: none;
}

.territorial-divisions-sector-list-item a {
    aspect-ratio: auto;
    justify-content: flex-start;
    color: #000000;
    font-weight: 600;
}

.territorial-divisions-sector-list-item:hover a {
    color: #FF5722;
}

.breadcrumb {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    list-style: none;
    gap: 20px;
    padding: 30px 70px;
    font-weight: 600;
    font-size: 12px;
    line-height: 1;
    color: #A1A1A1;
    text-transform: uppercase;
}

.breadcrumb li a {
    color: #A1A1A1;
    text-decoration: none;
}

.breadcrumb li a:hover {
    text-decoration: underline;
}

.breadcrumb-item {
    white-space: nowrap;
}

.breadcrumb-item.active {
    flex: 0 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 14px;
}

iframe {
    max-width: 100% !important;
}
iframe body {
    max-width: 100% !important;
}

.article-content-date {
    
}

.article-content-label {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
  box-sizing: border-box;
}

.article-content-label span {
  display: inline-block;
  text-transform: uppercase;
  border-radius: 2px;
  font-weight: 600;
  font-size: 11px;
  line-height: 1;
  padding: 3px 5px;
  background: #ffffff;
  color: #000000;
}

.article-content-label span.orange {
  background: #FE8856;
  color: #ffffff;
}

.article-content-label span.red {
  background: #EC6158;
  color: #ffffff;
}

.content-wrapper {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 20px;
  margin-bottom: 70px;
}

.article-content *:not(:last-child) {
  margin-bottom: 1em;
}

.article-content {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
}

.article-content-title {
  font-weight: 600;
  font-size: 36px;
  line-height: 1;
}

.article-content-description {
  font-weight: 600;
  font-size: 16px;
  line-height: 1.5;
}

.article-content h2 {
  font-weight: 600;
  font-size: 28px;
  line-height: 1;
  margin-top: 1em;
}

.article-content h3 {
  font-weight: 600;
  font-size: 24px;
  line-height: 1;
  margin-top: 1em;
}

.article-content h4 {
  font-weight: 600;
  font-size: 20px;
  line-height: 1;
  margin-top: 1em;
}

.article-content ul,
.article-content ol {
  margin-left: 20px;
}

.article-content ul li,
.article-content ol li {
    margin-bottom: 0.2em !important;
}

.article blockquote {
  border: 2px solid #FE8856;
  border-left: 20px solid #FE8856;
  padding: 20px;
  box-sizing: border-box;
}

.article blockquote h1,
.article blockquote h2,
.article blockquote h3,
.article blockquote h4 {
  color: #FE8856;
  margin-top: 0;
}

.article {
  grid-column: span 9;
}

.sidebar {
    position: relative;
    grid-column: span 3;
    z-index: 1;
}

.article-image {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 10;
  margin-bottom: 50px;
}

.article-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 0 30%;
}

.sidebar-news-list {
  display: grid;
  grid-template-columns: auto;
  gap: 20px;
}

.docs {
  grid-column: span 9;
}

.docs-content-title {
  font-weight: 600;
  font-size: 36px;
  line-height: 1;
  margin-bottom: 50px;
}

.docs-list {
  display: grid;
  grid-template-columns: auto;
  gap: 2px;
}

.docs-item {
    background: #E8EFF5;
    will-change: transform;
    transition: all 0.3s ease-out;
}

.docs-item:hover {
    transform: scale(0.96);
}

.docs-item a {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 15px;
    text-decoration: none;
    color: #000000;
    padding: 20px 30px;
}

.docs-info {
    flex: 1;
}

.docs-icon {
    margin-top: 4px;
}

.docs-title {
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5;
}

.docs-property {
    text-transform: uppercase;
    font-weight: 400;
    font-size: 12px;
    line-height: 2;
    color: #919191;
}

.sidebar-docs-select {
    display: none;
}

.sidebar-docs-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.sidebar-docs-list li a {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.5;
  color: #000000;
  text-decoration: none;
}

.sidebar-docs-list li a:hover {
  text-decoration: underline;
}

.territorial-divisions-page {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 20px;
  margin-bottom: 70px;
}

.territorial-divisions-content {
  grid-column: span 9;
}

.territorial-divisions-informer {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  margin-bottom: 20px;
}

.territorial-divisions-informer-info {
  padding: 50px;
  box-sizing: border-box;
  width: 50%;
  background: #BC77F0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
}

.territorial-divisions-informer-info-title {
  color: #ffffff;
  font-weight: 600;
  font-size: 36px;
  line-height: 1;
}

.territorial-divisions-informer-info-social {
  font-weight: 600;
  font-size: 12px;
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 14px;
  color: #ffffff;
}

.territorial-divisions-informer-info-social .social ul svg {
    color: #ffffff;
}

.territorial-divisions-informer-number {
  position: relative;
  width: 50%;
}

.territorial-divisions-informer-number-image {
  position: absolute;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.territorial-divisions-informer-number-image:before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    /* background: linear-gradient(180deg, rgba(34, 34, 34, 0.2) 0%, #222222 100%); */
    background: rgb(34 34 34 / 70%);
    z-index: 1;
}

.territorial-divisions-informer-number-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.territorial-divisions-informer-number-list {
    position: relative;
    width: 100%;
    padding: 100px 50px 50px;
    box-sizing: border-box;
    z-index: 2;
    bottom: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.territorial-divisions-informer-number-item {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 4px;
    flex: 1 auto;
    min-width: 46%;
    max-width: 100%;
}

.territorial-divisions-informer-number-title {
  font-weight: 600;
  font-size: 12px;
  line-height: 1;
  text-transform: uppercase;
  color: #FE8856;
}

.territorial-divisions-informer-number-text {
  font-weight: 600;
  font-size: 18px;
  line-height: 1;
  color: #ffffff;
}

.territorial-divisions-informer-number-text sup {
  line-height: 0;
}

.territorial-divisions-informer-dop {
    width: 100%;
    padding: 20px;
    background: #222;
    font-size: 16px;
    line-height: 1.2;
    color: #ffffff;
}

.territorial-divisions-informer-dop * {
    font-family: "Montserrat", "Arial", sans-serif!important;
}

.territorial-divisions-informer-dop h1,
.territorial-divisions-informer-dop h2,
.territorial-divisions-informer-dop h3,
.territorial-divisions-informer-dop h4,
.territorial-divisions-informer-dop h5,
.territorial-divisions-informer-dop h6 {
    color: #fe8856;
}

.territorial-divisions-informer-dop ul {
    margin-left: 20px;
}

.territorial-divisions-informer-dop ul li:not(:last-child) {
    margin-bottom: 0.25em;
}

.territorial-divisions-informer-dop > *:not(:last-child) {
  margin-bottom: 0.5em;
}

.territorial-divisions-informer-dop a {
    color: #ffffff;
}

.territorial-divisions-informer-dop a:hover {
    color: #FE8856;
}

.territorial-divisions-news-list {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.back-button {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.back-button a {
  background: #E8EFF5;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  padding: 15px 40px;
  text-decoration: none;
  color: #000000;
  will-change: transform;
  transition: all 0.3s ease-out;
}

.back-button a:hover {
  transform: scale(0.96);
}

.back-button-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: 54px;
  height: 54px;
  background: #FFFFFF;
}

.back-button span {
  flex: 1;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
}

.pagination {
  background: #E8EFF5;
  padding: 20px;
  margin-top: 20px;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.pagination .page-item:hover a,
.pagination .page-item.active a {
    color: #FF5722;
}

li.page-item a {
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  color: #000000;
}

.gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 40px 0;
}

.gallery a {
    flex: 1 auto;
    flex-basis: 49%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    font-size: 0;
}

.gallery a img {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.footer {
  background: #222222;
  height: 256px;
  margin: -256px auto 0;
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  padding: 20px 0;
  box-sizing: border-box;
}

.footer-menu {
  width: 100%;
  max-width: 1380px;
  padding: 0 70px;
  margin: 0 auto;
  box-sizing: border-box;
}

.footer-menu .nav {
  max-width: 100%;
  padding: 30px 0;
  box-sizing: border-box;
}

.footer-menu .nav ul li a {
  color: #ffffff;
}

.footer-copy {
  width: 100%;
  max-width: 1380px;
  padding: 0 70px;
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 20px;
}

.social ul {
  list-style: none;
  display: flex;
  flex-direction: row;
  gap: 20px;
}

.copy,
.developed a,
.developed {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.5;
  color: #737373;
  text-decoration: none;
}

.developed a:hover {
  text-decoration: underline;
}

.developed {
  text-align: right;
}

/* Special */
.special .container,
.special .current-news,
.special .intro-layers,
.special .svoi-news-title,
.special .sidebar,
.special .sidebar-news-list,
.special .news-item,
.special .news-item a,
.special .news-item-static a,
.special .news-image,
.special .news-image img,
.special .news-label,
.special .news-info-wrapper,
.special .slider-controls,
.special .creativity-image a,
.special .creativity-image .zoom,
.special .menu .nav {
    background: none!important;
}

.special .menu .hamburger > div {
    background: #000000!important;
}

.special.special-color-2 .menu .hamburger > div,
.special.special-color-2 .menu .hamburger > div:before,
.special.special-color-2 .menu .hamburger > div:after{
    background: #ffffff!important;
}

.special .header.header-page {
    top: 48px;
}

.special .menu .nav > div > ul {
    padding-top: 110px;
}

.special.special-color-2 svg circle,
.special.special-color-2 svg path,
.special.special-color-1 .slider-controls svg circle,
.special.special-color-1 .slider-controls svg path,
.special.special-color-3 .slider-controls svg circle,
.special.special-color-3 .slider-controls svg path,
.special.special-color-2 .slider-controls button:hover svg path,
.special.special-color-2 .recommendations .slider-controls svg circle,
.special.special-color-2 .recommendations .slider-controls svg path,
.special.special-color-2 .recommendations .slider-controls button:hover svg path {
    filter: invert(1);
    color: #000000!important;
}

.special.special-color-2 .slider-controls svg circle,
.special.special-color-2 .slider-controls svg path,
.special.special-color-1 .slider-controls button:hover svg path,
.special.special-color-3 .slider-controls button:hover svg path,
.special.special-color-1 .recommendations .slider-controls svg circle,
.special.special-color-1 .recommendations .slider-controls svg path,
.special.special-color-1 .recommendations .slider-controls button:hover svg path,
.special.special-color-3 .recommendations .slider-controls svg circle,
.special.special-color-3 .recommendations .slider-controls svg path,
.special.special-color-3 .recommendations .slider-controls button:hover svg path {
    filter: invert(0);
    color: #ffffff!important;
}

.search-result {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.simplesearch-results {
    font-weight: 700;
    margin-bottom: 0.5em;
}

.simplesearch-results-list {
    display: flex;
    flex-direction: column;
    gap: 1em;
    margin-bottom: 2em;
}

.simplesearch-result {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

.simplesearch-result a {
    color: #000000;
}

.simplesearch-result a:hover {
    color: #FF5722;
}

.simplesearch-paging {
    margin-bottom: 2em;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 0.5em;
}

.simplesearch-paging .simplesearch-page a {
    color: #000000;
    text-decoration: none;
}

.simplesearch-paging .simplesearch-current-page,
.simplesearch-paging .simplesearch-page:hover a {
    color: #FF5722;
}

@media screen and (min-width: 1521px) {
    
    .top .container,
    .intro-layers.container {
        max-width: 90.789vw;
        padding: 0 4.605vw;
    }
    
    .version-spec div {
        font-size: 0.921vw;
        padding: 0.789vw 1.053vw;
        border-radius: 1.974vw;
    }
    
    .version-spec div svg {
        margin-right: 0.789vw;
        width: 1.776vw;
        height: 1.184vw;
    }
    
    .logo img {
        height: 9.211vw;
    }
    
    .circle-item-1 {
        width: 10.263vw;
        height: 10.263vw;
        box-shadow: 0.329vw 0.526vw 0.263vw 0vw #00000040 inset;
        top: 1.974vw;
        left: 17.105vw;
    }
    
    .circle-item-2 {
        width: 14.803vw;
        height: 14.803vw;
        top: 4.211vw;
        padding: 1.974vw;
        box-shadow: 0.855vw 0.263vw 0.263vw 0 #00000040;
        font-size: 1.842vw;
    }
    
    .circle-item-2 span {
        font-size: 4.211vw;
    }
    
    .circle-item-3 {
        width: 6.579vw;
        height: 6.579vw;
        top: 15.789vw;
        left: 17.763vw;
    }
    
    .circle-item-4 {
        width: 6.579vw;
        height: 6.579vw;
        top: 27.632vw;
        left: 6.579vw;
    }
    
    .circle-item-5 {
        width: 15.132vw;
        height: 15.132vw;
        bottom: -7.566vw;
    }
    
    .circle-item-6 {
        width: 6.667vw;
        height: 6.667vw;
        right: 3.333vw;
        bottom: 6.667vw;
    }
    
    .current-news {
        padding: 0 1.316vw;
        max-width: 42.105vw;
    }
    
    .current-news .search {
        padding: 0.8vw 1.067vw;
        border-radius: 1.333vw;
    }
    
    .current-news .search button {
        width: 3.333vw;
    }
    
    .current-news .search input {
        display: inline-block;
        font-size: 1.467vw;
    }
    
    .dropdown-list {
        border: 0.067vw solid #ddd;
        border-radius: 0.267vw;
        width: calc(100% - 5.333vw);
        margin: 0 2.667vw;
        box-shadow: 0 0.133vw 0.333vw rgba(0, 0, 0, 0.1);
        height: 13.333vw;
        border-radius: 0  0 0.333vw 0.333vw;
    }
    
    .dropdown-list::-webkit-scrollbar {
        width: 0.333vw;
    }
    
    .dropdown-list::-webkit-scrollbar-thumb {
        border-radius: 0.333vw;
    }
    
    .dropdown-list li a {
        padding: 0.533vw 0.8vw;
    }
    
    .current-news a {
        font-size: 1.147vw;
        padding: 0.789vw 1.053vw;
        border-radius: 1.974vw;
    }
    
    .current-news a svg {
        margin-right: 0.789vw;
        left: 1.579vw;
        width: 1.645vw;
        height: 1.645vw;
    }
    
    .current-news a span {
        margin: 0 4.079vw;
    }
    
}

@media (max-width: 1199px) {
    
    .menu {
        padding: 34px 20px;
    }
    
    .container,
    .footer-menu, 
    .footer-copy {
        padding: 0 20px;
    }
    
    .breadcrumb {
        padding: 20px;
    }
    
    .territorial-divisions-list {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .territorial-divisions-item:first-child {
        grid-column: 3 span;
    }
    
    .current-news .search input {
        width: 100%;
        margin: 0;
        font-size: 14px;
    }
    
    .current-news a span {
        margin: 0 45px;
    }
    
    .news-list-group {
        grid-template-columns: repeat(5, 1fr);
    }
    
    .territorial-divisions-news-list.news-list-group {
        grid-template-columns: 1fr;
    }
    
    .sidebar-news-list .news-item {
        aspect-ratio: 1 / 1.5;
    }
    
    .news-list {
        grid-column: span 3;
    }
    
    .news-list.center {
        grid-column: span 2;
    }
    
    .news-list.right {
        grid-column: span 5;
        grid-template-columns: repeat(2, 1fr);
    }
    
    .news-list.right .news-item {
        aspect-ratio: 2 / 1;
    }
    
    .what-see-page .what-see-container {
        padding: 0 20px 50px;
    }
    
}

@media (max-width: 999px) {
    
    .home .header-page,
    .home .header-page .menu,
    .home .header-page .version-spec {
        display: block;
    }
    
    .home .menu,
    .home .version-spec {
        display: none;
    }
    
    .home .main {
        padding: 0 0 256px;
    }
    
    .logo {
        margin-top: 50px;
    }
    
    .main {
        padding: 56px 0 256px;
    }
    
    .header-page .top .container {
        grid-template-columns: repeat(4, auto);
    }
    
    .header-page .top .current-news {
        display: none;
    }
    
    .menu-mobile {
        display: block;
    }
    
    /* Мобильное меню */
    
    .header.header-page {
        position: fixed;
        width: 100%;
        z-index: 8;
        background: #ffffff;
    }

	.menu {
	    float: none;
		display: block;
        position: absolute;
        padding: 28px 20px;
        top: 0;
        right: 0;
        z-index: 20;
        width: 88px;
    }
	
	.menu .gerb {
	    display: none;
	}

	.menu .checkbox-toggle {
		display: block;
		position: absolute;
		top: 5px;
        right: 10px;
		z-index: 2;
		cursor: pointer;
		width: 44px;
		height: 44px;
		opacity: 0;
	}

	.menu .checkbox-toggle:checked + .hamburger > div {
		-webkit-transform: rotate(135deg);
		-ms-transform: rotate(135deg);
		transform: rotate(135deg);
		background: #ffffff;
		position: fixed;
		width: 25px;
	}

	.menu .checkbox-toggle:checked + .hamburger > div:before, 
	.menu .checkbox-toggle:checked + .hamburger > div:after { 
		top: 0; 
		-webkit-transform: rotate(90deg); 
		-ms-transform: rotate(90deg); 
		transform: rotate(90deg);
		background: #ffffff;
		position: fixed;
		width: 25px;
	}

	.menu .checkbox-toggle:checked + .hamburger > div:after {
		opacity: 0; 
		position: fixed;
		width: 25px;
	}

	.menu .checkbox-toggle:checked ~ .nav { 
		pointer-events: auto; 
	}

	.menu .checkbox-toggle ~ .nav > div { 
		width: 100%; 
		height: 0;
	} 

	.menu .checkbox-toggle:checked ~ .nav > div { 
		width: 100%; 
		height: 100%; 
		overflow: auto;
	}
	
	.menu .checkbox-toggle:checked:hover + .hamburger > div { 
		-webkit-transform: rotate(225deg); 
		-ms-transform: rotate(225deg); 
		transform: rotate(225deg);
		position: fixed;
		width: 25px;
	} 
	 
	.menu .hamburger {
		position: absolute;
		top: 5px;
        right: 10px;
		z-index: 1;
		width: 24px;
		height: 24px;
		padding: 10px;
		border-radius: 0 0.12em 0.12em 0;
		cursor: pointer;
		-webkit-transition: box-shadow 0.3s ease;
		transition: box-shadow 0.3s ease;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	.menu .hamburger > div {
		position: relative;
		-webkit-box-flex: 0;
		-webkit-flex: none;
		-ms-flex: none;
		flex: none;
		width: 24px;
		height: 2px;
		border-radius: 2px;
		background: #ffffff;
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	.menu .hamburger > div:before, 
	.menu .hamburger > div:after { 
		content: ''; 
		position: absolute; 
		z-index: 1; 
		top: -7px; 
		left: 0; 
		width: 24px;
		height: 2px; 
		border-radius: 2px;
		background: #ffffff;
		-webkit-transition: all 0.3s ease; 
		transition: all 0.3s ease;
	} 

	.menu .hamburger > div:after { 
		top: 7px;
		width: 24px;
	}
	 
	.menu .nav { 
		position: fixed; 
		top: 56px !important;
        left: 0;
        height: calc(100% - 56px);
		width: 100%;
		padding: 0;
		margin: 0;
		z-index: 0;
		pointer-events: none; 
		background: none;
		display: -webkit-box; 
		display: -webkit-flex; 
		display: -ms-flexbox; 
		display: flex; 
		-webkit-box-align: normal; 
		-webkit-align-items: normal; 
		-ms-flex-align: normal; 
		align-items: normal; 
		-webkit-box-pack: normal; 
		-webkit-justify-content: normal; 
		-ms-flex-pack: normal; 
		justify-content: normal; 
	}

	.menu .nav > div {
	    display: block;
		width: 0; 
		height: 0; 
		background: #ffffff;
		-webkit-transition: all 0.3s ease; 
		transition: all 0.3s ease; 
	}

	.menu .nav > div > ul {
		list-style: none;
		margin: 0;
		display: block;
		text-align: left;
		overflow: auto;
		padding-top: 16px;
		padding-left: 20px;
		opacity: 0;
	}
	
	.menu .nav > div > ul.dop-menu {
        padding-top: 30px;
    }
	
	.menu .checkbox-toggle:checked ~ .nav > div > ul {
		opacity: 1;
		-webkit-transition: all 0.3s ease; 
		transition: all 0.3s ease; 
	}
	 
	.menu .nav > div > ul > li {
		width: 100%;
		font-size: 18px;
		line-height: 1;
		display: inline-block;
		position: relative;
		z-index: 1;
		margin-left: 0;
		margin-bottom: 9px;
		margin-top: 9px;
	}
	
	.menu .nav > div > ul > li > a {
		font-style: normal;
		font-weight: 700;
		font-size: 16px;
		line-height: 1.25;
		text-decoration: none;
		position: relative; 
		display: inline; 
		cursor: pointer; 
		-webkit-transition: color 0.3s ease; 
		transition: color 0.3s ease; 
	}

	.menu .nav > div > ul > li > a:hover:before,
	.menu .nav > div > ul > li > a.active:before{
		left: -20px;
	}

	/* END Мобильное меню */
    
    .current-news a {
        display: none;
    }
    
    .svoi-news-list-container {
        display: flex;
        flex-direction: column;
    }
    
    .svoi-news-list .news-item {
        aspect-ratio: 380 / 250;
    }
    
    .news-list-group {
        grid-template-columns: 1fr;
    }
    
    .news-list.right .news-item {
        aspect-ratio: 2 / 1;
    }
    
    .news-list,
    .news-list.center,
    .news-list.right {
        grid-column: span 1;
        grid-template-columns: 1fr;
    }
    

    
    .article, .docs, .sidebar {
        grid-column: span 12;
    }
    
    .docs {
        order: 1;
    }
    
    .docs-page .sidebar {
        order: 0;
    }
    
    .sidebar-docs-list {
        display: none;
    }
    
    .sidebar-docs-select {
        display: block;
        width: 100%;
        padding: 10px;
        border-radius: 10px;
        font-family: "Montserrat", "Arial", sans-serif;
    }
    
    .territorial-divisions-content {
        grid-column: span 12;
    }
    
    .territorial-divisions-informer-info,
    .territorial-divisions-informer-number-list {
        padding: 20px;
    }
    
    .territorial-divisions-informer-number-text {
        font-size: 18px;
    }
    
    .territorial-divisions-page .sidebar-news-list {
        display: none;
    }
    
    .news-list-wrapper .news-list {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .what-see-list, .what-see-page .what-see-page-list {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .svoi-news-page .news-list {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .afisha__filter-grid {
        gap: 20px;
    }
    
    .afisha__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .footer {
        height: auto;
    }
    
    .footer-copy {
        flex-direction: column;
    }
    
    .developed {
        text-align: left;
    }
    
    .footer .nav ul {
        flex-direction: column;
        align-items: flex-start;
    }
    
}

@media (max-width: 699px) {
    
    .header.header-page .version-spec div span {
        display: none;
    }
    
    .header .social ul {
        gap: 10px;
    }
    
    .top .container {
        grid-template-columns: repeat(1, 1fr);
        gap: 10px;
    }
    
    .logo {
        text-align: center;
    }
    
    .circle-item-1 {
        top: -20px;
        left: 300px;
    }
    
    .circle-item-2 {
        top: 150px;
        left: -30px;
        right: auto;
    }
    
    .fb-info {
        right: 30px;
    }
    
    .svoi-news-container .slider-controls {
        display: none;
    }
    
    .svoi-news-list .news-info .news-info-title, .svoi-news-list .news-info .news-info-text {
        max-width: 100%;
        margin-right: auto;
    }
    
    .territorial-divisions-list {
        grid-template-columns: 1fr;
    }
    
    .territorial-divisions-item:first-child {
        grid-column: 1 span;
    }
    
    .territorial-divisions-item:first-child a {
        aspect-ratio: 16 / 9;
    }
    
    .article-image {
        margin-bottom: 20px;
    }
    
    .territorial-divisions-title,
    .svoi-news-title, 
    .creativity-title,
    .what-see-title,
    .docs-content-title {
        font-size: 30px;
    }
    
    .docs-content-title {
        margin-bottom: 20px;
    }
    
    .recommendations-title {
        font-size: 30px;
        padding: 0 60px;
    }
    
    .slider-controls button {
        width: 50px;
        height: 50px;
    }
    
    .territorial-divisions-informer {
        flex-direction: column;
    }
    
    .territorial-divisions-informer-info,
    .territorial-divisions-informer-number {
        width: 100%;
    }
    
    .territorial-divisions-informer-info-title {
        font-size: 26px;
    }
    
    .territorial-divisions-informer-info-social,
    .territorial-divisions-informer-info .social ul {
        gap: 10px;
    }
    
    .territorial-divisions-informer-info-social svg {
        width: 30px;
        height: 30px;
    }
    
    .territorial-divisions-page .news-list {
      grid-template-columns: 1fr;
      gap: 10px;
    }
    
    .news-list.right .news-item {
        aspect-ratio: 1 / 1;
    }
    
    .creativity-image img {
        aspect-ratio: 295 / 340;
    }
    
    .news-list-wrapper .news-list {
        grid-template-columns: repeat(1, 1fr);
    }
    
    .pagination li:first-child,
    .pagination li:last-child{
        display: none;
    }
    
    .what-see-list, .what-see-page .what-see-page-list {
        grid-template-columns: repeat(1, 1fr);
    }
    
    .svoi-news-page .news-list {
        grid-template-columns: repeat(1, 1fr);
    }
    
    .afisha__filter-grid {
        flex-direction: column;
        gap: 10px;
    }
    
    .afisha__filter-option {
        flex: none;
        width: 100%;
    }
    
    .afisha__grid {
        grid-template-columns: repeat(1, 1fr);
    }

}