/* V111: authoritative fixes for the Locations, Doctors and William Thatcher pages. */
body.page-locations *,
body.page-team *,
body.page-doctor-william *{box-sizing:border-box!important}

body.page-locations main,
body.page-team main,
body.page-doctor-william main{width:100%!important;max-width:100%!important;overflow-x:clip!important}

body.page-locations main .container,
body.page-team main .container,
body.page-doctor-william main .container{
  width:min(1120px,calc(100% - 48px))!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* V117: one visible order, one portrait scale, and one profile-page framework. */
body.page-locations main .locations-reference-list>.location-card:nth-child(1){order:1!important}
body.page-locations main .locations-reference-list>.location-card:nth-child(8){order:2!important}
body.page-locations main .locations-reference-list>.location-card:nth-child(n+2):nth-child(-n+7){order:3!important}
body.page-locations main .locations-reference-list>.location-card:nth-child(9){order:4!important}
body.page-locations main .locations-reference-list>.location-card:nth-child(10){order:5!important}

body.page-doctor-profile main .profile-hero-grid{
  display:grid!important;
  grid-template-columns:1.2fr .8fr!important;
  gap:60px!important;
  align-items:center!important;
  width:min(1120px,calc(100% - 48px))!important;
  max-width:1120px!important;
  margin-inline:auto!important;
}
body.page-doctor-profile main .profile-hero-grid>div:first-child,
body.page-doctor-profile main .profile-hero-grid>div:first-child *{
  text-align:left!important;
  text-align-last:left!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.page-doctor-profile main .profile-hero .button-row{justify-content:flex-start!important}
body.page-doctor-profile main .profile-hero img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  object-position:center top!important;
  margin:0!important;
  padding:0!important;
}
body.page-doctor-jack main .profile-hero img{content:url("doctors/jack-tesoriero-team-card-v117.png?v=117")!important}
body.page-doctor-william main .profile-hero img{content:url("doctors/william-thatcher-team-card-v116.png?v=117")!important}
body.page-doctor-david main .profile-hero .hero-sub:before{
  content:"Doctor of Chiropractic";
  display:block;
  margin:0 0 14px;
  color:#e0b447;
  font-weight:900;
}
body.page-doctor-profile main .profile-content{
  display:grid!important;
  grid-template-columns:1.2fr .8fr!important;
  gap:70px!important;
  align-items:start!important;
  width:min(1120px,calc(100% - 48px))!important;
  max-width:1120px!important;
  margin-inline:auto!important;
}
body.page-doctor-profile main .profile-content>div,
body.page-doctor-profile main .profile-facts{min-width:0!important}
body.page-doctor-profile main .profile-facts{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:32px!important;
  border-top:5px solid #c89a2b!important;
  border-radius:8px!important;
}
body.page-doctor-profile main .profile-content h2,
body.page-doctor-profile main .profile-content h3,
body.page-doctor-profile main .profile-content p{
  text-align:left!important;
  text-align-last:left!important;
  margin-left:0!important;
  margin-right:0!important;
}

@media(max-width:1020px){
  body.page-doctor-profile main .profile-hero-grid,
  body.page-doctor-profile main .profile-content{
    grid-template-columns:1fr!important;
    width:min(720px,calc(100% - 32px))!important;
    max-width:720px!important;
    gap:30px!important;
  }
  body.page-doctor-profile main .profile-hero-grid>div:first-child,
  body.page-doctor-profile main .profile-hero-grid>div:first-child *{
    text-align:center!important;
    text-align-last:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.page-doctor-profile main .profile-hero .button-row{justify-content:center!important}
  body.page-doctor-profile main .profile-hero img{width:min(520px,100%)!important;margin-inline:auto!important}
  body.page-doctor-david main .profile-hero .hero-sub:before{text-align:center!important}
}

body.page-locations main .page-hero .hero-content{
  width:min(1080px,calc(100% - 48px))!important;
  max-width:1080px!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
body.page-locations main .page-hero h1{
  width:100%!important;
  max-width:980px!important;
  margin:10px auto!important;
  padding:0!important;
  font-size:clamp(2.2rem,3.5vw,3.45rem)!important;
  line-height:1.08!important;
  white-space:normal!important;
  text-wrap:balance!important;
}
body.page-locations main .page-hero .hero-sub{max-width:780px!important;margin-inline:auto!important}

body.page-locations main .professional-pt-location-note{
  width:min(1060px,calc(100% - 48px))!important;
  max-width:1060px!important;
  margin:22px auto 28px!important;
  padding:15px 20px!important;
  overflow:hidden!important;
}
body.page-locations main .professional-pt-location-note .professional-pt-note-inner{
  display:grid!important;
  grid-template-columns:minmax(120px,160px) minmax(0,1fr) minmax(135px,175px)!important;
  gap:18px!important;
  width:100%!important;
  min-width:0!important;
}
body.page-locations main .professional-pt-location-note .nsc-note-logo{
  padding-right:16px!important;
}
body.page-locations main .professional-pt-location-note .nsc-note-logo img{width:140px!important;max-width:100%!important}
body.page-locations main .professional-pt-location-note .professional-pt-note-logo img{width:165px!important;max-width:100%!important}
body.page-locations main .professional-pt-location-note p{min-width:0!important;font-size:.9rem!important;line-height:1.42!important}

body.page-locations main .locations-directory .container{width:min(1080px,calc(100% - 48px))!important;max-width:1080px!important}
body.page-locations main .locations-reference-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
}
body.page-locations main .location-card-reference{
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:18px 18px 16px!important;
  overflow:hidden!important;
}
body.page-locations main .location-card-reference .loc-left{width:100%!important;min-width:0!important}
body.page-locations main .location-card-reference .service-badges{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-bottom:10px!important}
body.page-locations main .location-card-reference .service-badges span{font-size:.62rem!important;white-space:nowrap!important}
body.page-locations main .location-card-reference .loc-coming-soon{margin:2px auto 8px!important;font-size:.7rem!important}
body.page-locations main .location-card-reference h2{font-size:1.35rem!important;margin:0 0 7px!important}
body.page-locations main .location-card-reference .location-doctor{font-size:.9rem!important;margin-bottom:8px!important}
body.page-locations main .location-card-reference .no-justify{min-height:2.4em!important;margin-bottom:7px!important;font-size:.82rem!important;line-height:1.35!important}
body.page-locations main .location-card-reference .location-phone-row{margin:4px auto 8px!important;padding:4px 8px!important;font-size:.92rem!important}
body.page-locations main .location-card-reference .location-detail-link{min-height:38px!important;margin:8px auto 0!important;padding:8px 10px!important;font-size:.69rem!important}
body.page-locations main .location-card-reference .coming-soon-detail{cursor:default!important}

body.page-team main .doctor-remaining-grid .doctor-card-william .doctor-photo{
  object-fit:contain!important;
  object-position:center center!important;
  transform:scale(1.18)!important;
  transform-origin:center 38%!important;
  background:#aaa29d!important;
}
body.page-team main .doctor-card-william .compliance-badge{margin-top:6px!important}
body.page-team main .doctor-featured-row img[src*="jack-tesoriero-master-natural-v108"]{
  object-fit:contain!important;
  object-position:center center!important;
  transform:scale(1.18)!important;
  transform-origin:center 38%!important;
  background:#aaa29d!important;
}
body.page-team main .doctor-grid{display:block!important;width:min(1120px,100%)!important;max-width:1120px!important;margin-inline:auto!important}
body.page-team main .doctor-featured-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
  width:min(930px,100%)!important;
  max-width:930px!important;
  margin:0 auto 28px!important;
}
body.page-team main .doctor-remaining-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
  width:100%!important;
  max-width:1120px!important;
  margin-inline:auto!important;
}
body.page-team main .doctor-card{width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
body.page-team main .doctor-card .doctor-photo-link{width:100%!important;max-width:100%!important;overflow:hidden!important}
body.page-team main .doctor-card-body{min-width:0!important}

body.page-doctor-william main .profile-hero-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  gap:42px!important;
  align-items:center!important;
  width:100%!important;
}
body.page-doctor-william main .profile-hero-grid>div:first-child{min-width:0!important;text-align:left!important}
body.page-doctor-william main .profile-hero-grid>div:first-child *{max-width:100%!important}
body.page-doctor-william main .profile-hero h1{
  width:100%!important;
  max-width:100%!important;
  margin:12px 0!important;
  padding:0!important;
  font-size:clamp(2.4rem,4vw,3.7rem)!important;
  line-height:1.05!important;
  white-space:normal!important;
  text-align:left!important;
  text-align-last:left!important;
}
body.page-doctor-william main .profile-hero .eyebrow,
body.page-doctor-william main .profile-hero .profile-role,
body.page-doctor-william main .profile-hero .hero-sub,
body.page-doctor-william main .profile-hero .back-link{text-align:left!important;text-align-last:left!important;margin-left:0!important}
body.page-doctor-william main .profile-hero img.william-profile-photo{
  width:100%!important;
  height:auto!important;
  max-height:390px!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  object-position:center top!important;
}
body.page-doctor-william main .profile-content{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(285px,.65fr)!important;
  gap:46px!important;
  width:100%!important;
  max-width:1120px!important;
}
body.page-doctor-william main .profile-content>div,
body.page-doctor-william main .profile-facts{min-width:0!important}
body.page-doctor-william main .profile-content h2{padding:0!important;font-size:clamp(2rem,3vw,3rem)!important;line-height:1.12!important}
body.page-doctor-william main .profile-content h2{
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  text-wrap:balance!important;
}
body.page-doctor-william main .william-full-biography p,
body.page-doctor-william main .profile-personal-callout p{
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
  text-align-last:left!important;
  word-spacing:normal!important;
  hyphens:none!important;
}

