/* =========================================================
   HRC MOBILE FIX
   - mobile header alignment
   - footer link suppression
   - footer semantic line-wrap
   ========================================================= */

/* footer common */
.main-footer,
.footer,
#mainFooter{
  text-align:center !important;
  color:#6b7280 !important;
  font-size:12px !important;
  line-height:1.6 !important;
  letter-spacing:-0.01em !important;
  max-width:360px !important;
  margin:40px auto 56px !important;
  padding:0 18px !important;
  word-break:keep-all !important;
}

.main-footer .footer-line,
.footer .footer-line,
#mainFooter .footer-line{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

.main-footer .footer-line.nowrap,
.footer .footer-line.nowrap,
#mainFooter .footer-line.nowrap{
  white-space:nowrap !important;
}

.main-footer a,
.footer a,
#mainFooter a,
a[href^="tel:"],
a[href^="mailto:"],
a[x-apple-data-detectors],
a[href*="234-88-03613"]{
  color:inherit !important;
  text-decoration:none !important;
  pointer-events:none !important;
  cursor:default !important;
  border:0 !important;
}

/* mobile */
@media (max-width: 768px){

  html, body{
    overflow-x:hidden !important;
  }

  /* header right controls */
  #topNav{
    position:absolute !important;
    right:14px !important;
    top:18px !important;
    display:flex !important;
    align-items:flex-start !important;
    gap:14px !important;
    z-index:50 !important;
  }

  #topNav .gnx-link{
    font-size:17px !important;
    line-height:1 !important;
    letter-spacing:-0.01em !important;
    color:#1f2937 !important;
    text-decoration:none !important;
    position:relative !important;
    top:-8px !important;
  }

  #topNav .docs-menu{
    position:relative !important;
    top:-10px !important;
    right:2px !important;
    width:30px !important;
    min-width:30px !important;
    height:24px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    align-items:stretch !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  #topNav .docs-menu span{
    display:block !important;
    height:2.5px !important;
    border-radius:2px !important;
    background:#1f2937 !important;
    margin:0 !important;
  }

  /* give brand block more breathing room */
  .brand,
  .brand-copy,
  .brand-block,
  .site-brand,
  .site-title-wrap,
  .masthead,
  .hero-head{
    padding-right:112px !important;
  }

  .brand-title,
  .site-title,
  .logo-title,
  .wordmark-title{
    font-size:24px !important;
    line-height:1.02 !important;
    letter-spacing:0.01em !important;
  }

  .brand-subtitle,
  .site-subtitle,
  .logo-subtitle,
  .wordmark-subtitle{
    font-size:11px !important;
    line-height:1.32 !important;
    letter-spacing:0.22em !important;
  }

  /* footer tighter and more professional on mobile */
  .main-footer,
  .footer,
  #mainFooter{
    font-size:11px !important;
    line-height:1.58 !important;
    max-width:340px !important;
    margin:36px auto 54px !important;
    padding:0 16px !important;
  }
}
