.locations {

  font-size: 14px;
  line-height: 20px;

  .locations-heading {
    font-size: 14px;
    line-height: 20px;
    font-weight: 700;
    color: var(--color-black);
    margin-bottom: 16px;
  }

  .locations-row {
    margin-bottom: 70px;
  }

  .region-list,
  .showroom-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }

  .region-item,
  .showroom-item {
    width: 250px;
    flex-shrink: 0;
    padding-right: 5px;
    margin-bottom: 20px;

    h3 {
      font-size: 14px;
      line-height: 20px;
      font-weight: 700;
      color: var(--color-black);
      margin-bottom: 0;
    }

    div {
      font-size: 14px;
      line-height: 20px;
      color: var(--color-black);
    }
  }

  .email-link {
    color: var(--color-black);
    text-decoration: none;
    border-bottom: 1px solid var(--color-gray-20);

    &:hover {
      color: var(--color-primary);
      border-bottom: 1px solid var(--color-primary);
    }
  }

}

@media screen and (min-width: 768px) {
  .locations .region-list {
    max-height: 183px; /* (41 + 20) x 3 */
  }
}

@media screen and (min-width: 1256px) {
  .locations .region-list {
    max-height: 122px; /* (41 + 20) x 2 */
  }
}

@media screen and (min-width: 992px) {
  .locations .region-item,
  .locations .showroom-item {
    width: 296px;
  }
}

@media screen and (max-width: 960px) {
  .locations {
    .grid.base .column.h-span-3,
    .grid.base .column.h-span-9 {
      grid-column: span 12;
    }
  }
}
