/* Widestream header v5 — layout only, no overlay scripts
   White gap was .page-content { margin-top: 60px } in template.css */

/* Fake Helix contact strip */
#sp-top-bar {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

#sp-page-title,
#sp-title {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* THIS was the remaining white band under the header */
.page-content {
  margin-top: 0 !important;
}

#sp-main-body,
#sp-page-builder,
.page-content > .sppb-section:first-child {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.rev_slider_wrapper {
  margin-top: 0 !important;
}

#sp-header-sticky-wrapper {
  margin-bottom: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

#sp-menu .sp-megamenu-parent > li:not(:has(> a)) {
  display: none !important;
}

#sp-logo .logo {
  height: 64px !important;
}
#sp-logo .logo h1 {
  margin: 0;
  padding: 0;
  height: 64px;
  line-height: 64px;
  display: flex;
  align-items: center;
}
#sp-logo .logo img.sp-default-logo,
#sp-logo .logo img.sp-retina-logo,
#sp-logo .logo img {
  max-width: 220px;
  max-height: 44px;
  width: auto;
  height: auto !important;
}

/* ===== Desktop: centered logo+menu, colors full-bleed ===== */
@media (min-width: 992px) {
  #offcanvas-toggler {
    display: none !important;
  }

  #sp-header,
  #sp-header-sticky-wrapper.is-sticky #sp-header {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    margin: 0 !important;
    min-height: 64px;
    background: #0f1923 !important;
    box-shadow: none !important;
  }

  #sp-header > .container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #sp-header .row {
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: stretch;
    margin-left: 0;
    margin-right: 0;
  }

  #sp-logo.col-md-3,
  #sp-logo {
    width: auto !important;
    max-width: none;
    flex: 0 0 auto;
    float: none !important;
    background: #fff;
    position: relative;
    z-index: 1;
    padding-left: 24px;
    padding-right: 24px;
  }

  /* White from the logo out to the left edge */
  #sp-logo::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 100%;
    width: 100vw;
    background: #fff;
    pointer-events: none;
  }

  #sp-menu.col-md-9,
  #sp-menu {
    width: auto !important;
    flex: 0 0 auto;
    float: none !important;
    background: #0f1923;
    min-height: 64px;
    position: relative;
  }

  /* Dark from the menu out to the right edge */
  #sp-menu::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    width: 100vw;
    background: #0f1923;
    pointer-events: none;
  }

  #sp-menu .sp-megamenu-wrapper {
    overflow: visible;
    width: auto !important;
    float: none !important;
    background: #0f1923 !important;
    padding: 0 !important;
    min-height: 64px;
  }

  #sp-menu .sp-megamenu-parent {
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    float: none !important;
    width: auto;
  }

  #sp-menu .sp-megamenu-parent > li > a {
    padding-left: 12px;
    padding-right: 12px;
    font-size: 12px;
    line-height: 64px;
    white-space: nowrap;
  }
}

/* ===== Tablet + phone: hamburger only ===== */
@media (max-width: 991px) {
  #sp-header {
    position: relative !important;
    top: 0 !important;
    right: auto !important;
    margin-bottom: 0 !important;
    background: #fff;
  }

  #sp-header-sticky-wrapper {
    margin-bottom: 0 !important;
    height: auto !important;
  }

  #sp-header > .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #sp-logo {
    width: 75% !important;
    float: left !important;
    background: #fff;
    padding-left: 16px;
  }

  #sp-menu {
    width: 25% !important;
    float: right !important;
    background: #0f1923;
  }

  #sp-logo .logo,
  #sp-logo .logo h1 {
    height: 56px !important;
    line-height: 56px;
  }

  #sp-logo .logo img.sp-default-logo,
  #sp-logo .logo img.sp-retina-logo,
  #sp-logo .logo img {
    max-width: 200px;
    max-height: 40px;
  }

  #sp-menu .sp-megamenu-parent {
    display: none !important;
  }

  #offcanvas-toggler {
    display: block !important;
    float: right;
    line-height: 56px !important;
    padding: 0 16px;
  }

  #offcanvas-toggler > i {
    color: #fff !important;
    font-size: 22px;
  }

  .sp-megamenu-wrapper {
    background: #0f1923 !important;
    min-height: 56px;
  }
}
