/* text and buttons */
body {
  margin: 0;
  padding: 0;
  color: #fff;
  font-family: 'Lato', sans-serif;
  box-sizing: border-box;
  background-color: #31525B;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

h3 {
  font-weight: 300;
  font-size: 2em;
}

p {
  font-weight: 100;
  font-size: 1.3em;
}

.font-400 {
  font-weight: 400;
}

.emphasis {
  font-weight: 900;
  font-size: 1.6em;
}

a {
  color: rgba(249,219,24,1);
  text-decoration: none;
}

a:hover {
  color: #fff;
}

.button {
  font-family: 'Lato', sans-serif;
  background-color: #31525B;
  border: 1px solid white;
  border-radius: 10px;
  color: white;
  padding: 12px;
  font-size: 14px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  margin: 4px 2px;
  cursor: pointer;
}

.scroll-btn {
  background-color: rgba(249,219,24,1);
  border: none;
  color: #31525B;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 18px;
  z-index: 3;
}

.scroll-btn:hover {
  background-color: #fff;
  color: #31525B;
  border: none;
}

.link-btn {
  width: 20%;
}

.top-btn {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 9999;
  background-color: rgba(255, 255, 255, 0.4);
  color: rgba(25, 41, 46, 0.7);
  border: 1px solid rgba(25, 41, 46, 0.7);
  border-radius: 50%;
}

.top-btn:hover {
  background-color: rgba(25, 41, 46, 0.7);
  color: rgba(255, 255, 255, 1);
  border: 1px solid rgba(255, 255, 255, 1)
}

.active, .scatter-btn:hover, .link-btn:hover, .lq-map-btn:hover {
  background-color: rgba(255,161,1,1);
  border: 1px solid rgba(255,161,1,1);
  color: #31525B;
  font-weight: 400;
}

.lq-map-btn {
  font-size: 12px;
}

.material-icons {
  vertical-align: text-bottom;
}

/* overlay popup windows */
.overlay {
  display: none;
  position: absolute;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(49, 82, 91, 0.7);
  z-index: 10000;
}

.overlay-content {
  background-color: rgba(49, 82, 91, 1);
  color: #fff;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 12px;
  border: 1px solid #fff;
  padding: 25px;
  text-align: left;
  font-size: 0.8em;
  width: 55%;
}

/* divider between sections */
.divider {
  width: 50%;
  margin: auto;
  margin-bottom: 50px;
}

.annotations {
  padding-top: 3px;
}

/* intro */
#intro {
  margin-top: 0;
  height: 100vh;
  width: 100vw;
  background: url("images/robert-bye-LqZJf4ukqz0-unsplash.jpg") no-repeat center center fixed; /* Do not repeat the image */
  background-size: 100%; /* Resize the background image to cover the entire container */
}

.layer {
  background-color: rgba(49, 82, 91, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  align-items: center;
  display: flex;
  justify-content: center;
  text-align: center;
}

.intro-text h1 {
  font-weight: 900;
  font-size: 5em;
  margin-bottom: 5px;
}

.intro-text h2 {
  font-weight: 100;
  margin-top: 10px;
  font-size: 2.4em;
}

/* background */
#background {
  width: 50%;
  margin: auto;
  padding-top: 40px;
  margin-bottom: 0;
  margin-top: 0;
}

/* income and crime scatterplot section */
#income-crime {
  margin-top: 0;
  height: 100vh;
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 0 10px;
  width: 80%;
  margin: auto;
  position: relative;
}

#scatter-container {
  height: 80%;
  width: 60vw;
}

.scatter-description {
  width: 30vw;
  padding-left: 50px;
}

/* income and crime scatterplot chart */
.highcharts-figure, .highcharts-data-table table {
    min-width: 310px; 
    max-width: 800px;
    margin: 1em auto;
}

.highcharts-tooltip h3 {
    margin: 0.3em 0;
}

.highcharts-data-table table {
  font-family: Verdana, sans-serif;
  border-collapse: collapse;
  border: 1px solid #EBEBEB;
  margin: 10px auto;
  text-align: center;
  width: 100%;
  max-width: 500px;
}
.highcharts-data-table caption {
    padding: 1em 0;
    font-size: 1.2em;
    color: #555;
}
.highcharts-data-table th {
  font-weight: 600;
    padding: 0.5em;
}
.highcharts-data-table td, .highcharts-data-table th, .highcharts-data-table caption {
    padding: 0.5em;
}
.highcharts-data-table thead tr, .highcharts-data-table tr:nth-child(even) {
    background: #f8f8f8;
}
.highcharts-data-table tr:hover {
    background: #f1f7ff;
}

