body {
    display: flex;
    flex-direction: column;
    height: 100vh;
    margin: 0;
    padding: 0;
}

header {
    font-family: sans-serif;
    display: flex;
    justify-content: space-between;
    height: 5rem;
    margin: 1rem;
}

main {
    flex-grow: 1;
    padding: 1rem;

    display: flex;
    flex-wrap: wrap;
}

#map {
    height: 100%;
    min-width: 50vw;
    flex-grow: 1;
}

#leftbar {
    flex-basis: content;
    padding-right: 0.5rem;
}


.htmx-indicator {
    display:none;
}
.htmx-request .htmx-indicator {
    display:inline;
}
.htmx-request.htmx-indicator {
    display:inline;
}

.hidden {
    display: none;
}

li.htmx-swapping {
    opacity: 0;
    transition: opacity 1s ease-out;
}

li.htmx-settling {
    opacity: 100;
    transition: all 1s ease-in;
}
