.contacts-block {
  max-width: 1200px;
  margin: 0 auto;
}
.contacts-map {
  width: 100%;
  background-color: #dedede;
  height: 384px;
}
@media (max-width: 567px) {
  .contacts-map {
    height: calc(100vw / 320.0 * 460.0 * 3.0 / 8.0);
  }
}
@media (min-width: 568px) and (max-width: 767px) {
  .contacts-map {
    height: calc(100vw / 568.0 * 320.0 * 5.0 / 8.0);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .contacts-map {
    height: calc(100vw / 768.0 * 924.0 * 6.0 / 16.0);
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .contacts-map {
    height: calc(100vw / 1024.0 * 668.0 * 7.0 / 12.0);
  }
}
.contacts-map-loading-wrap {
  text-align: center;
  font-size: 0;
  width: 100%;
  height: 384px;
  line-height: 384px;
}
@media (max-width: 567px) {
  .contacts-map-loading-wrap {
    height: calc(100vw / 320.0 * 460.0 * 3.0 / 8.0);
    line-height: calc(100vw / 320.0 * 460.0 * 3.0 / 8.0);
  }
}
@media (min-width: 568px) and (max-width: 767px) {
  .contacts-map-loading-wrap {
    height: calc(100vw / 568.0 * 320.0 * 5.0 / 8.0);
    line-height: calc(100vw / 568.0 * 320.0 * 5.0 / 8.0);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .contacts-map-loading-wrap {
    height: calc(100vw / 768.0 * 924.0 * 6.0 / 16.0);
    line-height: calc(100vw / 768.0 * 924.0 * 6.0 / 16.0);
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .contacts-map-loading-wrap {
    height: calc(100vw / 1024.0 * 668.0 * 7.0 / 12.0);
    line-height: calc(100vw / 1024.0 * 668.0 * 7.0 / 12.0);
  }
}
.contacts-map-loading-wrap .contacts-map-loading {
  font-size: 16px;
  color: #999;
  line-height: 1.25;
  display: inline-block;
  vertical-align: middle;
}
.contacts-text {
  overflow: hidden;
  width: 900px;
  margin: 64px 0 32px 200px;
  font-size: 16px;
  line-height: 20px;
}
@media (max-width: 567px) {
  .contacts-text {
    width: calc(100vw * 4.0 / 6.0);
    margin: 16px auto 0;
    font-size: 14px;
    line-height: 18px;
  }
}
@media (min-width: 568px) and (max-width: 767px) {
  .contacts-text {
    width: calc(100vw * 11.0 / 12.0);
    margin: calc(100vw / 568.0 * 320.0 * 1.0 / 8.0) -2px 0 calc(100vw * 1.0 / 12.0);
    font-size: 12px;
    line-height: 18px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .contacts-text {
    width: calc(100vw * 10.0 / 12.0);
    margin: calc(100vw / 768.0 * 924.0 * 1.0 / 16.0) auto calc(100vw / 768.0 * 924.0 * 1.0 / 16.0);
    font-size: 16px;
    line-height: 20px;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .contacts-text {
    width: calc(100vw * 12.0 / 16.0);
    margin: calc(100vw / 1024.0 * 668.0 * 1.0 / 12.0) auto calc(100vw / 1024.0 * 668.0 * 1.0 / 12.0);
    font-size: 16px;
    line-height: 20px;
  }
}
.contacts-text1,
.contacts-text2,
.contacts-text3 {
  float: left;
  width: 300px;
  white-space: pre-wrap;
}
@media (max-width: 567px) {
  .contacts-text1,
  .contacts-text2,
  .contacts-text3 {
    float: none;
    width: 100%;
    margin-bottom: 24px;
  }
}
@media (min-width: 568px) and (max-width: 767px) {
  .contacts-text1,
  .contacts-text2,
  .contacts-text3 {
    width: calc(100vw * 4.0 / 12.0);
    margin-bottom: 24px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .contacts-text1,
  .contacts-text2,
  .contacts-text3 {
    float: right;
    /* sic! */
    width: calc(100vw * 4.0 / 12.0);
    margin-bottom: 24px;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .contacts-text1,
  .contacts-text2,
  .contacts-text3 {
    width: calc(100vw * 4.0 / 16.0);
  }
}
@media (min-width: 568px) and (max-width: 767px) {
  .contacts-text1 {
    width: calc(100vw * 3.0 / 12.0);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .contacts-text1 {
    float: left;
    /* ugh */
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .contacts-text3 {
    float: right;
    width: calc(100vw * 3.0 / 16.0);
  }
}
.contacts-mobile-way-btn {
  background-color: #ccc;
  text-align: center;
  /* reset <a> and <button> style */
  margin: 0;
  padding: 0;
  border: 0;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  text-decoration: none;
  cursor: pointer;
  /* Хитрое выравнивание по вертикали */
  font-size: 0;
  display: none;
}
@media (max-width: 567px) {
  .contacts-mobile-way-btn {
    display: block;
    height: calc(100vw / 320.0 * 460.0 * 1.0 / 8.0);
    line-height: calc(100vw / 320.0 * 460.0 * 1.0 / 8.0);
  }
}
@media (min-width: 568px) and (max-width: 767px) {
  .contacts-mobile-way-btn {
    display: block;
    height: calc(100vw / 568.0 * 320.0 * 1.0 / 8.0);
    line-height: calc(100vw / 568.0 * 320.0 * 1.0 / 8.0);
  }
}
.contacts-mobile-way-btn > .contacts-mobile-way-text {
  font-size: 14px;
  line-height: 1.25;
  display: inline-block;
  vertical-align: middle;
}
