.elementor-20063 .elementor-element.elementor-element-7d9152b8:not(.elementor-motion-effects-element-type-background), .elementor-20063 .elementor-element.elementor-element-7d9152b8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://turningpointlending.com/wp-content/uploads/2024/08/TPL_1920_ws_57-4-1.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-20063 .elementor-element.elementor-element-7d9152b8 > .elementor-background-overlay{background-color:transparent;background-image:linear-gradient(276deg, #FFFFFF29 60%, #FFFFFF 100%);opacity:0;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-20063 .elementor-element.elementor-element-7d9152b8 > .elementor-container{min-height:450px;}.elementor-20063 .elementor-element.elementor-element-7d9152b8{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:11% 4% 0% 4%;z-index:4;overflow:visible;}.elementor-20063 .elementor-element.elementor-element-42cb99db.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-20063 .elementor-element.elementor-element-42cb99db > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin:0% 0% 3% 0%;--e-column-margin-right:0%;--e-column-margin-left:0%;}.elementor-20063 .elementor-element.elementor-element-42cb99db > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-20063 .elementor-element.elementor-element-6552338a{overflow:visible;}.elementor-20063 .elementor-element.elementor-element-12e78595:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-20063 .elementor-element.elementor-element-12e78595 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFFA6;}.elementor-20063 .elementor-element.elementor-element-12e78595 > .elementor-element-populated, .elementor-20063 .elementor-element.elementor-element-12e78595 > .elementor-element-populated > .elementor-background-overlay, .elementor-20063 .elementor-element.elementor-element-12e78595 > .elementor-background-slideshow{border-radius:7px 7px 7px 7px;}.elementor-20063 .elementor-element.elementor-element-12e78595 > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:9% 9% 9% 9%;}.elementor-20063 .elementor-element.elementor-element-12e78595 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-20063 .elementor-element.elementor-element-79eb34db{width:100%;max-width:100%;}.elementor-20063 .elementor-element.elementor-element-79eb34db > .elementor-widget-container{padding:0% 0% 0% 0%;}.elementor-20063 .elementor-element.elementor-element-79eb34db .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;font-size:2.4em;}.elementor-20063 .elementor-element.elementor-element-2926db97{width:100%;max-width:100%;}.elementor-20063 .elementor-element.elementor-element-2926db97 > .elementor-widget-container{padding:0% 0% 0% 0%;}.elementor-20063 .elementor-element.elementor-element-2926db97 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:1.2em;font-weight:500;text-transform:none;}.elementor-20063 .elementor-element.elementor-element-5aeb2f9c .elementor-button{background-color:var( --e-global-color-secondary );font-family:"Inter", Sans-serif;font-size:16px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.8em;text-shadow:0px 0px 0px rgba(0,0,0,0.3);fill:var( --e-global-color-b0481bf );color:var( --e-global-color-b0481bf );box-shadow:0px 0px 2px 0px rgba(0,0,0,0.5);padding:11px 11px 11px 11px;}.elementor-20063 .elementor-element.elementor-element-5aeb2f9c .elementor-button:hover, .elementor-20063 .elementor-element.elementor-element-5aeb2f9c .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-2914cdab );}.elementor-20063 .elementor-element.elementor-element-5aeb2f9c{width:100%;max-width:100%;}.elementor-20063 .elementor-element.elementor-element-5aeb2f9c > .elementor-widget-container{margin:0% 0% 0% 0%;padding:0% 0% 0% 0%;}.elementor-20063 .elementor-element.elementor-element-5aeb2f9c .elementor-button:hover svg, .elementor-20063 .elementor-element.elementor-element-5aeb2f9c .elementor-button:focus svg{fill:var( --e-global-color-2914cdab );}.elementor-20063 .elementor-element.elementor-element-cf724ee{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-20063 .elementor-element.elementor-element-d376062{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;overflow:visible;}.elementor-20063 .elementor-element.elementor-element-d376062:not(.elementor-motion-effects-element-type-background), .elementor-20063 .elementor-element.elementor-element-d376062 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-20063 .elementor-element.elementor-element-d376062.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-20063 .elementor-element.elementor-element-35ab2bd > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-20063 .elementor-element.elementor-element-42cb99db{width:100%;}.elementor-20063 .elementor-element.elementor-element-12e78595{width:46.499%;}.elementor-20063 .elementor-element.elementor-element-78d9bb3d{width:53.501%;}.elementor-20063 .elementor-element.elementor-element-d376062{--width:100%;}}@media(max-width:1204px){.elementor-20063 .elementor-element.elementor-element-7d9152b8 > .elementor-container{min-height:580px;}}@media(max-width:767px){.elementor-20063 .elementor-element.elementor-element-7d9152b8 > .elementor-container{min-height:820px;}.elementor-20063 .elementor-element.elementor-element-42cb99db > .elementor-element-populated{margin:60px 0px 60px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-20063 .elementor-element.elementor-element-79eb34db > .elementor-widget-container{padding:0% 0% 0% 0%;}}/* Start custom CSS for shortcode, class: .elementor-element-35ab2bd */.gform_partial_entry_warning,
.gform_save_and_continue_notice,.partial_entry_warning{
  display: none !important;
}
/* =========================================================
   GRAVITY FORMS #21 — NORMAL TEXT CAPITALIZATION
   ========================================================= */

