.elementor-20899 .elementor-element.elementor-element-aa25d1b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-20899 .elementor-element.elementor-element-9b80c7d{--display:flex;--min-height:800px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:4rem;--padding-bottom:4rem;--padding-left:4rem;--padding-right:4rem;}.elementor-20899 .elementor-element.elementor-element-8cd1ca6{--display:flex;--min-height:800px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-20899 .elementor-element.elementor-element-fc1b3ca{--e-image-carousel-slides-to-show:1;}body.elementor-page-20899:not(.elementor-motion-effects-element-type-background), body.elementor-page-20899 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-fdc4df8 );}@media(max-width:1366px){.elementor-20899 .elementor-element.elementor-element-9b80c7d{--min-height:650px;}.elementor-20899 .elementor-element.elementor-element-8cd1ca6{--min-height:650px;}}@media(max-width:1200px){.elementor-20899 .elementor-element.elementor-element-9b80c7d{--min-height:550px;}.elementor-20899 .elementor-element.elementor-element-8cd1ca6{--min-height:550px;}}@media(max-width:1024px){.elementor-20899 .elementor-element.elementor-element-aa25d1b{--flex-wrap:wrap;}.elementor-20899 .elementor-element.elementor-element-9b80c7d{--min-height:400px;--padding-top:2rem;--padding-bottom:2rem;--padding-left:2rem;--padding-right:2rem;}.elementor-20899 .elementor-element.elementor-element-8cd1ca6{--min-height:400px;}}@media(max-width:767px){.elementor-20899 .elementor-element.elementor-element-9b80c7d{--padding-top:2rem;--padding-bottom:2rem;--padding-left:2rem;--padding-right:2rem;}}@media(min-width:768px){.elementor-20899 .elementor-element.elementor-element-9b80c7d{--width:50%;}.elementor-20899 .elementor-element.elementor-element-8cd1ca6{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-20899 .elementor-element.elementor-element-9b80c7d{--width:100%;}.elementor-20899 .elementor-element.elementor-element-8cd1ca6{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-9b80c7d */<style>
/* ==== TRADE FORM (#gform_1) — FINAL OVERRIDE ==== */

/* Orbital baseline overrides */
#gform_wrapper_1 {
  --gf-ctrl-label-color-primary: #ffffff;
  --gf-ctrl-label-color-secondary: #ffffff;
  --gf-ctrl-border-color: #ffffff;
  --gf-ctrl-bg-color: #222222;
  --gf-ctrl-color: #ffffff;
}

/* Form labels */
#gform_1 label,
#gform_1 .gfield_description,
#gform_1 .gfield_required {
  color: #fff !important;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
  margin-bottom: 0.4rem;
}

/* Inputs, selects, and textareas */
#gform_1 input[type="text"],
#gform_1 input[type="email"],
#gform_1 input[type="url"],
#gform_1 input[type="tel"],
#gform_1 input[type="number"],
#gform_1 input[type="password"],
#gform_1 input[type="search"],
#gform_1 input[type="date"],
#gform_1 input[type="time"],
#gform_1 select,
#gform_1 textarea {
  background-color: #222222 !important;
  color: #fff !important;
  border-bottom: 2px solid #ffffff !important;
  border-right: 0;
  border-left: 0;
  border-top: 0;
  border-radius: 0;
  box-shadow: none !important;
  font-size: 1.25rem !important;
  line-height: 1.4;
  padding: 0.5rem 0.25rem;
}
#gform_1 textarea {
  min-height: 120px;
  resize: vertical;
}
#gform_1 ::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}

/* Focus/active states */
#gform_1 input:focus,
#gform_1 select:focus,
#gform_1 textarea:focus {
  outline: none;
  border-bottom-color: #fff !important;
  background-color: #1a1a1a !important;
}

/* Radio & checkbox inputs */
#gform_wrapper_1 input[type=radio],
#gform_wrapper_1 input[type=checkbox] {
  accent-color: #ffffff;
  background: #222;
  border: 1px solid #fff;
}

/* Radio & checkbox labels */
#gform_1 .gchoice label,
#gform_1 .gfield_checkbox label {
  color: #fff !important;
}

/* Light-gray legends (form section headers, like “ARE YOU A TRADE MEMBER?”) */
#gform_1 legend {
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
  line-height: 120%;
  margin-bottom: 25px;
  text-transform: uppercase;
  color: #cccccc !important;
}

/* File upload fields */
#gform_1 input[type="file"],
#gform_1 .gform_drop_area {
  background: #222 !important;
  color: #fff !important;
  border: 1px dashed #fff !important;
  padding: 1rem;
}

/* Buttons (Next, Previous, Submit) */
#gform_1 .gform_button,
#gform_1 .gform_next_button,
#gform_1 .gform_previous_button {
  background-color: #000 !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  border-radius: 0;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.9rem 1.5rem;
  cursor: pointer;
  transition: all 0.2s ease;
}
#gform_1 .gform_button:hover,
#gform_1 .gform_next_button:hover,
#gform_1 .gform_previous_button:hover {
  background-color: #111 !important;
}

/* Validation messages */
#gform_1 .gfield_error input,
#gform_1 .gfield_error select,
#gform_1 .gfield_error textarea {
  border-bottom-color: #ff6b6b !important;
}
#gform_1 .validation_message,
#gform_1 .gfield_validation_message {
  color: #ff6b6b !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 0.9rem;
}

/* === FILE UPLOAD — match underline style (no dashed box) === */

