html, body {
    margin: 0px;
    padding: 0px;
    width: 100%;
    height: 100%;
    font-family: sans-serif;
}

.notice {
    padding: 0.5em;
    background: #fff;
    color: #000;
    box-shadow: 0 1px 5px rgba(0,0,0,0.65);
}
.leaflet-top.leaflet-left {
    z-index: 1001;
}

#map {
    width: 100%;
    height: 100%;
}

.leaflet-popup-content-wrapper,
.leaflet-control-zoom {
    border-radius: 0px;
}

.leaflet-popup-content-wrapper {
    width: 600px;
    max-height: 400px;
    overflow-y: auto;
    overflow-wrap: anywhere;
}

.leaflet-popup-content {
    width: auto !important;
}

a img {
    border: none;
    max-height: 60px;
}

h4 {
    margin-top: 5px;
    margin-bottom: 5px;
}

.location, .period {
    margin-bottom: 3px;
}

table {
    padding-bottom: 10px;
    border-spacing: 0;
    width: 100%
}

td {
    white-space: pre-line;
}

.desktop tr td {
    padding-right: 5px;
    width: 75;
    vertical-align: top;
}

.mobile tr td:first-child {
    padding: 0;
    padding-right: 10px;
}

.mobile tr:nth-child(2n) {
    background: rgb(244,244,244);
}

.info {
    padding: 6px 8px;
    font: 14px/16px Arial, Helvetica, sans-serif;
    background: white;
    background: rgba(255,255,255,0.0);
    text-align: right;
}

.author-icon {
    display: block;
    margin-left: 10px;
}

.share {
    background-color: rgba(255, 255, 255, 0.7);
    padding-right: 5px;
    margin-left: 10px;
}

.share img {
    vertical-align: middle;
    margin-left: -10px;
}

.share a {
    text-decoration: none;
}
.share a:hover {
    text-decoration: underline;
}
a.img-and-text-link:hover {
    text-decoration: none;
}
a.img-and-text-link:hover span {
    text-decoration: underline;
}

.legend {
    height: 52px;
    width: 130px;
    background-color: #fff;
    box-shadow: 0 1px 5px rgba(0,0,0,0.65);
}

.holiday-legend {
    height: 72px;
    width: 145px;
    background-color: #fff;
    box-shadow: 0 1px 5px rgba(0,0,0,0.65);
}

.legend .holiday {
    display: none;
}

.type {
    position: absolute;
    top: 15px;
    right: 15px;
}


.mobile {
    display: none;
}

@media screen and (max-width: 1000px) {
    .leaflet-popup-content-wrapper {
        width: 250px;
    }

    .type {
        display: none;
    }


    .desktop {
        display: none;
    }

    .mobile {
        display: block;
        width: 213px;
    }

    .location, .period {
        margin-bottom: 8px;
    }
}

@media screen and (max-height: 400px) {
    .leaflet-popup-content-wrapper {
        max-height: 150px;
    }
}

@media screen and (min-width: 300px) {
    .notice {
        max-width: calc(100vw - 150px);
    }
}

@media screen and (min-width: 800px) {
    .author-icon {
        display: inline;
    }
    .notice {
        max-width: calc(100vw - 250px);
    }
}

@media (min-width: 800px) and (min-height: 500px) {
    .notice {
        padding: 1em 1.5em;
    }
}
