:root {
  --gf-title-font-size: 26px;
  --gf-title-font-weight: 500;
  --gf-title-text-align: left;
  --gf-title-font-family: inherit;
  --gf-title-font-color: inherit;
  --gf-title-letter-spacing: normal;
  --gf-title-line-height : normal;
  --gf-title-text-decoration : none;
  --gf-title-text-transform : none;
  --gf-title-font-style : inherit;


  --gf-desc-font-size : inherit;
  --gf-desc-font-family : inherit;
  --gf-desc-text-align : left;
  --gf-desc-color : inherit;
  --gf-desc-letter-spacing : normal;
  --gf-desc-line-height : normal;
  --gf-desc-text-decoration : none;
  --gf-desc-text-transform : none;
  --gf-desc-font-style : inherit;
  --gf-desc-font-weight: normal;

  --gf-footer-text-align: right;
  --gf-footer-p: 0;
  --gf-footer-m: 14px 0;
  --gf-footer-bg : #ffffff00;
  --gf-footer-border-top : 1px dotted #CCC;
  --gf-footer-border-right : none;
  --gf-footer-border-bottom : none;
  --gf-footer-border-left : none;
  --gf-footer-border-radius : 0;

  --gf-input-bg-color: #eee;
  --gf-input-border: none;
  --gf-input-border-radius: 0;
  --gf-input-font-size: 14px;
  --gf-input-color: #999;
  --gf-input-p: 8px;
  --gf-input-m: 0;
  --gf-input-text-decoration : none;
  --gf-input-text-transform : none;
  --gf-input-font-style : inherit;
  --gf-input-font-weight: normal;

  --gf-input-font-family : inherit;
  --gf-input-letter-spacing : normal;
  --gf-input-line-height : normal;

  --gf-btn-font-family: inherit;
  --gf-btn-bg: #00000;
  --gf-btn-bg-hover: #00000;
  --gf-btn-font-size: 20px;
  --gf-btn-font-weight: 500;
  --gf-btn-font-color : inherit;
  --gf-btn-font-color-hover : inherit;
  --gf-btn-margin : 8px 0 0;
  --gf-btn-padding : 6px 20px;
  --gf-btn-border: 2px solid;
  --gf-btn-border-hover: 2px solid;
  --gf-btn-border-radius: 3px;
  --gf-btn-letter-spacing: normal;
  --gf-btn-line-height: normal;
  --gf-btn-text-decoration: none;
  --gf-btn-text-transform: none;
  --gf-btn-font-style: inherit;

  --gf-btn-hover-background: inherit;
  --gf-btn-hover-color: inherit;
  --gf-btn-hover-border-radius: 3px;
  --gf-btn-hover-letter-spacing: normal;

  --gf-error-font-color: #790000;
  --gf-error-container-bg-color : none;
  --gf-error-font-family : inherit;
  --gf-error-font-size : 14px;
  --gf-error-text-align : left;
  --gf-error-letter-spacing : normal;
  --gf-error-line-height : normal;
  --gf-error-text-decoration: none;
  --gf-error-text-transform: none;
  --gf-error-font-style: inherit;
  --gf-error-font-weight: normal;

  --gf-wrapper-bg: none;
  --gf-wrapper-bg-size: cover;
  --gf-wrapper-p: 0;
  --gf-wrapper-border: none;


  --gf-label-font-size : 14px;
  --gf-label-font-family : inherit;
  --gf-label-letter-spacing : normal;
  --gf-label-line-height : normal;
  --gf-label-color : inherit;
  --gf-label-text-decoration : none;
  --gf-label-text-transform : none;
  --gf-label-font-style : inherit;
  --gf-label-font-weight: normal;

  --gf-progress-bg-color: #036493;
  --gf-progress-font-color: #ffffff;

  --gf-sublabel-font-size : 12px;
  --gf-sublabel-font-family : inherit;
  --gf-sublabel-letter-spacing : normal;
  --gf-sublabel-line-height : normal;
  --gf-sublabel-color : #666666;
  --gf-sublabel-text-decoration : none;
  --gf-sublabel-text-transform : none;
  --gf-sublabel-text-align: left;
  --gf-sublabel-font-style : inherit;
  --gf-sublabel-font-weight: normal;
  --gf-sublabel-margin: 1px 0 9px 1px;

  --gf-field-container-margin-top : 16px;
}

body div.gform_wrapper {
  background: var(--gf-wrapper-bg);
  background-size: var(--gf-wrapper-bg-size);
  padding: var(--gf-wrapper-p);
  border: var(--gf-wrapper-border);
}

