html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

#map {
    position: relative;
    width: 100%;
    height: 100vh;
    /* Fallback */
    height: 100dvh;
    /* Modern browsers */
    overflow: hidden;
}

input,
button,
select {
    border-radius: 2px;
    -webkit-appearance: none;
    /* Remove iOS rounded corners */
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    /* Include padding & border in width */
    border: 1px solid #ccc;
    height: 20px;
}

#controls {
    width: 170px;
    position: absolute;
    top: 10px;
    left: 20px;
    z-index: 1000;
    background: white;
    padding: 3px;
    border-radius: 3px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    font-family: sans-serif;
    white-space: nowrap;
}

#menuButton img {
    margin: 2px;
    vertical-align: middle;
}

#menuButton {
    padding: 0px;
}

.blinker {
    animation: blinker 1.5s linear infinite;
}

#centerCoords {
    width: 85%;
    border: 1px solid #ccc;
}

#trackList {
    width: 100%;
    margin-top: 5px;
}

#menu #trackId {
    width: 85%;
}

#menu #calendarBtn {
    width: 15%;
    padding: 0px;
}

#menu button {
    width: 100%;
    margin-top: 5px;
}

#trackId {
    width: 100%;
    margin-top: 5px;
    text-align: center;
}

#overlayList {
    width: 66%;
    margin-top: 5px;
}

#tool {
    width: 30%;
    margin-top: 5px;
}

#controls div {
    font-size: 12px;
    margin-top: 5px;
    background-color: rgb(130, 231, 235);
}

#controls div {
    text-align: center;
}

.icon-out {
    fill: blue;
}

.flash-html {
    animation: flash 0.5s ease-in-out infinite;
}

.flash-svg {
    animation: flash 0.3s ease-in-out infinite;
}

/* Flash animation */
.flash {
    animation: flash 0.3s linear infinite;
}

@keyframes flash {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0.2;
    }

    100% {
        opacity: 1;
    }
}

@keyframes blinker {
    50% {
        opacity: 0;
    }
}

.flatpickr-day.has-track {
    background: #4CAF50 !important;
    color: white !important;
    border-radius: 30% !important;
}

.flatpickr-day.flatpickr-disabled {
    color: #000 !important;
}

/* .flatpickr-day.has-track {
    background: #4CAF50 !important;
    color: white !important;
    border-radius: 50%;
}

.flatpickr-day.flatpickr-disabled {
    color: #999;
    background: #f0f0f0;
    cursor: default;
} */

.maplibregl-ctrl-scale {
    background: rgba(30, 30, 30, 0.55);
    color: white;

    border: 1px solid #888;
    border-radius: 4px;

    padding: 3px 8px;

    font-size: 12px;
    font-family: Arial;
}

.maplibregl-ctrl-scale.measure-active {
    background: #4caf50 !important;
    color: white !important;
    border-color: #2e7d32 !important;
}
