.bristell-centers {
  --color-primary: #122e5c;
  --color-secondary: #98032f;
  --color-secondary-hover: #d70707;
  --color-background: #f8f8f8;
  --color-tertiary: #999;
  --color-white: #ffffff;
  --regular: 400;
  --bold: 700;
  --gap: 40px;
  --font-size-10: 10px;
  --font-size-12: 12px;
  --font-size-13: 13px;
  --font-size-14: 14px;
  --font-size-15: 15px;
  --font-size-16: 16px;
  --font-size-18: 18px;
  --font-size-20: 20px;
  --font-size-24: 24px;
  --font-size-30: 30px;
  --font-size-36: 36px;
  --font-size-48: 48px;
}
.bristell-centers__notice {
  padding: 0.5em 1em;
  background-color: var(--color-secondary);
  color: var(--color-white);
  text-align: center;
}
.bristell-centers__map {
  position: relative;
  width: 100%;
  height: 420px;
}
.bristell-centers__filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5em 1em;
  margin: var(--gap) auto;
  width: 100%;
  max-width: var(--layout-content-width);
}
.bristell-centers__filter {
  --filter-text-color: var(--color-primary);
  --filter-text-color-hover: var(--color-white);
  --filter-background-color: transparent;
  --filter-background-color-hover: var(--color-secondary-hover);
  --filter-border-color: var(--color-primary);
  --filter-border-color-hover: var(--color-secondary-hover);
  --filter-font-size: var(--font-size-18);
  --filter-padding: 0.5em 1em;
  display: inline-block;
  padding: var(--filter-padding);
  font-weight: var(--bold);
  color: var(--filter-text-color);
  background-color: var(--filter-background-color);
  border: 2px solid var(--filter-border-color);
  cursor: pointer;
  text-transform: uppercase;
  font-size: var(--filter-font-size);
}
.bristell-centers__filter:hover {
  color: var(--filter-text-color-hover);
  background-color: var(--filter-background-color-hover);
  border-color: var(--filter-border-color-hover);
}
.bristell-centers__filter.active {
  --filter-text-color: var(--color-white);
  --filter-text-color-hover: var(--color-white);
  --filter-background-color: var(--color-primary);
  --filter-background-color-hover: var(--color-secondary-hover);
  --filter-border-color: var(--color-primary);
  --filter-border-color-hover: var(--color-secondary-hover);
}
.bristell-centers__filter--location {
  --filter-text-color: var(--color-secondary);
  --filter-text-color-hover: var(--color-white);
  --filter-background-color: transparent;
  --filter-background-color-hover: var(--color-secondary-hover);
  --filter-border-color: var(--color-secondary);
  --filter-border-color-hover: var(--color-secondary-hover);
  --filter-font-size: var(--font-size-14);
  --filter-padding: 0.3em 0.6em;
}
.bristell-centers__filter--location.active {
  --filter-text-color: var(--color-white);
  --filter-text-color-hover: var(--color-white);
  --filter-background-color: var(--color-secondary);
  --filter-background-color-hover: var(--color-secondary-hover);
  --filter-border-color: var(--color-secondary);
  --filter-border-color-hover: var(--color-secondary-hover);
}
.bristell-centers__list {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
.bristell-centers__location-group.hidden {
  display: none;
}
.bristell-centers__location-title {
  font-size: var(--font-size-30) !important;
  font-weight: var(--bold);
  margin-bottom: 0.5em;
  color: var(--color-tertiary) !important;
  text-transform: uppercase;
}
.bristell-centers__location-centers {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--gap);
}
.bristell-centers .bristell-center {
  padding: 1em 1.5em;
  background-color: var(--color-background);
  box-shadow: 0 3px 0 #ededed;
}
.bristell-centers .bristell-center.hidden {
  display: none;
}
.bristell-centers .bristell-center a {
  color: var(--color-secondary);
}
.bristell-centers .bristell-center a:hover {
  color: var(--color-secondary-hover);
}
.bristell-centers .bristell-center__title {
  font-size: var(--font-size-30);
  line-height: 1.1;
  margin-bottom: 0.25em;
}
.bristell-centers .bristell-center__meta-item {
  padding: 0;
}
.bristell-centers .bristell-center__content p {
  font-size: 1em;
  line-height: 1.25em;
}
.bristell-centers .bristell-center__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  margin-bottom: 0.5em;
}
.bristell-centers .bristell-center__category {
  padding: 0.35em 0.5em;
  font-size: var(--font-size-14);
  color: var(--color-secondary);
  background-color: var(--color-white);
  border: 1px solid var(--color-secondary);
  line-height: 1;
}

.bristell-map-info__title {
  font-size: var(--font-size-20) !important;
  line-height: 1.1 !important;
  font-weight: var(--bold);
  margin-bottom: 0.5em;
}
.bristell-map-info__meta {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}
.bristell-map-info__meta-item {
  font-size: var(--font-size-14);
}
.bristell-map-info__meta a {
  color: var(--color-secondary);
}
.bristell-map-info__meta a:hover {
  color: var(--color-secondary-hover);
}