*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 10px;
    padding: 0px;
    font-size: 18px;
    font-family: sans-serif;
}

body > h1 {
    margin-top: 0;
}

#row {
    display: flex;
    flex-direction: row;
}

#mapPanel {
    flex: 0 0 70%;
    display: flex;
    flex-direction: column;
}

#mapControls {
    flex: 0 0 auto;
    margin-bottom: 10px;
}

#map {
    flex: 0 0 75vh;
}

#placesOfInterest {
    flex: 0 0 calc(30% - 10px);
    display: flex;
    flex-direction: column;
    margin-left: 10px;
}

.placeOfInterest {
    padding: 10px;
}

.placeOfInterest:nth-child(even) {
    background-color: #eee;
}

.placeOfInterest:nth-child(odd) {
    background-color: #ddd;
}

.geolocationButton {
    background-color: white;
}

.geolocationButton a,
.geolocationButton a:hover {
    font-size: 1rem;
    line-height: 1;
    width: auto;
    height: auto;
    padding: 5px;
}