/* Убираем все отступы */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
 
}

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

/* При расчете размеров инпутов учитываем внутренние отступы и границы */
input,
textarea {
  box-sizing: border-box;
}

/* В body устанавливаем шрифт, ширину и высоту, а также фон */

.mainForm {
  font-family: serif;
  font-size: 20px;
  line-height: 1.2;
  width: 100%;
  min-height: 100vh;
  background-color: #e3e0ec;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Ограничиваем контейнер по ширине 1000px */
.container {
  width: 100%;
  max-width: 1000px;
  padding: 0 20px;
}

/* Стили самой формы */
.content {
  display: flex;

  align-items: center;

  justify-content: space-between;

  background: rgb(67, 135, 235);
  padding: 40px;
  border-radius: 40px;
}

/* Стили левой колонки */
.left-side {
  width: 25%;
  /* занимает 25% общей ширины */
  height: 100%;
  /* растягиваем на всю высоту */
  position: relative;
  /* позиционирование относительное (для ::before) */
  display: flex;
  flex-direction: column;
  /* внутри элементы располагаем в колонку */
}

/* Стили разделительной линии между левой и правой колонкой */
.left-side::before {
  content: "";
  /* контент нам не нужен */
  position: absolute;
  /* позиционируем относительно .left-side */
  height: 70%;
  /* высота 70% от .left-side */
  width: 2px;
  /* ширина 2px */
  background: #afafb6;
  right: -15px;
  /* позиционируем справа + отступ 15px (справа) */
  top: 50%;
  /* выравниваем по центру */
  transform: translateY(-50%);
  /* выравниваем по центру */
}

/* Стили правой колонки */
.right-side {
  width: 75%;
  /* занимает 75% общей ширины */
  margin-left: 75px;
}

/* Элементы левой колонки: адрес, телефон, email */
.details {
  margin-bottom: 15px;
  text-align: center;
}

/* Общие стили для иконок */
.details i {
  font-size: 26px;
  /* задаем размер */
  color: #3e2093;
  /* задаем цвет */
  margin-bottom: 10px;
}

/* Стили для заголовков левой колонки */
.topic {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 7px;
  /* отступ снизу 7px */
}

/* Стили для текста левой колонки */
.text-one,
.text-two,
.text-for-user {
  font-size: 20px;
  color: #ffffff;
}

/* Заголовок правой колонки */
.topic-text {
  font-size: 26px;
  font-weight: 600;
  color: #110e02;
  margin-bottom: 10px;
}

/* Текст правой колонки */
.right-side p {
  margin-bottom: 20px;
}

/* Контейнер для input'ов формы */
.input-box {
  height: 50px;
  /* по сути задаем высоту input'а */
  width: 100%;
  /* ширина на всю ширину правой колонки (с учетом padding) */
  margin-bottom: 20px;
  /* отступаем снизу 20px */
}

/* Стили для input и textarea (поле сообщение) */
.input-box input,
.input-box textarea {
  height: 100%;
  /* растягиваем на всю высоту контейнера 50px */
  width: 100%;
  /* растягиваем на всю ширину */
  border: none;
  /* убираем внешние края */
  border-radius: 8px;
  /* скругляем края */
  background: #f1e9cdce;
  /* задаем цвет фона */
  padding: 0 20px;
  /* отступ справа и слева 20px */
}

/* Отдельно стилизуем поле сообщение */
.input-box textarea {
  resize: none;
  /* чтобы нельзя было менять высоту */
  padding: 20px;
  font-family: "Roboto", sans-serif;
}

/* Это контейнер для поля сообщение */
.message-box {
  min-height: 110px;
  /* минимальная высота 110px */
}

/* Стили для контейнера кнопки */
.button {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Стили для самой кнопки */
.button input[type="button"] {
  color: #ffffff;
  font-size: 20px;
  background: rgba(0, 0, 207, 0.671);
  outline: none;
  border: none;
  padding: 10px 20px;
  border-radius: 20px;
  transition: 0.2s;
  /* чтобы плавно менялся цвет при наведении (:hover) */
}

/* Меняем цвет фона при наведении на кнопку */
.button input[type="button"]:hover {
  background: rgb(0, 0, 207);
}

/* Меняем стили при ширине экрана меньше 800px */
@media (max-width: 500px) {
  /* Теперь форма (правая колонка) будет сверху, а элементы (левая колонка) снизу */
  .content {
    height: 100%;
    flex-direction: column-reverse;
    /* располагаем в колонку и реверсивно */
  }

  /* Внутри левой колонки внутренние элементы располагаем в ряд */
  .left-side {
    margin-top: 50px;
    flex-direction: row;
    /* располагаем элементы (адрес, телефон, email) в ряд */
    width: 100%;
    /* левая колонка на всю ширину */
    justify-content: center;
    flex-wrap: wrap;
    /* перенос элементов, если не хватит места */
  }

  .details {
    margin-right: 20px;
  }

  .details:last-child {
    margin-right: 0;
  }

  /* Убираем разделительную линию */
  .left-side::before {
    display: none;
  }

  /* Правая колонка теперь на всю ширину и не имеет отступа слева */
  .right-side {
    width: 100%;
    margin-left: 0;
  }
}
