[type='range'] {
  -webkit-appearance: none;
  background: transparent;
  margin: 12px 0;
  width: 100%; }
  [type='range']::-moz-focus-outer {
    border: 0; }
  [type='range']:focus {
    outline: 0; }
    [type='range']:focus::-webkit-slider-runnable-track {
      background: none; }
    [type='range']:focus::-ms-fill-lower {
      background: none; }
    [type='range']:focus::-ms-fill-upper {
      background: none; }
  [type='range']::-webkit-slider-runnable-track {
    cursor: default;
    height: 2px;
    transition: all .2s ease;
    width: 100%;
    box-shadow: 0 0 0 rgba(0, 0, 0, 0.2), 0 0 0 rgba(13, 13, 13, 0.2);
    background: none;
    border: 0 solid #cfd8dc;
    border-radius: 0; }
  [type='range']::-webkit-slider-thumb {
    box-shadow: 0 0 0 rgba(0, 0, 0, 0.2), 0 0 0 rgba(13, 13, 13, 0.2);
    background: #0F99A8;
    border: 0 solid #eceff1;
    border-radius: 0;
    box-sizing: border-box;
    cursor: default;
    height: 24px;
    width: 24px;
    -webkit-appearance: none;
    margin-top: -11px; }
    [type='range']::-webkit-slider-thumb:hover {
      cursor: pointer; }
  [type='range']::-moz-range-track {
    box-shadow: 0 0 0 rgba(0, 0, 0, 0.2), 0 0 0 rgba(13, 13, 13, 0.2);
    cursor: default;
    height: 2px;
    transition: all .2s ease;
    width: 100%;
    background: none;
    border: 0 solid #cfd8dc;
    border-radius: 0;
    height: 1px; }
  [type='range']::-moz-range-thumb {
    box-shadow: 0 0 0 rgba(0, 0, 0, 0.2), 0 0 0 rgba(13, 13, 13, 0.2);
    background: #0F99A8;
    border: 0 solid #eceff1;
    border-radius: 0;
    box-sizing: border-box;
    cursor: default;
    height: 24px;
    width: 24px; }
    [type='range']::-moz-range-thumb:hover {
      cursor: pointer; }
  [type='range']::-ms-track {
    cursor: default;
    height: 2px;
    transition: all .2s ease;
    width: 100%;
    background: transparent;
    border-color: transparent;
    border-width: 12px 0;
    color: transparent; }
  [type='range']::-ms-fill-lower {
    box-shadow: 0 0 0 rgba(0, 0, 0, 0.2), 0 0 0 rgba(13, 13, 13, 0.2);
    background: none;
    border: 0 solid #cfd8dc;
    border-radius: 0; }
  [type='range']::-ms-fill-upper {
    box-shadow: 0 0 0 rgba(0, 0, 0, 0.2), 0 0 0 rgba(13, 13, 13, 0.2);
    background: none;
    border: 0 solid #cfd8dc;
    border-radius: 0; }
  [type='range']::-ms-thumb {
    box-shadow: 0 0 0 rgba(0, 0, 0, 0.2), 0 0 0 rgba(13, 13, 13, 0.2);
    background: #0F99A8;
    border: 0 solid #eceff1;
    border-radius: 0;
    box-sizing: border-box;
    cursor: default;
    height: 24px;
    width: 24px;
    margin-top: 0.5px; }
    [type='range']::-ms-thumb:hover {
      cursor: pointer; }
  [type='range']:disabled::-webkit-slider-thumb {
    cursor: not-allowed; }
  [type='range']:disabled::-moz-range-thumb {
    cursor: not-allowed; }
  [type='range']:disabled::-ms-thumb {
    cursor: not-allowed; }
  [type='range']:disabled::-ms-fill-lower {
    cursor: not-allowed; }
  [type='range']:disabled::-ms-fill-upper {
    cursor: not-allowed; }

