/**
 * Premium footer newsletter + social block.
 * Scoped to Elementor Footer #1968 — keeps existing structure, refines look.
 * Desktop: .elementor-element-df0a7eb | Mobile: .elementor-element-1b18397
 */

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) {
  --fn-ink: #002b44;
  --fn-accent: #5de8c0;
  --fn-accent-deep: #00a4b4;
  --fn-muted: #5a6b75;
  --fn-line: #dce6ea;
  --fn-soft: #eef4f6;
  --fn-white: #ffffff;
}

/* Newsletter columns (desktop + mobile duplicates) — pad like the nav column */
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-df0a7eb,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-1b18397 {
  padding: 10px !important;
  gap: 14px !important;
}

/*
 * Mobile newsletter title is incorrectly set to hidden-tablet/mobile
 * while living inside the mobile-only column — force it visible there.
 */
@media (max-width: 1024px) {
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    .elementor-element-1b18397
    .elementor-element-7a0bb2e.elementor-hidden-tablet,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    .elementor-element-1b18397
    .elementor-element-7a0bb2e.elementor-hidden-mobile {
    display: block !important;
  }
}

/* Reset Elementor negative margins that collapse the block */
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-2a3054e
  > .elementor-widget-container,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-7a0bb2e
  > .elementor-widget-container,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-755310b
  > .elementor-widget-container,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-d81f3bd
  > .elementor-widget-container,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-49a3587
  > .elementor-widget-container,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-3cd1efb
  > .elementor-widget-container,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-07909be
  > .elementor-widget-container,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-26ece5a
  > .elementor-widget-container {
  margin: 0 !important;
}

/* Headings — match “Over Laméris” (16px / 700 / 28px), not a larger display size */
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-2a3054e
  .elementor-heading-title,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-7a0bb2e
  .elementor-heading-title,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-755310b
  .elementor-heading-title,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-d81f3bd
  .elementor-heading-title {
  font-family: "filision-pro", Sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 28px !important;
  color: var(--fn-ink) !important;
  letter-spacing: normal !important;
  margin: 0 !important;
}