/* Main field labels */
#gform_wrapper_21 .gfield_label,
#gform_wrapper_21 .gform-field-label {
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Address, name, date, and other sub-labels */
#gform_wrapper_21 .ginput_complex label,
#gform_wrapper_21 .gfield_description,
#gform_wrapper_21 .gfield_header_item,
#gform_wrapper_21 .gform-field-label--type-sub {
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Radio and checkbox option labels */
#gform_wrapper_21 .gchoice label,
#gform_wrapper_21 .gfield_checkbox label,
#gform_wrapper_21 .gfield_radio label {
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Section titles and descriptions */
#gform_wrapper_21 .gsection_title,
#gform_wrapper_21 .gsection_description {
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Input and textarea placeholders */
#gform_wrapper_21 input::placeholder,
#gform_wrapper_21 textarea::placeholder {
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Select fields and entered text */
#gform_wrapper_21 input,
#gform_wrapper_21 textarea,
#gform_wrapper_21 select {
    text-transform: none !important;
}

/* Gravity Forms validation and required text */
#gform_wrapper_21 .gfield_required,
#gform_wrapper_21 .validation_message,
#gform_wrapper_21 .gform_validation_errors {
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Short accent divider under each section */
#gform_wrapper_21 .gsection:not(.apply-first) {
    position: relative;
    margin: 4px 0;
    padding: 0 0 16px;
    border: 0;
}

#gform_wrapper_21 .gsection:not(.apply-first)::after {
    content: "";
    display: block;
    height: 3px;
    margin-top: 10px;
    border-radius: 999px;
    background: #c89b3c;
}

#gform_wrapper_21 .gsection:not(.apply-first) .gsection_title {
    margin: 0 0 6px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d376062 *//* =========================================================
   TURNING POINT LENDING – HELOC APPLICATION
   FIGURE-INSPIRED GRAVITY FORMS STYLING
   FORM ID: 21
========================================================= */


/* =========================================================
   FORM VARIABLES AND WRAPPER
========================================================= */

#gform_wrapper_21 {
  --tpl-navy: #142b4a;
  --tpl-blue: #ffa200;
  --tpl-blue-dark: #0f56bd;
  --tpl-blue-light: #eef5ff;
  --tpl-text: #172033;
  --tpl-muted: #667085;
  --tpl-border: #d8dee8;
  --tpl-border-dark: #aeb8c7;
  --tpl-background: #f6f8fb;
  --tpl-white: #ffffff;
  --tpl-navy: #1f3752;
  --tpl-error: #b42318;
  --tpl-success: #087443;

  width: 100%;
  max-width: 620px;
  margin: 40px auto;
  padding: 0;
  color: var(--tpl-text);
  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Arial,
    sans-serif;
}


