@charset "UTF-8";
/**
  Нормализация блочной модели
 */
*,
::before,
::after {
  box-sizing: border-box;
}

/**
  Убираем внутренние отступы слева тегам списков,
  у которых есть атрибут class
 */
:where(ul, ol):where([class]) {
  padding-left: 0;
}

/**
  Убираем внешние отступы body и двум другим тегам,
  у которых есть атрибут class
 */
body,
:where(blockquote, figure):where([class]) {
  margin: 0;
}

/**
  Убираем внешние отступы вертикали нужным тегам,
  у которых есть атрибут class
 */
:where(h1, h2, h3, h4, h5, h6, p, ul, ol, dl):where([class]) {
  margin-block: 0;
}

:where(dd[class]) {
  margin-left: 0;
}

:where(fieldset[class]) {
  margin-left: 0;
  padding: 0;
  border: none;
}

/**
  Убираем стандартный маркер маркированному списку,
  у которого есть атрибут class
 */
:where(ul[class]) {
  list-style: none;
}

:where(address[class]) {
  font-style: normal;
}

/**
  Обнуляем вертикальные внешние отступы параграфа,
  объявляем локальную переменную для внешнего отступа вниз,
  чтобы избежать взаимодействие с более сложным селектором
 */
p {
  --paragraphMarginBottom: 24px;
  margin-block: 0;
}

/**
  Внешний отступ вниз для параграфа без атрибута class,
  который расположен не последним среди своих соседних элементов
 */
p:where(:not([class]):not(:last-child)) {
  margin-bottom: var(--paragraphMarginBottom);
}

/**
  Упрощаем работу с изображениями и видео
 */
img,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

/**
  Наследуем свойства шрифт для полей ввода
 */
input,
textarea,
select,
button {
  font: inherit;
}

html {
  /**
    Пригодится в большинстве ситуаций
    (когда, например, нужно будет "прижать" футер к низу сайта)
   */
  height: 100%;
  /**
    Убираем скачок интерфейса по горизонтали
    при появлении / исчезновении скроллбара
   */
}

/**
  Плавный скролл
 */
html,
:has(:target) {
  scroll-behavior: smooth;
}

body {
  /**
    Пригодится в большинстве ситуаций
    (когда, например, нужно будет "прижать" футер к низу сайта)
   */
  min-height: 100%;
  /**
    Унифицированный интерлиньяж
   */
  line-height: 1.5;
}

/**
  Нормализация высоты элемента ссылки при его инспектировании в DevTools
 */
a:where([class]) {
  display: inline-flex;
}

/**
  Курсор-рука при наведении на элемент
 */
button,
label {
  cursor: pointer;
}

/**
  Приводим к единому цвету svg-элементы
  (за исключением тех, у которых уже указан
  атрибут fill со значением 'none' или начинается с 'url')
 */
:where([fill]:not([fill=none], [fill^=url])) {
  fill: currentColor;
}

/**
  Приводим к единому цвету svg-элементы
  (за исключением тех, у которых уже указан
  атрибут stroke со значением 'none')
 */
:where([stroke]:not([stroke=none], [stroke^=url])) {
  stroke: currentColor;
}

/**
  Чиним баг задержки смены цвета при взаимодействии с svg-элементами
 */
svg * {
  transition-property: fill, stroke;
}

/**
  Приведение рамок таблиц в классический 'collapse' вид
 */
:where(table) {
  border-collapse: collapse;
  border-color: currentColor;
}

/**
  Удаляем все анимации и переходы для людей,
  которые предпочитают их не использовать
 */
