/* Scaffolding */
html, body {
  height: 100%;
}

body {
  margin: 0;
  padding: 0 25px;
  color: #424949;
  background-color: #ECF0F1;
  font-family: sans-serif;
  font-weight: 500;
}

.graph-container {
  margin-bottom: 25px;
  border-radius: 1em;
  text-align: center;
  background-color: white;
  overflow: auto;

  display: flex;
  flex-direction: column;
  position: relative;
}

/* State */
.state-container h2 {
  text-align: center;
}

/* General Buttons */
button {
  position: relative;

  width: 100px;
  height: 40px;

  color: #fbfbfb;
  background: linear-gradient(to bottom, #4eb5e5 0%,#389ed5 100%); /* W3C */

  border: none;
  border-bottom: 4px solid #2b8bc6;
  border-radius: 5px;

  margin: 0 5px;

  box-shadow: 0px 3px 0px 0px rgba(0,0,0,.2);
  text-shadow: 1px 1px 1px rgba(0,0,0,.4);

  font-size: 15px;
  font-weight: 600;
  /* font-family: 'Open Sans', sans-serif; */

  text-align: center;
  text-indent: 0;

  cursor: pointer;
}

button:active {
  top: 1px;
  box-shadow: 0px 2px 0px 0px rgba(0,0,0,.2);
}

/* Button pointing left */
button.prev {
  text-align: right;
  text-indent: 5px;

  padding-right: 12px;
  box-sizing: border-box;
}
button.prev:after {
  content: "";
  width: 0;
  height: 0;
  display: block;
  position: absolute;
  left: 0;
  top: 0;

  opacity: 0.6;
  border-top: 20px solid #187dbc;
  border-bottom: 20px solid #187dbc;
  border-right: 16px solid transparent;
  border-left: 20px solid #187dbc;

  border-radius: 5px 0 0 5px;
}

/* Next button */
button.next {
  text-align: left;
  text-indent: 5px;
}

button.next:after {
  content: "";
  width: 0;
  height: 0;
  display: block;
  border-top: 20px solid #187dbc;
  border-bottom: 20px solid #187dbc;
  border-left: 16px solid transparent;
  border-right: 20px solid #187dbc;
  position: absolute;
  opacity: 0.6;
  right: 0;
  top: 0;
  border-radius: 0 5px 5px 0;
}

.controls-container {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
}

.slider-container {
  text-align: center;
  width: 75%;
  margin: 1em auto;
}

/* Slider Styling, thanks range.css! */
#slider {
  -webkit-appearance: none;
  width: 100%;
  margin: 6.5px 0;
  background: inherit;
}
#slider:focus {
  outline: none;
}
#slider::-webkit-slider-runnable-track {
  width: 100%;
  height: 3px;
  cursor: pointer;
  box-shadow: 0px 0px 1px #000000, 0px 0px 0px #0d0d0d;
  background: #4eb5e5;
  border-radius: 1.6px;
  border: 0px solid #010101;
}
#slider::-webkit-slider-thumb {
  box-shadow: 0px 0px 3px rgba(43, 139, 198, 0.49), 0px 0px 0px rgba(55, 152, 212, 0.49);
  border: 1px solid #2b8bc6;
  height: 16px;
  width: 20px;
  border-radius: 16px;
  background: rgba(24, 125, 188, 0.93);
  cursor: pointer;
  -webkit-appearance: none;
  margin-top: -6.5px;
}
#slider:focus::-webkit-slider-runnable-track {
  background: #64bee8;
}
#slider::-moz-range-track {
  width: 100%;
  height: 3px;
  cursor: pointer;
  box-shadow: 0px 0px 1px #000000, 0px 0px 0px #0d0d0d;
  background: #4eb5e5;
  border-radius: 1.6px;
  border: 0px solid #010101;
}
#slider::-moz-range-thumb {
  box-shadow: 0px 0px 3px rgba(43, 139, 198, 0.49), 0px 0px 0px rgba(55, 152, 212, 0.49);
  border: 1px solid #2b8bc6;
  height: 16px;
  width: 20px;
  border-radius: 16px;
  background: rgba(24, 125, 188, 0.93);
  cursor: pointer;
}
#slider::-ms-track {
  width: 100%;
  height: 3px;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  color: transparent;
}
#slider::-ms-fill-lower {
  background: #38ace2;
  border: 0px solid #010101;
  border-radius: 3.2px;
  box-shadow: 0px 0px 1px #000000, 0px 0px 0px #0d0d0d;
}
#slider::-ms-fill-upper {
  background: #4eb5e5;
  border: 0px solid #010101;
  border-radius: 3.2px;
  box-shadow: 0px 0px 1px #000000, 0px 0px 0px #0d0d0d;
}
#slider::-ms-thumb {
  box-shadow: 0px 0px 3px rgba(43, 139, 198, 0.49), 0px 0px 0px rgba(55, 152, 212, 0.49);
  border: 1px solid #2b8bc6;
  height: 16px;
  width: 20px;
  border-radius: 16px;
  background: rgba(24, 125, 188, 0.93);
  cursor: pointer;
  height: 3px;
}
#slider:focus::-ms-fill-lower {
  background: #4eb5e5;
}
#slider:focus::-ms-fill-upper {
  background: #64bee8;
}
