body {
    margin: 0;
    padding: 0;
    overflow: hidden;
}

#map {
    width: 100%;
    height: 80vh;
    transition: .5s ease;
}
#map.full {
    height: 100vh;
    transition: .5s ease;
}
#panel {
    background: #fff;
    width: 100%;
    height: 20vh;
    text-align: center;
}
#panel-toggle {
    width: 40px;
    height: 20px;
    border-radius: 4px 4px 0 0;
    background-color: #fff;
    padding: 0;
    border: none;
    outline: none;
    transform: translateY(-100%);
    cursor: pointer;
}
#panel-toggle svg {
    width: 100%;
    height: 100%;
    fill: #222;
    transform: rotate(-90deg);
    transition: .5s ease;
}
.flip {
    transform: rotate(90deg) !important;
    transition: .5s ease;
}

#HUD {
    display: grid;
    grid: 1fr 1fr 1fr / auto 1fr;
    position: absolute;
    top: 0;
    right: 0;
    padding: 4px;
    margin: 8px;
    border-radius: 4px;
    font: 16px "Cascadia Mono", monospace;
    color: black;
    background: hsla(0,0%,100%,.5);
}
#lat, #lon, #ele {
    display: flex;
    justify-content: right;
    padding-left: 4px;
}
.mapboxgl-popup-content {
    padding: 8px 8px 4px 8px;
}
.mapboxgl-ctrl-scale {
    background-color: hsla(0,0%,100%,.5);
    color: #000;
}

/* reponsive attribution switch */
.mapboxgl-ctrl-bottom-left {
    display: flex;
    align-items: end;
}
.mapboxgl-ctrl-attrib.mapboxgl-compact {
    margin: 0 0 6px 6px;
}
@media (min-width: 640px) {
    .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
        display: none;
    }
}
@media (max-width: 640px) {
    .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
        display: none;
    }
    #HUD {
        display: none;
    }
}