.elementor-46255 .elementor-element.elementor-element-23cf70c{--display:flex;--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;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:none;--border-style:none;--border-radius:30px 30px 30px 30px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:25px;--padding-right:25px;}.elementor-46255 .elementor-element.elementor-element-23cf70c:not(.elementor-motion-effects-element-type-background), .elementor-46255 .elementor-element.elementor-element-23cf70c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#092866;}.elementor-46255 .elementor-element.elementor-element-4a166cf{--display:flex;--overflow:auto;--overlay-opacity:1;--border-radius:30px 30px 30px 30px;--margin-top:20px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;--padding-top:28px;--padding-bottom:28px;--padding-left:20px;--padding-right:20px;}.elementor-46255 .elementor-element.elementor-element-4a166cf::before, .elementor-46255 .elementor-element.elementor-element-4a166cf > .elementor-background-video-container::before, .elementor-46255 .elementor-element.elementor-element-4a166cf > .e-con-inner > .elementor-background-video-container::before, .elementor-46255 .elementor-element.elementor-element-4a166cf > .elementor-background-slideshow::before, .elementor-46255 .elementor-element.elementor-element-4a166cf > .e-con-inner > .elementor-background-slideshow::before, .elementor-46255 .elementor-element.elementor-element-4a166cf > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#092866;--background-overlay:'';}.elementor-46255 .elementor-element.elementor-element-4a166cf.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-46255 .elementor-element.elementor-element-7b31d52{text-align:center;}.elementor-46255 .elementor-element.elementor-element-7b31d52 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:32px;font-weight:800;color:#FFFFFF;}.elementor-46255 .elementor-element.elementor-element-6ec8a2e{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-46255 .elementor-element.elementor-element-6ec8a2e.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-46255 .elementor-element.elementor-element-660194d{text-align:center;font-family:"Poppins", Sans-serif;font-size:18px;font-weight:300;letter-spacing:-1.4px;color:#FFFFFF;}.elementor-46255 .elementor-element.elementor-element-6687335 > .elementor-widget-container{margin:100px 0px 0px 0px;}.elementor-46255 .elementor-element.elementor-element-6687335 .elementor-button{font-family:"Poppins", Sans-serif;font-size:10px;font-weight:500;}#elementor-popup-modal-46255{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-46255 .dialog-message{width:700px;height:auto;}#elementor-popup-modal-46255 .dialog-close-button{display:flex;font-size:20px;}#elementor-popup-modal-46255 .dialog-widget-content{border-radius:30px 30px 30px 30px;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-46255 .dialog-close-button i{color:#FFFFFF;}#elementor-popup-modal-46255 .dialog-close-button svg{fill:#FFFFFF;}@media(max-width:767px){.elementor-46255 .elementor-element.elementor-element-23cf70c{--content-width:1600px;--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;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:50px;--padding-right:50px;}.elementor-46255 .elementor-element.elementor-element-4a166cf{--content-width:1600px;--min-height:0px;--border-radius:0px 0px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46255 .elementor-element.elementor-element-7b31d52 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-46255 .elementor-element.elementor-element-7b31d52 .elementor-heading-title{font-size:30px;letter-spacing:-1.2px;}.elementor-46255 .elementor-element.elementor-element-6ec8a2e{--content-width:1600px;--min-height:0px;--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;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-46255 .elementor-element.elementor-element-6ec8a2e.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-46255 .elementor-element.elementor-element-660194d{font-size:20px;letter-spacing:-1.2px;}.elementor-46255 .elementor-element.elementor-element-6687335 > .elementor-widget-container{margin:40px 0px 0px 0px;}.elementor-46255 .elementor-element.elementor-element-6687335.elementor-element{--align-self:center;}.elementor-46255 .elementor-element.elementor-element-6687335 .elementor-button{font-size:16px;}#elementor-popup-modal-46255 .dialog-message{width:1000px;}#elementor-popup-modal-46255{justify-content:center;}#elementor-popup-modal-46255 .dialog-close-button{font-size:20px;}}@media(min-width:768px){.elementor-46255 .elementor-element.elementor-element-23cf70c{--content-width:1600px;}.elementor-46255 .elementor-element.elementor-element-4a166cf{--content-width:650px;}.elementor-46255 .elementor-element.elementor-element-6ec8a2e{--content-width:1600px;}}/* Start custom CSS for container, class: .elementor-element-23cf70c *//* =========================================================
   SOLAR NEGOTIATORS — GRAVITY FORM POPUP
   FINAL RESPONSIVE VERSION

   - Elementor-safe open / close behavior
   - One scrollbar only
   - Safari / Chrome compatible
   - Desktop fixed-header clearance
   - Responsive mobile modal
   - No white side gap
   - Sticky close X
   ========================================================= */