.highlighted[type='range']::-webkit-slider-thumb {
  background: #D69A2D; }

.highlighted[type='range']::-moz-range-thumb {
  background: #D69A2D; }

.highlighted[type='range']::-ms-thumb {
  background: #D69A2D; }

.visualization__heading {
  color: #1B365D;
  font-size: 34px;
  line-height: 41px;
  font-weight: 900;
  margin-bottom: 20px; }

.visualization__subheading {
  color: #1B365D;
  font-size: 18px;
  line-height: 24px;
  margin-bottom: 50px; }

.data-viz__full-width {
  background-color: #F9F9F9;
  margin: 72px -20px;
  padding: 40px 0; }
  .data-viz__full-width:last-child {
    margin-bottom: -72px; }
  @media (min-width: 768px) {
    .data-viz__full-width {
      margin: 72px -72px;
      padding: 30px 0; } }
  @media (min-width: 992px) {
    .data-viz__full-width {
      margin: 72px -180px;
      padding: 60px 0px; } }

.parameters {
  padding: 2rem 1rem 0 1rem; }
  .parameters .resistance label,
  .parameters .incidence label {
    display: block;
    font-weight: 700;
    font-size: 14px;
    color: #23356F;
    margin-bottom: 30px; }
  .parameters .resistance .output-container,
  .parameters .incidence .output-container {
    position: relative;
    width: calc(100% - 60px);
    margin: 0 auto 40px auto;
    pointer-events: none; }
    .parameters .resistance .output-container output,
    .parameters .incidence .output-container output {
      position: absolute;
      top: 10px;
      width: 50px;
      height: 24px;
      color: #23356F;
      font-size: 14px;
      font-weight: 700;
      line-height: 15px;
      text-align: center;
      transform: translateX(-50%); }
  .parameters .resistance .input__labeled,
  .parameters .incidence .input__labeled {
    display: flex;
    align-items: center;
    margin-left: 8px; }
    .parameters .resistance .input__labeled .input__min,
    .parameters .incidence .input__labeled .input__min {
      flex: 0 0 37px;
      font-size: 13px;
      color: #23356F;
      margin-left: -8px;
      padding-right: 5px;
      pointer-events: none; }
    .parameters .resistance .input__labeled .input__max,
    .parameters .incidence .input__labeled .input__max {
      flex: 0 0 50px;
      font-size: 13px;
      color: #23356F;
      text-align: right;
      pointer-events: none;
      padding-left: 8px;
      margin-right:-10px;
      background-color: #F0F2F6; }
  .parameters .resistance .description,
  .parameters .incidence .description {
    font-size: 13px;
    line-height: 16px;
    color: #23356F;
    margin: 20px 30px 40px 0px; }

  .input__labeled--resistance.input__labeled--25:hover .resistance__info--25,
  .input__labeled--resistance.input__labeled--40:hover .resistance__info--40 {
    display:block;
  }

  .parameters .input__labeled {
    position: relative;
    z-index: 1; }
    .parameters .input__labeled::after {
      pointer-events: none;
      content: "";
      background-image: linear-gradient(to left, #0F99A8 2px, 0, #CFEBEE);
      background-repeat: repeat-x;
      width: calc(100% - 60px);
      height: 2px;
      position: absolute;
      top: calc(50% - 1px);
      left: 30px;
      z-index: -1; }

    .parameters .input__labeled output.ammount {
      pointer-events: none;
      background: #0F99A8;
      width: calc(100% - 60px);
      height: 4px;
      position: absolute;
      top: calc(50% - 2px);
      left: 30px; }
  .parameters .resistance .input__labeled::after {
    background-size: 5% 100%; }
  .parameters .incidence .input__labeled::after {
    background-size: 6.25% 100%; }

.graph-container {
  padding-right: 0; }
  @media (min-width: 768px) {
    .graph-container {
      margin-left: 0px;
      max-width: calc(100% - 30px);
      margin-bottom: 0px; } }

.graph__heading {
  font-family: "Montserrat";
  font-weight: 800;
  font-size: 20px;
  color: #23356F;
  line-height: 22px;
  margin-bottom: 0; }

.graph__subheading {
  font-family: "Montserrat";
  font-weight: 500;
  font-size: 14px;
  color: #23356F; }

.graph {
  position: relative;
  margin-top: 40px;
  width: calc(100% - 30px); }
  .graph:before {
    display: block;
    content: "";
    padding-top: 75%; }
  .graph > svg {
    position: absolute;
    top: 0px;
    right: 40px;
    bottom: 0px;
    left: 40px; }

.graph svg {
  overflow: visible; }
  .graph svg .axis-x .domain, .graph svg .axis-y .domain {
    stroke: #23356F; }
  .graph svg .axis-x .tick line, .graph svg .axis-y .tick line {
    opacity: 0.2;
    stroke: #23356F; }
  .graph svg .axis-x .tick text, .graph svg .axis-y .tick text {
    fill: #23356F;
    font-family: "Montserrat";
    font-weight: 700;
    font-size: 14px; }
  .graph svg .axis-x .tick line {
    stroke-dasharray: 6 4; }

.graph-line {
  fill: none;
  stroke-width: 4px;
  stroke: #D69A2D; }

.graph-baseline {
  fill: none;
  stroke-width: 1px;
  stroke: #23356F; }

.graph-area {
  fill: #D69A2C;
  stroke: none;
  opacity: 0.4; }

.infographic {
  background-color: #F0F2F6; }

.resistance__info {
  position: absolute;
  font-size: 11px;
  line-height: 14px;
  color: #23356F;
  width: 140px;
  bottom: 40px;
  background-color: #ffffff;
  padding: 10px;
  display:none; }

.resistance__info--25 {
  margin-left: -25px; }

.resistance__info--40 {
  margin-left: 40px; }

.infographic__anchor {
  position: relative;
  top: -100px;
  display: block;
  pointer-events: none; }

#gdp-end,
#pop-end {
  top: -300px; }

.infographic__stat-number {
  color: #D69A2D; }
  .infographic__stat-number.positive {
    color: #96C84A; }
  .infographic__stat-number.negative {
    color: #D3543E; }

.infographic__header {
  align-items: center;
  padding: 2rem 2rem; }
  .infographic__header p {
    margin-bottom: 0;
    color: #1B365D;
    font-weight: 500;
    font-size: 14px;
    line-height: 18px; }
  .infographic__header .infographic__stat-number {
    font-family: "Montserrat";
    font-weight: 700;
    font-size: 36px;
    line-height: 32px; }
  .infographic__header .infographic__stat {
    font-family: "Montserrat";
    font-weight: 100;
    font-size: 28px;
    line-height: 32px;
    color: #23356F; }
  @media (min-width: 768px) {
    .infographic__header .infographic__stat-number {
      font-family: "Montserrat";
      font-weight: 700;
      font-size: 50px;
      line-height: 48px; }
    .infographic__header .infographic__stat {
      font-family: "Montserrat";
      font-weight: 100;
      font-size: 40px;
      line-height: 48px;
      color: #23356F; } }

.infographic__simulate {
  color: #1B365D;
  font-weight: 500;
  font-size: 20px;
  line-height: 21px; }

.infographic__dots {
  padding-bottom: 1rem;
  order: 1; }

.infographic__dots,
.dots__extrarow {
  display: flex;
  flex-flow: row wrap; }
  .infographic__dots.positive .people,
  .dots__extrarow.positive .people {
    background-image: url("../img/people-positive.svg"); }
  .infographic__dots.positive .money,
  .dots__extrarow.positive .money {
    background-image: url("../img/money-positive.svg"); }
  .infographic__dots .dot,
  .dots__extrarow .dot {
    flex: 0 0 4px;
    display: none;
    width: 4px;
    height: 4px;
    background: #D69A2D;
    border-radius: 2px;
    margin-bottom: 2px;
    margin-right: 2px; }
  .infographic__dots i,
  .dots__extrarow i {
    text-align: center; }
  .infographic__dots .dot.hide,
  .dots__extrarow .dot.hide {
    display: none; }
  .infographic__dots .dot.show,
  .dots__extrarow .dot.show {
    display: block; }
  .infographic__dots .dots__container,
  .dots__extrarow .dots__container {
    width: 100%;
    position: relative;
    z-index: 8;
    height: 0; }
  .infographic__dots .dots__ticks,
  .dots__extrarow .dots__ticks {
    position: absolute;
    top: 0;
    left: -15px;
    height: 100%;
    background-image: linear-gradient(to top, #23356F 4px, 0, #0000);
    width: 10px;
    background-repeat: repeat-y;
    pointer-events: none; }
  .infographic__dots .dots__ticks-text,
  .dots__extrarow .dots__ticks-text {
    position: absolute; }
  .infographic__dots .dots__ticks-text span,
  .dots__extrarow .dots__ticks-text span {
    position: absolute;
    height: 18px;
    left: 12px;
    display: flex;
    align-items: center;
    padding: 0 4px;
    color: #F9F9F9;
    font-family: "Montserrat";
    font-weight: 700;
    font-size: 14px;
    background-color: #23356F;
    transform: translateY(-11px); }
    .infographic__dots .dots__ticks-text span:first-of-type,
    .dots__extrarow .dots__ticks-text span:first-of-type {
      display: none; }
  .infographic__dots .dots__legend,
  .dots__extrarow .dots__legend {
    flex: 1 0 100%;
    align-items: center;
    display: none;
    align-items: center; }
    .infographic__dots .dots__legend.show,
    .dots__extrarow .dots__legend.show {
      display: flex; }
    .infographic__dots .dots__legend i,
    .dots__extrarow .dots__legend i {
      font-size: 16px;
      padding-right: 4px;
      display: flex;
      color: #D69A2D; }
    .infographic__dots .dots__legend .dot,
    .dots__extrarow .dots__legend .dot {
      margin: 0;
      display: block; }
    .infographic__dots .dots__legend .legend__text,
    .dots__extrarow .dots__legend .legend__text {
      color: #23356F;
      font-family: "Montserrat";
      font-weight: 700;
      font-size: 14px; }

.infographic__sticky {
  display: flex;
  flex-flow: column nowrap; }

.infographic__footer {
  position: sticky;
  background: #F0F2F6;
  order: 2;
  z-index: 9; }

@keyframes fade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeout {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
  .infographic__footer.peek:not(.bottom) {
    order: 2;
    background: inherit;
    opacity: 1;
    transition: opacity 0s linear; }
    .infographic__footer.peek:not(.bottom).show {
      animation: fade 0.5s normal; }
    .infographic__footer.peek:not(.bottom).show, .infographic__footer.peek:not(.bottom).end {
      order: 0;
      display: block; }
      .infographic__footer.peek:not(.bottom).show .btn-end, .infographic__footer.peek:not(.bottom).end .btn-end {
        display: flex; }
      .infographic__footer.peek:not(.bottom).show .graph-container, .infographic__footer.peek:not(.bottom).end .graph-container {
        display: none; }
    .infographic__footer.peek:not(.bottom) .infographic-footer__header {
      box-shadow: 2px 0 0 #F0F2F6;
      background: #F0F2F6;
      align-items: center;
      padding-right: 1rem;
      padding-top: 1rem;
      padding-bottom: 1rem; }
    .infographic__footer.peek:not(.bottom) .infographic-footer__heading {
      margin-bottom: 0; }
    .infographic__footer.peek:not(.bottom) .btn-top {
      display: none; }
    .infographic__footer.peek:not(.bottom) .btn-end {
      display: none;
      position: fixed;
      bottom: 1rem;
      left: 50%;
      transform: translateX(-50%); }
    .infographic__footer.peek:not(.bottom) .infographic-footer__subheading {
      display: none; }
  .infographic__footer.peek.end:not(.bottom) {
    animation: fadeout 0.5s reverse forwards;
    opacity: 0; }
  .infographic__footer.peek.bottom {
    opacity: 1;
    order: 2; }
    .infographic__footer.peek.bottom .btn-top {
      display: flex; }
    .infographic__footer.peek.bottom .btn-end {
      display: none; }
  .infographic__footer .infographic-footer__header {
    display: flex;
    align-items: top; }
    .infographic__footer .infographic-footer__header .btn-navigation {
      flex: 0 0 38px; }
  .infographic__footer .infographic-footer__heading {
    color: #23356F;
    font-family: "Montserrat";
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    padding-right: 30px; }
    .infographic__footer .infographic-footer__heading .infographic__stat-number {
      font-size: 24px;
      font-weight: 700; }
  .infographic__footer .infographic-footer__subheading {
    color: #23356F;
    font-family: "Montserrat";
    font-weight: 500;
    font-size: 18px;
    line-height: 24px; }

.btn-navigation {
  width: 38px; 
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #0F99A8;
  color: #F9F9F9;
  border: none; }
  .btn-navigation:hover {
    cursor: pointer;
    color: #F9F9F9;
    background-color: #D69A2D; }
  .btn-navigation:focus {
    outline: none; }
  .btn-navigation.next {
    margin-left: auto; }

#demo-graph
.graph svg .graph-area {
  fill: #D69A2D; }
