@charset "UTF-8";
/* =========================================================================
 * Pardot form iframe — fallback heights
 * =========================================================================
 * Replaces the 16 hand-tuned breakpoints that used to live in main.scss
 * (.pardot-iframe …). Those were sized for an earlier, shorter version of the
 * form and now clip it at every width (the submit button was cut off).
 *
 * The real fix is assets/js/pardot-iframe.js: once the Pardot form page posts
 * its height, the iframe is sized exactly and these values are never seen. These
 * are only the safety net for when no height message arrives — deliberately
 * generous (a little blank space beats a cut-off submit button) and kept to a
 * handful of steps.
 *
 * Measured against the live form, 2026-10-13. The iframe is the viewport width
 * minus the page gutters, which is why the steps are in viewport widths.
 *
 * Specificity is doubled (.pardot-iframe.pardot-iframe) so these win over the
 * older !important rules still present in main.css, without editing that file.
 * When those old rules are deleted, the doubling can be dropped.
 *
 * ── Pardot-side snippet. Paste ONCE into the form's layout template, before
 *    </body> (Account Engagement → Forms → this form → Look and Feel → Layout
 *    Template). It does two things: lets the iframe resize itself to the form,
 *    and stops the form overflowing sideways on phones (the form's own CSS forces
 *    inputs to at least 300px and dropdowns to at least 350px wide).
 *
 *    <style>
 *    @media (max-width: 640px) {
 *      form.form .form-field input,
 *      form.form .form-field select {
 *        min-width: 0 !important; max-width: 100% !important;
 *        width: 100% !important; box-sizing: border-box;
 *      }
 *    }
 *    </style>
 *    <script>
 *    (function () {
 *      function send() {
 *        var b = document.body, cs = getComputedStyle(b);
 *        var h = Math.ceil(b.getBoundingClientRect().height
 *          + parseFloat(cs.marginTop) + parseFloat(cs.marginBottom));
 *        window.parent.postMessage({ type: 'cai-pardot-height', height: h }, '*');
 *      }
 *      window.addEventListener('load', send);
 *      window.addEventListener('resize', send);
 *      if (window.ResizeObserver) { new ResizeObserver(send).observe(document.body); }
 *      // Safety net: browsers pause observers in off-screen cross-origin frames.
 *      setInterval(send, 1000);
 *    })();
 *    </script>
 * ---------------------------------------------------------------------- */
.pardot-iframe.pardot-iframe {
  display: block;
  width: 100%;
  border: 0;
  overflow: hidden;
  height: 800px !important;
}

@media (max-width: 1023px) {
  .pardot-iframe.pardot-iframe {
    height: 850px !important;
  }
}
@media (max-width: 767px) {
  .pardot-iframe.pardot-iframe {
    height: 900px !important;
  }
}
@media (max-width: 580px) {
  .pardot-iframe.pardot-iframe {
    height: 960px !important;
  }
}
@media (max-width: 520px) {
  .pardot-iframe.pardot-iframe {
    height: 1010px !important;
  }
}
@media (max-width: 480px) {
  .pardot-iframe.pardot-iframe {
    height: 1070px !important;
  }
}
@media (max-width: 414px) {
  .pardot-iframe.pardot-iframe {
    height: 1170px !important;
  }
}
@media (max-width: 375px) {
  .pardot-iframe.pardot-iframe {
    height: 1300px !important;
  }
}