/* Remove GF's dashed dropzone/container look */
#gform_1 .ginput_container_fileupload,
#gform_1 .gform_drop_area {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Single-file control styled like your inputs */
#gform_1 .ginput_container_fileupload input[type="file"] {
  appearance: none;
  -webkit-appearance: none;
  background-color: #222222 !important;
  color: #ffffff !important;
  border: 0;
  border-bottom: 2px solid #ffffff !important;   /* underline */
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 1.25rem !important;
  line-height: 1.4;
  padding: 0.55rem 0.25rem;
  width: 100%;
  cursor: pointer;
}

/* The "Choose File" button */
#gform_1 .ginput_container_fileupload input[type="file"]::file-.elementor-20899 .elementor-element.elementor-element-9b80c7d-button {
  background-color: #000000;
  color: #ffffff;
  border: 2px solid #ffffff;
  border-radius: 0;
  padding: 0.5rem 0.9rem;
  margin-right: 0.75rem;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

#gform_1 .ginput_container_fileupload input[type="file"] {
  /* make room for the button + filename */
  font-size: 1rem;                 /* smaller text for the filename */
  line-height: 1.2;
  padding: 0.4rem 0.25rem;         /* reduce vertical padding */
  min-height: 2.75rem;             /* ensures the button isn't squished */
  overflow: visible;               /* prevent pseudo-button clipping */
  vertical-align: middle;
}

/* Style the “Choose File” button across modern browsers */
#gform_1 .ginput_container_fileupload input[type="file"]::file-.elementor-20899 .elementor-element.elementor-element-9b80c7d-button {
  font-size: 0.9rem;               /* smaller label on the button */
  line-height: 1.1;
  padding: 0.35rem 0.8rem;         /* slimmer to avoid crowding */
  background-color: #000;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 0;
  margin-right: 0.75rem;
  vertical-align: middle;
}

/* Safari/WebKit fallback */
#gform_1 .ginput_container_fileupload input[type="file"]::-webkit-file-upload-button {
  font-size: 0.9rem;
  line-height: 1.1;
  padding: 0.35rem 0.8rem;
  background-color: #000;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 0;
  margin-right: 0.75rem;
  vertical-align: middle;
}

/* Optional: tighter underline with the new height */
#gform_1 .ginput_container_fileupload input[type="file"] {
  border-bottom-width: 2px !important;
}

/* === CUSTOM RADIOS & CHECKBOXES (KB DARK FORM AESTHETIC) === */

/* --- Base shared look --- */
#gform_1 input[type="radio"],
#gform_1 input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  border: 1px solid #ffffff;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  transition: all 0.15s ease-in-out;
}

/* --- Radio specifics --- */
#gform_1 input[type="radio"] {
  border-radius: 50%;
  width: 20px;
  height: 20px;
  position: relative;
}
#gform_1 input[type="radio"]:checked::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  background-color: #ffffff;
  border-radius: 50%;
}

/* --- Checkbox specifics --- */
#gform_1 input[type="checkbox"] {
  border-radius: 4px;              /* subtle rounding */
  width: 20px;
  height: 20px;
  position: relative;
}
#gform_1 input[type="checkbox"]:checked::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  background-color: #ffffff;       /* fills inside, leaves 3 px gap */
  border-radius: 2px;
}

/* --- Hover & focus states --- */
#gform_1 input[type="radio"]:hover,
#gform_1 input[type="checkbox"]:hover,
#gform_1 input[type="radio"]:focus,
#gform_1 input[type="checkbox"]:focus {
  box-shadow: 0 0 0 2px rgba(255,255,255,0.25);
  outline: none;
}

/* --- Labels --- */
#gform_1 .gfield_radio label,
#gform_1 .gfield_checkbox label {
  color: #ffffff;
  font-size: 1rem;
  margin-left: 0.45rem;
  cursor: pointer;
  vertical-align: middle;
}


</style>

<script>
document.addEventListener('gform_pre_submission', function (event, formId) {
  if (formId !== 1) return; // form ID

  var sel = '#gform_' + formId + ' input[type="url"]';
  document.querySelectorAll(sel).forEach(function (el) {
    var v = (el.value || '').trim();
    if (!v) return;

    var hasScheme = /^[a-z][a-z0-9+\-.]*:\/\//i.test(v) || /^(mailto:|tel:)/i.test(v);
    if (!hasScheme) {
      el.value = 'https://' + v.replace(/^\/+/, '');
    }
  });
});
</script>/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8cd1ca6 *//* Sticky right media on desktop */
@media (min-width: 1025px) {
  /* make sure the scroll container allows sticky */
  .kb-sticky-wrap,
  .kb-sticky-wrap > .e-con-inner {
    overflow: visible !important;       /* prevent parent overflow from killing sticky */
  }

  /* some Elementor Motion Effects add transforms on parents; neutralize locally */
  .kb-sticky-wrap {
    transform: none !important;
    will-change: auto !important;
  }

  /* the sticky column itself */
  .kb-sticky-media {
    position: sticky;
    top: 120px;                          /* adjust to clear your fixed header/admin bar */
    align-self: flex-start;               /* crucial in flex layouts */
    z-index: 2;
  }

  /* images/carousel inside: fill column, no weird clipping */
  .kb-sticky-media img,
  .kb-sticky-media .swiper,
  .kb-sticky-media .swiper-slide,
  .kb-sticky-media .swiper-slide-image {
    height: auto;
    width: 100%;
    display: block;
    object-fit: cover;
  }
}/* End custom CSS */