/* =========================================================
   OUTER FORM CARD
========================================================= */

#gform_wrapper_21 .gform_heading {
  margin-bottom: 28px;
  text-align: center;
}

#gform_wrapper_21 form {
  padding: 42px 46px;
  border: 1px solid #e7eaf0;
  border-radius: 20px;
  background: var(--tpl-white);
  box-shadow:
    0 2px 5px rgba(16, 24, 40, 0.03),
    0 18px 45px rgba(16, 24, 40, 0.08);
}

#gform_wrapper_21 .gform_title {
  margin: 0 0 10px;
  color: var(--tpl-navy);
  font-size: clamp(28px, 4vw, 38px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.035em;
}

#gform_wrapper_21 .gform_description {
  display: block;
  max-width: 500px;
  margin: 0 auto;
  color: var(--tpl-muted);
  font-size: 16px;
  line-height: 1.6;
}


/* =========================================================
   PAGE AND SECTION HEADINGS
========================================================= */

#gform_wrapper_21 .gfield--type-section {
  margin-top: 8px;
  padding: 0 0 20px;
  border: 0;
}

#gform_wrapper_21 .gsection {
  margin: 0;
  padding: 0 0 20px;
  border: 0;
}

#gform_wrapper_21 .gsection_title {
  margin: 0 0 8px;
  color: var(--tpl-navy);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.025em;
}

#gform_wrapper_21 .gsection_description {
  margin: 0;
  color: var(--tpl-muted);
  font-size: 15px;
  line-height: 1.55;
}


/* =========================================================
   FIELD LAYOUT AND SPACING
========================================================= */

#gform_wrapper_21 .gform_fields {
  row-gap: 26px;
}

#gform_wrapper_21 .gfield {
  margin: 0;
}

#gform_wrapper_21 .gfield_label {
  display: block;
  margin: 0 0 9px;
  color: var(--tpl-text);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.4;
}

#gform_wrapper_21 .gfield_required {
  margin-left: 3px;
  color: var(--tpl-error);
}

#gform_wrapper_21 .gfield_description,
#gform_wrapper_21 .gform-field-label--type-sub {
  color: var(--tpl-muted);
  font-size: 13px;
  line-height: 1.45;
}

#gform_wrapper_21 .gfield_description {
  padding-top: 7px;
}


/* =========================================================
   TEXT INPUTS, EMAIL, PHONE, NUMBER, DATE AND TEXTAREA
========================================================= */

#gform_wrapper_21 input[type="text"],
#gform_wrapper_21 input[type="email"],
#gform_wrapper_21 input[type="tel"],
#gform_wrapper_21 input[type="number"],
#gform_wrapper_21 input[type="password"],
#gform_wrapper_21 input[type="url"],
#gform_wrapper_21 input[type="date"],
#gform_wrapper_21 input[type="time"],
#gform_wrapper_21 select,
#gform_wrapper_21 textarea {
  width: 100%;
  min-height: 56px;
  margin: 0;
  padding: 13px 16px;
  border: 1.5px solid var(--tpl-border);
  border-radius: 10px;
  outline: none;
  background-color: var(--tpl-white);
  box-shadow: none;
  color: var(--tpl-text);
  font-family: inherit;
  font-size: 16px;
  font-weight: 450;
  line-height: 1.4;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    background-color 0.18s ease;
}

#gform_wrapper_21 textarea {
  min-height: 120px;
  resize: vertical;
}

#gform_wrapper_21 input::placeholder,
#gform_wrapper_21 textarea::placeholder {
  color: #98a2b3;
  opacity: 1;
}

