/* Contact form styles are limited to the contact page. */
.contact-page .contact-section {
  padding: 70px 0 80px;
}

.contact-page .contact-intro {
  margin-bottom: 32px;
  color: #657080;
  word-break: keep-all;
}

.contact-page .contact-inquiry-form {
  padding: 32px;
  border: 1px solid #dfe6ee;
  border-radius: 12px;
  background: #fff;
  scroll-margin-top: 110px;
}

.contact-page .contact-form-heading {
  margin-bottom: 28px;
}

.contact-page .contact-result {
  margin-bottom: 24px;
  padding: 16px 18px;
  border: 1px solid;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.8;
  word-break: keep-all;
  overflow-wrap: break-word;
}

.contact-page .contact-result-success {
  border-color: #add7c6;
  background: #eff9f4;
  color: #23583e;
}

.contact-page .contact-result-error {
  border-color: #ebc5c5;
  background: #fff4f4;
  color: #8c3333;
}

.contact-page .contact-form-heading h3 {
  margin-bottom: 10px;
  color: #101d32;
  font-family: "Montserrat", "Malgun Gothic", sans-serif;
  font-size: 23px;
  font-weight: 600;
}

.contact-page .contact-form-heading p,
.contact-page .contact-optional {
  color: #657080;
  font-size: 12px;
  font-weight: 400;
}

.contact-page .contact-required {
  color: #0679bd;
}

.contact-page .contact-inquiry-form label {
  display: block;
  margin-bottom: 9px;
  color: #263241;
  font-weight: 600;
}

.contact-page .contact-inquiry-form .form-group {
  margin-bottom: 24px;
}

.contact-page .contact-inquiry-form .form-control {
  padding: 12px 14px;
  border-color: #dfe6ee;
  border-radius: 6px;
  background: #f8fafc;
  color: #101d32;
  font-family: "Montserrat", "Malgun Gothic", sans-serif;
  font-size: 14px;
}

.contact-page .contact-inquiry-form .form-control::placeholder {
  color: #69798b;
}

.contact-page .contact-inquiry-form .form-control:focus {
  border-color: #0679bd;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(6, 121, 189, .12);
}

.contact-page .contact-inquiry-form textarea {
  min-height: 190px;
  resize: vertical;
  line-height: 1.8;
}

.contact-page .contact-form-verification {
  padding-top: 6px;
}

.contact-page .contact-captcha-status {
  margin-top: 12px;
  color: #596b80;
  font-size: 13px;
  line-height: 1.8;
  word-break: keep-all;
}

.contact-page .contact-form-actions {
  margin-top: 24px;
}

.contact-page .contact-form-actions button {
  padding: 14px 30px;
  border: 1px solid #0679bd;
  border-radius: 6px;
  background: #0679bd;
  color: #fff !important;
  font-family: "Montserrat", "Malgun Gothic", sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
}

.contact-page .contact-form-actions button:hover {
  background: #005489;
}

.contact-page .contact-form-actions button:disabled {
  border-color: #dfe6ee;
  background: #e9eef4;
  color: #596b80 !important;
  cursor: not-allowed;
}

.contact-page .contact-form-actions button:focus-visible,
.contact-page .contact-captcha-status:focus {
  outline: 3px solid #0679bd;
  outline-offset: 4px;
}

.contact-page .contact-details {
  padding: 28px;
  border: 1px solid #dfe6ee;
  border-radius: 12px;
  background: #f6f8fb;
  overflow-wrap: break-word;
}

.contact-page .contact-details .contact-info:last-child {
  margin-bottom: 0;
}

.contact-page .contact-details .media-body h3 {
  font-size: 14px;
  line-height: 1.7;
}

.contact-page .contact-details a {
  max-width: 100%;
}

.contact-page .contact-details svg {
  flex-shrink: 0;
}

@media (max-width: 991px) {
  .contact-page .contact-section {
    padding: 50px 0;
  }

  .contact-page .contact-details {
    margin-top: 28px;
  }
}

@media (max-width: 575px) {
  .contact-page .contact-inquiry-form,
  .contact-page .contact-details {
    padding: 22px 18px;
  }

  .contact-page .contact-form-actions button {
    width: 100%;
  }
}
