#map {
  display: block;
  margin-left: auto;
  margin-right: auto;

  width: 90%;
  max-width: 640px;
}

#map .state {
}

#map .state-bg {
  fill: var(--content);
  stroke: var(--banner);
  stroke-width: 0.15rem;
}

#map .state-name {
  fill: var(--banner);
  font-family: arial;
  font-size: 1rem;
  font-weight: bold;
  text-anchor: middle;
}

#map .state-info {
  fill: var(--banner);
  font-family: arial;
  font-size: 1rem;
  font-weight: bold;
  text-anchor: middle;
}

#state_select {
}

@media (device-width < 1024px) {
  #state_select { display: inline; }
  #map { }
  #map .state-bg {
    stroke-width: 0.0625em;
  }
  #map .state-name {
    font-size: 1rem;
  }
  #map-list .logo_container, #map-list .logo {
    width: 1.5rem;
    height: 1.5rem;
  }
  #map-list .tag {
    font-size: 0.65rem !important;
  }
}

#map .available .state-bg {
  stroke: var(--banner);
  fill: var(--info);
}
#map .available .state-name {
  fill: var(--banner);
}
#map .available .state-info {
  fill: var(--banner);
}

#map .available:hover .state-bg {
  fill: var(--banner);
}

#map .available:hover .state-name {
  fill: var(--banner-text);
}

#map .available:hover .state-info {
  fill: var(--banner-text);
}

#map .selected .state-bg {
  fill: var(--banner);
}

#map .selected .state-name {
  fill: var(--banner-text);
}

#map .selected .state-info {
  fill: var(--banner-text);
}

#map-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-auto-rows: auto;
  gap: 0.5rem;
}

#map-list TR {
  vertical-align: top;
}

.map-list-header, .map-list-count {
  display: inline-block;
  grid-column: 1 / -1;
  align-self: start;
}

A.map-list-item * {
  text-decoration: none;
}

.map-list-item {
  display: flex;
  flex-direction: column;

  margin: 0.25rem;
  padding: 0.5rem;

  background-color: var(--info);
  border: solid 0.125em transparent;
  border-radius: 1em;

	text-decoration: none;
}

.map-list-item:first-of-type {
  grid-column: 1;
}

.map-list-item:hover, .map-list-item:active {
  border-color: var(--banner);
}

@media (device-width < 768px) {
  .map-list-item {
    xflex: 0 1 100% !important;
  }
}

#map-list .logo {
  margin-right: 0.5rem;
  width: 4rem; height: 4rem;
  border-radius: 0.5rem;
  background-size: contain;
}
#map-list .logo.placeholder {
}
#map-list .logo.partner {
}
#map-list .name {
}
#map-list .tag {
}
#map-list .address {
}