#gform_wrapper_21 input[type="text"]:hover,
#gform_wrapper_21 input[type="email"]:hover,
#gform_wrapper_21 input[type="tel"]:hover,
#gform_wrapper_21 input[type="number"]:hover,
#gform_wrapper_21 input[type="password"]:hover,
#gform_wrapper_21 input[type="url"]:hover,
#gform_wrapper_21 input[type="date"]:hover,
#gform_wrapper_21 input[type="time"]:hover,
#gform_wrapper_21 select:hover,
#gform_wrapper_21 textarea:hover {
  border-color: var(--tpl-border-dark);
}

#gform_wrapper_21 input[type="text"]:focus,
#gform_wrapper_21 input[type="email"]:focus,
#gform_wrapper_21 input[type="tel"]:focus,
#gform_wrapper_21 input[type="number"]:focus,
#gform_wrapper_21 input[type="password"]:focus,
#gform_wrapper_21 input[type="url"]:focus,
#gform_wrapper_21 input[type="date"]:focus,
#gform_wrapper_21 input[type="time"]:focus,
#gform_wrapper_21 select:focus,
#gform_wrapper_21 textarea:focus {
  border-color: var(--tpl-blue);
  outline: none;
  box-shadow: 0 0 0 4px rgba(23, 105, 224, 0.12);
}


/* =========================================================
   SELECT DROPDOWNS
========================================================= */

#gform_wrapper_21 select {
  padding-right: 45px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #667085 50%),
    linear-gradient(135deg, #667085 50%, transparent 50%);
  background-position:
    calc(100% - 21px) 24px,
    calc(100% - 16px) 24px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}


/* =========================================================
   NAME, ADDRESS AND COMPOSITE FIELDS
========================================================= */

#gform_wrapper_21 .ginput_complex {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px 14px;
  width: 100%;
}

#gform_wrapper_21 .ginput_complex > span {
  width: 100%;
  margin: 0;
  padding: 0;
}

#gform_wrapper_21 .ginput_complex .ginput_full {
  grid-column: 1 / -1;
}

#gform_wrapper_21 .ginput_complex input,
#gform_wrapper_21 .ginput_complex select {
  width: 100%;
}

#gform_wrapper_21 .ginput_complex label {
  display: block;
  margin-top: 7px;
  color: var(--tpl-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
}


/* =========================================================
   RADIO BUTTONS AS FIGURE-STYLE SELECTION CARDS
========================================================= */

#gform_wrapper_21 .gfield_radio {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
}

#gform_wrapper_21 .gfield_radio .gchoice {
  position: relative;
  margin: 0;
}

#gform_wrapper_21 .gfield_radio input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

#gform_wrapper_21 .gfield_radio label {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 60px;
  margin: 0;
  padding: 14px 44px 14px 16px;
  border: 1.5px solid var(--tpl-border);
  border-radius: 11px;
  background: var(--tpl-white);
  color: var(--tpl-text);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  cursor: pointer;
  transition:
    border-color 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

#gform_wrapper_21 .gfield_radio label::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 20px;
  height: 20px;
  border: 2px solid #b8c1ce;
  border-radius: 50%;
  background: var(--tpl-white);
  transform: translateY(-50%);
  transition: all 0.18s ease;
}

#gform_wrapper_21 .gfield_radio label::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 22px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--tpl-white);
  opacity: 0;
  transform: translateY(-50%) scale(0.5);
  transition: all 0.18s ease;
}

#gform_wrapper_21 .gfield_radio label:hover {
  border-color: var(--tpl-blue);
  background: #fbfdff;
}

#gform_wrapper_21 .gfield_radio input[type="radio"]:focus + label {
  box-shadow: 0 0 0 4px rgba(23, 105, 224, 0.12);
}

#gform_wrapper_21 .gfield_radio input[type="radio"]:checked + label {
  border-color: var(--tpl-blue);
  background: var(--tpl-blue-light);
  box-shadow: inset 0 0 0 1px var(--tpl-blue);
  color: var(--tpl-navy);
}

