/* Адаптив и производительность — Горизонт */
html { -webkit-text-size-adjust: 100%; }
img, video, iframe, svg { max-width: 100%; height: auto; }
img { content-visibility: auto; }
.main, .container { width: 100%; margin-left: auto; margin-right: auto; padding-left: 15px; padding-right: 15px; }
table { max-width: 100%; }
.table-wrap, .responsive-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Большие мониторы */
@media (min-width: 1920px) {
  .main, .container { max-width: 1600px; }
  body { font-size: 16px; }
}
@media (min-width: 2560px) {
  .main, .container { max-width: 1840px; }
  body { font-size: 17px; line-height: 1.65; }
  h1 { font-size: 42px; }
  h2 { font-size: 34px; }
}
/* 3440x1440 и шире */
@media (min-width: 3400px) {
  .main, .container { max-width: 2200px; }
  body { font-size: 18px; }
  h1 { font-size: 48px; }
  h2 { font-size: 38px; }
  .header .logo svg { width: 320px; height: 62px; }
}

/* Планшеты */
@media (max-width: 1200px) {
  .main, .container { padding-left: 12px; padding-right: 12px; }
}
@media (max-width: 992px) {
  h1 { font-size: 30px; line-height: 1.25; }
  h2 { font-size: 24px; }
  img { height: auto; }
}

/* Мобильные */
@media (max-width: 768px) {
  body { font-size: 15px; }
  h1 { font-size: 24px; }
  h2 { font-size: 20px; }
  .main, .container { padding-left: 12px; padding-right: 12px; }
  table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  input, select, textarea { font-size: 16px; } /* без зума в iOS */
  .btn, button, a.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  * { -webkit-tap-highlight-color: rgba(0,0,0,.08); }
}
@media (max-width: 480px) {
  body { font-size: 14px; }
  h1 { font-size: 21px; }
  h2 { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* Защита от горизонтального скролла */
html, body { overflow-x: hidden; }
@media (max-width: 768px) {
  .main, .container { width: auto !important; max-width: 100% !important; box-sizing: border-box; }
  .header, .headnew, .footernav { position: static !important; }
  iframe, .map iframe { max-width: 100%; }
  h1, h2, h3, p { word-wrap: break-word; overflow-wrap: break-word; }
}