/* =========================================================
   1. OUTER ELEMENTOR MODAL
   IMPORTANT:
   Do NOT set display:flex/block here.
   Elementor controls open / close state.
   ========================================================= */

.elementor-popup-modal {
  align-items: flex-start !important;
  justify-content: center !important;

  /* Leave room for fixed desktop navigation */
  padding:
    88px
    12px
    16px
    12px !important;

  /* Outer overlay does not scroll */
  overflow: hidden !important;
}


/* =========================================================
   2. POPUP BOX
   THIS IS THE ONLY SCROLLING ELEMENT
   ========================================================= */

.elementor-popup-modal .dialog-widget-content {
  position: relative !important;

  width: min(560px, 92vw) !important;

  /* Keep entire popup inside available viewport */
  max-height: calc(100vh - 104px) !important;
  max-height: calc(100dvh - 104px) !important;

  margin: 0 auto !important;
  padding: 0 !important;

  overflow-y: auto !important;
  overflow-x: hidden !important;

  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;

  background: transparent !important;

  border: none !important;
  box-shadow: none !important;

  box-sizing: border-box !important;

  scrollbar-gutter: stable;
}


/* =========================================================
   3. ELEMENTOR INNER WRAPPER
   Prevent second scrollbar / white gap
   ========================================================= */

.elementor-popup-modal .dialog-message {
  width: 100% !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;

  background: transparent !important;

  box-sizing: border-box !important;
}


/* Remove Elementor wrapper spacing */
.elementor-popup-modal
.dialog-message
> .elementor {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* =========================================================
   4. CLOSE X
   Remains visible while popup scrolls
   ========================================================= */

.elementor-popup-modal .dialog-close-button {
  position: sticky !important;

  top: 10px !important;
  right: 10px !important;
  left: auto !important;
  bottom: auto !important;

  width: 36px !important;
  height: 36px !important;

  /*
   Pull the X over the popup instead of allowing
   it to consume vertical layout space.
  */
  margin:
    0
    10px
    -36px
    auto !important;

  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  color: #ffffff !important;
  background: transparent !important;

  border: none !important;
  box-shadow: none !important;

  font-size: 24px !important;
  line-height: 1 !important;

  z-index: 9999 !important;

  transition:
    color 0.2s ease,
    transform 0.2s ease;
}


.elementor-popup-modal .dialog-close-button:hover {
  color: #fcd200 !important;
  background: transparent !important;

  transform: scale(1.08);
}


.elementor-popup-modal .dialog-close-button svg,
.elementor-popup-modal .dialog-close-button i {
  color: inherit !important;
  fill: currentColor !important;
}


/* =========================================================
   5. MAIN BLUE POPUP CONTAINER
   ========================================================= */

.sn-gform-popup {
  width: 100% !important;
  max-width: 100% !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  margin: 0 !important;

  overflow: visible !important;

  box-sizing: border-box !important;
}


/* =========================================================
   6. GRAVITY FORM WIDTH
   ========================================================= */

.sn-gform-popup .sn-gform,
.sn-gform-popup .sn-gform-wrapper {
  width: 100% !important;
  max-width: 100% !important;

  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


/* =========================================================
   7. WHITE FORM CARD
   ========================================================= */

.sn-gform-popup .sn-gform-card,
.sn-gform-popup.sn-gform-card {
  width: 100% !important;

  margin-bottom: 0 !important;

  padding: 16px 18px !important;

  box-sizing: border-box !important;
}


/* =========================================================
   8. FORM GRID / SPACING
   ========================================================= */

.sn-gform-popup .gform_fields {
  gap: 7px 10px !important;
}

.sn-gform-popup .gfield {
  margin: 0 !important;
}


/* =========================================================
   9. LABELS
   ========================================================= */

.sn-gform-popup .gfield_label {
  margin-bottom: 3px !important;

  font-size: 11px !important;
  line-height: 1.2 !important;
}


/* =========================================================
   10. INPUTS
   ========================================================= */

.sn-gform-popup
input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]),
.sn-gform-popup select {
  width: 100% !important;

  height: 38px !important;
  min-height: 38px !important;

  padding: 7px 11px !important;

  font-size: 13px !important;

  box-sizing: border-box !important;
}


