.lmp-map {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100px;
    background-color: #ccc;
    background-image: url('../icon/loader-1.gif');
}

/* Info Win */

.info-win {
    /* base */
    --color: #272952;
    --bgColor: white;
    --gap: clamp(5px, 10px, 0.9vw);
    --padding: clamp(6px, 12px, 0.91vw);
    --borderRadius: 5px;
    --boxShadow: 0 0 15px rgba(0,0,0,0.2);
    /* headings */
    --headingMargin: 0px;
    --headingFontWeight: 700;
    --headingFontFamily: "Lora", "Georgia", "Times New Roman", serif;
    --headingFontSize: clamp(16px, 22px, 1.2vw);
    --headingLineHeight: 1.1;
    --headingFontColor: #272952;
    --headingBgColor: rgba(75, 112, 179, 0.1);
    /* subheadings */
    --subHeadingMargin: 5px 0px;
    --subHeadingFontWeight: 700;
    --subHeadingFontFamily: "Lora", "Georgia", "Times New Roman", serif;
    --subHeadingFontSize: clamp(12px, 18px, 0.95vw);
    --subHeadingLineHeight: 1.1;
    --subHeadingFontColor: #272952;
    --subHeadingBgColor: rgba(200, 236, 242, 0.2);
    /* grid */
    --gridMargin: '';
    --gridPadding: '';
    --gridFontFamily: '';
    --gridFontSize: '';
    --gridFontWeight: 400;
    --gridLineHeight: '';
    --gridFontColor: '';

    background-color: var(--bgColor);
    padding: var(--padding);
    border-radius: var(--borderRadius);
    box-shadow: var(--boxShadow);
}

/* Info Win - Locations */

.info-win-location {

}

.info-win-location__inner {

}

.info-win-location-header {
    margin: var(--headingMargin);
    font-weight: var(--headingFontWeight);
    font-family: var(--headingFontFamily);
    font-size: var(--headingFontSize);
    line-height: var(--headingLineHeight);
    color: var(--headingFontColor);
    margin: calc(0px - var(--padding));
    background: var(--headingBgColor);
    padding: var(--padding) calc(var(--padding) * 2);
    text-align: center;
}

.info-win-location-content > :first-child {
    margin-top: calc(var(--padding));
}

.info-win-location-content__region {
    margin: var(--subHeadingMargin);
    font-weight: var(--subHeadingFontWeight);
    font-family: var(--subHeadingFontFamily);
    font-size: var(--subHeadingFontSize);
    line-height: var(--subHeadingLineHeight);
    color: var(--subHeadingFontColor);
    margin: 0 calc(0px - var(--padding));
    background: var(--subHeadingBgColor);
    padding: var(--padding) calc(var(--padding) * 2);
    text-align: center;
}

.info-win-location-content__region-text {
    padding: 0 calc( 1.5 * var(--padding) );
}

.info-win-location-content__region-text.default {
  font-size: 13px;
  font-family: var(--subHeadingFontFamily, sans-serif);
  display: inline-block;
  max-width: clamp(75px, 50vw, 300px);
}

.info-win-location-content__region-close {
    cursor: pointer;
    display: inline-block;
    position: absolute;
    right: var(--padding);
    margin-left: var(--subHeadingFontSize);
}

.info-win-location-content__region-close::after {
    content: "\2715";
    font-size: var(--subHeadingFontSize);
    line-height: var(--subHeadingLineHeight);
    color: var(--subHeadingFontColor);
}

.info-win-location-content__region-close:hover::after {
    color: #fcc13b;
}

.info-win-location-grid {
    display: grid;
    margin-top: var(--gap);
    row-gap: var(--gap);
    max-height: calc(400px - 75px - (var(--gap) * 2));
    overflow: auto;
}

.info-win-location-item {
    display: grid;
    column-gap: var(--gap);
    row-gap: 0;
    padding-bottom: 2px; /* scrollbar hack */
    grid-template-columns: clamp(50px, 100px, 20vw) 1fr;
    grid-template-rows:
        1fr
        auto
        auto
        1fr;
    grid-template-areas:
        "img ."
        "img title"
        "img link"
        "img .";
}

.info-win-location-item__img {
    grid-area: img;
    font-size: 0;
}

.info-win-location-item__img img {
    min-height: 100%;
    min-width: 100%;
    width: auto;
    object-fit: cover;
}

.info-win-location-item__title {
    grid-area: title;
    font-size: 14px;
    font-weight: 500;
}

.info-win-location-item__link {
    grid-area: link;
}

body .info-win-location-item__link a:after {
    font-size: 25.6px;
    font-size: calc(12px * 1.5);
    line-height: 1;
}

body .info-win-location-item__link a {
    display: inline-block;
    margin-top: 5px;
    font-size: 12px;
    text-indent: 3px;
}

/* Info Win - Legend */

.info-win-legend {

}

.info-win-legend__title {

}

.info-win-legend__grid {
    display: grid;
    gap: 0;
    grid-auto-flow: row;
}

.info-win-legend__item {
    display: grid;
    gap: var(--gap);
    grid-template-columns: auto 1fr;
}