/* Resolve Marine's CF `css/map.css` and `assets/css/main.css` map presentation. */
.c-map {
  width: 100%;
  height: 70vh;
  min-height: 420px;
  display: block;
  background-color: #e5e6e0;
}

@media (max-width: 900px) {
  .c-map { height: 450px; min-height: 0; }
}

.c-map .mapboxgl-ctrl-group button { cursor: pointer; }
.c-map__marker {
  position: absolute;
  display: block;
  width: 8px;
  height: 8px;
  cursor: pointer;
  border: 0;
  border-radius: 50%;
  background: transparent;
}
.c-map__marker span {
  position: relative;
  z-index: 4;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
}
.c-map__marker::before,
.c-map__marker::after {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background-color: #fff;
  content: "";
  opacity: .2;
  pointer-events: none;
}
.c-map__marker::before { z-index: 2; transition: all .4s ease-in-out; }
.c-map__marker::after { z-index: 1; }
.c-map__marker.theme--orange { width: 23px; height: 23px; }
.c-map__marker.theme--orange span { background-color: #cf4a1b; }
.c-map__marker.theme--orange::before,
.c-map__marker.theme--orange::after { inset: -13px; }
.c-map__marker.theme--blue span { background-color: #2474bb; }
.c-map__marker:hover::before { visibility: hidden; opacity: 0; }

.c-map .mapboxgl-popup-content {
  position: relative;
  min-width: 220px;
  padding: 0;
  overflow: visible;
  color: #fff;
  border-radius: 0 0 10px 10px;
  background: #2474bb;
  box-shadow: none;
  font-family: "Outfit", sans-serif;
}
.c-map .mapboxgl-popup.theme--orange .mapboxgl-popup-content { background-color: #cf4a1b; }
.c-map .mapboxgl-popup.theme--white .mapboxgl-popup-content { background-color: #fff; color: #343a44; }
.c-map .mapboxgl-popup-close-button {
  z-index: 2;
  top: 6px;
  right: 6px;
  width: 24px;
  height: 24px;
  padding: 0;
  color: #fff;
  background: transparent;
  font-size: 20px;
}
.c-map .mapboxgl-popup.theme--orange .mapboxgl-popup-close-button { color: #fff; }
.c-map .mapboxgl-popup.theme--blue.mapboxgl-popup-anchor-left .mapboxgl-popup-tip { border-right-color: #2474bb; }
.c-map .mapboxgl-popup.theme--orange.mapboxgl-popup-anchor-left .mapboxgl-popup-tip { border-right-color: #cf4a1b; }
.c-map__tooltip-img {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 68%;
  border-radius: 10px 10px 0 0;
  background-color: #060922;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.c-map__tooltip-inner { padding: 12px 10px 16px; line-height: 1.25; }
.c-map__tooltip-eyebrow {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
}
.c-map__tooltip-title { display: block; padding-right: 15px; font-size: 18px; line-height: 1.33333; }
.c-map__tooltip-title a { color: inherit; }
.c-map__tooltip-title a:hover { text-decoration: underline; }