/* Textareas if added later */
.sn-gform-popup textarea {
  width: 100% !important;

  min-height: 90px !important;

  padding: 9px 11px !important;

  box-sizing: border-box !important;
}


/* =========================================================
   11. FIRST / LAST NAME SUBLABELS
   ========================================================= */

.sn-gform-popup .ginput_complex label {
  margin-top: 2px !important;

  font-size: 9px !important;
  line-height: 1.15 !important;
}


/* =========================================================
   12. FIELD DESCRIPTIONS
   ========================================================= */

.sn-gform-popup .gfield_description {
  margin-top: 2px !important;

  font-size: 9px !important;
  line-height: 1.2 !important;
}


/* =========================================================
   13. PRIVACY CHECKBOX
   ========================================================= */

.sn-gform-popup input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;

  flex: 0 0 16px !important;
}


.sn-gform-popup .sn-field-consent .gfield_checkbox {
  gap: 3px !important;
}


.sn-gform-popup .sn-field-consent .gchoice {
  min-height: auto !important;

  padding: 0 !important;

  background: transparent !important;
  border: none !important;
}


.sn-gform-popup .sn-field-consent label {
  font-size: 10px !important;
  line-height: 1.2 !important;
}


/* =========================================================
   14. TERMS / DISCLAIMER
   ========================================================= */

.sn-gform-popup .sn-gform-trust-copy {
  margin-top: 4px !important;

  padding: 8px 10px !important;

  font-size: 9px !important;
  line-height: 1.3 !important;
}


/* =========================================================
   15. FORM FOOTER
   ========================================================= */

.sn-gform-popup .gform_footer,
.sn-gform-popup .gform_page_footer {
  margin-top: 8px !important;
  margin-bottom: 0 !important;

  padding: 0 !important;
}


/* =========================================================
   16. SUBMIT BUTTON
   ========================================================= */

.sn-gform-popup .gform_button,
.sn-gform-popup input[type="submit"],
.sn-gform-popup button[type="submit"] {
  width: 100% !important;

  min-height: 42px !important;

  padding: 9px 18px !important;

  font-size: 11px !important;
}


/* =========================================================
   17. REMOVE EXTRA BOTTOM SPACE
   ========================================================= */

.sn-gform-popup > *:last-child,
.sn-gform-popup .sn-gform > *:last-child,
.sn-gform-popup .sn-gform-wrapper > *:last-child {
  margin-bottom: 0 !important;
}


/* =========================================================
   18. SHORT LAPTOP / SAFARI HEIGHTS
   Example: smaller MacBook browser viewport
   ========================================================= */

@media (max-height: 850px) and (min-width: 768px) {

  .elementor-popup-modal {
    padding-top: 82px !important;
    padding-bottom: 12px !important;
  }


  .elementor-popup-modal .dialog-widget-content {
    width: min(530px, 90vw) !important;

    max-height: calc(100vh - 94px) !important;
    max-height: calc(100dvh - 94px) !important;
  }


  .sn-gform-popup .sn-gform-card,
  .sn-gform-popup.sn-gform-card {
    padding: 14px 16px !important;
  }


  .sn-gform-popup .gform_fields {
    gap: 6px 9px !important;
  }


  .sn-gform-popup
  input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]),
  .sn-gform-popup select {
    height: 36px !important;
    min-height: 36px !important;
  }


  .elementor-popup-modal .dialog-close-button {
    top: 8px !important;

    width: 34px !important;
    height: 34px !important;

    margin:
      0
      8px
      -34px
      auto !important;

    font-size: 22px !important;
  }
}