/* Stray <br><br> in the nav heading drops it below the newsletter title */
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-071eca3
  .elementor-heading-title
  br {
  display: none !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-2a3054e
  .elementor-heading-title
  a,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-7a0bb2e
  .elementor-heading-title
  a,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-755310b
  .elementor-heading-title
  a,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-d81f3bd
  .elementor-heading-title
  a {
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: none;
  cursor: default;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-755310b,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-d81f3bd {
  margin-top: 8px !important;
}

/* Ninja Forms #3 — newsletter */
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3_1-cont {
  font-family: "filision-pro", Sans-serif;
  color: var(--fn-ink);
  max-width: 100%;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont .nf-form-layout,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3_1-cont .nf-form-layout {
  margin: 0;
  padding: 0;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont .nf-before-form-content,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-before-form-content {
  margin: 0 0 12px;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont .nf-form-fields-required,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-form-fields-required {
  font-size: 12px !important;
  line-height: 1.4 !important;
  color: var(--fn-muted) !important;
  margin: 0 0 14px !important;
  opacity: 1;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont .ninja-forms-req-symbol,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .ninja-forms-req-symbol {
  color: #e03131 !important;
  font-weight: 700;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont .nf-field-container,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3_1-cont .nf-field-container {
  margin-bottom: 12px !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont .one-half,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3_1-cont .one-half {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Email field */
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  .nf-field-element
  input[type="email"],
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  .nf-field-element
  input[type="text"],
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-element
  input[type="email"],
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-element
  input[type="text"] {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  height: 48px !important;
  padding: 0 16px !important;
  border: 1px solid var(--fn-line) !important;
  border-radius: 4px !important;
  background: var(--fn-white) !important;
  color: var(--fn-ink) !important;
  font-family: "filision-pro", Sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 48px !important;
  box-shadow: none !important;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  .nf-field-element
  input[type="email"]::placeholder,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  .nf-field-element
  input[type="text"]::placeholder,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-element
  input[type="email"]::placeholder,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-element
  input[type="text"]::placeholder {
  color: #8a9aa3 !important;
  font-weight: 400 !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  .nf-field-element
  input[type="email"]:focus,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  .nf-field-element
  input[type="text"]:focus,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-element
  input[type="email"]:focus,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-element
  input[type="text"]:focus {
  outline: none !important;
  border-color: var(--fn-accent-deep) !important;
  box-shadow: 0 0 0 3px rgba(0, 164, 180, 0.12) !important;
}

/* Privacy checkbox */
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont .nf-field-label,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3_1-cont .nf-field-label {
  padding: 0 !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont .nf-field-label label,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3_1-cont .nf-field-label label,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont .nf-field-element label,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-element
  label {
  font-family: "filision-pro", Sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  color: var(--fn-muted) !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  .nf-field-element
  label
  a,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-element
  label
  a,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont .nf-field-label label a,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-label
  label
  a {
  color: var(--fn-ink) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
  font-weight: 600 !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  .nf-field-element
  label
  a:hover,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-element
  label
  a:hover {
  color: var(--fn-accent-deep) !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont input[type="checkbox"],
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  margin-top: 2px !important;
  accent-color: var(--fn-accent-deep);
}

/* Submit */
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont .submit-container,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3_1-cont .submit-container,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  .nf-field-element
  input[type="button"],
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  .nf-field-element
  input[type="submit"],
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-element
  input[type="button"],
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-element
  input[type="submit"],
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont .nf-field-element button,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-element
  button {
  margin-top: 4px !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont input[type="button"],
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont input[type="submit"],
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3_1-cont input[type="button"],
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3_1-cont input[type="submit"],
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont .nf-field-element button,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-element
  button,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .nf-field-element #nf-field-21,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .nf-field-element #nf-field-21_1 {
  display: inline-block !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  min-width: 210px !important;
  height: auto !important;
  padding: 12px 36px !important;
  border: none !important;
  border-radius: 30px !important;
  background: var(
    --fn-accent
  ) !important; /* #5de8c0 — match Contact & Support */
  color: var(--fn-ink) !important;
  font-family: "filision-pro", Sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    transform 0.15s ease !important;
  width: auto !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  float: none !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  .submit-container
  .nf-field-element,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .submit-container
  .nf-field-element,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  .nf-field.field-wrap.submit-container,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field.field-wrap.submit-container {
  text-align: left !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  input[type="button"]:hover,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  input[type="submit"]:hover,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  input[type="button"]:hover,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  input[type="submit"]:hover,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  .nf-field-element
  button:hover,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-element
  button:hover,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .nf-field-element #nf-field-21:hover,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .nf-field-element #nf-field-21_1:hover {
  background: var(--fn-accent-deep) !important;
  color: #fff !important;
}

/* Social — Volg ons */
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-49a3587
  .elementor-social-icon,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-3cd1efb
  .elementor-social-icon {
  background: var(--fn-white) !important;
  border: 1px solid var(--fn-line) !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  transition: none !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-49a3587
  .elementor-social-icon
  svg,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-3cd1efb
  .elementor-social-icon
  svg {
  width: 20px !important;
  height: 20px !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-49a3587
  .elementor-social-icon:hover,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-49a3587
  .elementor-social-icon:focus,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-3cd1efb
  .elementor-social-icon:hover,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-3cd1efb
  .elementor-social-icon:focus {
  background: var(--fn-white) !important;
  border-color: var(--fn-line) !important;
  transform: none !important;
  color: #002b44 !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Keep original SVG paints — do not let hover remap fill to currentColor/white. */
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-49a3587
  .elementor-social-icon:hover
  svg
  path[fill="#5DE8C0"],
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-3cd1efb
  .elementor-social-icon:hover
  svg
  path[fill="#5DE8C0"] {
  fill: #5de8c0 !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-49a3587
  .elementor-social-icon:hover
  svg
  path[fill="#002B44"],
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-3cd1efb
  .elementor-social-icon:hover
  svg
  path[fill="#002B44"] {
  fill: #002b44 !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-49a3587
  .elementor-social-icons-wrapper,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-3cd1efb
  .elementor-social-icons-wrapper {
  gap: 10px !important;
}

/* Tone down oversized gray SVG rects inside custom social icons */
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-49a3587
  .elementor-social-icon
  svg
  rect[fill="#E1E1E1"],
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-3cd1efb
  .elementor-social-icon
  svg
  rect[fill="#E1E1E1"] {
  fill: transparent !important;
}

/* Recaptcha quieter spacing — avoid scale overflow */
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3-cont
  .nf-field-container.recaptcha-container,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  #nf-form-3_1-cont
  .nf-field-container.recaptcha-container {
  margin-bottom: 10px !important;
  max-width: 100%;
  overflow: hidden;
}

/* -------------------------------------------------------------------------- */
/* Footer width lock — kill horizontal scroll on tablet/mobile                */
/* Do NOT set overflow-x on the footer root: mixed overflow axes force        */
/* overflow-y to clip as well, which cuts the footlogo (-70px pull-up).       */
/* Do NOT force .e-con-inner to max-width:100% — boxed footer is 1320px       */
/* centered, same as lameris-group.nl.                                        */
/* -------------------------------------------------------------------------- */
.site-footer,
.elementor-location-footer,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .e-con,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .e-con-full {
  box-sizing: border-box !important;
}

/* Contain wide newsletter / grid children only — keep footer root visible. */
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-df0a7eb,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-3bcb99b,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-d924b5c {
  overflow-x: hidden;
}

/* Footlogo: theme CSS sets .hfe-site-logo-img { z-index:999999999 } which
 * paints this footer logo over the open mobile menu. Keep footer above the
 * page seam (so -70px pull-up is not covered by the last content section),
 * but well below the compact header (z-index 99999999). */
.ehf-footer,
.site-footer,
.elementor-location-footer {
  position: relative;
  z-index: 5;
}

.elementor-location-footer .hfe-site-logo-img,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-1f5c77f
  .hfe-site-logo-img,
.site-footer .hfe-site-logo-img {
  z-index: 6 !important;
  position: relative !important;
}

:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-a736dac,
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-1f5c77f {
  overflow: visible !important;
}

/* Match production: logo straddles the footer seam (-70px). */
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
  .elementor-element-1f5c77f
  > .elementor-widget-container {
  margin-top: -70px !important;
}

/* Desktop: keep the boxed footer inner centered at 1320px (lameris-group.nl). */
@media (min-width: 1025px) {
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    .elementor-element-88a9aff
    > .e-con-inner {
    max-width: 1320px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}

/* Page content stays under the footer seam / footlogo pull-up */
body #content.site-content,
.site-content {
  position: relative;
  z-index: 1;
}

/* Legacy Elementor custom CSS that pulls fields outside the viewport */
:is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-field-21 {
  margin-top: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 1024px) {
  /* Broken tablet rule: newsletter column set to 1600px */
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-df0a7eb {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-3bcb99b {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-88a9aff,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-d924b5c {
    width: 100% !important;
    --padding-left: 16px !important;
    --padding-right: 16px !important;
    overflow-x: hidden;
  }

  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    .elementor-element-88a9aff
    > .e-con-inner {
    max-width: min(1320px, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box !important;
  }

  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-1b18397,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-3f5e5e9,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-28cc59c,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-a736dac,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-cdbea3d {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-1b18397 {
    padding: 4px 0 8px !important;
  }

  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    .elementor-element-7a0bb2e
    .elementor-heading-title,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    .elementor-element-d81f3bd
    .elementor-heading-title,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    .elementor-element-2a3054e
    .elementor-heading-title,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    .elementor-element-755310b
    .elementor-heading-title {
    font-size: 16px !important;
    line-height: 28px !important;
  }

  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3_1-cont {
    max-width: 100% !important;
    overflow: hidden;
  }

  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    #nf-form-3-cont
    .nf-field-element
    input[type="email"],
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    #nf-form-3_1-cont
    .nf-field-element
    input[type="email"],
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    #nf-form-3-cont
    .nf-field-element
    input[type="text"],
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    #nf-form-3_1-cont
    .nf-field-element
    input[type="text"] {
    height: 46px !important;
    font-size: 16px !important; /* avoids iOS zoom */
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont input[type="button"],
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3-cont input[type="submit"],
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3_1-cont input[type="button"],
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) #nf-form-3_1-cont input[type="submit"],
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    #nf-form-3-cont
    .nf-field-element
    button,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    #nf-form-3_1-cont
    .nf-field-element
    button,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .nf-field-element #nf-field-21,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .nf-field-element #nf-field-21_1 {
    width: auto !important;
    min-width: 210px !important;
    min-height: 46px !important;
    padding: 12px 28px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background: var(--fn-accent) !important;
    color: var(--fn-ink) !important;
  }

  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-3cd1efb {
    --icon-size: 40px !important;
    max-width: 100% !important;
  }

  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    .elementor-element-3cd1efb
    .elementor-social-icon {
    width: 40px !important;
    height: 40px !important;
  }

  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .g-recaptcha,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) iframe[src*="recaptcha"] {
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    .elementor-element-7a0bb2e
    .elementor-heading-title,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    .elementor-element-d81f3bd
    .elementor-heading-title,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    .elementor-element-2a3054e
    .elementor-heading-title,
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    .elementor-element-755310b
    .elementor-heading-title {
    font-size: 16px !important;
    line-height: 28px !important;
  }

  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-1b18397 {
    gap: 12px !important;
  }

  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-88a9aff {
    --gap: 16px 16px !important;
    --padding-left: 16px !important;
    --padding-right: 16px !important;
    --margin-top: 16px !important;
    margin-top: 16px !important;
  }

  /* Desktop footlogo straddles the CTA seam (-70px). On a phone that lands on the portrait. */
  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor) .elementor-element-1f5c77f {
    --margin-top: 0px !important;
    margin-top: 0 !important;
  }

  :is(.elementor-1968, .elementor-23043, .ehf-footer .elementor)
    .elementor-element-1f5c77f
    > .elementor-widget-container {
    margin-top: 0 !important;
  }

  .site-footer .e-flex.e-con-boxed {
    padding-left: 16px !important;
    padding-right: 16px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}
