body,
input,
button,
select {
    font-family: Montserrat;
    font-size: 10pt;
}

img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

div.location {
    padding: 10pt;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-flow: row wrap;
}

div.slider {
    display: flex;
    flex-flow: row;
    width: 100%;
    flex: 0 0 100%;
}

div.header {
    background-color: rgba(240, 240, 240, 0.9);
    padding: 10px 15px;
    border-radius: 10px 10px 0 0;
}

div.body {
    padding: 15px;
}

div.card {
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 0;
    margin: 20px;
}

#map {
    margin-bottom: var(--bs-card-spacer-y);
}

#mapPanel {
    min-width: 320px;
}

#mapTimeControls {
    width: 100%;
}

#sliderTime {
    width: 100%;
}

progress {
    width: 100%;
}

.loader {
    border: 16px solid #f3f3f3;
    /* Light grey */
    border-top: 16px solid #3498db;
    /* Blue */
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}