/* Canonical BookBSL header and navigation styles.
   This is the only stylesheet that should control header/menu geometry. */

.bookbslMenuToggle{display:none}
.bookbslMobilePanel{display:contents}

@media (min-width:681px){
  html body .top .shell{
    width:min(1160px,calc(100% - 32px))!important;
    margin:0 auto!important;
  }

  html body .top .topin{
    box-sizing:border-box!important;
    height:68px!important;
    min-height:68px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:32px!important;
    padding:0!important;
  }

  html body .top .brand{
    display:flex!important;
    align-items:center!important;
    gap:11px!important;
    flex:0 0 auto!important;
    margin:0!important;
    text-decoration:none!important;
    font-family:"Manrope",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:1.3rem!important;
    font-weight:800!important;
    line-height:1!important;
    letter-spacing:-.04em!important;
    white-space:nowrap!important;
  }

  html body .top .brandmark{
    box-sizing:border-box!important;
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:13px 13px 13px 5px!important;
    background:#092A35!important;
    color:#FFD84D!important;
    font-size:.84rem!important;
    font-weight:800!important;
    line-height:1!important;
  }

  html body .top .brandSub{
    display:block!important;
    margin-top:2px!important;
    font-size:.65rem!important;
    font-weight:750!important;
    line-height:1.15!important;
    letter-spacing:0!important;
    color:#596970!important;
  }

  html body .top .topnav{
    margin:0 0 0 auto!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:14px!important;
    flex:0 0 auto!important;
    flex-wrap:nowrap!important;
  }

  html body .top .topnav>.bookbslMobilePanel{
    display:contents!important;
  }

  html body .top .bookbslMenuToggle{
    display:none!important;
  }

  html body .top .topnav>a:not(.header-cta),
  html body .top .topnav>.bookbslMobilePanel>a:not(.header-cta){
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:0!important;
    padding:0 14px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#092A35!important;
    box-shadow:none!important;
    text-decoration:none!important;
    font-family:"Manrope",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:.92rem!important;
    font-weight:800!important;
    line-height:1!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    transform:none!important;
    transition:color .16s ease,transform .08s ease!important;
  }

  html body .top .topnav>a:not(.header-cta):hover,
  html body .top .topnav>a:not(.header-cta):focus-visible,
  html body .top .topnav>.bookbslMobilePanel>a:not(.header-cta):hover,
  html body .top .topnav>.bookbslMobilePanel>a:not(.header-cta):focus-visible,
  html body .top .topnav>a[aria-current="page"],
  html body .top .topnav>.bookbslMobilePanel>a[aria-current="page"]{
    color:#2456B3!important;
    background:transparent!important;
    text-decoration:underline!important;
    text-decoration-thickness:2px!important;
    text-underline-offset:6px!important;
  }

  html body .top .topnav>a:not(.header-cta):active,
  html body .top .topnav>.bookbslMobilePanel>a:not(.header-cta):active{
    color:#2456B3!important;
    background:transparent!important;
    text-decoration:underline!important;
    text-decoration-thickness:2px!important;
    text-underline-offset:6px!important;
    transform:translateY(1px)!important;
  }

  html body .top .topnav .header-cta{
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:154px!important;
    min-width:154px!important;
    max-width:154px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:0 0 0 10px!important;
    padding:0 16px!important;
    border:2px solid #092A35!important;
    border-radius:999px!important;
    background:#092A35!important;
    color:#fff!important;
    box-shadow:none!important;
    text-decoration:none!important;
    font-family:"Manrope",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:.92rem!important;
    font-weight:800!important;
    line-height:1!important;
    letter-spacing:-.01em!important;
    white-space:nowrap!important;
    flex:0 0 154px!important;
    transform:none!important;
    transition:background-color .16s ease,border-color .16s ease,transform .08s ease!important;
  }

  html body .top .topnav .header-cta:hover,
  html body .top .topnav .header-cta:focus-visible,
  html body .top .topnav .header-cta:active{
    background:#2456B3!important;
    border-color:#2456B3!important;
    color:#fff!important;
    text-decoration:none!important;
  }

  html body .top .topnav .header-cta:active{
    transform:translateY(1px)!important;
  }

  html body .top .desktopCtaText{display:inline!important}
  html body .top .mobileCtaText{display:none!important}
}

@media (min-width:681px) and (max-width:900px){
  html body .top .topin{gap:18px!important}
  html body .top .brandSub{display:none!important}
  html body .top .topnav{gap:8px!important}
  html body .top .topnav>a:not(.header-cta),
  html body .top .topnav>.bookbslMobilePanel>a:not(.header-cta){padding:0 9px!important;font-size:.86rem!important}
  html body .top .topnav .header-cta{width:142px!important;min-width:142px!important;max-width:142px!important;flex-basis:142px!important;font-size:.86rem!important;padding:0 12px!important;margin-left:4px!important}
}

