body.location-page{
  height:auto;
  min-height:100vh;
  background:#000;
  color:#fff;
}

body.location-page main{
  min-height:100vh;
  background:#000;
}

body.location-page .location-hero{
  position:relative;
  height:780px;
  min-height:720px;
}

body.location-page .main-image{
  transform:none;
}

body.location-page .main-image-tint{
  background:rgba(2, 2, 2, 0.78);
}

body.location-page #mc-logo{
  top:58px;
  left:28px;
  transform:none;
}

body.location-page #mc-logo img{
  width:330px;
  height:auto;
}

body.location-page #tb-actions{
  top:70px;
  right:36px;
  left:auto;
  transform:none;
  width:auto;
  max-width:calc(100% - 390px);
  justify-content:flex-end;
}

body.location-page .tb-buttons{
  width:auto;
  min-width:116px;
  padding:0 14px;
}

body.location-page #tb-contact{
  width:auto;
  min-width:112px;
}

.location-eyebrow{
  position:absolute;
  top:226px;
  left:50%;
  transform:translateX(-50%);
  width:min(760px, calc(100% - 32px));
  color:#cfd8e8;
  font-size:14px;
  font-weight:900;
  letter-spacing:2px;
  text-align:center;
  text-transform:uppercase;
  animation:fadeInDown .8s ease-out .1s both;
}

body.location-page #mc-h1{
  top:270px;
  height:auto;
  min-height:74px;
  width:min(940px, calc(100% - 32px));
  margin:0;
  padding:12px 20px;
  line-height:1.08;
  font-size:34px;
}

body.location-page #mc-h2{
  top:385px;
  width:min(900px, calc(100% - 32px));
  height:auto;
  color:#fff;
  font-size:29px;
  line-height:1.18;
  text-align:center;
}

body.location-page #mc-h3{
  top:475px;
  width:min(850px, calc(100% - 32px));
  height:auto;
  margin:0;
  color:#d8dbe0;
  font-size:18px;
  font-weight:700;
  line-height:1.65;
}

body.location-page #mc-actions{
  top:610px;
}

body.location-page #button-quote,
body.location-page #button-request{
  font-family:"Montserrat", sans-serif;
}

.location-summary,
.states-directory{
  position:relative;
  z-index:5;
  width:100%;
  background:#000;
}

.location-summary__inner,
.states-directory__inner{
  width:min(1180px, calc(100% - 40px));
  margin:0 auto;
}

.location-summary__inner{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(320px, .95fr);
  align-items:center;
  gap:44px;
  min-height:620px;
  padding:84px 0;
}

.location-summary__copy{
  min-width:0;
}

.location-label{
  display:block;
  color:#295391;
  font-weight:900;
  font-size:15px;
  letter-spacing:2px;
  text-transform:uppercase;
}

.location-summary h2,
.states-directory h2{
  margin:12px 0 18px;
  color:#fff;
  font-size:42px;
  line-height:1.05;
}

.location-summary p,
.states-directory p{
  margin:0;
  color:#d8dbe0;
  font-size:17px;
  font-weight:700;
  line-height:1.7;
}

.location-service-list{
  display:grid;
  gap:14px;
  margin:30px 0;
}

.location-service-list div{
  border-left:5px solid #295391;
  padding:3px 0 3px 16px;
}

.location-service-list strong,
.location-service-list span{
  display:block;
}

.location-service-list strong{
  color:#fff;
  font-size:16px;
  font-weight:900;
}

.location-service-list span{
  margin-top:4px;
  color:#c7cbd3;
  font-size:14px;
  font-weight:700;
  line-height:1.5;
}

.location-summary__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.location-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:170px;
  height:45px;
  padding:0 18px;
  border-radius:5px;
  color:#fff;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background-color .3s var(--ease);
}

.location-btn:hover{
  transform:translateY(-2px);
}

.location-btn--brand{
  background:#295391;
}

.location-btn--brand:hover{
  background:#1e3f6b;
  box-shadow:0 6px 12px rgba(41, 83, 145, 0.4);
}

.location-btn--gray{
  background:#8a8a8a;
}

.location-btn--gray:hover{
  background:#6b6b6b;
  box-shadow:0 6px 12px rgba(0, 0, 0, 0.3);
}

.location-summary__image{
  display:block;
  width:100%;
  max-height:430px;
  object-fit:contain;
  opacity:.9;
}

.states-directory{
  padding:86px 0 100px;
}

.states-directory__inner{
  text-align:center;
}

.states-directory__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
  margin-top:34px;
  text-align:left;
}

.states-directory__grid a{
  display:flex;
  align-items:center;
  min-height:46px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:5px;
  color:#fff;
  background:rgba(255,255,255,.05);
  font-size:14px;
  font-weight:800;
  text-decoration:none;
  transition:transform .2s var(--ease), background-color .2s var(--ease), border-color .2s var(--ease);
}

.states-directory__grid a:hover{
  transform:translateY(-2px);
  border-color:rgba(41,83,145,.8);
  background:rgba(41,83,145,.35);
}

@media (max-width: 920px){
  body.location-page .location-hero{
    height:820px;
    min-height:820px;
  }

  body.location-page #mc-logo{
    top:54px;
    left:50%;
    transform:translateX(-50%);
  }

  body.location-page #mc-logo img{
    width:260px;
  }

  body.location-page #tb-actions{
    top:190px;
    right:auto;
    left:50%;
    transform:translateX(-50%);
    width:min(520px, calc(100% - 24px));
    max-width:none;
    height:auto;
    flex-wrap:wrap;
  }

  body.location-page .tb-buttons{
    min-width:120px;
    height:38px;
    font-size:11px;
  }

  .location-eyebrow{
    top:300px;
    font-size:12px;
  }

  body.location-page #mc-h1{
    top:338px;
    min-height:0;
    font-size:26px;
  }

  body.location-page #mc-h2{
    top:445px;
    font-size:22px;
  }

  body.location-page #mc-h3{
    top:530px;
    font-size:15px;
    line-height:1.55;
  }

  body.location-page #mc-actions{
    top:680px;
    width:min(420px, calc(100% - 32px));
  }

  .location-summary__inner{
    grid-template-columns:1fr;
    min-height:0;
    padding:68px 0;
  }

  .location-summary h2,
  .states-directory h2{
    font-size:32px;
  }

  .location-summary__image{
    max-height:320px;
  }

  .states-directory__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px){
  #topbar-message1{
    font-size:12px;
    padding:13px 8px;
  }

  body.location-page .location-hero{
    height:860px;
    min-height:860px;
  }

  body.location-page #tb-actions{
    top:178px;
    gap:3px;
  }

  body.location-page .tb-buttons{
    min-width:calc(50% - 4px);
    padding:0 8px;
  }

  .location-eyebrow{
    top:312px;
  }

  body.location-page #mc-h1{
    top:352px;
    font-size:22px;
    line-height:1.18;
  }

  body.location-page #mc-h2{
    top:465px;
    font-size:19px;
  }

  body.location-page #mc-h3{
    top:545px;
    width:calc(100% - 28px);
    font-size:14px;
  }

  body.location-page #mc-actions{
    top:715px;
    flex-direction:column;
    height:auto;
  }

  body.location-page #button-quote,
  body.location-page #button-request{
    width:100%;
  }

  .location-summary__inner,
  .states-directory__inner{
    width:min(100% - 28px, 1180px);
  }

  .location-summary__actions{
    flex-direction:column;
  }

  .location-btn{
    width:100%;
  }

  .states-directory__grid{
    grid-template-columns:1fr;
  }
}