@media(max-width:900px){
  body.page-locations main .container,
  body.page-team main .container,
  body.page-doctor-william main .container{width:calc(100% - 32px)!important}
  body.page-locations main .professional-pt-location-note{width:calc(100% - 32px)!important}
  body.page-locations main .professional-pt-location-note .professional-pt-note-inner{grid-template-columns:1fr 1fr!important;gap:10px 14px!important}
  body.page-locations main .professional-pt-location-note .nsc-note-logo{padding-right:0!important;border-right:0!important}
  body.page-locations main .professional-pt-location-note p{grid-column:1 / -1!important;grid-row:2!important}
  body.page-locations main .locations-reference-list{grid-template-columns:1fr!important}
  body.page-doctor-william main .profile-hero-grid,
  body.page-doctor-william main .profile-content{grid-template-columns:1fr!important;gap:28px!important}
  body.page-doctor-william main .profile-hero-grid>div:first-child,
  body.page-doctor-william main .profile-hero-grid>div:first-child *{text-align:center!important;text-align-last:center!important;margin-left:auto!important;margin-right:auto!important}
  body.page-doctor-william main .profile-hero img.william-profile-photo{max-width:520px!important;margin-inline:auto!important}
}

@media(max-width:1180px){
  body.page-team main .doctor-remaining-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;width:min(100%,1020px)!important}
  body.page-doctor-william main .profile-hero-grid,
  body.page-doctor-william main .profile-content{
    grid-template-columns:1fr!important;
    width:min(820px,calc(100% - 48px))!important;
    max-width:820px!important;
    margin-inline:auto!important;
    gap:30px!important;
  }
  body.page-doctor-william main .profile-hero-grid>div:first-child,
  body.page-doctor-william main .profile-hero-grid>div:first-child *{
    text-align:center!important;
    text-align-last:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.page-doctor-william main .profile-hero .button-row{justify-content:center!important}
  body.page-doctor-william main .profile-hero img.william-profile-photo{width:min(520px,100%)!important;max-width:520px!important;margin-inline:auto!important}
  body.page-doctor-william main .profile-content>div,
  body.page-doctor-william main .profile-facts{width:100%!important;max-width:100%!important}
  body.page-doctor-william main .profile-content h2,
  body.page-doctor-william main .profile-content .profile-bio-eyebrow{text-align:center!important;text-align-last:center!important}
}