#gform_wrapper_21 .gfield_radio input[type="radio"]:checked + label::before {
  border-color: var(--tpl-blue);
  background: var(--tpl-blue);
}

#gform_wrapper_21 .gfield_radio input[type="radio"]:checked + label::after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}


/* =========================================================
   CHECKBOXES
========================================================= */

#gform_wrapper_21 .gfield_checkbox {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
}

#gform_wrapper_21 .gfield_checkbox .gchoice {
  position: relative;
  margin: 0;
}

#gform_wrapper_21 .gfield_checkbox input[type="checkbox"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

#gform_wrapper_21 .gfield_checkbox label {
  position: relative;
  display: block;
  margin: 0;
  padding: 3px 0 3px 34px;
  color: var(--tpl-text);
  font-size: 14px;
  line-height: 1.55;
  cursor: pointer;
}

#gform_wrapper_21 .gfield_checkbox label::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 0;
  width: 21px;
  height: 21px;
  border: 1.5px solid var(--tpl-border-dark);
  border-radius: 5px;
  background: var(--tpl-white);
  transition: all 0.18s ease;
}

#gform_wrapper_21 .gfield_checkbox label::after {
  content: "";
  position: absolute;
  top: 7px;
  left: 7px;
  width: 6px;
  height: 10px;
  border: solid var(--tpl-white);
  border-width: 0 2px 2px 0;
  opacity: 0;
  transform: rotate(45deg) scale(0.7);
  transition: all 0.18s ease;
}

#gform_wrapper_21 .gfield_checkbox label:hover::before {
  border-color: var(--tpl-blue);
}

#gform_wrapper_21 .gfield_checkbox input[type="checkbox"]:focus + label::before {
  border-color: var(--tpl-blue);
  box-shadow: 0 0 0 4px rgba(23, 105, 224, 0.12);
}

#gform_wrapper_21 .gfield_checkbox input[type="checkbox"]:checked + label::before {
  border-color: var(--tpl-blue);
  background: var(--tpl-blue);
}

#gform_wrapper_21 .gfield_checkbox input[type="checkbox"]:checked + label::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}


/* =========================================================
   CONSENT FIELD
========================================================= */

#gform_wrapper_21 .gfield--type-consent {
  padding: 17px 18px;
  border: 1px solid #e2e7ef;
  border-radius: 10px;
  background: #f8fafc;
}

#gform_wrapper_21 .gfield--type-consent .gfield_consent_label {
  color: #475467;
  font-size: 13px;
  font-weight: 450;
  line-height: 1.55;
}

#gform_wrapper_21 .gfield--type-consent .gfield_description {
  font-size: 12px;
}


/* =========================================================
   MULTI-PAGE STEP INDICATORS
========================================================= */

#gform_wrapper_21 .gf_page_steps {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 34px;
  padding: 0 0 20px;
  border: 0;
}

#gform_wrapper_21 .gf_page_steps::before {
  content: "";
  position: absolute;
  right: 5%;
  bottom: 5px;
  left: 5%;
  height: 3px;
  border-radius: 999px;
  background: #e4e9f1;
}

#gform_wrapper_21 .gf_step {
  position: relative;
  z-index: 2;
  flex: 1;
  width: auto;
  margin: 0;
  opacity: 1;
  text-align: center;
}

#gform_wrapper_21 .gf_step_number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin: 0 auto 7px;
  border: 2px solid #d0d5dd;
  border-radius: 50%;
  background: var(--tpl-white);
  color: var(--tpl-muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

#gform_wrapper_21 .gf_step_label {
  display: block;
  color: var(--tpl-muted);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.25;
}

#gform_wrapper_21 .gf_step_active .gf_step_number {
  border-color: var(--tpl-blue);
  background: var(--tpl-blue);
  color: var(--tpl-white);
  box-shadow: 0 0 0 5px var(--tpl-blue-light);
}

#gform_wrapper_21 .gf_step_active .gf_step_label {
  color: var(--tpl-navy);
}

