/*
 * Fuel Online sitewide porcelain footer.
 * The relief wordmark remains real, selectable HTML text.
 */

body .elementor.elementor-31 .fo-xfooter {
  --fo-footer-ink: #111214;
  --fo-footer-muted: #5f646b;
  --fo-footer-line: #dfe2e5;
  --fo-footer-soft: #f5f5f2;
  --fo-footer-red: #f23817;
  --fo-footer-red-dark: #cf240b;
  background: #fff !important;
  color: var(--fo-footer-ink) !important;
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

/* Contact and lead form */
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-contact {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 12% 16%, rgba(242, 56, 23, .075), transparent 31%),
    radial-gradient(circle at 90% 88%, rgba(29, 35, 42, .045), transparent 30%),
    #f7f7f4 !important;
  color: var(--fo-footer-ink) !important;
  border-top: 1px solid #eceeeb !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-contact::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .32;
  background-image: radial-gradient(rgba(17,18,20,.13) .65px, transparent .65px);
  background-size: 9px 9px;
  mask-image: linear-gradient(90deg, #000, transparent 46%);
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-contact-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr) !important;
  width: min(100%, 1440px) !important;
  margin-inline: auto !important;
  padding: clamp(56px, 6vw, 92px) clamp(24px, 5vw, 78px) !important;
  gap: clamp(38px, 5vw, 78px) !important;
  align-items: center !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-contact-copy {
  display: flex !important;
  flex-direction: column !important;
  color: var(--fo-footer-ink) !important;
  padding-top: 0 !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-kicker,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-kicker--white {
  color: var(--fo-footer-red) !important;
  font-weight: 800 !important;
  letter-spacing: .11em !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-contact-title .elementor-heading-title,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-form-title .elementor-heading-title {
  color: var(--fo-footer-ink) !important;
  text-wrap: balance !important;
  text-shadow: 0 1px 0 #fff !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-contact-lede,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-contact-lede p,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-form-intro,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-form-intro p,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-form-note,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-form-note p {
  color: var(--fo-footer-muted) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-triad,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-triad p {
  color: #30343a !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-proof {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.94) !important;
  color: var(--fo-footer-ink) !important;
  border: 1px solid #dfe2e5 !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 44px rgba(19,24,31,.08), inset 0 1px 0 #fff !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-rating {
  color: var(--fo-footer-ink) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-rating + .fo-xfooter-rating {
  border-left: 1px solid var(--fo-footer-line) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-rating-brand,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-rating-caption,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-rating-caption p {
  color: var(--fo-footer-ink) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-stars,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-stars p {
  color: #e5a900 !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  height: auto !important;
  min-height: 0 !important;
  color: var(--fo-footer-ink) !important;
  border: 1px solid var(--fo-footer-line) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.55) !important;
  overflow: hidden !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-stat {
  color: var(--fo-footer-ink) !important;
  padding: 12px clamp(10px, 1.4vw, 20px) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-stat + .fo-xfooter-stat {
  border-left: 1px solid var(--fo-footer-line) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-stat-metric .elementor-heading-title {
  color: var(--fo-footer-ink) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-stat-caption,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-stat-caption p {
  color: var(--fo-footer-muted) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-form-card {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
  color: var(--fo-footer-ink) !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(210,214,218,.95) !important;
  border-radius: 24px !important;
  padding: clamp(24px, 3vw, 40px) !important;
  box-shadow: 24px 28px 70px rgba(32,38,45,.12), -10px -10px 30px rgba(255,255,255,.92), inset 0 1px 0 #fff !important;
  backdrop-filter: blur(18px) saturate(115%) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-native-lead-form label {
  color: #30343a !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-native-lead-form input,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-native-lead-form select,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-native-lead-form textarea {
  color: var(--fo-footer-ink) !important;
  background: #f8f8f6 !important;
  border: 1px solid #d7dade !important;
  border-radius: 10px !important;
  box-shadow: inset 2px 2px 5px rgba(25,30,36,.055), inset -2px -2px 5px rgba(255,255,255,.9) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-native-lead-form input:focus,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-native-lead-form select:focus,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-native-lead-form textarea:focus {
  outline: 3px solid rgba(242,56,23,.15) !important;
  border-color: var(--fo-footer-red) !important;
  box-shadow: 0 0 0 1px var(--fo-footer-red) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-native-lead-form button,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-native-lead-form .elementor-button {
  color: #fff !important;
  background: linear-gradient(145deg, #1d1f22, #090a0b) !important;
  border: 1px solid #050607 !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 24px rgba(17,18,20,.22), inset 0 1px 0 rgba(255,255,255,.14) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-native-lead-form button:hover,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-native-lead-form .elementor-button:hover {
  background: linear-gradient(145deg, var(--fo-footer-red), var(--fo-footer-red-dark)) !important;
  transform: translateY(-1px) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-neon {
  display: none !important;
}

/* Porcelain relief wordmark and directory */
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-directory {
  display: block !important;
  aspect-ratio: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  gap: 0 !important;
  padding: clamp(18px, 2.2vw, 34px) clamp(24px, 5.6vw, 84px) clamp(28px, 3vw, 46px) !important;
  color: var(--fo-footer-ink) !important;
  background: radial-gradient(circle at 50% 0%, rgba(207,211,215,.18), transparent 34%), #fff !important;
  border-top: 1px solid #e5e7e9 !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-directory-top {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  flex: none !important;
  padding: 0 !important;
  overflow: visible !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-directory-title {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  transform: none !important;
  overflow: visible !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-directory-title .elementor-heading-title {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: .08em 0 .16em !important;
  overflow: visible !important;
  color: #f0f0ec !important;
  font-family: "Arial Black", "Helvetica Neue", Arial, sans-serif !important;
  font-size: clamp(66px, 13.55vw, 210px) !important;
  font-weight: 900 !important;
  line-height: .94 !important;
  letter-spacing: -.078em !important;
  white-space: nowrap !important;
  transform: none !important;
  -webkit-text-stroke: 1px rgba(183,187,190,.26) !important;
  text-shadow: -3px -3px 5px rgba(255,255,255,.98), 1px 1px 1px rgba(166,170,174,.30), 3px 4px 5px rgba(148,153,158,.26), 10px 14px 24px rgba(132,138,144,.18) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-logo,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-engraved {
  display: none !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-columns {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  width: min(100%, 1920px) !important;
  max-width: 1920px !important;
  margin-inline: auto !important;
  height: auto !important;
  min-height: 0 !important;
  flex: none !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  padding-top: clamp(24px, 2.8vw, 42px) !important;
  border-top: 1px solid var(--fo-footer-line) !important;
  color: var(--fo-footer-ink) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-column {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  padding-inline: clamp(18px, 2.2vw, 34px) !important;
  color: var(--fo-footer-ink) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-column:first-child {
  padding-left: 0 !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-column + .fo-xfooter-column {
  border-left: 1px solid var(--fo-footer-line) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-column-title .elementor-heading-title {
  position: relative !important;
  padding-top: 11px !important;
  color: var(--fo-footer-ink) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-column-title .elementor-heading-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 22px;
  height: 3px;
  border-radius: 99px;
  background: var(--fo-footer-red);
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-link,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-link p,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-link a {
  color: #4f545b !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-link a {
  text-decoration: none !important;
  transition: color .2s ease, transform .2s ease !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-link a:hover,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-link a:focus-visible {
  color: var(--fo-footer-red-dark) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-column--contact .fo-xfooter-link a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-column--contact .fo-xfooter-link a > span:last-child {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-footer-contact-icon {
  display: inline-grid !important;
  flex: 0 0 26px !important;
  width: 26px !important;
  height: 26px !important;
  place-items: center !important;
  color: #fff !important;
  background: var(--fo-footer-ink) !important;
  border-radius: 8px !important;
  box-shadow: 0 5px 12px rgba(16,18,20,.14) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-footer-contact-icon svg {
  display: block !important;
  width: 13px !important;
  height: 13px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-social-preview {
  margin-top: 10px !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-footer-socials {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-footer-socials a {
  display: inline-grid !important;
  width: 36px !important;
  height: 36px !important;
  place-items: center !important;
  color: var(--fo-footer-ink) !important;
  background: #f5f5f2 !important;
  border: 1px solid #d8dbdf !important;
  border-radius: 11px !important;
  box-shadow: 4px 5px 10px rgba(26,31,37,.09), -3px -3px 8px rgba(255,255,255,.98) !important;
  transition: color .2s ease, background .2s ease, transform .2s ease !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-footer-socials a:hover,
body .elementor.elementor-31 .fo-xfooter .fo-footer-socials a:focus-visible {
  color: #fff !important;
  background: var(--fo-footer-red) !important;
  border-color: var(--fo-footer-red) !important;
  transform: translateY(-2px) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-footer-socials svg {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  fill: currentColor !important;
}

/* Legal strip */
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-legal {
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 58px !important;
  padding: 14px clamp(24px, 5.6vw, 84px) !important;
  color: var(--fo-footer-muted) !important;
  background: #fff !important;
  border-top: 1px solid var(--fo-footer-line) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-copyright,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-copyright p,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-legal-links,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-legal-links p,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-legal-links a {
  color: var(--fo-footer-muted) !important;
}

body .elementor.elementor-31 .fo-xfooter .fo-xfooter-legal-links a:hover,
body .elementor.elementor-31 .fo-xfooter .fo-xfooter-legal-links a:focus-visible {
  color: var(--fo-footer-red-dark) !important;
}

@media (max-width: 980px) {
  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-contact-inner {
    grid-template-columns: 1fr !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-contact-copy,
  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-form-card {
    width: 100% !important;
    max-width: 760px !important;
    margin-inline: auto !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-directory-title .elementor-heading-title {
    font-size: clamp(64px, 13.4vw, 130px) !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    row-gap: 34px !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-column:nth-child(4) {
    border-left: 0 !important;
  }
}

@media (max-width: 767px) {
  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-contact-inner {
    padding: 46px 18px !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-form-card {
    border-radius: 18px !important;
    padding: 24px 18px !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-proof,
  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-stats {
    grid-template-columns: 1fr !important;
    height: auto !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-rating + .fo-xfooter-rating,
  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-stat + .fo-xfooter-stat {
    border-left: 0 !important;
    border-top: 1px solid var(--fo-footer-line) !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-directory {
    padding: 18px 18px 28px !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-directory-title .elementor-heading-title {
    max-width: 100% !important;
    margin-inline: auto !important;
    font-size: clamp(40px, calc(16.6vw - 5.98px), 121px) !important;
    line-height: .94 !important;
    letter-spacing: -.078em !important;
    padding: .10em 0 .20em !important;
    text-align: center !important;
    -webkit-text-stroke: clamp(.65px, .12vw, 1px) rgba(183,187,190,.26) !important;
    text-shadow: -.015em -.015em .025em rgba(255,255,255,.98), .005em .005em .005em rgba(166,170,174,.30), .015em .020em .025em rgba(148,153,158,.26), .050em .070em .120em rgba(132,138,144,.18) !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 30px 0 !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-column,
  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-column:first-child {
    padding: 0 16px !important;
    border-left: 1px solid var(--fo-footer-line) !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-column:nth-child(odd) {
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-legal {
    align-items: flex-start !important;
    flex-direction: column !important;
    padding: 18px !important;
  }
}

@media (max-width: 420px) {
  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 30px 0 !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-column:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
    padding: 4px 0 0 !important;
    border-left: 0 !important;
    border-top: 1px solid var(--fo-footer-line) !important;
  }
}

@media (min-width: 1920px) {
  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-contact-inner {
    width: min(100%, 1800px) !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-directory {
    padding-inline: max(84px, 4vw) !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-directory-title .elementor-heading-title {
    font-size: clamp(210px, 13.55vw, 620px) !important;
    text-align: center !important;
  }

  body .elementor.elementor-31 .fo-xfooter .fo-xfooter-legal {
    padding-inline: max(84px, calc((100vw - 1920px) / 2 + 84px)) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .elementor.elementor-31 .fo-xfooter * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