@media(max-width:820px){
  body.page-team main .doctor-featured-row,
  body.page-team main .doctor-remaining-grid{grid-template-columns:1fr!important;width:min(100%,560px)!important}
  body.page-doctor-william main .profile-hero-grid,
  body.page-doctor-william main .profile-content{width:calc(100% - 32px)!important}
}

@media(max-width:520px){
  body.page-locations main .page-hero .hero-content{width:calc(100% - 28px)!important}
  body.page-locations main .page-hero h1{font-size:2rem!important}
  body.page-locations main .professional-pt-location-note .nsc-note-logo img{width:115px!important}
  body.page-locations main .professional-pt-location-note .professional-pt-note-logo img{width:140px!important}
}

/* V115: one portrait system and one doctor-profile system. */
body.page-team main .doctor-card .doctor-photo,
body.page-team main .doctor-card-william .doctor-photo,
body.page-team main .doctor-featured-row img[src*="jack-tesoriero-master-natural-v108"]{
  width:100%!important;
  height:100%!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center top!important;
  transform:none!important;
  background:transparent!important;
}

body.page-doctor-william main .profile-hero-grid{
  display:grid!important;
  grid-template-columns:1.2fr .8fr!important;
  gap:60px!important;
  align-items:center!important;
  width:min(1120px,calc(100% - 48px))!important;
  max-width:1120px!important;
  margin-inline:auto!important;
}
body.page-doctor-william main .profile-hero-grid>div:first-child,
body.page-doctor-william main .profile-hero-grid>div:first-child *{
  text-align:left!important;
  text-align-last:left!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.page-doctor-william main .profile-hero .button-row{justify-content:flex-start!important}
body.page-doctor-william main .profile-hero img.william-profile-photo{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  max-height:520px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center top!important;
  margin:0!important;
}
body.page-doctor-william main .profile-content{
  display:grid!important;
  grid-template-columns:1.2fr .8fr!important;
  gap:70px!important;
  align-items:start!important;
  width:min(1120px,calc(100% - 48px))!important;
  max-width:1120px!important;
  margin-inline:auto!important;
}
body.page-doctor-william main .profile-content h2,
body.page-doctor-william main .profile-content .profile-bio-eyebrow,
body.page-doctor-william main .profile-content .profile-personal-callout h3{
  text-align:left!important;
  text-align-last:left!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.page-doctor-william main .profile-content p{
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  text-align:justify!important;
  text-align-last:left!important;
  text-justify:inter-word!important;
  word-spacing:normal!important;
}
body.page-doctor-william main .profile-facts{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}

@media(max-width:1020px){
  body.page-doctor-william main .profile-hero-grid,
  body.page-doctor-william main .profile-content{
    grid-template-columns:1fr!important;
    width:min(720px,calc(100% - 32px))!important;
    max-width:720px!important;
    gap:30px!important;
  }
  body.page-doctor-william main .profile-hero-grid>div:first-child,
  body.page-doctor-william main .profile-hero-grid>div:first-child *{
    text-align:center!important;
    text-align-last:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.page-doctor-william main .profile-hero .button-row{justify-content:center!important}
  body.page-doctor-william main .profile-hero img.william-profile-photo{width:min(520px,100%)!important;margin-inline:auto!important}
  body.page-doctor-william main .profile-content h2,
  body.page-doctor-william main .profile-content .profile-bio-eyebrow{text-align:center!important;text-align-last:center!important;margin-inline:auto!important}
}
