/* stylelint-disable */
/* stylelint-disable max-line-length */
:root {
  --breakpoint-xxl: 1920px;
  --breakpoint-xl: 1440px;
  --breakpoint-lg-2: 1397px;
  --breakpoint-lg: 1280px;
  --breakpoint-md: 1024px;
  --breakpoint-md-s: 992px;
  --breakpoint-sm: 768px;
  --breakpoint-xs: 512px;
  --breakpoint-xxs: 390px;
}

/* stylelint-disable */
/* stylelint-disable */
/* stylelint-disable */
/*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);

  or object-fit and object-position:
  @include object-fit(cover, top);
*/
.map {
  padding: 0 0 50px;
}
.map .mapboxgl-ctrl-bottom-right,
.map .mapboxgl-ctrl-bottom-left {
  display: none;
}
.map__container {
  max-width: 1400px;
  padding: 0 20px;
  width: 100%;
  margin: 0 auto;
}
.map .sk-breadcrumbs {
  padding: 10px 0;
}
.map__title {
  font-size: 42px;
  font-weight: 700;
  margin-bottom: 40px;
}
.map__title::after {
  right: 0;
  top: -14%;
  transform: translateX(50%);
}
.map__wrapper {
  border-radius: 26px;
  position: relative;
  box-shadow: 2px 2px 16px 2px rgba(72, 72, 72, 0.1490196078);
  backdrop-filter: blur(22.2px);
}
.map__search-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 300px;
  padding: 21px 10px 20px 21px;
  z-index: 2;
}
@media (max-width: 768px) {
  .map__search-container {
    display: none;
  }
}
.map__search-form-search {
  position: relative;
}
.map__search-form-search .spinner-load {
  width: 20px;
  height: 20px;
  border: 2px solid var(--sk-color-second);
  border-bottom-color: transparent;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
  margin-bottom: 20px;
  position: absolute;
  right: 12px;
  top: calc(50% - 10px);
  opacity: 0;
  visibility: hidden;
  background-color: var(--sk-color-white);
}
.map__search-form-search .spinner-load.show {
  opacity: 1;
  visibility: visible;
}
.map__search-form-search input {
  margin: 0;
  padding: 10px 30px 10px 20px;
  border-radius: 99px;
}
.map__search-form-search svg {
  position: absolute;
  right: 12px;
  top: calc(50% - 6px);
}
.map__categories {
  position: absolute;
  left: 310px;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  list-style: none;
  padding: 21px 0 0;
}
@media (max-width: 768px) {
  .map__categories {
    left: 10px;
  }
}
.map__categories-item-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  transition: 0.4s ease;
  z-index: -1;
}
.map__categories-item {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  font-weight: 600;
  border-radius: 99px;
  cursor: pointer;
  margin-right: 12px;
  transition: 0.4s ease;
  margin-bottom: 10px;
  border: 2px solid transparent;
}
.map__categories-item .bg-cat {
  opacity: 0.2;
}
@media (max-width: 768px) {
  .map__categories-item {
    font-size: 12px;
    padding: 5px 10px;
  }
}
.map__categories-item:hover .bg-cat, .map__categories-item:focus .bg-cat {
  opacity: 1;
}
.map__categories-item.is-active .bg-cat {
  opacity: 1;
}
.map__categories-item svg,
.map__categories-item img {
  margin-right: 5px;
}
.map__link-to-create-post {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 3;
  padding: 50px 10px 29px 22px;
  max-width: 300px;
  width: 100%;
}
@media (max-width: 768px) {
  .map__link-to-create-post {
    padding: 10px;
  }
}
.map__link-to-create-post.is-active {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) -59.29%, #fff 19.87%);
}
.map__search-results-list {
  width: 100%;
  height: 100%;
  max-width: 300px;
  background-color: var(--sk-color-white);
  padding: 84px 0 140px 0;
  position: absolute;
  transition: 0.4s ease;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}
