/*
 * Mobile/tablet layer for the approved home design. Desktop (992px and up) is untouched.
 * !important is needed because the design's styles are inline.
 */
.v3-menu-btn{display:none}

/* ---- Hide the design's drawing details / switch the table before the script runs (same breakpoints as home.js) ---- */
@media (max-width:999px){
  [data-v3-callout],[data-v3-dim]{display:none!important}
  [data-v3-titleblock]{font-size:11px!important}
}
@media (max-width:719px){
  [data-v3-titleblock],[data-v3-coords]{display:none!important}
  [data-v3-tab]{font-size:14px!important;padding:16px 8px!important;flex:1 1 0!important;min-width:0!important;white-space:normal!important}
}
@media (max-width:699px){
  [data-v3-group],[data-v3-headstage],[data-v3-col],[data-v3-arrow]{display:none!important}
  [data-v3-head],[data-v3-row]{grid-template-columns:32px minmax(0,1fr)!important}
  [data-v3-inline]{display:flex!important}
}

/* ---- Hamburger menu (tablets and phones) ---- */
@media (max-width:991px){
  .v3-header-in{padding-top:12px!important;padding-bottom:12px!important;gap:0 16px!important;flex-wrap:wrap!important}
  .v3-logo{height:34px!important}
  .v3-menu-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;margin-right:-8px;border:0;background:none;cursor:pointer;color:#1d2433}
  .v3-menu-btn span{display:block;width:24px;height:2px;background:currentColor;transition:transform .25s ease,opacity .2s ease}
  .v3-header.v3-open .v3-menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .v3-header.v3-open .v3-menu-btn span:nth-child(2){opacity:0}
  .v3-header.v3-open .v3-menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .v3-nav{display:none!important}
  .v3-header.v3-open .v3-nav{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:100%;padding:8px 0 16px;font-size:16px!important;max-height:calc(100vh - 70px);overflow-y:auto}
  .v3-header.v3-open .v3-nav a{padding:14px 2px;border-top:1px solid #dcdcd6}
  .v3-header.v3-open .v3-nav a:first-child{border-top:0}
  .v3-header.v3-open .v3-nav a[style*="background-color"]{margin-top:14px;padding:14px 18px!important;text-align:center;border-top:0;height:auto!important;line-height:1.2!important;font-size:15px!important}
}

/* ---- Phones ---- */
@media (max-width:767px){
  .v3-wrap{padding-left:20px!important;padding-right:20px!important}

  /* top bar: one compact block, the services line is already the about heading */
  .v3-topbar{font-size:12px!important}
  .v3-topbar-in{padding-top:8px!important;padding-bottom:8px!important;justify-content:flex-start!important;gap:4px 16px!important}
  .v3-topbar-in > div{display:contents!important}
  .v3-hide-sm{display:none!important}

  /* hero */
  .v3-hero-in{padding-top:72px!important;padding-bottom:140px!important;gap:32px!important}

  /* about */
  .v3-about{padding-top:72px!important;padding-bottom:64px!important}
  .v3-about-grid{gap:40px!important}
  .v3-figpanel{width:44%!important;padding:16px 12px!important}
  .v3-figpanel span:first-child{font-size:11px!important;line-height:1.7!important}

  /* services */
  .v3-services{padding-top:16px!important;padding-bottom:80px!important}
  .v3-services-head{margin-bottom:36px!important}
  .v3-services-grid{gap:32px!important}
  [data-v3-row]{padding:20px 12px!important}
  [data-v3-head]{padding-left:12px!important;padding-right:12px!important}
  [data-v3-row] h3{font-size:19px!important}
  .v3-legend{padding:16px 12px 0!important;gap:10px 20px!important;font-size:11px!important}

  /* credentials */
  .v3-cred{padding-top:72px!important;padding-bottom:64px!important}
  .v3-cred-head{margin-bottom:36px!important}
  .v3-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:20px!important;row-gap:28px!important}
  .v3-stat-value{font-size:40px!important}
  .v3-bodies{margin-top:48px!important}
  .v3-logos{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v3-logo-cell{height:110px!important;padding:16px!important}
  .v3-logo-cell img{max-height:60px!important}

  /* footer */
  .v3-foot{padding-top:64px!important;padding-bottom:32px!important}
  .v3-foot-grid{gap:36px!important}
  .v3-foot-grid a[style*="font-size:20px"]{font-size:18px!important}
  .v3-foot-bottom{margin-top:48px!important;padding-top:24px!important}
}
