/* Always set the map height explicitly to define the size of the div
 * element that contains the map. */
 #map {
    height: 40vh;
    width: 40vw;
    margin-bottom: 8vh;
  }

  .gm-style .controls {
    font-size: 28px;  /* this adjusts the size of all the controls */
  
    background-color: white;
    box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 4px -1px;
    box-sizing: border-box;
    border-radius: 2px;
    cursor: pointer;
    font-weight: 300;
    height: 1em;
    margin: 6px;
    text-align: center;
    user-select: none;
    padding: 2px;
    width: 1em;
  }
  .gm-style .controls button {
    border: 0;
    background-color: white;
    color: rgba(0, 0, 0, 0.6);
  }
  .gm-style .controls button:hover {
    color: rgba(0, 0, 0, 0.9);
  }
  
  .gm-style .controls.zoom-control {
    display: flex;
    flex-direction: column;
    height: auto;
  }
  .gm-style .controls.zoom-control button {
    font: 0.85em Arial;
    margin: 1px;
    padding: 0;
  }
  
  .gm-style .controls.maptype-control {
    display: flex;
    flex-direction: row;
    width: auto;
  }
  .gm-style .controls.maptype-control button {
    display: inline-block;
    font-size: 0.5em;
    margin: 0 1px;
    padding: 0 6px;
  }
  .gm-style .controls.maptype-control.maptype-control-is-map .maptype-control-map {
    font-weight: 700;
  }
  .gm-style .controls.maptype-control.maptype-control-is-satellite .maptype-control-satellite {
    font-weight: 700;
  }
  
  .gm-style .controls.fullscreen-control button {
    display: block;
    font-size: 1em;
    height: 100%;
    width: 100%
  }
  .gm-style .controls.fullscreen-control .fullscreen-control-icon {
    border-style: solid;
    height: 0.25em;
    position:absolute;
    width: 0.25em;
  }
  .gm-style .controls.fullscreen-control .fullscreen-control-icon.fullscreen-control-top-left {
    border-width: 2px 0 0 2px;
    left: 0.1em;
    top: 0.1em;
  }
  .gm-style .controls.fullscreen-control.is-fullscreen .fullscreen-control-icon.fullscreen-control-top-left {
    border-width: 0 2px 2px 0;
  }
  .gm-style .controls.fullscreen-control .fullscreen-control-icon.fullscreen-control-top-right {
    border-width: 2px 2px 0 0;
    right: 0.1em;
    top: 0.1em;
  }
  .gm-style .controls.fullscreen-control.is-fullscreen .fullscreen-control-icon.fullscreen-control-top-right {
    border-width: 0 0 2px 2px;
  }
  .gm-style .controls.fullscreen-control .fullscreen-control-icon.fullscreen-control-bottom-left {
    border-width: 0 0 2px 2px;
    left: 0.1em;
    bottom: 0.1em;
  }
  .gm-style .controls.fullscreen-control.is-fullscreen .fullscreen-control-icon.fullscreen-control-bottom-left {
    border-width: 2px 2px 0 0;
  }
  .gm-style .controls.fullscreen-control .fullscreen-control-icon.fullscreen-control-bottom-right {
    border-width: 0 2px 2px 0;
    right: 0.1em;
    bottom: 0.1em;
  }
  .gm-style .controls.fullscreen-control.is-fullscreen .fullscreen-control-icon.fullscreen-control-bottom-right {
    border-width: 2px 0 0 2px;
  }

  @media only screen and (max-height: 900px) and (max-width: 600px) {
    #map {
      width: 100%;
      margin-bottom: 0;
    }
  }