@media (max-width: 768px) {
  .map__search-results-list {
    display: none;
  }
}
.map__search-results-list::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 156px;
  left: 0;
  bottom: 0;
  /* stylelint-disable-next-line */
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0.5) 100%);
  z-index: 1;
}
.map__search-results-list.is-active {
  opacity: 1;
  visibility: visible;
}
.map__search-results-list .not-found-text {
  padding: 20px 10px 20px 21px;
}
.map__search-results-list .item-post {
  font-family: var(--sk-font-primary), serif;
  transition: 0.4s ease;
  cursor: pointer;
}
.map__search-results-list .item-post:hover, .map__search-results-list .item-post:focus {
  background-color: var(--sk-color-gray-2);
}
.map__search-results-list .item-post__category {
  display: flex;
  flex-wrap: wrap;
}
.map__search-results-list .item-post__content-item {
  padding: 20px 10px 20px 21px;
  border-bottom: 1px solid var(--sk-color-border);
}
.map__search-results-list .item-post__category__item {
  border-radius: 99px;
  padding: 3px 10px;
  font-size: 12px;
  margin-bottom: 6px;
  margin-right: 6px;
  display: inline-block;
}
.map__search-results-list .item-post__title {
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 2px;
  line-height: 1.2;
}
.map__search-results-list .item-post__date {
  font-size: 12px;
}
.map__search-results-list .item-post__description {
  margin-top: 8px;
  font-size: 14px;
  color: var(--sk-color-gray-5);
}
.map__search-results-wrapper {
  list-style: none;
  padding: 0 0 20px 0;
  margin: 0;
  position: relative;
  overflow-y: scroll;
  height: 100%;
}
.map__link-to-create-post-title {
  display: inline-block;
  margin-bottom: 11px;
  font-size: 16px;
}
.map__link-to-create-post-wrapper {
  display: flex;
  flex-direction: column;
}
.map__block {
  height: 814px;
  width: 100%;
  overflow: visible !important;
}
@media (max-width: 768px) {
  .map__block {
    height: 600px;
  }
}
.map__loader {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--sk-color-white);
  border-radius: 26px;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.map__loader.is-hidden {
  opacity: 0;
  visibility: hidden;
}
.map__loader .spinner {
  width: 48px;
  height: 48px;
  border: 5px solid var(--sk-color-second);
  border-bottom-color: transparent;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
.map .mapboxgl-popup {
  max-width: 350px !important;
  z-index: 99;
}
@media (max-width: 768px) {
  .map .mapboxgl-popup {
    transform: none !important;
    max-width: 100% !important;
    height: 600px;
    width: 100%;
  }
}
.map .mapboxgl-popup-content {
  max-height: 553px;
  min-width: 350px;
  font-family: var(--sk-font-primary), serif;
  box-shadow: 4px 4px 12px 0 rgba(0, 0, 0, 0.2509803922);
  backdrop-filter: blur(42.2px);
  border-radius: 8px;
  padding: 32px 20px;
  overflow-y: auto;
  -ms-overflow-style: none; /* Internet Explorer 10+ */
  scrollbar-width: none; /* Firefox, Safari 18.2+, Chromium 121+ */
}
.map .mapboxgl-popup-content::-webkit-scrollbar {
  display: none; /* Older Safari and Chromium */
}
@media (max-width: 768px) {
  .map .mapboxgl-popup-content {
    min-width: 280px;
    height: auto;
    max-height: 100%;
  }
}
.map .mapboxgl-popup-content .mapboxgl-popup-close-button {
  width: 32px;
  padding: 0;
  right: 0;
}
.map .mapboxgl-popup-content .mapboxgl-popup-close-button span {
  font-size: 28px;
  display: block;
  width: 100%;
}
.map .post-modal-image {
  max-height: 250px;
  height: auto;
  overflow: hidden;
  margin-bottom: 20px;
}
.map .post-modal-image img {
  width: 100%;
  height: auto;
}
.map .post-modal-link {
  color: var(--sk-color-white);
  font-size: 14px;
  font-weight: 600;
  border-radius: 99px;
  padding: 10px;
  text-align: center;
  margin: 20px auto 0;
  max-width: 107px;
  width: 100%;
  background-color: var(--sk-color-black);
  border: 1px solid var(--sk-color-black);
  transition: 0.4s ease;
  display: block;
}
.map .post-modal-link:hover, .map .post-modal-link:focus, .map .post-modal-link:active {
  text-decoration: none;
  background-color: transparent;
  color: var(--sk-color-black);
}
.map .post-modal-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 2px;
}
.map .post-modal-date {
  font-size: 16px;
  margin-bottom: 13px;
}
.map .post-modal-category {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.map .post-modal-category__item {
  display: inline-block;
  border-radius: 99px;
  padding: 5px 10px;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 10px;
  margin-right: 5px;
}
.map .post-modal-description {
  font-size: 14px;
}
.map .map-popup-point {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-height: 400px;
  width: 100%;
}
.map .map-popup-point .spinner {
  width: 48px;
  height: 48px;
  border: 5px solid var(--sk-color-second);
  border-bottom-color: transparent;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
  margin-bottom: 20px;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