body .gform_wrapper h3.gform_title {
  font-size: var(--gf-title-font-size);
  font-family: var(--gf-title-font-family);
  font-weight: var(--gf-title-font-weight);
  text-align: var(--gf-title-text-align);
  color: var(--gf-title-font-color);
  letter-spacing: var(--gf-title-letter-spacing) !important; /*main gravityforms style uses important*/
  line-height: var(--gf-title-line-height);
  text-decoration: var(--gf-title-text-decoration);
  text-transform: var(--gf-title-text-transform);
  font-style: var(--gf-title-font-style);
}

body .gform_wrapper .gform_footer,
body .gform_wrapper .gform_page_footer {
  overflow: hidden;
  text-align: var(--gf-footer-text-align);
  padding: var(--gf-footer-p);
  margin: var(--gf-footer-m);
  background: var(--gf-footer-bg);
  border-top : var(--gf-footer-border-top);
  border-right : var(--gf-footer-border-right);
  border-bottom : var(--gf-footer-border-bottom);
  border-left : var(--gf-footer-border-left);
  -moz-border-radius: var(--gf-footer-border-radius);
  -webkit-border-radius: var(--gf-footer-border-radius);
  border-radius: var(--gf-footer-border-radius);
}

body .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
body .gform_wrapper textarea.textarea,
body div.form_saved_message div.form_saved_message_emailform form input[type=text] {
  background-color: var(--gf-input-bg-color);
  border: var(--gf-input-border);
  -moz-border-radius: var(--gf-input-border-radius);
  -webkit-border-radius: var(--gf-input-border-radius);
  border-radius: var(--gf-input-border-radius);
  font-size: var(--gf-input-font-size);
  color: var(--gf-input-color);
  padding: var(--gf-input-p);
  margin: var(--gf-input-m);
}

.gform_legacy_markup_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.gform_legacy_markup_wrapper li.gfield_error textarea{
   -moz-border-radius: var(--gf-input-border-radius);
   -webkit-border-radius: var(--gf-input-border-radius);
   border-radius: var(--gf-input-border-radius);
   border: var(--gf-input-err-border);
}

body div[id^="gform_wrapper"].gform_wrapper .top_label select.medium,
body div[id^="gform_wrapper"].gform_wrapper select {
  font-size: var(--gf-input-font-size);
  color: var(--gf-input-color);
  background: var(--gf-input-bg-color);
  border: var(--gf-input-border);
  padding: var(--gf-input-p);
}
body div[id^="gform_wrapper"].gform_wrapper ul.gfield_checkbox {
  margin-left:0;
}

body .gform_wrapper .gform_footer input.button,
body .gform_wrapper .gform_footer input[type=submit],
body .gform_wrapper .gform_page_footer input.button,
body .gform_wrapper .gform_page_footer input[type=submit],
body .gform_wrapper input[type=button],
body div.form_saved_message div.form_saved_message_emailform form input[type=submit] {
  font-family: var(--gf-btn-font-family);
  background: var(--gf-btn-bg);
  font-size: var(--gf-btn-font-size);
  font-weight: var(--gf-btn-font-weight);
  color: var(--gf-btn-font-color);
  margin: var(--gf-btn-margin);
  padding: var(--gf-btn-padding);
  letter-spacing: var(--gf-btn-letter-spacing);
  line-height: var(--gf-btn-line-height);
  border: var(--gf-btn-border);
  -moz-border-radius: var(--gf-btn-border-radius);
  -webkit-border-radius: var(--gf-btn-border-radius);
  border-radius: var(--gf-btn-border-radius);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: var(--gf-btn-text-decoration);
  text-transform: var(--gf-btn-text-transform);
  font-style : var(--gf-btn-font-style);
  cursor: pointer;
}

