* {
    padding: 0px;
    margin: 0px;
}

html, body {
    height: 100vh;
    width: 100vw;
}

header {
    width: 100%;
    height: 50px;
}

footer {
    width: 100%;
    height: 50px;
}

#map {
    height: calc(100vh - 100px);
    width: 100%
}

.marker {
    height: 30px;
    width: 30px;
    border-radius: 500px;
    transition: transform 0.4s ease-in-out;
        display: inline-block;
            transform-origin: center;
}

.marker.free {
        background-color: green;
}

.marker.paid {
        background-color: red;
}

.marker:hover
{
    transform: scale(1.1);
}

#key {
    position: absolute;
    top: calc(100vh/2);
    width: 200px;
    height: auto;
    right: 16px;
    background-color: white;
    display: flex;
    flex-direction: column;
}

#coords {
        position: absolute;
    top: calc(100vh/2);
    width: 200px;
    height: auto;
    left: 16px;
    background-color: white;
}


#modal {
    position: absolute;
    top: 50px;
    right: -400px;
    width: 400px;
    height: calc(100vh - 100px);
    background-color: wheat;
    transition: right 0.5s ease-in-out;
}

#modal.show
{
    right: 0;
}

@media (max-width: 768px) {


#modal {
    top: 100vh;
    right: 0px;
    width: 100vw;
    height: calc(100vh - 100px);
    transition: top 0.5s ease-in-out;
}

#modal.show
{
    top: 50px;
}

}

button {
    height: 50px;
    padding: 8px;
}