/* Set default styles for the entire page */
body {
  margin: 0;
  padding: 0;
  font-family: sans-serif;
}
/* Set styles for links */
a,
a:hover,
a:visited {
  color: #0071bc;
}
/* Set styles for the map element */
#map {
  top: 0;
  height: 100vh;
  width: 100vw;
  position: fixed;
}
/* Set styles for the map inset */
#mapInset {
  bottom: 50px;
  right: 30px;
  height: 180px;
  width: 250px;
  max-width: 100%;
  position: fixed;
  z-index: 1;
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
  pointer-events: none;
}
/* Hide the bottom left control on the map inset */
#mapInset .mapboxgl-ctrl-bottom-left {
  display: none;
}
/* Hide the map inset when screen width is below 500px */
@media (max-width: 500px) {
  #mapInset {
    display: none;
  }
}
/* Set styles for the header element */
#header {
  margin: auto;
  width: 100%;
  position: relative;
  z-index: 5;
}
/* Set styles for the header content */
#header h1,
#header h2,
#header p {
  margin: 0;
  padding: 2vh 2vw;
  text-align: center;
}
/* Set styles for the footer element */
#footer {
  width: 100%;
  min-height: 5vh;
  padding-top: 2vh;
  padding-bottom: 2vh;
  text-align: center;
  line-height: 25px;
  font-size: 13px;
  position: relative;
  z-index: 5;
}
/* Set styles for the features section */
#features {
  padding-top: 10vh;
  padding-bottom: 10vh;
}
/* Hide an element by setting its visibility to hidden */
.hidden {
  visibility: hidden;
}
/* Set styles for a div element that is centered on the page */
.centered {
  width: 50vw;
  margin: 0 auto;
}
/* Set styles for a div element that is aligned to the left */
.lefty {
  width: 33vw;
  margin-left: 5vw;
}
/* Set styles for a div element that is aligned to the right */
.righty {
  width: 33vw;
  margin-left: 62vw;
}
/* Set styles for a div element that fills the entire page width */
.fully {
  width: 100%;
  margin: auto;
}
/* Set styles for a light-colored element */
.light {
  color: #444;
  background-color: #fafafa;
}
/* Set styles for a dark-colored element */
.dark {
  color: #444;
  background-color: #fafafa;
}
/* Set styles for a section of content */
.step {
  padding-bottom: 50vh;
  /* margin-bottom: 10vh; */
  opacity: 0.25;
}
/* Set styles for an active section of content */
.step.active {
  opacity: 0.9;
}
/* Set styles for div elements within a section */
.step div {
  padding: 25px 50px;
  line-height: 25px;
  font-size: 13px;
}
/* Set styles for div elements within a section */
.step img {
  width: 100%;
}
/* Adjust styles when screen width is below 750px */
@media (max-width: 750px) {
  .centered,
  .lefty,
  .righty,
  .fully {
    width: 90vw;
    margin: 0 auto;
  }
}

/* Fix issue on mobile browser where scroll breaks  */
.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,
.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan
  .mapboxgl-canvas {
  touch-action: unset;
}