/* Contacts Page
--------------------------------------------- */
.site-main > section:not(.feedback-form) {
  margin: clamp(5rem, calc(3.1796116505rem + 7.7669902913vw), 12.5rem) 0;
}

.feedback-form__info {
  display: grid;
  gap: clamp(0.625rem, calc(0.3216019417rem + 1.2944983819vw), 1.875rem);
}
.feedback-form__title {
  text-transform: uppercase;
}
.feedback-form__description {
  margin: clamp(0.625rem, calc(0.3216019417rem + 1.2944983819vw), 1.875rem) 0 clamp(2.5rem, calc(2.1966019417rem + 1.2944983819vw), 3.75rem);
}

.contact-form {
  display: grid;
  grid-template-columns: 1fr;
  -moz-column-gap: clamp(2.5rem, calc(2.6516990291rem + -0.6472491909vw), 1.875rem);
       column-gap: clamp(2.5rem, calc(2.6516990291rem + -0.6472491909vw), 1.875rem);
  row-gap: clamp(1.25rem, calc(1.0983009709rem + 0.6472491909vw), 1.875rem);
}
.contact-form__field {
  display: flex;
  flex-direction: column;
  gap: clamp(0.625rem, calc(0.7311893204rem + -0.4530744337vw), 0.1875rem);
}
.contact-form__field--send {
  margin-top: clamp(1.25rem, calc(0.9466019417rem + 1.2944983819vw), 2.5rem);
}
.contact-form__field--send .button {
  border: 0;
  max-width: 100%;
}
.contact-form__label {
  font-weight: bold;
}
.contact-form__input, .contact-form__textarea {
  font-size: clamp(1rem, calc(0.9696601942rem + 0.1294498382vw), 1.125rem);
  padding: clamp(1.25rem, calc(1.0224514563rem + 0.9708737864vw), 2.1875rem) clamp(1.875rem, calc(1.7991504854rem + 0.3236245955vw), 2.1875rem);
  border-radius: clamp(1.25rem, calc(1.3106796117rem + -0.2588996764vw), 1rem);
  border: 1px solid #898989;
  background-color: #f8f8f8;
  width: 100%;
}
.contact-form__textarea {
  resize: none;
}

.support__title {
  margin-bottom: clamp(0.625rem, calc(0.3216019417rem + 1.2944983819vw), 1.875rem);
  text-transform: uppercase;
}
.support__text {
  margin-bottom: clamp(1.25rem, calc(0.6432038835rem + 2.5889967638vw), 3.75rem);
}
.support__buttons {
  display: grid;
  gap: clamp(0.625rem, calc(0.3974514563rem + 0.9708737864vw), 1.5625rem);
}

.service-area__title {
  margin-bottom: clamp(0.625rem, calc(0.3216019417rem + 1.2944983819vw), 1.875rem);
  text-transform: uppercase;
}
.service-area__text {
  margin-bottom: clamp(1.25rem, calc(0.6432038835rem + 2.5889967638vw), 3.75rem);
}

#map {
  border: 1px solid #898989;
  aspect-ratio: 335/400;
  border-radius: clamp(1.375rem, calc(0.5558252427rem + 3.4951456311vw), 4.75rem);
  overflow: hidden;
}

.faq-block__container {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, calc(0.9466019417rem + 1.2944983819vw), 2.5rem);
}
.faq-block__title {
  text-transform: uppercase;
}
.faq-block__button {
  width: 100%;
  max-width: 43.75rem;
}

form.submitting {
  opacity: 0.6;
  pointer-events: none;
}

form.submitting .button {
  cursor: not-allowed;
}

.wpcf7-not-valid-tip {
  display: none;
}

.wpcf7-not-valid {
  outline: 1px solid red !important;
}

.wpcf7-response-output {
  font-size: 9px;
  width: 100%;
  max-width: 100%;
  text-align: center;
  border-width: 1px !important;
  text-transform: uppercase;
  border-radius: 20px;
  margin: 0.5rem auto 0 !important;
}

.wpcf7-spinner {
  display: none;
}

