.filter {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.filter .q-select {
  width: 100%;
  max-width: 300px;
  border-radius: 20px;
}
.filter__menu {
  margin-top: 20px !important;
  padding: 20px 25px;
  border-radius: 15px;
  border: 1px solid #ddd;
  background: #fff;
  box-shadow: 0px 24px 64px 0px rgba(22, 28, 45, 0.05);
}
.filter__menu .q-item {
  min-height: unset;
  margin-bottom: 10px;
  justify-content: space-between;
}
.filter .q-field,
.filter .q-field__inner {
  border-radius: 20px;
}
.filter .q-field__counter-inner {
  padding-left: 0;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background-color: #02888d;
  color: #ffffff;
  text-align: center;
  font-family: "Geologica", sans-serif;
  font-size: 15px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -45px;
  right: 55px;
}
.filter .q-field__marginal {
  height: 64px;
}
.filter .q-field--auto-height .q-field__control {
  min-height: 64px;
}
.filter .q-field--standout .q-field__control {
  border-radius: 20px;
  padding: 0 20px;
}
.filter .q-field--auto-height.q-field--labeled .q-field__control-container {
  padding-right: 26px;
}
.filter .q-field__label {
  top: 23px;
}
.filter .q-field--standout.q-field--highlighted .q-field__control {
  box-shadow: none;
}
.filter .q-item__section--main + .q-item__section--main {
  margin-left: 20px;
}
.filter .q-field--auto-height .q-field__native,
.filter .q-field--auto-height .q-field__prefix,
.filter .q-field--auto-height .q-field__suffix {
  line-height: 14px;
}
.filter .q-field--auto-height.q-field--labeled .q-field__native,
.filter .q-field--auto-height.q-field--labeled .q-field__prefix,
.filter .q-field--auto-height.q-field--labeled .q-field__suffix {
  padding-top: 15px;
}
.location {
  display: flex;
  gap: 40px;
}
.location__left {
  max-width: 265px;
  width: 100%;
  height: fit-content;
  position: sticky;
  position: -webkit-sticky;
  top: 140px;
  right: 0;
  bottom: 260px;
}
.location__left-top {
  margin-bottom: 10px;
  padding: 10px;
  border-radius: 20px;
  border: 1px solid #ddd;
}
.location__left-top .btn-primary {
  padding: 10px;
}
.location__img {
  margin-bottom: 10px;
  border-radius: 15px;
  position: relative;
}
.location__img .q-img {
  border-radius: 15px;
  height: 220px;
}
.location__rating {
  padding: 5px 10px 5px 5px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(75px);
          backdrop-filter: blur(75px);
  position: absolute;
  z-index: 3;
  bottom: 10px;
  left: 10px;
  display: flex;
  align-items: center;
  gap: 5px;
  color: #ffffff;
}
.location .q-rating__icon-container + .q-rating__icon-container {
  margin-left: 0px;
}
.location__rating-number {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
}
.location__right {
  width: 100%;
}
.location__about {
  margin-bottom: 63px;
}
.location__about .top {
  margin-top: 20px;
  margin-bottom: 20px;
  justify-content: space-between;
}
.location__about .top .favorite-btn {
  background-color: #f2f2f2;
  width: 60px;
  height: 60px;
}
.location__text {
  margin-bottom: 8px;
  color: #858790;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
}
.location__text.location__text_full {
  -webkit-line-clamp: unset;
  line-clamp: unset;
}
.location .events {
  margin-bottom: 40px;
}
.location .events .q-page-container-m {
  padding: 0px;
}
.location .events .title {
  font-size: 32px;
}
.location .events .top .btn-all {
  display: none;
}
.location .events .top {
  margin-bottom: 8px;
}
.location .events .q-list {
  width: 100%;
}
.location .events__top {
  margin-bottom: 20px;
  height: 286px;
}
.location .events__title {
  margin-bottom: 10px;
  font-size: 20px;
  line-height: 1.4;
}
.location .location__subscription-btn {
  width: 100%;
}
.location .map__location {
  margin-bottom: 10px;
  padding: 20px;
  border-radius: 20px;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  display: flex;
  gap: 10px;
  font-weight: 500;
  cursor: pointer;
}
.location .map .q-avatar,
.location .map .q-avatar__content {
  color: #ffffff;
  font-size: 20px;
  font-weight: 500;
  line-height: 24px;
}
.location .map__location-address {
  color: #858790;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}
.location .map__wrap {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
}
.location .map__wrap > div {
  width: 100%;
}
.location .map__wrap .__ymap {
  height: 220px !important;
}
.location__left .favorite-btn {
  position: absolute;
  z-index: 5;
  top: 10px;
  right: 10px;
}
.locations__filter.section {
  padding-bottom: 21px;
  margin-bottom: 0;
}
.locations__filter .title-l {
  margin-bottom: 20px;
}
.locations .top {
  margin-bottom: 32px;
}
.locations__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.locations__item {
  position: relative;
  height: 333px;
  border-radius: 30px;
  overflow: hidden;
}
.locations__item a {
  padding: 30px;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  cursor: pointer;
}
.locations__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  border-radius: 30px;
}
.locations__img .q-img {
  height: 100%;
}
.locations__img::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
}
.locations__name {
  position: relative;
  z-index: 3;
  color: #ffffff;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
}
.locations .rating {
  padding: 5px 10px 5px 5px;
  font-size: 15px;
  line-height: 16px;
}
.locations .rating svg {
  width: 16px;
  height: 16px;
}
.location-list-page {
  padding-top: 29px;
}
.location-list-page .title-l {
  margin-bottom: 12px;
  width: 100%;
}
.location-list-page .section {
  padding-bottom: 60px;
}
.location-category-list-page .top {
  display: none;
}
@media (max-width: 1180px) {
.location-page .events .q-list {
    grid-template-columns: repeat(2, 1fr);
}
.location-page .events .q-item a {
    width: 100%;
    height: 100%;
}
.locations__list {
    grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width: 768px) {
.filter {
    align-items: center;
}
.filter .q-field {
    width: 100%;
    order: 2;
}
.filter .q-field,
  .filter .q-field__inner {
    border-radius: 10px;
}
.filter .q-field__marginal {
    height: 48px;
}
.filter .q-field--auto-height .q-field__control {
    min-height: 48px;
}
.filter .q-select {
    max-width: 100%;
    border-radius: 10px;
}
.filter .q-field--standout .q-field__control {
    border-radius: 10px;
    padding: 0 10px;
}
.filter .q-field__counter {
    top: -37px;
    right: 42px;
}
.filter .q-field__label {
    top: 15px;
}
.filter .q-field--auto-height.q-field--labeled .q-field__native,
  .filter .q-field--auto-height.q-field--labeled .q-field__prefix,
  .filter .q-field--auto-height.q-field--labeled .q-field__suffix {
    padding-top: 0px;
}
.filter .q-field__counter-inner {
    top: -37px;
}
.location {
    flex-direction: column;
}
.location .title-s {
    margin-top: 0;
    font-size: 24px;
}
.location .location__left {
    position: unset;
}
.location .location__about {
    margin-bottom: 40px;
}
.location .location__text {
    font-size: 15px;
}
.locations .btn-all {
    margin-left: auto;
}
.location-list-page {
    padding-top: 0;
}
.location-list-page .location {
    margin-left: auto;
    height: 48px;
}
.location-list-page .q-list {
    padding-bottom: 20px;
    overflow-x: auto;
    grid-template-columns: repeat(4, 260px);
}
.location-list-page .q-item {
    height: 260px;
}
.location-list-page .locations__filter {
    display: flex;
    justify-content: space-between;
}
.location-list-page .section {
    padding-bottom: 20px;
}
.location-list-page .title-l {
    width: fit-content;
    margin-bottom: 0;
}
.location-category-list-page .location {
    margin-left: auto;
    height: 48px;
}
.location-category-list-page .q-list {
    grid-template-columns: repeat(2, 1fr);
}
.location-category-list-page .q-item {
    height: 260px;
}
.location-category-list-page .filter .title-l {
    width: fit-content;
    margin-bottom: 0;
}
.location-category-list-page .location {
    margin-left: auto;
}
.location-page .events .q-list {
    display: flex;
    justify-content: start;
    align-items: start;
    overflow-x: auto;
}
.location-page .events .q-item a {
    width: 260px;
}
.location-page .events .q-item {
    max-width: 260px;
}
.location-page .events__top {
    height: 260px;
}
.location-page .location__text {
    font-size: 15px;
}
.location-page .events .title {
    font-size: 24px;
}
.location-page .events {
    padding-top: 0;
}
}
@media (max-width: 500px) {
.location__left {
    max-width: 100%;
    border: none;
    padding: 0;
}
.location__img .q-img {
    height: 350px;
}
.location__left .btn-primary {
    width: 100%;
}
.location-category-list-page .q-list {
    grid-template-columns: repeat(1, auto);
}
}