.header-pages {
  padding: 60px 0 24px;
}

.header-pages-title {
  text-align: center;
  color: hsl(0, 0%, 90.2%);
}

.form-body {
  display: grid;
  gap: 12px;
  margin-bottom: 36px;
}

.form-item {
  position: relative;
  isolation: isolate;
}

.form-item::after {
  position: absolute;
  top: 18px;
  right: 24px;
  line-height: 0;
}

.form-item:has(.form-input:valid)::after {
  content: url("/media/done.svg");
}

.form-item-name::after {
  content: url("/media/userForm.svg");
}

.form-item-email::after {
  content: url("/media/mailForm.svg");
}

.form-item-message::after {
  content: url("/media/textForm.svg");
}

.form-label {
  font-size: 0;
}

.form-input {
  width: 100%;
  padding: 18px 60px 18px 24px;
  border: 1px solid hsl(0, 0%, 90.2%);
  border-radius: 2px;
  background-color: white;
  font-size: 1.125rem;
  line-height: normal;
  color: hsl(0, 0%, 10.2%);
}

.form-input:focus,
.form-input:focus-visible {
  outline: 1px solid hsl(279.8, 53.44%, 37.06%);
  outline-offset: 2px;
}

.form-textarea {
  resize: vertical;
}

.form-btn {
  width: 100%;
}

.contacts-figure {
  margin-bottom: 48px;
}

.contacts-figure-img {
  width: 170px;
  margin: 0 auto 24px;
}

.contacts-figure-figcaption {
  text-align: center;
  line-height: 1.5;
}

.contacts-info {
  display: grid;
  grid-template-columns: max-content;
  justify-content: center;
  gap: 48px;
}

.contacts-item-address {
  display: grid;
  gap: 12px;
}

.contacts-item-title {
  width: max-content;
  margin-bottom: 12px;
}

.contacts-item-title::after {
  margin: 6px 0 0;
}

.contacts-item-desc {
  display: flex;
  align-items: center;
  gap: 10px;
}

.contacts-item-desc[class*=icon-]::before {
  font-size: 1.1428571429em;
}

.contacts-info-icons::before {
  line-height: 0;
}

.contacts-info-skype::before {
  content: url("/media/skypeLogo.svg");
}

.contacts-info-telegram::before {
  content: url("/media/telegramLogo.svg");
}

.contacts-info-whatsapp::before {
  content: url("/media/whatsappLogo.svg");
}

.contacts-info-viber::before {
  content: url("/media/viberLogo.svg");
}

.contacts-info-github::before {
  content: url("/media/githubLogo.svg");
}

.contacts-info-facebook::before {
  content: url("/media/facebookLogo.svg");
}

.contacts-info-behance::before {
  content: url("/media/behanceLogo.svg");
}

.contacts-info-pinterest::before {
  content: url("/media/pinterestLogo.svg");
}

@supports ((-webkit-appearance: none) or (appearance: none)) {

}

@media (min-width: 540px) {
  .header-pages {
    padding: 96px 0 30px;
  }

  .form {
    max-width: 558px;
    margin: 0 auto;
  }

  .form-body {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 48px;
  }

  .form-item-message {
    grid-column: 1/-1;
  }

  .form-btn {
    display: block;
    width: initial;
    margin: 0 auto;
  }

  .contacts-info {
    max-width: 455px;
    grid-template-columns: repeat(2, 1fr);
    margin: 0 auto;
  }

@supports ((-webkit-appearance: none) or (appearance: none)) {

}
}

@media (min-width: 768px) {
  .contacts-figure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
  }

  .contacts-figure-img {
    margin: 0;
  }

  .contacts-figure-figcaption {
    max-width: 364px;
    text-align: left;
  }

  .contacts-item-title {
    margin-bottom: 24px;
  }

  .contacts-item-title::after {
    margin: 12px 0 0;
  }

@supports ((-webkit-appearance: none) or (appearance: none)) {

}
}

@media (min-width: 1024px) {
  .contacts-pages-body {
    display: flex;
    align-items: flex-start;
    gap: 60px;
  }

  .contacts-figure {
    margin: 0;
  }

@supports ((-webkit-appearance: none) or (appearance: none)) {

}
}