/* Skeleton shared styles */
.skeleton-wrapper{
    position:relative;
    display:block;

}
.skeleton-img{
    width:100%;
    border-radius:4px;
    background: linear-gradient(90deg, #eeeeee 25%, #f5f5f5 37%, #eeeeee 63%);
    background-size: 400% 100%;
    animation: shimmer 1.2s ease-in-out infinite;
    display:block;
}
.skeleton-text{
    height:14px;
    width:70%;
    border-radius:4px;
    background: linear-gradient(90deg, #eeeeee 25%, #f5f5f5 37%, #eeeeee 63%);
    background-size: 400% 100%;
    animation: shimmer 1.2s ease-in-out infinite;
    margin-top:8px;
}

@keyframes shimmer{
    0%{background-position: -400% 0}
    100%{background-position: 400% 0}
}

img.skeleton-target{display:block;opacity:0;transition:opacity .25s ease}
.skeleton-wrapper img.skeleton-target.loaded{opacity:1}

/* Map and iframe loading states */
.map-skeleton,.iframe-skeleton{width:100%;background:linear-gradient(90deg,#eeeeee 25%,#f5f5f5 37%,#eeeeee 63%);background-size:400% 100%;animation:shimmer 1.2s ease-in-out infinite;border-radius:4px;display:block;height:200px}
.iframe-skeleton{height:300px}
.map-skeleton.hidden,.iframe-skeleton.hidden{display:none}
.map-error,.iframe-error{display:none;padding:20px;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;text-align:center;font-weight:bold}
.map-error.show,.iframe-error.show{display:block}
iframe[data-lazy]{opacity:0;transition:opacity .25s ease}
iframe[data-lazy].loaded{opacity:1}