/* list of chart data sources for income/crime scatterplot */
#income-crime-source-list {
  font-weight: 300;
  font-size: 1.3em;
  margin-top: 0:
  margin-bottom: 0;
}

/* LQ map */

/* income map */
#income-change {
  height: 100vh;
  padding-top: 3px;
  position: relative;
}

#services {
  height: 11vh;
}

#income-change-map {
  height: 70vh;
  position: relative;
}

#slider {
  -webkit-appearance: none;
  width: 90%;
  height: 10px;
  border-radius: 5px;
  background: #5c8eb0;
  outline: none;
}

#slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #ff4a17;
  box-shadow: 0 1px 1px rgba(0, 0, 0, .5);
  border: 1px solid #ff724a;
  cursor: pointer;
}

.labels {
  display: flex;
  width: 90%;
  margin: 10px;
  justify-content: space-between;
}

.lenged {
  position: absolute;
  bottom: 10px;
  z-index: 999;
  background: #31525B;
  width: 150px;
  padding: 10px 20px;
  margin-left: 20px;
}

.lenged .title{
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}

.lenged-item span{
  display: inline-block;
}

.map .scroll-btn {
  position: absolute;
  bottom: 20px;
  left: 40%;
  z-index: 999;
}

/* overlay page for income choropleth sources */
#income-change-overlay-content {
  width: 20%;
  text-align: center;
  padding: 15px;
}

#income-change-overlay-content p {
  font-weight: 300;
}

/* pop change map */
#pop-change {
  position: relative;
  padding-top: 3px;
}

#pop-map { 
  height: 70vh;
  width: 100%;
 }

.pop-map-overlay {
    position: absolute;
    background-color: #31525B;
    bottom: 30vh;
    left: 20px;
    width: 20%;
    z-index: 9999;
}

.pop-map-overlay .pop-map-overlay-inner {
    /*background-color: #fff;*/
    box-shadow:0 1px 2px rgba(0, 0, 0, 0.20);
    border-radius: 3px;
    padding: 10px;
}

.pop-map-overlay table {
    border: none;
    width: 100%;
}

.pop-map-overlay h2 {
    line-height: 24px;
    display: block;
    margin: 0 0 10px;
}

.pop-map-overlay label {
    vertical-align: center;
    margin: 0;
    padding: 0;
    font-size: 0.9em;
}

.pop-map-overlay input {
    display: inline;
    vertical-align: middle;
    margin: 5px;
    padding: 0;
}

.pop-map-overlay p.credit {
   margin: 5px 0 0 0;
   padding: 0;
   font-size: 14px;
}

.overlay-scroll {
  position: absolute;
  bottom: 20px;
  left: 40%;
  z-index: 999;
}


/* LQ map */
      #lq h2,
      #lq h3 {
      margin: 10px;
      font-size: 1.2em;
      }

      #lq h3 {
      font-size: 1em;
      }
      {
   font-size: 0.85em;
   margin: 10px;
   text-align: left;
 }

 /* LQ text */

#lq-text {
  position: relative;
}

/* LQ map */
#lq {
  position: relative;
}

#lq-map {
  width: 100vw;
  height: 100vh;
}

   /**
   * Set rules for how the map overlays
   * (information box and legend) will be displayed
   * on the page. */
   .lq-map-overlay {
     position: absolute;
     bottom: 50;
     right: 0;
     background: rgba(49, 82, 91, 0.7);
     margin-right: 20px;
     font-family: Arial, sans-serif;
     overflow: auto;
     border-radius: 3px;
   }

   #features {
    position: absolute;
    top: 0;
    height: 200px;
    margin-top: 20px;
    width: 250px;
   }

   .listing-group {
    margin-top: 10px;
    margin-bottom: 20px;
   }

   #legend {
     padding: 10px;
     box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
     line-height: 18px;
     height: 150px;
     margin-bottom: 40px;
     width: 100px;
   }

  #console {
    position: absolute;
    top: 10px;
    width: 240px;
    margin: 10px;
    padding: 10px 20px;
    background-color: #31525B;
    font-size: 0.9em;
  }

   .legend-key {
     display: inline-block;
     border-radius: 20%;
     width: 10px;
     height: 10px;
     margin-right: 5px;
   }


#lq h1 {
  font-size: 20px;
  line-height: 30px;
}

#lq h2 {
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 10px;
}

#lq p {
  font-size: 14px;
}

#fly-buttons h2 {
  margin-bottom: 2px;
}


/* popup to describe LQ */

/* footer */
#footer {
  padding: 40px;
  text-align: center;
  position: relative;
}

/* overlay page for references */
#reference-overlay {
  position: fixed;
  bottom: 0;
  z-index: 10000;
  font-size: 0.7em;
}

