@charset "UTF-8";
/* Colors */
.map-wrap, .student-debt-graph {
  padding: 1rem 1.5rem;
}

@media (min-width: 48em) {
  .map-wrap, .student-debt-graph {
    padding: 2rem 2rem;
  }
}

@media (min-width: 64em) {
  .map-wrap, .student-debt-graph {
    padding: 4rem 2rem;
  }
}

@media (min-width: 81.25em) {
  .map-wrap, .student-debt-graph {
    padding: 5rem 2rem;
  }
}

@media (min-width: 100em) {
  .map-wrap, .student-debt-graph {
    padding: 6rem 2rem;
  }
}

@media (min-width: 112.5em) {
  .map-wrap, .student-debt-graph {
    padding: 7rem 2rem;
  }
}

.student-debt-stats {
  padding: 1.5rem;
}

@media (min-width: 48em) {
  .student-debt-stats {
    padding: 1.5rem 1.5rem;
  }
}

@media (min-width: 64em) {
  .student-debt-stats {
    padding: 2rem 2rem;
  }
}

@media (min-width: 81.25em) {
  .student-debt-stats {
    padding: 3rem 2rem;
  }
}

@media (min-width: 100em) {
  .student-debt-stats {
    padding: 4rem 2rem;
  }
}

@media (min-width: 112.5em) {
  .student-debt-stats {
    padding: 4.5rem 2rem;
  }
}

.map-text {
  line-height: 1.4;
  font-size: 1.05rem;
  text-align: left;
}

.map-text p {
  margin-bottom: 1rem;
}

.map-text plast-of-type {
  margin-bottom: 0;
}

@media (min-width: 48em) {
  .map-text {
    font-size: 1.2em;
  }
  .map-text p {
    margin-bottom: 1.1rem;
  }
}

@media (min-width: 64em) {
  .map-text {
    font-size: 1.3rem;
  }
  .map-text p {
    margin-bottom: 1.2rem;
  }
}

@media (min-width: 81.25em) {
  .map-text p {
    margin-bottom: 1.3rem;
  }
}

@media (min-width: 100em) {
  .map-text p {
    margin-bottom: 1.4rem;
  }
}

@media (min-width: 112.5em) {
  .map-text p {
    margin-bottom: 1.5rem;
  }
}

.map-headline, .student-debt-stats-col strong {
  font-family: "Montserrat", sans-serif;
  font-size: 2rem;
}

@media (min-width: 48em) {
  .map-headline, .student-debt-stats-col strong {
    font-size: 2.2rem;
  }
}

@media (min-width: 64em) {
  .map-headline, .student-debt-stats-col strong {
    font-size: 2.5rem;
  }
}

@media (min-width: 81.25em) {
  .map-headline, .student-debt-stats-col strong {
    font-size: 2.8rem;
  }
}

@media (min-width: 100em) {
  .map-headline, .student-debt-stats-col strong {
    font-size: 3.2rem;
  }
}

@media (min-width: 112.5em) {
  .map-headline, .student-debt-stats-col strong {
    font-size: 3.5rem;
  }
}

.state-info h3, .student-debt-graph-headline {
  font-family: "Montserrat", sans-serif;
  font-size: 1.2rem;
}

@media (min-width: 48em) {
  .state-info h3, .student-debt-graph-headline {
    font-size: 1.3rem;
  }
}

@media (min-width: 64em) {
  .state-info h3, .student-debt-graph-headline {
    font-size: 1.6rem;
  }
}

@media (min-width: 81.25em) {
  .state-info h3, .student-debt-graph-headline {
    font-size: 1.9rem;
  }
}

@media (min-width: 100em) {
  .state-info h3, .student-debt-graph-headline {
    font-size: 2.3rem;
  }
}

@media (min-width: 112.5em) {
  .state-info h3, .student-debt-graph-headline {
    font-size: 2.6rem;
  }
}

.student-debt-stats {
  width: 100%;
  margin: 1rem auto 0;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

@media (min-width: 48em) {
  .student-debt-stats {
    display: flex;
  }
}

.student-debt-stats-col {
  text-align: center;
  padding: 1rem;
  line-height: 1.1;
  font-size: 1rem;
}

@media (min-width: 48em) {
  .student-debt-stats-col {
    width: calc(33.33% - 1rem);
    border-right: 1px solid #d0d0d0;
  }
  .student-debt-stats-col:last-of-type {
    border-right: 0;
  }
}

.student-debt-stats-col strong {
  display: block;
  color: #05ad52;
}

.student-debt-stats-col strong em {
  display: block;
  font-style: normal;
  color: #006633;
  font-size: 60%;
  text-transform: uppercase;
  margin-bottom: .5rem;
}

.student-debt-graph:last-of-type {
  background-color: #f4f4f4;
}

.student-debt-graph-headline {
  color: #05ad52;
  margin-bottom: 2rem;
}

.student-debt-graph-svg {
  width: 100%;
  max-width: 64em;
}

#map {
  width: 100%;
  max-width: 64em;
  text-align: center;
  margin: 0 auto;
}

#map svg {
  width: 100% !important;
  height: auto !important;
  margin: 0 auto;
}

#map svg path {
  fill: #05ad52 !important;
  transition: 0.3s fill cubic-bezier(0.57, 0.2, 0.21, 0.89);
  stroke: #0b2138 !important;
  stroke-width: 2px !important;
}

#map svg path:hover {
  fill: #1d548c !important;
}

.map-wrap {
  background-color: #0b2138;
}

.map-headline {
  color: green;
  margin-bottom: 1rem;
}

.map-text {
  color: #fff;
  text-align: center;
  margin-bottom: 2rem;
  max-width: 48rem;
  margin: 0 auto;
  font-size: 90%;
}

.state-info {
  position: absolute;
  display: none;
  background: #fff !important;
  color: #000 !important;
  padding: 1.5rem 1rem !important;
  text-align: center;
  border-radius: 1rem;
  width: 20rem;
  box-shadow: 0 0.5rem 1.25rem 0 rgba(0, 0, 0, 0.2);
  border: 0 !important;
}

.state-info h3 {
  color: #05ad52;
  margin: .25rem auto .5rem !important;
  line-height: 1;
}

.state-info strong {
  color: #1d548c;
  display: inline-block;
  padding: .5rem;
  text-transform: uppercase;
}

.state-info p {
  margin-bottom: 0 !important;
  line-height: .75 !important;
}

.state-info #close-state-info {
  background-color: #1d548c;
  width: 2rem;
  height: 2rem;
  display: block;
  border-radius: 50%;
  position: relative;
  border: 0;
  outline: 0;
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  transform: translate(40%, -40%);
  transition: 0.3s all cubic-bezier(0.57, 0.2, 0.21, 0.89);
  box-shadow: 0 0.5rem 1.25rem 0 rgba(0, 0, 0, 0.2);
}

.state-info #close-state-info:hover {
  background-color: #006633;
}

.state-info #close-state-info:before, .state-info #close-state-info:after {
  background-color: #fff;
  width: 60%;
  height: 2px;
  display: block;
  content: "";
  position: absolute;
}

.state-info #close-state-info:before {
  transform: rotate(45deg);
}

.state-info #close-state-info:after {
  transform: rotate(-45deg);
}
