.contact-banner {
  margin: 0 4em;
}
.contact-banner__heading {
  color: #292929;
  font-size: 1.625em;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 35.5em) {
  .contact-banner__heading {
    font-size: 2em;
  }
}
.contact-banner__separator {
  margin-top: 1em;
  margin-left: auto;
  margin-right: auto;
  width: 3.5em;
  border-bottom: 1px solid #477894;
}
.contact-banner__text {
  margin-top: 1.75em;
  color: #76787E;
  font-size: 1em;
  font-weight: 300;
  line-height: 1.5em;
  font-size: 1.125em;
  text-align: center;
}
@media screen and (min-width: 35.5em) {
  .contact-banner__text {
    font-size: 1.25em;
    line-height: 1.75em;
  }
}
#map {
  width: 100%;
  padding-top: 100%;
  position: relative;
}
.locations {
  max-width: 80em;
  margin: 3em auto;
  padding-left: 1em;
  padding-right: 1em;
}
@media screen and (min-width: 48em) {
  .locations {
    padding: 0;
    margin-right: 4em;
    margin-left: 4em;
  }
}
.locations__separator {
  margin-left: 0;
  margin-right: auto;
  width: 3.5em;
  border-bottom: 1px solid #477894;
  margin: 3em 0 0 0;
}
@media screen and (min-width: 48em) {
  .locations__separator {
    margin: 2em 2em 2em 3em;
  }
}
.location {
  margin: 2em 0 0 0;
}
@media screen and (min-width: 64em) {
  .location {
    margin: 0 0 0 3em;
  }
}
.location a {
  color: #477894;
  text-decoration: none;
}
.location a:hover {
  text-decoration: underline;
}
.location__city {
  color: #292929;
  font-size: 1.75em;
  font-weight: 600;
  letter-spacing: -0.0625em;
  line-height: 2.373em;
}
@media screen and (min-width: 48em) {
  .location__city {
    line-height: 1.25em;
  }
}
.location__detail {
  line-height: 1.25em;
  padding: 0.875em 0 0 4em;
  background-size: 1.5em auto;
  background-repeat: no-repeat;
  background-position: left;
}
.location__detail.is-address {
  margin-top: 0.5em;
  background-image: url('../assets/contact/location.png');
  background-position: center left 5px;
}
.location__detail.is-phone {
  background-image: url('../assets/contact/call.png');
  background-position: top 12px left 6px;
}
.location__detail.is-email {
  background-image: url('../assets/contact/email.png');
  background-size: 2em auto;
  background-position: top 17px left;
}
.location__detail.is-email a,
.location__detail.is-email a:visited {
  color: #000;
  text-decoration: none;
}
.location__detail.is-email a:hover {
  text-decoration: underline;
}
