/* Styles by iframed map */

.esri_map_browser_unsupported {
  top: 5%;
  width: 100%;
  text-align: center;
  position: absolute;
}

.esri_map_container {
  border-style: solid;
  background-color: white;
  height: calc(100% - 5px);
  position: relative;
}

.esri_map_container .esri_map {
  height: 100%;
}

.esri_map_container .esri_map_search .esri-search__input::placeholder{
  color: #434343;
}

.esri_map_container .esri-popup .esri-popup__content .esri-feature__content-node {
  padding: 5px 10px 5px 10px;
}

.esri_map_container .esri-popup p {
  font-size: 1rem;
  margin-bottom: 5px;
}

[class*='esri-icon-'][aria-hidden='true']:not(.esri-icon-up-arrow){
  display: inline-block;
}

.esri-popup .header{
  border-block-end: none;
}

.esri_map_container .esri-popup .esri-widget__heading {
  line-height: 32px;
}

.esri_map_container .esri_map_loading_spinner {
  background-size: cover;
  display: inline-block;
  height: 80px;
  position: absolute;
  right: 10px;
  top: 10px;
  width: 80px;
  z-index: 50;
}

.esri_map_container .esri_map_loading_spinner:after {
  content: " ";
  display: block;
  width: 64px;
  height: 64px;
  margin: 8px;
  border-radius: 50%;
  border: 6px solid #2d3547;
  border-color: #2d3547 transparent #2d3547 transparent;
  animation: lds-dual-ring 1s linear infinite;
}

.esri_map_container .esri_map_form_loading_spinner {
  background-size: cover;
  display: inline-block;
  position: absolute;
  z-index: 50;
  right: 40%;
}

.esri_map_container .esri_map_form_loading_spinner:after {
  content: " ";
  display: block;
  width: 64px;
  height: 64px;
  margin: 8px;
  border-radius: 50%;
  border: 6px solid #2d3547;
  border-color: #2d3547 transparent #2d3547 transparent;
  animation: lds-dual-ring 1s linear infinite;
}

.esri_map_container .esri_map_zoom_in_help_text{
  border-radius: 4px;
  font-weight: bold;
  height: auto;
  margin: 0px 5px 0px 15px;
  padding: 5px 10px 5px 10px;
  position: absolute;
  bottom: 10px;
  left: 5px;
  z-index: 41;
}

@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@media screen and (max-width: 375px) {
    /* Prevent button overlap at high zoom levels */
    .esri-ui-inner-container.esri-ui-corner-container {
        inset: 0 !important;
    }
}

/* Add highly visible author supplied focus indicator */
.esri-input.esri-search__input:focus-visible,
.esri-widget--button:focus-visible,
.esri-popup__header-container--button:focus-visible,
.esri-popup__button:focus-visible,
.esri-menu__list-item--focus,
.esri-menu__list-item:focus {
    outline: 2px solid #101C61;
    outline-offset: -3px
}

/* Add highly visible author supplied focus indicator with no offset for popup links and attribution summary */
.esri_form_link.button.button--primary:focus-visible,
summary:focus-visible {
    outline: 2px solid #101C61;
}

/* Set background colour to prevent low content on zoom in text */
.esri_map_container .esri_map_zoom_in_help_text.boxed {
    background-color: #fff;
    bottom: 45px;
    left: 5;
    line-height: 1;
    font-size: 16px;
    margin: 0;
    width: 270px;
}

/* Icon button contrast improvements */
.esri-popup__collapse-icon {
    color: #000;
}

/* Center loading spinner */
.esri_map_container .esri_map_loading_spinner {
    right: calc(50% - 40px);
    top: calc(50% - 40px);
}

/* Custom button styling for subscribe and copy */
.button {
    appearance: none;
    border: 1px solid #6C757D;
    border-radius: 6px;
    cursor: pointer;
    color: #000;
    display: inline-block;
    float: none;
    font-size: 1rem;
    padding: 6px 12px;
    text-align: center;
    text-decoration: none;
    transition: background-color 125ms ease-in-out;
}

.button:hover {
    background-color: #f3f3f3;
}

.button:focus-visible {
    outline: 2px solid #101C61
}

/* Styles for attribution details/summary */
details {
    display: block;
    background-color: #fff;
    font-size: 14px;
    line-height: 1.1;
    padding: 3px 5px;
    width: 200px;
    position: relative;
    z-index: 50;
}

details > summary {
  cursor: pointer;
  line-height: 1.5rem;
}

details p.sources {
  margin-top: 0;
}

details p.poweredby {
  margin-bottom: 0;
}

/* Fix for iOS Safari details/summary icon issue */
@supports (-webkit-touch-callout: none) {
    @media (hover: none) and (pointer: coarse) {

        /* Hide marker when closed */
        details:not([open]) > summary {
            list-style: none;
        }

        details:not([open]) > summary::-webkit-details-marker {
            display: none;
        }

        /* Restore when open */
        details[open] > summary {
            list-style: revert;
        }

        details[open] > summary::-webkit-details-marker {
            display: initial;
        }
    }
}

.esri-attribution {
  display: block;
}

@media screen and (min-width: 376px) {
  /* Position attribution - we only want this at <400%*/
  .esri-ui .esri-attribution {
    bottom: -29px;
    left: -15px;
  }
}

.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* Fix attribution vs popup z-index */
.esri-ui .esri-popup {
    z-index: 50;
}
