/* TED Gravity Forms Contact Replacement v1.0.0 */
.ted-gf-divi-module,
.ted-gf-divi-module .et_pb_text_inner,
.ted-gf-divi-module .gform_wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.ted-gf-divi-module .gform_wrapper.gravity-theme .gform_fields,
.ted-gf-divi-module .gform_wrapper .gform_fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 24px !important;
  row-gap: 14px !important;
}

.ted-gf-divi-module .gfield {
  margin: 0 !important;
  padding: 0 !important;
}

.ted-gf-divi-module .ted-gf-half { grid-column: span 1 !important; }
.ted-gf-divi-module .ted-gf-full { grid-column: 1 / -1 !important; }

.ted-gf-divi-module .gfield_label,
.ted-gf-divi-module .gform-field-label {
  color: #d0d0d0 !important;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.ted-gf-divi-module .hidden_label .gfield_label,
.ted-gf-divi-module .gfield--type-honeypot,
.ted-gf-divi-module .gform_validation_container {
  position: absolute !important;
  left: -9999px !important;
}

.ted-gf-divi-module input[type="text"],
.ted-gf-divi-module input[type="email"],
.ted-gf-divi-module input[type="tel"],
.ted-gf-divi-module input[type="number"],
.ted-gf-divi-module input[type="date"],
.ted-gf-divi-module textarea,
.ted-gf-divi-module select {
  width: 100% !important;
  min-height: 58px !important;
  background: #101010 !important;
  color: #fff !important;
  border: 1px solid #333 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 18px !important;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  transition: border-color .18s ease, background-color .18s ease !important;
}

.ted-gf-divi-module textarea {
  min-height: 160px !important;
  resize: vertical;
}

.ted-gf-divi-module input::placeholder,
.ted-gf-divi-module textarea::placeholder {
  color: #8e8e8e !important;
  opacity: 1 !important;
}

.ted-gf-divi-module input:focus,
.ted-gf-divi-module textarea:focus,
.ted-gf-divi-module select:focus {
  border-color: #ea1f24 !important;
  outline: none !important;
  box-shadow: none !important;
}

.ted-gf-divi-module .gfield_error input,
.ted-gf-divi-module .gfield_error textarea {
  border-color: #ea1f24 !important;
}

.ted-gf-divi-module .gfield_validation_message,
.ted-gf-divi-module .validation_message,
.ted-gf-divi-module .gform_validation_errors {
  color: #ea1f24 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 7px 0 0 !important;
  font-size: 12px !important;
}

/* Match the old Divi math-captcha + submit-button row. */
.ted-gf-divi-module .ted-gf-math {
  grid-column: 2 !important;
  width: max-content !important;
  justify-self: end !important;
  display: grid !important;
  grid-template-columns: auto 54px !important;
  align-items: center !important;
  gap: 10px !important;
  margin-right: 270px !important;
  min-height: 58px !important;
}

.ted-gf-divi-module .ted-gf-math .gfield_label,
.ted-gf-divi-module .ted-gf-math .gform-field-label {
  position: static !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  overflow: visible !important;
  white-space: nowrap !important;
  margin: 0 !important;
  color: #e0e0e0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.ted-gf-divi-module .ted-gf-math .ginput_container { margin: 0 !important; }
.ted-gf-divi-module .ted-gf-math input {
  width: 54px !important;
  min-width: 54px !important;
  height: 58px !important;
  min-height: 58px !important;
  padding: 10px !important;
  text-align: center !important;
}

.ted-gf-divi-module .gform_footer,
.ted-gf-divi-module .gform_page_footer {
  margin: -58px 0 0 !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  min-height: 58px !important;
}

.ted-gf-divi-module .gform_footer input[type="submit"],
.ted-gf-divi-module .gform_footer button,
.ted-gf-divi-module .gform_button {
  min-height: 58px !important;
  background: #ea1f24 !important;
  color: #fff !important;
  border: 2px solid #ea1f24 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 14px 22px !important;
  margin: 0 !important;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .18s ease, color .18s ease !important;
}

.ted-gf-divi-module .gform_footer input[type="submit"]:hover,
.ted-gf-divi-module .gform_footer button:hover,
.ted-gf-divi-module .gform_button:hover {
  background: transparent !important;
  color: #ea1f24 !important;
}

.ted-gf-divi-module .gform_confirmation_wrapper,
.ted-gf-divi-module .gform_confirmation_message {
  color: #fff !important;
  border-left: 4px solid #ea1f24 !important;
  padding: 18px 20px !important;
  background: #101010 !important;
  font-size: 16px !important;
}

@media (max-width: 767px) {
  .ted-gf-divi-module .gform_wrapper.gravity-theme .gform_fields,
  .ted-gf-divi-module .gform_wrapper .gform_fields {
    grid-template-columns: 1fr !important;
  }
  .ted-gf-divi-module .ted-gf-half,
  .ted-gf-divi-module .ted-gf-full,
  .ted-gf-divi-module .ted-gf-math { grid-column: 1 !important; }
  .ted-gf-divi-module .ted-gf-math {
    justify-self: start !important;
    margin-right: 0 !important;
  }
  .ted-gf-divi-module .gform_footer,
  .ted-gf-divi-module .gform_page_footer {
    margin-top: 18px !important;
    justify-content: flex-start !important;
  }
}
