html {
  font-size: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title,
.hfe-infocard-title,
.widget-title,
.wp-block-heading {
  font-weight: 600 !important;
}

#masthead .elementor-element.elementor-element-cde6a31 img,
#masthead .elementor-element.elementor-element-fe7bd5c img {
  width: 100%;
}

#masthead a.elementor-button[href^="tel:844"] {
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 22px !important;
  font-weight: 600;
  padding: 0 !important;
  white-space: nowrap;
}

#masthead a.elementor-button[href^="tel:844"]:hover,
#masthead a.elementor-button[href^="tel:844"]:focus {
  background-color: transparent !important;
  color: #2b528d !important;
}

#masthead a.elementor-button[href^="tel:844"] .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

#masthead a.elementor-button[href^="tel:844"] .elementor-button-content-wrapper::before {
  content: "\f095";
  font-family: "Font Awesome 5 Free";
  font-size: 0.9em;
  font-weight: 900;
}

/* The client does not offer newsletter signups. */
#masthead .newsletter-trigger {
  display: none !important;
}

@media (max-width: 767px) {
  #masthead .elementor-element.elementor-element-8502f6a > .e-con-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 6px;
    row-gap: 2px;
  }

  #masthead .elementor-element.elementor-element-9c97bae {
    order: 1;
    flex: 0 1 58%;
    max-width: 58%;
  }

  #masthead .elementor-element.elementor-element-573303c {
    order: 2;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    padding-top: 0;
    justify-content: flex-end;
  }

  #masthead .elementor-element.elementor-element-0c8f7ad {
    order: 3;
    display: flex;
    flex: 0 0 100%;
    width: 100%;
    justify-content: flex-end;
    margin-top: 2px;
  }

  #masthead .elementor-element.elementor-element-fe7bd5c img {
    width: 100%;
  }

  #masthead a.elementor-button[href^="tel:844"] {
    font-size: 18px !important;
    letter-spacing: 0;
    padding: 0 !important;
  }

  #masthead a.elementor-button[href^="tel:844"] .elementor-button-content-wrapper {
    gap: 6px;
  }
}

@media (max-width: 374px) {
  #masthead .elementor-element.elementor-element-9c97bae {
    flex-basis: 52%;
    max-width: 52%;
  }

  #masthead a.elementor-button[href^="tel:844"] {
    font-size: 16px !important;
  }
}

/* Mobile header: a fixed two-row grid keeps the logo and phone together. */
@media (max-width: 767px) {
  #masthead .elementor-element.elementor-element-8502f6a > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 60%) minmax(0, 40%);
    grid-template-areas:
      "logo phone"
      "menu menu";
    width: 100%;
    align-items: center;
    column-gap: 0;
    row-gap: 2px;
  }

  #masthead .elementor-element.elementor-element-9c97bae {
    grid-area: logo;
    width: 100%;
    max-width: none;
    justify-self: start;
  }

  #masthead .elementor-element.elementor-element-fe7bd5c,
  #masthead .elementor-element.elementor-element-fe7bd5c .elementor-widget-container,
  #masthead .elementor-element.elementor-element-fe7bd5c a {
    display: block;
    width: 100%;
  }

  #masthead .elementor-element.elementor-element-573303c {
    grid-area: phone;
    display: flex;
    width: 100%;
    min-width: 0;
    justify-content: flex-end;
  }

  #masthead .elementor-element.elementor-element-0c8f7ad {
    grid-area: menu;
    display: block;
    width: 100%;
    max-width: none;
    justify-self: stretch;
    margin-top: 2px;
  }

  #masthead .elementor-element.elementor-element-0c8f7ad .elementor-widget-container,
  #masthead .elementor-element.elementor-element-0c8f7ad .uael-nav-menu {
    display: flex;
    width: 100%;
    justify-content: flex-end;
  }
}

@media (max-width: 374px) {
  #masthead .elementor-element.elementor-element-8502f6a > .e-con-inner {
    grid-template-columns: minmax(0, 55%) minmax(0, 45%);
  }
}

/* Mobile: phone at the top-right, logo centered, menu on its own line. */
@media (max-width: 767px) {
  #masthead .elementor-element.elementor-element-8502f6a > .e-con-inner {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "phone"
      "logo"
      "menu";
    row-gap: 6px;
  }

  #masthead .elementor-element.elementor-element-573303c {
    justify-self: end;
    align-self: start;
    width: auto;
  }

  #masthead .elementor-element.elementor-element-9c97bae {
    width: min(72%, 280px);
    justify-self: center;
  }
}

/* Static fallbacks for formerly runtime-created YouTube players and product tabs. */
.elementor-widget-video.llwt-video-fallback .elementor-wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}

.elementor-widget-video.llwt-video-fallback iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.e-n-tabs.llwt-tabs-fallback [role="tabpanel"][hidden] {
  display: none !important;
}
