.contact-form {
  max-width: 642px;
  width: 100%;
  font-weight: 400;
  font-size: 16px;
  line-height: 140%;
  color: #4F4F4F;
}

.contact-form .form-item {
  margin: unset;
}

.contact-form input[type=text],
.contact-form input[type=tel],
.contact-form select,
.contact-form input[type=email] {
  width: 100%;
  background: #FFFFFF;
  border: 1px solid #E4E4E4;
  padding: 11px 12px;
  height: unset;
  max-height: 47px;
  border-radius: unset;
  color: #4F4F4F;
  margin-bottom: 24px;
}

.contact-form textarea {
  width: 100%;
  background: #FFFFFF;
  border: 1px solid #E4E4E4;
  padding: 11px 12px;
  height: unset;
  border-radius: unset;
  resize: none;
  margin-bottom: 24px;
}

.contact-form .form-type-checkbox {
  display: flex;
}
.contact-form .form-type-checkbox.js-webform-states-hidden {
  display: none;
}
.contact-form .form-type-checkbox > label,
.contact-form #edit-policy-all p.text-disclaimer,
.contact-form #edit-contact-policy {
  font-style: italic;
  font-weight: 400;
  font-size: 12px;
  line-height: 130%;
  color: #58595B;
  margin: 0 0 0 8px;
}

.contact-form #edit-policy-all a {
  color: #58595B;
  font-style: italic;
  font-weight: 400;
  font-size: 12px;
  line-height: 130%;
  text-decoration: underline;
}

.contact-form #edit-actions {
  display: flex;
  justify-content: center;
}

.contact-form input[type=submit] {
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 140%;
  text-align: center;
  text-transform: uppercase;
  padding: 18px 34px 18px 33px;
  border: none;
}

.form-item input.error, .form-item textarea.error, .form-item select.error {
  border: 2px solid red !important;
}

.contact-form #edit-policy-all p.text-disclaimer {
  margin-left: unset;
  margin-bottom: 12px;
}

.contact-form #edit-contact-policy {
  margin-left: unset;
}

.g-recaptcha {
  display: flex;
  justify-content: center;
  margin-top: 2em;
}
.contact-with-file-upload h3 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 0;
}
.contact-with-file-upload  .webform-flexbox {
  gap: 10px;
}
.contact-with-file-upload .download-file-description-wrapper,
.contact-with-file-upload .upload-file-description-wrapper,
.contact-with-file-upload .submit-file-description-wrapper {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 15px;
}
.contact-with-file-upload .download-file-description-wrapper img,
.contact-with-file-upload .upload-file-description-wrapper img,
.contact-with-file-upload .submit-file-description-wrapper img {
  width: 100px;
  height: 100px;
  margin: 0 auto;
}
.contact-with-file-upload .download-file-description-wrapper .download-file-description,
.contact-with-file-upload .upload-file-description-wrapper .upload-file-description,
.contact-with-file-upload .submit-file-description-wrapper .submit-file-description {
  margin-bottom: 0;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .contact-with-file-upload  .webform-flexbox {
    flex-direction: column;
    display: flex;
    gap: 25px;
  }
}
.contact-with-file-upload .download-file-wrapper {
  text-align: center;
}
.contact-with-file-upload .download-file-wrapper a.file:hover {
  text-decoration: none;
}
.contact-with-file-upload .download-file-wrapper a.file,
.contact-with-file-upload .button {
  font-size: 14px!important;
  padding: 10px 20px!important;
  background-image: unset;
  border-radius: 10px!important;
  font-weight: 700!important;
  font-family: 'Open Sans SemiBold', sans-serif!important;
  margin: 0;
  cursor: pointer;
}

.contact-with-file-upload .webform-document-file {
  text-align: center;
}
.contact-with-file-upload .form-type-webform-document-file .webform-element-description {
  display: none;
}
.contact-with-file-upload  .webform-actions {
  margin: 0;
}
.contact-with-file-upload .form-type-processed-text.flex-1 {
  flex: 1;
}
.contact-with-file-upload .webform-section-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.contact-with-file-upload .webform-flex--container {
  height: 100%;
}
.contact-with-file-upload .column-wrapper-custom {
  margin-bottom: 25px;
}
.container-webform-full-width .contact-form {
  max-width: unset;
}
.container-webform-full-width .contact-form form.webform-submission-form {
  padding: 0;
}
@media screen and (min-width: 992px) {
  .contact-with-file-upload .column-wrapper-custom {
    padding: 0 100px;
  }
}
.webform-submission-form a[id^=edit-node-edit-link] {
  display: none;
}
.contact-with-file-upload .webform-actions {
  text-align: center;
}