#gform_wrapper_21 .gf_step_completed .gf_step_number {
  border-color: var(--tpl-blue);
  background: var(--tpl-blue-light);
  color: var(--tpl-blue);
}


/* =========================================================
   PERCENTAGE PROGRESS BAR
========================================================= */

#gform_wrapper_21 .gf_progressbar_wrapper {
  margin: 0 0 34px;
}

#gform_wrapper_21 .gf_progressbar_title {
  margin-bottom: 9px;
  color: var(--tpl-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

#gform_wrapper_21 .gf_progressbar {
  height: 8px;
  border-radius: 999px;
  background: #e7ebf1;
  box-shadow: none;
  overflow: hidden;
}

#gform_wrapper_21 .gf_progressbar_percentage {
  height: 100%;
  border-radius: 999px;
  background: var(--tpl-blue);
}

#gform_wrapper_21 .gf_progressbar_percentage span {
  display: none;
}


/* =========================================================
   FORM FOOTER AND BUTTON LAYOUT
========================================================= */

#gform_wrapper_21 .gform-page-footer,
#gform_wrapper_21 .gform_page_footer,
#gform_wrapper_21 .gform_footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 32px;
  padding: 24px 0 0;
  border-top: 1px solid #edf0f4;
}

#gform_wrapper_21 .gform_button,
#gform_wrapper_21 .gform_next_button,
#gform_wrapper_21 .gform_previous_button {
  min-height: 54px;
  margin: 0;
  padding: 13px 24px;
  border: 1px solid transparent;
  border-radius: 9px;
  box-shadow: none;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

#gform_wrapper_21 .gform_button,
#gform_wrapper_21 .gform_next_button {
  order: 2;
  min-width: 150px;
  background: var(--tpl-blue);
  color: var(--tpl-navy);
}

#gform_wrapper_21 .gform_button:hover,
#gform_wrapper_21 .gform_next_button:hover {
  background: var(--tpl-blue-dark);
  box-shadow: 0 8px 20px rgba(23, 105, 224, 0.2);
  color: var(--tpl-white);
  transform: translateY(-1px);
}

#gform_wrapper_21 .gform_button:focus,
#gform_wrapper_21 .gform_next_button:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(23, 105, 224, 0.18);
}

#gform_wrapper_21 .gform_previous_button {
  order: 1;
  background: var(--tpl-white);
  border-color: var(--tpl-border);
  color: var(--tpl-text);
}

#gform_wrapper_21 .gform_previous_button:hover {
  border-color: var(--tpl-border-dark);
  background: #f8fafc;
  color: var(--tpl-text);
}

#gform_wrapper_21 .gform_previous_button:focus {
  outline: none;
  border-color: var(--tpl-blue);
  box-shadow: 0 0 0 4px rgba(23, 105, 224, 0.12);
}


/* =========================================================
   SAVE AND CONTINUE LINK
========================================================= */

#gform_wrapper_21 .gform_save_link {
  display: inline-flex;
  align-items: center;
  min-height: 54px;
  margin-right: auto;
  color: var(--tpl-blue);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

#gform_wrapper_21 .gform_save_link:hover {
  color: var(--tpl-blue-dark);
  text-decoration: underline;
}


/* =========================================================
   VALIDATION ERRORS
========================================================= */

#gform_wrapper_21 .gform_validation_errors {
  margin: 0 0 26px;
  padding: 16px 18px;
  border: 1px solid #f5c2c0;
  border-radius: 10px;
  background: #fff6f5;
  box-shadow: none;
}

#gform_wrapper_21 .gform_validation_errors h2 {
  margin: 0;
  color: var(--tpl-error);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}

#gform_wrapper_21 .gfield_error {
  padding: 0;
  border: 0;
  background: transparent;
}