/*body div.form_saved_message div.form_saved_message_emailform form input[type=submit] {
    margin-left: auto;
    margin-right: auto;
    }*/

    body .gform_wrapper .gform_fileupload_multifile input[type=button] {
      font-size: var(--gf-input-font-size);
    }

    body .gform_wrapper li.gfield.gfield_error{
      background-color: var(--gf-error-container-bg-color);
      border-color: var(--gf-error-font-color);
    }

    body .gform_wrapper .gfield_error .gfield_label ,
    body .gform_wrapper .validation_error ,
    body .gform_wrapper .gfield_error .validation_message {
      color: var(--gf-error-font-color);
    }


    /*not sure if this is needed.*/
    body .gform_wrapper .top_label li.gfield.gfield_error.gf_left_third,
    body .gform_wrapper .top_label li.gfield.gfield_error.gf_middle_third,
    body .gform_wrapper .top_label li.gfield.gfield_error.gf_right_third {
      width: 32%
    }

    body div.gform_wrapper form div.gform_heading span.gform_description {
      display: block;
      font-size : var(--gf-desc-font-size);
      font-family : var(--gf-desc-font-family);
      text-align : var(--gf-desc-text-align);
      color : var(--gf-desc-color);
      letter-spacing : var(--gf-desc-letter-spacing);
      line-height : var(--gf-desc-line-height);
      font-weight: var(--gf-desc-font-weight);
      text-decoration: var(--gf-desc-text-decoration);
      text-transform: var(--gf-desc-text-transform);
      font-style: var(--gf-desc-font-style);
    }

    body div.gform_wrapper .gform_body label,
    body div.gform_wrapper .top_label .gfield_label,
    body div.gform_wrapper h2.gsection_title,
    body div.gform_wrapper div.gf_progressbar_wrapper h3,
    body div.gform_wrapper .gform_body span.ginput_product_price,
    body div.gform_wrapper .gform_body span.ginput_product_price_label,
    body div.gform_wrapper .gform_body span.ginput_total {
      font-size: var(--gf-label-font-size);
      font-family: var(--gf-label-font-family);
      color: var(--gf-label-color);
      letter-spacing: var(--gf-label-letter-spacing);
      line-height: var(--gf-label-line-height);
      font-weight: var(--gf-label-font-weight);
      text-decoration: var(--gf-label-text-decoration);
      text-transform: var(--gf-label-text-transform);
      font-style: var(--gf-label-font-style);
      /*label font style remaining*/
    }

    div.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
    div.gform_wrapper .gform_body select,
    div.gform_wrapper .gform_body input,
    div.gform_wrapper .gform_body textarea{
      font-size: var(--gf-input-font-size);
      font-family: var(--gf-input-font-family);
      color: var(--gf-input-color);
      letter-spacing: var(--gf-input-letter-spacing);
      line-height: var(--gf-input-line-height);
      font-weight: var(--gf-input-font-weight);
      text-decoration: var(--gf-input-text-decoration);
      text-transform: var(--gf-input-text-transform);
      font-style: var(--gf-input-font-style);
    }

    div.gform_wrapper .gform_footer,
    div.gform_wrapper .gform_body .gform_page_footer{
      text-align: var(--gf-footer-text-align);
    }

    div.gform_wrapper  .gform_footer input[type='button']:hover,
    div.gform_wrapper  .gform_footer input[type='submit']:hover,
    div.gform_wrapper .gform_body .gform_page_footer input[type='button']:hover,
    div.gform_wrapper .gform_body .gform_page_footer input[type='submit']:hover {
      background: var(--gf-btn-hover-background);
      color: var(--gf-btn-hover-color);
      -moz-border-radius: var(--gf-btn-hover-border-radius);
      -webkit-border-radius: var(--gf-btn-hover-border-radius);
      border-radius: var(--gf-btn-hover-border-radius);
      letter-spacing: var(--gf-btn-hover-letter-spacing);
      cursor: pointer;
      border: var(--gf-btn-border-hover);
    }

    div.gform_wrapper .gf_progressbar_percentage{ 
      background-color: var(--gf-progress-bg-color);
      color: var(--gf-progress-font-color);
    }

    div.gform_wrapper  div.validation_error,
    div.gform_wrapper ul.gform_fields li.gfield_error div.validation_message
    {
      color: var(--gf-error-font-color);
      font-family: var(--gf-error-font-family);
      border-color: var(--gf-error-font-color);
      font-size: var(--gf-error-font-size);
      text-align: var(--gf-error-text-align);
      letter-spacing: var(--gf-error-letter-spacing);
      line-height: var(--gf-error-line-height);
      text-decoration: var(--gf-error-text-decoration);
      text-transform: var(--gf-error-text-transform);
      font-style : var(--gf-error-font-style);
      font-weight : var(--gf-error-font-weight);
    }

    div.gform_wrapper ul.gform_fields li.gfield_error div.validation_message {
      font-size: calc(var(--gf-label-font-size) * 0.90);
      line-height: calc(var(--gf-label-line-height) * 0.90);
    }

    body div.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label,
    body div.gform_wrapper .field_sublabel_below div[class*="gfield_time_"].ginput_container label{
      color: var(--gf-sublabel-font-color);
      font-family: var(--gf-sublabel-font-family);
      border-color: var(--gf-sublabel-font-color);
      font-size: var(--gf-sublabel-font-size);
      text-align: var(--gf-sublabel-text-align);
      letter-spacing: var(--gf-sublabel-letter-spacing);
      line-height: var(--gf-sublabel-line-height);
      text-decoration: var(--gf-sublabel-text-decoration);
      text-transform: var(--gf-sublabel-text-transform);
      font-style : var(--gf-sublabel-font-style);
      font-weight : var(--gf-sublabel-font-weight);
      margin: var(--gf-sublabel-margin);
    }

    body .gform_wrapper ul li.gfield{
      margin-top: var(--gf-field-container-margin-top);
    }
