.neop-plan-intro {
  margin-bottom: 1rem;
}

.neop-plan-chapters {

}

.neop-chapter {
  margin: 1rem 0;
}

/* --- override link styling --- */
.neop-chapter a {
  margin: 0;
  padding: 0;
  border: 0;
  color: inherit;
}

.neop-chapter a:hover,
.neop-chapter a:focus {
  background-color: inherit;
}
/* ----------------------------- */

.neop-chapter-info::before {
  content: '';
  display: block;
  height: 0.375rem;
  width: 4rem;
  background-color: #236b95;
}

.neop-chapter-title {
  margin-top: 0.75rem;
  margin-bottom: 0.25rem;
  font-size: 137.5%; /* percentage of .neop-copy */
  line-height: 1.125;
  color: #236b95;
}

.neop-chapter-image {
  margin-top: 1rem;
}

.neop-chapter-image a {
  display: block;
  position: relative;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

/* 8:5 aspect ratio  */
.neop-chapter-image a::before {
  content: '';
  display: block;
  padding-top: 62.5%;
}



@media (min-width: 30em) {
  .neop-plan-intro {
    margin-bottom: 2rem;
  }

  .neop-chapter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 2rem 0;
  }

  /* --- right half of .neop-chapter layout --- */
  .neop-chapter-info {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 calc(50% - 1rem);
            flex: 1 1 calc(50% - 1rem);
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }

  /* --- left half of .neop-chapter layout --- */
  .neop-chapter-image {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 calc(50% - 1rem);
            flex: 1 1 calc(50% - 1rem);
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-top: 0;
    margin-right: 1rem;
  }
}

@media (min-width: 40em) {
  /* --- right two thirds of .neop-chapter layout --- */
  .neop-chapter-info {
    -ms-flex-preferred-size: calc(66.6666% - 2rem);
        flex-basis: calc(66.6666% - 2rem);
  }

  /* --- left third of .neop-chapter layout --- */
  .neop-chapter-image {
    -ms-flex-preferred-size: calc(33.3333% - 2rem);
        flex-basis: calc(33.3333% - 2rem);
    margin-right: 2rem;
  }
}

@media (min-width: 50em) {
  .neop-plan-intro {
    margin-bottom: 4rem;
  }
}