@media (min-width: 46.5rem) {
  .feedback-form__info {
    display: block;
  }
  .feedback-form__title {
    display: inline;
  }
  .feedback-form__intro {
    text-transform: uppercase;
    font-family: var(--font-family-heading);
    font-size: var(--h2);
    display: inline;
  }
  .contact-form__field--send {
    justify-content: flex-end;
  }
  .contact-form__textarea {
    height: 100%;
    min-height: 10rem;
  }
}

@media (min-width: 64rem) {
  .site-main > section:not(.feedback-form) {
    margin: clamp(3.75rem, calc(2.3847087379rem + 5.8252427184vw), 9.375rem) 0;
  }
  .feedback-form__info {
    gap: clamp(0.46875rem, calc(0.2412014563rem + 0.9708737864vw), 1.40625rem);
  }
  .feedback-form__description {
    margin: clamp(0.46875rem, calc(0.2412014563rem + 0.9708737864vw), 1.40625rem) 0 clamp(1.875rem, calc(1.6474514563rem + 0.9708737864vw), 2.8125rem);
    width: 45%;
  }
  .contact-form {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    -moz-column-gap: clamp(1.875rem, calc(-0.1729368932rem + 8.7378640777vw), 10.3125rem);
         column-gap: clamp(1.875rem, calc(-0.1729368932rem + 8.7378640777vw), 10.3125rem);
  }
  .contact-form__field {
    gap: clamp(0.46875rem, calc(0.5483919903rem + -0.3398058252vw), 0.140625rem);
  }
  .contact-form__field--name, .contact-form__field--email, .contact-form__field--phone {
    grid-row: 1;
    grid-column: 1;
  }
  .contact-form__field--email {
    grid-row: 2;
  }
  .contact-form__field--phone {
    grid-row: 3;
  }
  .contact-form__field--message {
    grid-row: 1/span 2;
  }
  .contact-form__field--message, .contact-form__field--send {
    grid-column: 2;
  }
  .contact-form__field--send {
    grid-row: 3;
    margin-top: clamp(0.9375rem, calc(0.7099514563rem + 0.9708737864vw), 1.875rem);
  }
  .contact-form__input, .contact-form__textarea {
    font-size: clamp(0.75rem, calc(0.7272451456rem + 0.0970873786vw), 0.84375rem);
    padding: clamp(0.9375rem, calc(0.7668385922rem + 0.7281553398vw), 1.640625rem) clamp(1.40625rem, calc(1.3493628641rem + 0.2427184466vw), 1.640625rem);
    border-radius: clamp(0.9375rem, calc(0.9830097087rem + -0.1941747573vw), 0.75rem);
  }
  .contact-form__textarea {
    min-height: unset;
  }
  .support__title {
    margin-bottom: clamp(0.46875rem, calc(0.2412014563rem + 0.9708737864vw), 1.40625rem);
  }
  .support__text {
    margin-bottom: clamp(0.9375rem, calc(0.4824029126rem + 1.9417475728vw), 2.8125rem);
  }
  .support__buttons {
    gap: clamp(0.46875rem, calc(0.2980885922rem + 0.7281553398vw), 1.171875rem);
    grid-template-columns: repeat(3, 1fr);
  }
  .service-area__title {
    margin-bottom: clamp(0.46875rem, calc(0.2412014563rem + 0.9708737864vw), 1.40625rem);
  }
  .service-area__text {
    margin-bottom: clamp(0.9375rem, calc(0.4824029126rem + 1.9417475728vw), 2.8125rem);
  }
  #map {
    aspect-ratio: 1820/842;
    border-radius: clamp(1.03125rem, calc(0.416868932rem + 2.6213592233vw), 3.5625rem);
  }
  .faq-block__container {
    gap: clamp(0.9375rem, calc(0.7099514563rem + 0.9708737864vw), 1.875rem);
    flex-direction: row;
    align-items: center;
  }
  .faq-block__title {
    max-width: 50%;
  }
  .faq-block__button {
    max-width: 32.8125rem;
  }
  .wpcf7-response-output {
    font-size: 12px;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 80%;
  }
}

@media (min-width: 87.5rem) {
  .feedback-form__form-wrapper {
    max-width: 90%;
  }
}

@media (max-width: 46.4875rem) {
  .service-area img[src*="icon-marker.svg"] {
    width: 23px !important;
    height: 30px !important;
  }
}