html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}
#root {
  display: flex;
  flex-flow: column;
  height: 100%;
}
#header {
  flex: none;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 10px 20px;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: bold;
}
#appLinks {
  flex: 1;
  display: flex;
  justify-content: start;
  align-items: center;
}
.appButton {
  display: block;
  margin-right: 15px;
}
#appInfoContainer {
  flex: 1;
  display: flex;
  justify-content: start;
}
#appInfo {
  display: grid;
  grid-template-columns: repeat(2, auto);
  column-gap: 5px;
}
#appInfo span {
  font-size: 13px;
  font-weight: normal;
}
.logoText {
  position: relative;
  top: 2px;
  aspect-ratio: auto 1728 / 334
}
#headerCenter {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#mapTitle {
  font-size: 18px;
  text-align: center;
  margin: 5px 10px;
}
#statsContainer {
  flex: 1;
  display: flex;
  justify-content: end;
  margin-left: 15px;
  margin-right: 15px;
}
#stats {
  display: grid;
  grid-template-columns: repeat(2, auto);
  column-gap: 4px;
  color: #808080;
}
#statAirportsLabel, #statFlightsLabel {
  margin-right: 10px;
}
#statAirports, #statFlights, #statDistance {
  text-align: right;
}
#socialSharing {
  flex: 1;
  display: flex;
  justify-content: end;
  align-items: center;
}
#socialSharing a {
  padding-left: 15px;
}
#socialSharing img {
  display: block;
}
#largeScreenSuggestion {
  display: none;
  font-size: 12px;
  font-weight: bold;
}
#largeScreenSuggestion img {
  margin-right: 5px;
}
#mapContainer {
  flex: 1 1 auto;
  position: relative;
  background-color: #DFDCD7;
}
#map {
  width: 100%;
  height: 100%;
}
.overlay {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
}
#spinner {
  width: 32px;
  height: 32px;
}
#error {
  display: none;
  width: 225px;
  height: 225px;
  rotate: 355deg;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
#androidDownload {
  display: none;
}
@media (max-width: 1000px) {
  #header {
    flex-direction: column;
    padding: 10px;
  }
  #appLinks, #appInfoContainer {
    display: none;
  }
  #stats {
    grid-template-columns: repeat(6, auto);
  }
  #socialSharing {
    margin-top: 15px;
    margin-bottom: 15px;
  }
  #largeScreenSuggestion {
    display: flex;
    align-items: center;
  }
  #androidDownload {
    display: flex;
    align-items: center;
    width: 100%;
    padding-bottom: 10px;
    border-bottom: 1px solid #C0C0C0;
    margin-bottom: 10px;
  }
  #closeAndroidDownload {
    margin-right: 5px;
  }
  #androidAppLogo {
    flex: 1;
    display: flex;
    justify-content: start;
    align-items: center;
  }
  #androidAppLogo .appIcon {
    margin-right: 5px;
  }
  #androidDownload .appButton {
    margin-left: 15px;
    margin-right: 0px;
  }
}
@media (max-width: 1000px) and (max-height: 500px) {
  #socialSharing, #largeScreenSuggestion {
    display: none;
  }
}