#gform_wrapper_21 .gfield_error input[type="text"],
#gform_wrapper_21 .gfield_error input[type="email"],
#gform_wrapper_21 .gfield_error input[type="tel"],
#gform_wrapper_21 .gfield_error input[type="number"],
#gform_wrapper_21 .gfield_error input[type="date"],
#gform_wrapper_21 .gfield_error select,
#gform_wrapper_21 .gfield_error textarea {
  border-color: var(--tpl-error);
}

#gform_wrapper_21 .validation_message,
#gform_wrapper_21 .gfield_validation_message {
  padding-top: 7px;
  border: 0;
  background: transparent;
  color: var(--tpl-error);
  font-size: 12px;
  font-weight: 600;
}


/* =========================================================
   DISABLED FIELDS
========================================================= */

#gform_wrapper_21 input:disabled,
#gform_wrapper_21 select:disabled,
#gform_wrapper_21 textarea:disabled {
  border-color: #e4e7ec;
  background: #f2f4f7;
  color: #98a2b3;
  cursor: not-allowed;
}


/* =========================================================
   AJAX SPINNER
========================================================= */

#gform_wrapper_21 .gform_ajax_spinner {
  margin-left: 10px;
}


/* =========================================================
   TABLET STYLES
========================================================= */

@media (max-width: 768px) {

  #gform_wrapper_21 {
    max-width: 100%;
    margin: 24px auto;
  }

  #gform_wrapper_21 form {
    padding: 34px 28px;
    border-radius: 16px;
  }

  #gform_wrapper_21 .gf_step_label {
    display: none;
  }

  #gform_wrapper_21 .gf_page_steps {
    margin-bottom: 26px;
  }

  #gform_wrapper_21 .gf_page_steps::before {
    right: 7%;
    left: 7%;
  }
}


/* =========================================================
   MOBILE STYLES
========================================================= */

@media (max-width: 600px) {

  #gform_wrapper_21 {
    margin: 0 auto;
  }

  #gform_wrapper_21 form {
    padding: 28px 18px;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
  }

  #gform_wrapper_21 .gform_heading {
    margin-bottom: 24px;
  }

  #gform_wrapper_21 .gform_title {
    font-size: 28px;
  }

  #gform_wrapper_21 .gform_description {
    font-size: 15px;
  }

  #gform_wrapper_21 .gsection_title {
    font-size: 23px;
  }

  #gform_wrapper_21 .gform_fields {
    row-gap: 22px;
  }

  #gform_wrapper_21 .ginput_complex {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  #gform_wrapper_21 .ginput_complex .ginput_full {
    grid-column: auto;
  }

  #gform_wrapper_21 .gfield_radio {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  #gform_wrapper_21 .gfield_radio label {
    min-height: 57px;
  }

  #gform_wrapper_21 .gf_page_steps {
    gap: 4px;
    padding-bottom: 18px;
  }

  #gform_wrapper_21 .gf_step_number {
    width: 28px;
    height: 28px;
    font-size: 12px;
  }

  #gform_wrapper_21 .gform-page-footer,
  #gform_wrapper_21 .gform_page_footer,
  #gform_wrapper_21 .gform_footer {
    flex-wrap: wrap;
    gap: 10px;
  }

  #gform_wrapper_21 .gform_next_button,
  #gform_wrapper_21 .gform_button {
    order: 1;
    width: 100%;
  }

  #gform_wrapper_21 .gform_previous_button {
    order: 2;
    width: 100%;
  }

  #gform_wrapper_21 .gform_save_link {
    order: 3;
    justify-content: center;
    width: 100%;
    margin: 4px 0 0;
  }
}


/* =========================================================
   VERY SMALL MOBILE SCREENS
========================================================= */

@media (max-width: 380px) {

  #gform_wrapper_21 form {
    padding-right: 14px;
    padding-left: 14px;
  }

  #gform_wrapper_21 .gform_title {
    font-size: 25px;
  }

  #gform_wrapper_21 .gfield_radio label {
    padding-right: 42px;
    padding-left: 14px;
    font-size: 14px;
  }
}/* End custom CSS */