*,
*:before,
*:after {
  box-sizing: border-box;
}

/*
 * Почему здесь именно так:
 * Использование Portal переносит отрисовку компонентов в body,
 * и если у body нет Scroll'а, то это ломает расчёт координат при
 * scrollIntoViewIfNeeded для динамических элементов (селекты, списки и т.д.).
 * Поэтому делаем Scroll-элементом именно body, а не корневой html-элемент.
 * В этом случае отображаемая (viewport) высота body будет ограничена
 * и scrollIntoViewIfNeeded сможет нормально расчитать координаты.
 */

html {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

body {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow-y: auto;
  font-family: Arial, serif;
  color: #222a37;
}

@media (min-width: 1260px) {
  body {
    overflow-x: hidden;
  }
}
