.contacts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 50px;
     -moz-column-gap: 50px;
          column-gap: 50px;
}
@media (max-width: 1150px) {
  .contacts {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.contacts-content--fill {
  width: 100%;
}

.contacts-section-list {
  margin: 50px 0;
}

/* Стили для фильтра городов */
.contacts-filter-city {
  margin-bottom: 30px;
}
.contacts-filter-city__alphabet {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  row-gap: 10px;
  margin-bottom: 60px;
}
.contacts-filter-city__letter {
  color: #A3A7AA;
  text-align: center;
  font-family: TTNormsPro;
  font-size: 20px;
  font-weight: 700;
  line-height: 100%;
  text-transform: lowercase;
  background: none;
  border: 0;
  margin: 0;
  padding: 0 3px;
  cursor: pointer;
  -webkit-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.contacts-filter-city__letter:hover {
  color: #050505;
}
.contacts-filter-city__letter--active {
  color: #050505;
}
.contacts-filter-city__letter--clear {
  color: #A3A7AA;
}
.contacts-filter-city__letter--clear:hover {
  color: #050505;
}

.contacts-filter-city__cities {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 100px;
     -moz-column-gap: 100px;
          column-gap: 100px;
  padding: 15px 0;
}
.contacts-filter-city__column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0;
}
.contacts-filter-city__city {
  color: #050505;
  font-family: TTNormsPro;
  font-size: 20px;
  font-weight: 800;
  line-height: 100%;
  text-transform: capitalize;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  cursor: pointer;
  -webkit-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
  transition: color 0.3s ease;
  margin-bottom: 10px;
}
.contacts-filter-city__city::before {
  content: "+";
  font-size: 30px;
  font-weight: 500;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  -o-transition: transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.contacts-filter-city__city:hover {
  color: #52c300;
}
.contacts-filter-city__city--active {
  color: #52c300;
}
.contacts-filter-city__city--active::before {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}
.contacts-filter-city__hint {
  padding: 30px 20px;
  text-align: center;
}
.contacts-filter-city__hint-text {
  color: #A3A7AA;
  font-family: TTNormsPro;
  font-size: 16px;
  font-weight: 400;
  line-height: 120%;
}
@media (max-width: 768px) {
  .contacts-filter-city__cities {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
  }
}

/* Стили для пустого состояния */
.contacts-empty-state {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 60px 20px;
  margin: 40px 0;
}
.contacts-empty-state__message {
  color: #A3A7AA;
  font-family: TTNormsPro;
  font-size: 20px;
  font-weight: 400;
  line-height: 100%;
  text-align: center;
}

.contacts-section-list__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -40px;
}
@media (max-width: 1150px) {
  .contacts-section-list__cards {
    margin: -30px;
  }
}
@media (max-width: 650px) {
  .contacts-section-list__cards {
    margin: -20px;
  }
}

.contacts-section-card {
  width: 25%;
  padding: 40px;
}
@media (max-width: 1150px) {
  .contacts-section-card {
    width: 33.3333%;
    padding: 30px;
  }
}
@media (max-width: 650px) {
  .contacts-section-card {
    width: 50%;
    padding: 20px;
  }
}
@media (max-width: 450px) {
  .contacts-section-card {
    width: 100%;
  }
}
.contacts-section-card__inner {
  max-width: 265px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 15px;
}
.contacts-section-card__name {
  color: #121318;
  font-family: TTNormsPro;
  font-size: 16px;
  font-weight: 800;
  line-height: 110%;
  text-transform: uppercase;
}
.contacts-section-card__line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.contacts-section-card__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.contacts-section-card__content, .contacts-section-card__content a {
  color: #121318;
  font-family: TTNormsPro;
  font-size: 14px;
  font-weight: 400;
  line-height: 17px;
  text-decoration: none;
}
.contacts-section-card__content a:hover {
  color: #52c300;
}
.contacts-section-card__icon {
  width: 23px;
  height: 23px;
  margin-right: 15px;
}
.contacts-section-card__icon .icon {
  width: 23px;
  height: 23px;
  fill: #121318;
}
.contacts-section-card__icon .icon.unfilled {
  fill: none;
  stroke: #121318;
}

.contacts-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-column-gap: 45px;
     -moz-column-gap: 45px;
          column-gap: 45px;
  margin-top: 40px;
}
@media (max-width: 650px) {
  .contacts-pagination {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.contacts-pagination__arrow {
  width: 10px;
  height: 12px;
  cursor: pointer;
}
.contacts-pagination__arrow .icon {
  width: 10px;
  height: 12px;
  display: block;
}
.contacts-pagination__arrow--left {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}
.contacts-pagination__arrow--disabled {
  cursor: not-allowed;
  opacity: 0.3;
  pointer-events: none;
}
.contacts-pagination__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.contacts-pagination__list li {
  color: #A3A7AA;
  text-align: center;
  font-family: TTNormsPro;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.contacts-pagination__list li._active {
  color: #121318;
}
.contacts-pagination__list li.first::after {
  content: "...";
}
.contacts-pagination__list li.last::before {
  content: "...";
}
.contacts-pagination__list li span {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  padding: 10px;
}
