.contact .wpcf7-form .wpcf7-form-control-wrap {
  display: block;
}

.contact .wpcf7-form .wpcf7-not-valid-tip {
  display: block;
  margin: 8px 0 0 16px;
  padding-left: 10px;
  color: #d8000c;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
}

.contact .wpcf7-form-control.wpcf7-not-valid {
  border-color: #d8000c;
}

.contact .wpcf7-form .wpcf7-response-output {
  display: none;
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  color: #d8000c;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}

.contact .wpcf7-form.invalid .wpcf7-response-output,
.contact .wpcf7-form.unaccepted .wpcf7-response-output,
.contact .wpcf7-form.payment-required .wpcf7-response-output,
.contact .wpcf7-form.failed .wpcf7-response-output,
.contact .wpcf7-form.aborted .wpcf7-response-output {
  display: block;
}

.contact .wpcf7-form.sent .wpcf7-response-output {
  display: block;
  color: #2e7d32;
}

.contact .wpcf7-form input[type="file"] {
  width: auto;
  margin-left: 16px;
  padding: 0 0 0 10px;
  font-size: 16px;
  line-height: 1.6;
}

.contact .wpcf7-form input[type="file"]::file-selector-button {
  margin-right: 12px;
  padding: 8px 18px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  color: inherit;
  font-size: 15px;
  font-family: inherit;
  cursor: pointer;
}

.contact .wpcf7-form input[type="file"]::file-selector-button:hover {
  background: #f5f5f5;
}

.contact .wpcf7-spinner {
  margin-left: 12px;
  vertical-align: middle;
}