@media (max-width:680px){
  html body .top{overflow:visible!important}

  html body .top .shell{
    width:min(100% - 22px,1160px)!important;
    margin:0 auto!important;
  }

  html body .top .topin{
    box-sizing:border-box!important;
    position:relative!important;
    height:70px!important;
    min-height:70px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 108px!important;
    align-items:center!important;
    column-gap:12px!important;
    row-gap:0!important;
    padding:0!important;
  }

  html body .top .brand{
    grid-column:1!important;
    min-width:0!important;
    width:auto!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    font-family:"Manrope",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:1.05rem!important;
    font-weight:800!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  html body .top .brandmark{
    box-sizing:border-box!important;
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:12px 12px 12px 5px!important;
    background:#092A35!important;
    color:#FFD84D!important;
    font-size:.74rem!important;
    font-weight:800!important;
    line-height:1!important;
  }

  html body .top .brandSub{display:none!important}

  html body .top .topnav{
    grid-column:2!important;
    justify-self:end!important;
    align-self:center!important;
    width:108px!important;
    min-width:108px!important;
    max-width:108px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:0!important;
    position:static!important;
  }

  html body .top .bookbslMenuToggle{
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:108px!important;
    min-width:108px!important;
    max-width:108px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:0!important;
    padding:0 12px!important;
    border:2px solid #092A35!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#092A35!important;
    box-shadow:none!important;
    font-family:"Manrope",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:.84rem!important;
    font-weight:800!important;
    line-height:1!important;
    white-space:nowrap!important;
    cursor:pointer!important;
  }

  html body .top .bookbslMenuToggle[aria-expanded="true"]{
    background:#FFD84D!important;
  }

  html body .top .bookbslMenuToggle:focus-visible{
    outline:3px solid #2456B3!important;
    outline-offset:3px!important;
  }

  html body .top .bookbslMenuIcon{
    width:17px!important;
    height:14px!important;
    display:grid!important;
    align-content:space-between!important;
    flex:0 0 17px!important;
  }

  html body .top .bookbslMenuIcon span{
    display:block!important;
    width:17px!important;
    height:2px!important;
    border-radius:999px!important;
    background:currentColor!important;
  }

  html body .top .bookbslMobilePanel{
    box-sizing:border-box!important;
    display:none!important;
    position:absolute!important;
    z-index:80!important;
    top:calc(100% + 8px)!important;
    right:0!important;
    left:auto!important;
    width:min(330px,calc(100vw - 22px))!important;
    padding:10px!important;
    background:#fff!important;
    border:2px solid #092A35!important;
    border-radius:18px!important;
    box-shadow:6px 6px 0 #092A35!important;
  }

  html body .top .topnav.is-open .bookbslMobilePanel{
    display:grid!important;
    gap:4px!important;
  }

  html body .top .bookbslMobilePanel>a{
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:0!important;
    padding:0 14px!important;
    border:0!important;
    border-radius:12px!important;
    background:transparent!important;
    color:#092A35!important;
    box-shadow:none!important;
    text-decoration:none!important;
    font-family:"Manrope",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:.92rem!important;
    font-weight:800!important;
    line-height:1!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
  }

  html body .top .bookbslMobilePanel>a:not(.header-cta):hover,
  html body .top .bookbslMobilePanel>a:not(.header-cta):focus-visible{
    background:#DDF4EC!important;
    color:#2456B3!important;
    text-decoration:underline!important;
    text-decoration-thickness:2px!important;
    text-underline-offset:5px!important;
  }

  html body .top .bookbslMobilePanel>a:not(.header-cta):active,
  html body .top .bookbslMobilePanel>a[aria-current="page"]{
    background:#EDF3FF!important;
    color:#2456B3!important;
    text-decoration:underline!important;
    text-decoration-thickness:2px!important;
    text-underline-offset:5px!important;
  }

  html body .top .bookbslMobilePanel .header-cta,
  html body .top .bookbslMobilePanel .navCta{
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:4px 0 0!important;
    padding:0 14px!important;
    border:2px solid #092A35!important;
    border-radius:12px!important;
    background:#092A35!important;
    color:#fff!important;
    text-decoration:none!important;
    font-size:.92rem!important;
    font-weight:800!important;
    line-height:1!important;
  }

  html body .top .bookbslMobilePanel .header-cta:hover,
  html body .top .bookbslMobilePanel .header-cta:focus-visible,
  html body .top .bookbslMobilePanel .header-cta:active{
    background:#2456B3!important;
    border-color:#2456B3!important;
    color:#fff!important;
  }

  html body .top .desktopCtaText{display:none!important}
  html body .top .mobileCtaText{display:inline!important}
}
