/*
 * Map popup (#ol-map-popup) on the report forms that offer containers on the
 * map. The overlay places the element with its top left corner on the clicked
 * point; this lifts it above the point as a white card with an arrow pointing
 * down at it, so the text never sits loose on the map.
 */
.ol-popup {
  position: absolute;
  bottom: 14px;
  left: -50px;
  min-width: 240px;
  max-width: 320px;
  padding: 14px 32px 14px 16px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  color: #1E201B;
  font-size: 14px;
  line-height: 1.4;
}

.ol-popup:after,
.ol-popup:before {
  position: absolute;
  top: 100%;
  width: 0;
  height: 0;
  border: solid transparent;
  content: " ";
  pointer-events: none;
}

.ol-popup:after {
  left: 48px;
  margin-left: -10px;
  border-width: 10px;
  border-top-color: #fff;
}

.ol-popup:before {
  left: 48px;
  margin-left: -11px;
  border-width: 11px;
  border-top-color: #ccc;
}

.ol-popup-closer {
  position: absolute;
  top: 6px;
  right: 10px;
  color: #7F8BA3;
  text-decoration: none;
}

.ol-popup-closer:after {
  content: "\2715";
}

.ol-popup-closer:hover,
.ol-popup-closer:focus {
  color: #1E201B;
  text-decoration: none;
}

/* Texts inside the popup keep a modest size, also where a form sets large paragraphs. */
.ol-popup p,
.ol-popup h5 {
  margin: 0 0 10px;
  color: #1E201B;
  font-size: 14px;
  word-wrap: break-word;
}

.ol-popup h5 {
  font-weight: bold;
}

.ol-popup .btn {
  margin: 0;
}

/* Containers that share a spot are listed one under the other. */
.ol-popup .ultimo-container-choice + .ultimo-container-choice {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e5e5e5;
}