@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.container {
  margin: 0 auto;
  max-width: 1350px;
  padding-left: 15px;
  padding-right: 15px;
  border: 1px solid #333;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}
.row > * {
  margin-left: 15px;
  margin-right: 15px;
}

.col {
  flex: 1 0 0%;
}

.col-1 {
  flex: 0 0 auto;
  width: calc(8.3333333333% - 30px);
}

.col-2 {
  flex: 0 0 auto;
  width: calc(16.6666666667% - 30px);
}

.col-3 {
  flex: 0 0 auto;
  width: calc(25% - 30px);
}

.col-4 {
  flex: 0 0 auto;
  width: calc(33.3333333333% - 30px);
}

.col-5 {
  flex: 0 0 auto;
  width: calc(41.6666666667% - 30px);
}

.col-6 {
  flex: 0 0 auto;
  width: calc(50% - 30px);
}

.col-7 {
  flex: 0 0 auto;
  width: calc(58.3333333333% - 30px);
}

.col-8 {
  flex: 0 0 auto;
  width: calc(66.6666666667% - 30px);
}

.col-9 {
  flex: 0 0 auto;
  width: calc(75% - 30px);
}

.col-10 {
  flex: 0 0 auto;
  width: calc(83.3333333333% - 30px);
}

.col-11 {
  flex: 0 0 auto;
  width: calc(91.6666666667% - 30px);
}

.col-12 {
  flex: 0 0 auto;
  width: calc(100% - 30px);
}

@media (min-width: 0) {
  .col-xs-1 {
    flex: 0 0 auto;
    width: calc(8.3333333333% - 30px);
  }
  .col-xs-2 {
    flex: 0 0 auto;
    width: calc(16.6666666667% - 30px);
  }
  .col-xs-3 {
    flex: 0 0 auto;
    width: calc(25% - 30px);
  }
  .col-xs-4 {
    flex: 0 0 auto;
    width: calc(33.3333333333% - 30px);
  }
  .col-xs-5 {
    flex: 0 0 auto;
    width: calc(41.6666666667% - 30px);
  }
  .col-xs-6 {
    flex: 0 0 auto;
    width: calc(50% - 30px);
  }
  .col-xs-7 {
    flex: 0 0 auto;
    width: calc(58.3333333333% - 30px);
  }
  .col-xs-8 {
    flex: 0 0 auto;
    width: calc(66.6666666667% - 30px);
  }
  .col-xs-9 {
    flex: 0 0 auto;
    width: calc(75% - 30px);
  }
  .col-xs-10 {
    flex: 0 0 auto;
    width: calc(83.3333333333% - 30px);
  }
  .col-xs-11 {
    flex: 0 0 auto;
    width: calc(91.6666666667% - 30px);
  }
  .col-xs-12 {
    flex: 0 0 auto;
    width: calc(100% - 30px);
  }
}
@media (min-width: 576px) {
  .col-sm-1 {
    flex: 0 0 auto;
    width: calc(8.3333333333% - 30px);
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: calc(16.6666666667% - 30px);
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: calc(25% - 30px);
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: calc(33.3333333333% - 30px);
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: calc(41.6666666667% - 30px);
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: calc(50% - 30px);
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: calc(58.3333333333% - 30px);
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: calc(66.6666666667% - 30px);
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: calc(75% - 30px);
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: calc(83.3333333333% - 30px);
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: calc(91.6666666667% - 30px);
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: calc(100% - 30px);
  }
}
@media (min-width: 768px) {
  .col-md-1 {
    flex: 0 0 auto;
    width: calc(8.3333333333% - 30px);
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: calc(16.6666666667% - 30px);
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: calc(25% - 30px);
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: calc(33.3333333333% - 30px);
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: calc(41.6666666667% - 30px);
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: calc(50% - 30px);
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: calc(58.3333333333% - 30px);
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: calc(66.6666666667% - 30px);
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: calc(75% - 30px);
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: calc(83.3333333333% - 30px);
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: calc(91.6666666667% - 30px);
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: calc(100% - 30px);
  }
}
@media (min-width: 992px) {
  .col-lg-1 {
    flex: 0 0 auto;
    width: calc(8.3333333333% - 30px);
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: calc(16.6666666667% - 30px);
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: calc(25% - 30px);
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: calc(33.3333333333% - 30px);
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: calc(41.6666666667% - 30px);
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: calc(50% - 30px);
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: calc(58.3333333333% - 30px);
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: calc(66.6666666667% - 30px);
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: calc(75% - 30px);
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: calc(83.3333333333% - 30px);
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: calc(91.6666666667% - 30px);
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: calc(100% - 30px);
  }
}
@media (min-width: 1200px) {
  .col-xl-1 {
    flex: 0 0 auto;
    width: calc(8.3333333333% - 30px);
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: calc(16.6666666667% - 30px);
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: calc(25% - 30px);
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: calc(33.3333333333% - 30px);
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: calc(41.6666666667% - 30px);
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: calc(50% - 30px);
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: calc(58.3333333333% - 30px);
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: calc(66.6666666667% - 30px);
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: calc(75% - 30px);
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: calc(83.3333333333% - 30px);
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: calc(91.6666666667% - 30px);
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: calc(100% - 30px);
  }
}
@media (min-width: 1400px) {
  .col-xxl-1 {
    flex: 0 0 auto;
    width: calc(8.3333333333% - 30px);
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: calc(16.6666666667% - 30px);
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: calc(25% - 30px);
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: calc(33.3333333333% - 30px);
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: calc(41.6666666667% - 30px);
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: calc(50% - 30px);
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: calc(58.3333333333% - 30px);
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: calc(66.6666666667% - 30px);
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: calc(75% - 30px);
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: calc(83.3333333333% - 30px);
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: calc(91.6666666667% - 30px);
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: calc(100% - 30px);
  }
}
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.header {
  background-color: #1e1b4b;
}

.main {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  max-width: 100%;
  background-color: #f1f5f9;
}

.main .container {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  width: 100%;
}

.main .row {
  flex-grow: 1;
  align-items: stretch;
}

.footer {
  background-color: #111827;
}

.block {
  text-align: center;
  text-transform: uppercase;
  border-radius: 8px;
  padding: 1rem;
}

.header .block:nth-child(1) {
  background-color: #818cf8;
  color: #1e1b4b;
  border: 1px solid #6366f1;
}

.header .block:nth-child(2) {
  background-color: #a78bfa;
  color: #1e1b4b;
  border: 1px solid #8b5cf6;
}

.main .block:nth-child(1) {
  background-color: #22d3ee;
  color: #0c4a6e;
  border: 1px solid #06b6d4;
}

.main .block:nth-child(2) {
  background-color: #60a5fa;
  color: #1e3a8a;
  border: 1px solid #3b82f6;
}

.footer .block:nth-child(1) {
  background-color: #34d399;
  color: #064e3b;
  border: 1px solid #10b981;
}

.footer .block:nth-child(2) {
  background-color: #fbbf24;
  color: #78350f;
  border: 1px solid #f59e0b;
}

.footer .block:nth-child(3) {
  background-color: #fb7185;
  color: #881337;
  border: 1px solid #f43f5e;
}

.footer .block:nth-child(4) {
  background-color: #c084fc;
  color: #3b0764;
  border: 1px solid #a855f7;
}