/* =========================================================
   19. VERY SHORT DESKTOP WINDOWS
   ========================================================= */

@media (max-height: 700px) and (min-width: 768px) {

  .elementor-popup-modal {
    padding-top: 74px !important;
    padding-bottom: 10px !important;
  }


  .elementor-popup-modal .dialog-widget-content {
    max-height: calc(100vh - 84px) !important;
    max-height: calc(100dvh - 84px) !important;
  }
}


/* =========================================================
   20. TABLET + MOBILE
   Mobile becomes an intentional modal experience.
   One internal scrollbar.
   ========================================================= */

@media (max-width: 767px) {

  /* -------------------------------------------------------
     OUTER MODAL
     ------------------------------------------------------- */

  .elementor-popup-modal {
    align-items: flex-start !important;
    justify-content: center !important;

    padding:
      max(10px, env(safe-area-inset-top))
      8px
      max(10px, env(safe-area-inset-bottom))
      8px !important;

    overflow: hidden !important;
  }


  /* -------------------------------------------------------
     MOBILE POPUP SCROLL AREA
     ------------------------------------------------------- */

  .elementor-popup-modal .dialog-widget-content {
    width: calc(100vw - 16px) !important;
    max-width: 480px !important;

    height: auto !important;

    max-height: calc(100vh - 20px) !important;
    max-height: calc(100dvh - 20px) !important;

    margin: 0 auto !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;

    /*
    Avoid reserving permanent scrollbar width on mobile.
    This gives the form a little more usable horizontal room.
    */
    scrollbar-gutter: auto;
  }


  /* -------------------------------------------------------
     BLUE POPUP
     ------------------------------------------------------- */

  .sn-gform-popup {
    width: 100% !important;
    max-width: 100% !important;

    border-radius: 18px !important;
  }


  /* -------------------------------------------------------
     BLUE CONTENT PADDING
     ------------------------------------------------------- */

  .sn-gform-popup > .e-con,
  .sn-gform-popup > .elementor-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }


  /* -------------------------------------------------------
     POPUP HEADLINE
     ------------------------------------------------------- */

  .sn-gform-popup
  .elementor-widget-heading
  .elementor-heading-title {
    width: 100% !important;

    margin: 0 !important;

    font-size: 26px !important;
    line-height: 1.05 !important;

    letter-spacing: -0.02em !important;

    text-align: center !important;

    white-space: normal !important;
  }


  /* -------------------------------------------------------
     INTRO COPY
     ------------------------------------------------------- */

  .sn-gform-popup .elementor-widget-text-editor {
    font-size: 15px !important;
    line-height: 1.4 !important;

    text-align: center !important;
  }


  .sn-gform-popup .elementor-widget-text-editor p {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
  }


  /* -------------------------------------------------------
     WHITE FORM CARD
     ------------------------------------------------------- */

  .sn-gform-popup .sn-gform-card,
  .sn-gform-popup.sn-gform-card {
    width: 100% !important;

    margin: 0 !important;

    padding: 15px 14px !important;

    border-radius: 12px !important;
  }


  /* -------------------------------------------------------
     FORM GRID
     ------------------------------------------------------- */

  .sn-gform-popup .gform_fields {
    grid-template-columns: 1fr !important;

    gap: 9px !important;
  }


  /* -------------------------------------------------------
     FIRST / LAST NAME
     ------------------------------------------------------- */

  .sn-gform-popup .ginput_complex {
    display: grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap: 8px !important;

    width: 100% !important;
  }


  .sn-gform-popup .ginput_complex > span {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    min-width: 0 !important;
  }


  /* -------------------------------------------------------
     LABELS
     ------------------------------------------------------- */

  .sn-gform-popup .gfield_label {
    margin-bottom: 4px !important;

    font-size: 12px !important;
    line-height: 1.2 !important;
  }


  /* -------------------------------------------------------
     MOBILE INPUTS

     Keep font size at 16px.
     This prevents Safari from auto-zooming when focused.
     ------------------------------------------------------- */

  .sn-gform-popup
  input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]),
  .sn-gform-popup select {
    width: 100% !important;

    height: 44px !important;
    min-height: 44px !important;

    padding: 9px 11px !important;

    font-size: 16px !important;
    line-height: 1.2 !important;
  }


  .sn-gform-popup textarea {
    width: 100% !important;

    min-height: 90px !important;

    font-size: 16px !important;
  }


  /* -------------------------------------------------------
     FIRST / LAST SUBLABELS
     ------------------------------------------------------- */

  .sn-gform-popup .ginput_complex label {
    margin-top: 3px !important;

    font-size: 9px !important;
    line-height: 1.15 !important;
  }


  /* -------------------------------------------------------
     DESCRIPTIONS
     ------------------------------------------------------- */

  .sn-gform-popup .gfield_description {
    margin-top: 3px !important;

    font-size: 9px !important;
    line-height: 1.25 !important;
  }


  /* -------------------------------------------------------
     CHECKBOX
     ------------------------------------------------------- */

  .sn-gform-popup input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;

    flex: 0 0 18px !important;
  }


  .sn-gform-popup .sn-field-consent label {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }


  /* -------------------------------------------------------
     DISCLAIMER
     ------------------------------------------------------- */

  .sn-gform-popup .sn-gform-trust-copy {
    margin-top: 5px !important;

    padding: 9px 10px !important;

    font-size: 9px !important;
    line-height: 1.3 !important;
  }


  /* -------------------------------------------------------
     FORM FOOTER
     ------------------------------------------------------- */

  .sn-gform-popup .gform_footer,
  .sn-gform-popup .gform_page_footer {
    margin-top: 10px !important;
    margin-bottom: 0 !important;

    padding: 0 !important;
  }


  /* -------------------------------------------------------
     SUBMIT
     ------------------------------------------------------- */

  .sn-gform-popup .gform_button,
  .sn-gform-popup input[type="submit"],
  .sn-gform-popup button[type="submit"] {
    width: 100% !important;

    min-height: 46px !important;

    padding: 11px 18px !important;

    font-size: 12px !important;
  }


  /* -------------------------------------------------------
     MOBILE X
     ------------------------------------------------------- */

  .elementor-popup-modal .dialog-close-button {
    position: sticky !important;

    top: 8px !important;

    width: 38px !important;
    height: 38px !important;

    margin:
      0
      8px
      -38px
      auto !important;

    padding: 0 !important;

    font-size: 24px !important;

    z-index: 9999 !important;
  }


  /* -------------------------------------------------------
     BOTTOM ELEMENTOR CLOSE BUTTON
     ------------------------------------------------------- */

  .sn-gform-popup .elementor-button {
    max-width: 100%;
  }
}


/* =========================================================
   21. SMALL PHONES
   ========================================================= */

@media (max-width: 480px) {

  .sn-gform-popup
  .elementor-widget-heading
  .elementor-heading-title {
    font-size: 23px !important;
    line-height: 1.05 !important;
  }


  .sn-gform-popup .elementor-widget-text-editor {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }


  .sn-gform-popup .sn-gform-card,
  .sn-gform-popup.sn-gform-card {
    padding: 13px 12px !important;
  }
}


/* =========================================================
   22. VERY NARROW PHONES
   Stack First / Last Name
   ========================================================= */

@media (max-width: 360px) {

  .sn-gform-popup .ginput_complex {
    grid-template-columns: 1fr !important;
  }
}/* End custom CSS */
/* Start custom CSS *//* Center-align WPForms submit button */
.wpforms-form .wpforms-submit-container {
  text-align: center;
}

/* Mobile fixes */
@media (max-width: 767px) {
  .wpforms-form .wpforms-submit-container button {
    padding: 18px 24px;
    line-height: 1.2;
    white-space: normal;
  }
}/* End custom CSS */