html {
  min-height: 0;
}

.location-services article .img-wrapper {
  position: relative;
}

.location-services article .img-wrapper picture,
.location-services article .img-wrapper img {
  display: block;
}

.location-services article, .location-services article .img-wrapper {
  overflow: hidden;
}

.location-services article .img-wrapper picture,
.location-services article .img-wrapper img {
  height: 100%;
  width: 100%;
}

.location-body .row h2, .location-body .row h3, .location-services article h3 {
  text-transform: uppercase;
}

.location-services .text-wrapper, .location-services article a {
  display: flex;
}

.location-services .text-wrapper, .location-services article a {
  flex-direction: column;
}

.location-services {
  display: grid;
}

.location-services article a {
  transition-duration: 200ms;
}

.location-services article a {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.location-services article a {
  transition-behaviour: allow-discrete;
}

.location-services article a {
  transition-property: opacity, transform, width, visibility;
}

.location-services article {
  border-radius: 5px;
}

@media screen and (min-width: 1921px) {
  .location-body, .location-services {
    padding-left: 7.5%;
    padding-right: 7.5%;
  }
}
@media screen and (min-width: 1441px) and (max-width: 1920px) {
  .location-body, .location-services {
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media screen and (min-width: 1121px) and (max-width: 1440px) {
  .location-body, .location-services {
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media screen and (min-width: 761px) and (max-width: 1120px) {
  .location-body, .location-services {
    padding-left: 3em;
    padding-right: 3em;
  }
}
@media screen and (max-width: 760px) {
  .location-body, .location-services {
    padding-left: 5%;
    padding-right: 5%;
  }
}

@media screen and (min-width: 1201px) {
  .location-body, .location-services {
    padding-top: 150px;
    padding-bottom: 150px;
  }
}
@media screen and (min-width: 761px) and (max-width: 1200px) {
  .location-body, .location-services {
    padding-top: 4.5em;
    padding-bottom: 4.5em;
  }
}
@media screen and (max-width: 760px) {
  .location-body, .location-services {
    padding-top: 3em;
    padding-bottom: 3em;
  }
}

.location-services .text-wrapper h2 {
  font-size: clamp(2.4rem, 2.4rem + 0.6 * (100vw - 450px) / 1470, 3rem);
}

.location-body .row h2, .location-services article h3 {
  font-size: clamp(1.2rem, 1.2rem + 0.6 * (100vw - 450px) / 1470, 1.8rem);
}

.location-body .row h3, .location-body .row p, .location-services .text-wrapper p, .location-services article p {
  font-size: 1rem;
}

.location-body .row h2, .location-services article h3, .location-services .text-wrapper h2 {
  margin-bottom: 0.5em;
  line-height: 1.25em;
}

.location-services .text-wrapper h2 {
  font-weight: bold;
}

.location-body .row p, .location-services .text-wrapper p, .location-services article p {
  font-weight: normal;
  line-height: 1.6em;
}

.location-body .row p, .location-services .text-wrapper p, .location-services article p {
  margin-bottom: 1.5em;
}

.location-body .row {
  max-width: 46em;
}
.location-body .row h2 {
  margin: 1.4em 0 0.6em;
}
.location-body .row h2:first-child {
  margin-top: 0;
}
.location-body .row h3 {
  margin: 1.2em 0 0.4em;
}
.location-body .row h3 a {
  color: #e21b70;
}
.location-body .row a {
  color: #e21b70;
}

.location-services {
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5em;
  align-items: stretch;
  background: #f8f8f8;
}
.location-services .text-wrapper {
  justify-content: center;
}
.location-services .text-wrapper h2 {
  color: #e21b70;
}
.location-services article {
  background: #fff;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
}
.location-services article a {
  height: 100%;
  color: inherit;
}
.location-services article a::after {
  content: "";
  display: block;
  width: 1.2em;
  height: 1.2em;
  flex: 0 0 1.2em;
  background-color: #c6e000;
  mask: url(/app/global/images/icon-arrow.svg) center/contain no-repeat;
  -webkit-mask: url(/app/global/images/icon-arrow.svg) center/contain no-repeat;
  mask-mode: alpha;
}
.location-services article a:after {
  margin: auto 1.2em 1.2em;
}
.location-services article a:hover h3 {
  color: #111111;
}
.location-services article .img-wrapper {
  position: relative;
  aspect-ratio: 4/3;
}
.location-services article .img-wrapper img {
  object-fit: cover;
}
.location-services article h3 {
  margin: 1.1em 1.2em 0.45em;
  color: #e21b70;
}
@media screen and (max-width: 1100px) {
  .location-services {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 760px) {
  .location-services {
    grid-template-columns: 1fr;
  }
  .location-services .img-wrapper {
    aspect-ratio: 16/9;
  }
}
