.underline {
  text-decoration: underline;
}

.full-width {
  width: 100%;
}

.no-margin-top {
  margin-top: 0 !important;
}

.location h1 {
  margin-top: 0;
  color: #4A68B1;
  font-size: 44px;
}
@media (min-width: 768px) {
  .location .location__sidebar {
    padding-right: 2%;
  }
}
@media (min-width: 768px) {
  .location .location__details {
    padding-left: 1%;
  }
}
.location .location__contact-button {
  display: block;
  padding: 10px;
}
.location .location__contact-button:hover {
  text-decoration: none;
}
.location .location__contact-button .location__contact-button__name {
  font-weight: 300;
}
.location .location__history {
  border: 1px solid #4A68B1;
  margin-top: 20px;
}
.location .location__history .location__history__title {
  padding: 25px 10px;
  font-weight: 400;
}
.location .location__history .location__history__content {
  padding: 10px;
}
.location .location__grid {
  padding-left: 5%;
}
.location .location__grid > div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 50px;
  row-gap: 15px;
}
.location .location__grid > div.field--name-field-library-services {
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .location .location__grid > div.field--name-field-library-services {
    grid-template-columns: repeat(2, 1fr);
  }
}
.location .location__grid > div.field--name-field-library-services .link {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .location .location__grid > div.field--name-field-library-services .link {
    max-width: 275px;
  }
}
.location .location__grid__ul {
  padding-left: 5%;
}
.location .location__grid__ul ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 50px;
  row-gap: 15px;
  list-style: initial;
}
.location .location__services__content,
.location .location__features__content {
  padding-right: 5%;
}
.location .location__services__content .link,
.location .location__features__content .link {
  max-width: 275px;
}
.location .location__services__content .link > .link__image,
.location .location__features__content .link > .link__image {
  margin-right: 10px !important;
}
.location .location__services__content .link .link__image,
.location .location__features__content .link .link__image {
  padding-right: 0;
  margin-right: 0;
}
.location .location__features__content .link {
  color: #4A68B1;
}
.location .location__features__content .link:hover {
  text-decoration: underline;
}
.location .location__features__content .link svg path {
  fill: #4A68B1;
}
.location .location__services {
  padding-bottom: 25px;
}
.location .location__features {
  padding-bottom: 25px;
}
.location .geofield-google-map .node__bookmobile-stop a {
  pointer-events: none;
}
.location .geofield-google-map .node__bookmobile-stop .address {
  margin: 0;
  padding: 0;
}
.location .geofield-google-map .node__bookmobile-stop h2 {
  margin: 0;
}
.location .location__footer {
  margin-top: 50px;
  padding: 25px 0;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}
.location .location__footer .location__footer__content {
  margin-top: 25px;
}
.location .location__footer header {
  display: none;
}
.location .service-link {
  display: flex;
}
.location .service-link img,
.location .service-link svg {
  height: 22px;
  width: auto;
  padding-right: 10px;
  fill: #331934;
}
.location .service-link img path,
.location .service-link svg path {
  fill: #331934;
}
.location .service-link.has-link {
  fill: #4A68B1;
}
.location .service-link.has-link .field--name-name {
  text-decoration: underline;
}

.footer-first {
  margin-top: 0;
}