/* ==========================================================================
  Text with Rail Components
========================================================================== */
.text-rail {
  padding: 7rem 0; }
  @media only screen and (min-width: 736px) {
    .text-rail {
      max-width: 980px;
      max-width: 98rem;
      padding: 11rem 0; } }

@media only screen and (min-width: 736px) {
  .text-rail--full-width {
    max-width: none; } }

.text-rail + .text-rail {
  margin-top: -4rem;
  padding-top: 0; }
  @media only screen and (min-width: 736px) {
    .text-rail + .text-rail {
      margin-top: -6rem; } }

@media only screen and (min-width: 736px) {
  .text-rail--title + .text-rail {
    margin-top: -7rem; } }

.text-rail.text-rail--reduced-padding {
  padding-top: 0.25rem; }
  @media only screen and (min-width: 736px) {
    .text-rail.text-rail--reduced-padding {
      padding-top: 1rem; } }

@media only screen and (max-width: 735px) {
  .text-rail.text-rail--reduced-padding--sm {
    padding-bottom: 4.5rem;
    padding-top: 4.5rem; } }

@media only screen and (min-width: 736px) {
  .text-rail.text-rail--increased-padding--md {
    padding-bottom: 15rem;
    padding-top: 15rem; } }

.text-rail.text-rail--no-padding-bottom {
  padding-bottom: 0; }

.text-rail.text-rail--no-padding-bottom + .text-rail {
  margin-top: 0; }

@media only screen and (max-width: 735px) {
  .text-rail.text-rail--no-padding--sm {
    padding-bottom: 0;
    padding-top: 0; } }

.text-rail--profile-card {
  padding: 0; }

.text-rail__text .text-row__title {
  margin-bottom: 2.5rem; }

.text-rail__text .text-row__title:only-child {
  margin-bottom: 0; }

.text-rail__text .text-row__title--center {
  text-align: center; }

.text-rail__text .text-row__title--bold {
  font-size: 23px;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.09; }
  @media only screen and (min-width: 736px) {
    .text-rail__text .text-row__title--bold {
      color: #000;
      font-size: 32px;
      font-size: 3.2rem;
      line-height: 1.25; }
    .theme-dark .text-rail__text .text-row__title--bold {
    	color: #ffffff; } }

.text-rail__text .text-row__content p {
  font-size: 17px;
  font-size: 1.7rem;
  font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 400;
  line-height: 1.53; }
  @media only screen and (max-width: 735px) {
    .text-rail__text .text-row__content p {
      font-size: 19px;
      font-size: 1.9rem;
      line-height: 1.47;
      font-weight: 300; } }
  .text-rail__text .text-row__content p:last-child {
    margin-bottom: 0; }

@media only screen and (max-width: 1068px) {
  .text-rail__rail.text-rail__text--updated {
    margin-top: 1.4rem; } }

@media only screen and (max-width: 735px) {
  .text-rail__text--updated .text-row__content p {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5; } }
.theme-dark .text-rail__text--updated .text-row__content p {
	color: #cccccc; }

@media only screen and (min-width: 736px) {
  .text-rail__text--updated .text-row__content p {
    color: #000; } }

.text-rail__text--lg-text .text-row__content p {
  font-size: 18px;
  font-size: 1.8rem; }
  @media only screen and (min-width: 736px) {
    .text-rail__text--lg-text .text-row__content p {
      font-size: 23px;
      font-size: 2.3rem;
      font-weight: 300; } }

.text-rail__text .text-row__link a {
  margin: 0; }

@media only screen and (min-width: 736px) {
  .text-rail__text .text-row__link a + a {
    margin-left: 2.5rem; } }

.text-rail__text h3 {
  font-size: 19px;
  font-size: 1.9rem;
  font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 600;
  line-height: 1.47;
  margin: 0; }

.reverse .text-rail__text h3 {
  color: #fff; }

.text-rail__text__list + .text-rail__text__list {
  margin-top: 12rem; }
  @media only screen and (max-width: 735px) {
    .text-rail__text__list + .text-rail__text__list {
      margin-top: 8rem; } }

.text-rail__text__list h2 {
  font-size: 40px;
  font-size: 4rem;
  font-weight: 500;
  line-height: 1.05;
  margin-bottom: 6rem; }
  @media only screen and (max-width: 735px) {
    .text-rail__text__list h2 {
      font-size: 31px;
      font-size: 3.1rem;
      line-height: 1.2; } }
.theme-dark .text-rail__text__list h2 {
	color: #ffffff;
	font-weight: 700; }
	
.text-rail__text__list__title--center {
  text-align: center; }

.text-rail__text__list h3,
.text-rail__text__list--no-section-heading h2 {
  color: #000;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 300;
  line-height: 1.45;
  margin: 5rem 0 2.5rem; }
.theme-dark .text-rail__text__list h3 {
	color: #ffffff;
	font-weight: 700; }
.theme-dark .text-rail__text__list--no-section-heading h2 {
	color: #cccccc; }
.theme-light .text-rail__text__list h3 {
	font-weight: 600; }
		
.text-rail__text__list h3:first-child,
.text-rail__text__list--no-section-heading h2:first-child {
  margin-top: 0; }

.text-rail__text__list p {
  color: #000;
  margin-bottom: 2rem; }
  .text-rail__text__list p:last-child {
    margin-bottom: 0; }
.theme-dark .text-rail__text__list p {
	color: #cccccc;
	font-weight: 500; }
	
.text-rail__text__list .text-rail__text__list__new-item {
  margin-top: 4rem; }

.text-rail__text__list--bold-title h2,
.text-rail__text__list--bold-title h3 {
  font-weight: 700;
  margin-bottom: 1rem; }
  @media only screen and (min-width: 736px) {
    .text-rail__text__list--bold-title h2,
    .text-rail__text__list--bold-title h3 {
      color: #000; } }

@media only screen and (max-width: 735px) {
  .text-rail__text__list--bold-title h2 {
    font-size: 23px;
    font-size: 2.3rem; } }

@media only screen and (max-width: 735px) {
  .text-rail__text__list--bold-title h3 {
    font-size: 19px;
    font-size: 1.9rem;
    margin-top: 3rem; } }

@media only screen and (max-width: 735px) {
  .text-rail__text__list--bold-title p {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500; } }

@media only screen and (max-width: 735px) {
  .text-rail__text__list--bold-title p.text-rail__text__list--bold-title__link {
    margin-top: -1rem; } }

.text-rail__text__list h2.text-rail__text__list__inverse-margin {
  margin-bottom: 1rem; }
  @media only screen and (min-width: 736px) {
    .text-rail__text__list h2.text-rail__text__list__inverse-margin {
      margin-top: 4rem; } }

@media only screen and (max-width: 1068px) {
  .text-rail__rail {
    margin-top: 5rem; } }

@media only screen and (min-width: 736px) {
  .text-rail__rail--list {
    border-top: none;
    padding-top: 0; } }

.text-rail__rail--lg-text {
  border-top: none;
  padding-top: 0; }

.text-rail__rail--sm-text {
  border-color: #999999;
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 1.53; }
  @media only screen and (min-width: 736px) {
    .text-rail__rail--sm-text {
      border-top: none;
      padding-right: 15%;
      padding-top: 0; } }
  @media only screen and (min-width: 1069px) {
    .text-rail__rail--sm-text {
      padding-right: 0; } }

@media only screen and (min-width: 736px) {
  .text-rail__rail.text-rail__rail--sm-text p {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5; } }

.text-rail__rail--top-icon {
  margin-bottom: 2rem;
  margin-top: 3rem; }
  @media only screen and (min-width: 1069px) {
    .text-rail__rail--top-icon {
      margin-bottom: 0;
      margin-top: 0; } }

.text-rail__rail > img {
  display: block;
  margin: 0 auto 1rem;
  max-width: 6.6rem; }
  @media only screen and (min-width: 1069px) {
    .text-rail__rail > img {
      margin-bottom: 3rem;
      max-width: 7.8rem; } }

.text-rail__rail > h3,
.text-rail__rail > p {
  color: #666666; }
  @media only screen and (max-width: 1068px) {
    .text-rail__rail > h3,
    .text-rail__rail > p {
      text-align: center;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.3125; } }

.text-rail__rail > h3 {
  font-size: 17px;
  font-size: 1.7rem;
  font-weight: 500; }
  @media only screen and (max-width: 1068px) {
    .text-rail__rail > h3 {
      font-weight: 400;
      margin-bottom: 1.5rem; } }
  @media only screen and (min-width: 1069px) {
    .text-rail__rail > h3 {
      margin-bottom: 1rem; } }

.text-rail__rail--sm-text > h3 {
  color: #000;
  margin: 0;
  text-align: left; }
  @media only screen and (min-width: 736px) {
    .text-rail__rail--sm-text > h3 {
      font-size: 17px;
      font-size: 1.7rem; } }

@media only screen and (max-width: 1068px) {
  .text-rail__rail > p {
    color: #666666;
    font-weight: 300; } }

@media only screen and (min-width: 736px) {
  .text-rail__rail > p {
    max-width: 80%;
    margin: auto; } }

@media only screen and (min-width: 1069px) {
  .text-rail__rail > p {
    line-height: 1.666666667;
    max-width: none; } }

.text-rail__rail > p:last-of-type {
  margin-bottom: 0; }

@media only screen and (min-width: 736px) {
  .text-rail__rail.text-rail__rail--with-icons > p {
    margin: 0 auto; } }

.text-rail__rail--lg-text > p {
  color: #666666;
  font-size: 19px;
  font-size: 1.9rem;
  font-weight: 400;
  line-height: 1.45;
  margin-bottom: 0; }
  @media only screen and (min-width: 736px) {
    .text-rail__rail--lg-text > p {
      font-size: 22px;
      font-size: 2.2rem; } }

.text-rail--title blockquote .quote::before {
  margin-left: 0; }

@media only screen and (max-width: 1068px) {
  .text-rail__rail blockquote {
    text-align: center; } }

.text-rail__rail blockquote .quote {
  font-size: 22px;
  font-size: 2.2rem;
  font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 300;
  line-height: 1.45; }
  @media only screen and (max-width: 735px) {
    .text-rail__rail blockquote .quote {
      font-size: 28px;
      font-size: 2.8rem;
      line-height: 1.29; } }

@media only screen and (max-width: 735px) {
  .text-rail__rail--lg-text blockquote {
    text-align: left; } }

.text-rail__rail--lg-text blockquote .quote {
  color: #666666;
  font-weight: 400; }

.text-rail__rail blockquote .blockquote__footer {
  font-weight: 400;
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 1.53; }
  @media only screen and (max-width: 735px) {
    .text-rail__rail blockquote .blockquote__footer {
      font-size: 19px;
      font-size: 1.9rem;
      line-height: 1.47; } }

.text-rail__rail__icons {
  font-size: 0px;
  font-size: 0rem;
  margin-top: -2rem;
  text-align: center; }
  @media only screen and (min-width: 1069px) {
    .text-rail__rail__icons {
      margin-top: -1rem; } }
  .text-rail__rail__icons:first-child:last-child {
    margin-top: -3.5rem; }
    @media only screen and (min-width: 1069px) {
      .text-rail__rail__icons:first-child:last-child {
        margin-top: -2rem; } }

.text-rail__rail__icons__icon {
  display: inline-block;
  margin-top: 3.5rem;
  vertical-align: text-bottom;
  word-spacing: 0;
  width: 50%; }
  @media only screen and (min-width: 480px) {
    .text-rail__rail__icons__icon {
      margin-top: 4rem;
      width: 25%; } }
  @media only screen and (min-width: 1069px) {
    .text-rail__rail__icons__icon {
      margin-top: 4rem;
      width: 50%; } }

.text-rail__rail__icons__icon svg {
  visibility: hidden; }

.text-rail .text-rail__rail__icons__icon__caption {
  opacity: 0;
  -webkit-transition: opacity 1s ease-in;
  transition: opacity 1s ease-in;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s; }

.text-rail.engaged .text-rail__rail__icons__icon:nth-of-type(1) .text-rail__rail__icons__icon__caption {
  opacity: 1; }

.text-rail.engaged .text-rail__rail__icons__icon:nth-of-type(2) .text-rail__rail__icons__icon__caption {
  opacity: 1;
  -webkit-transition-delay: 1s;
          transition-delay: 1s; }

.text-rail.engaged .text-rail__rail__icons__icon:nth-of-type(3) .text-rail__rail__icons__icon__caption {
  opacity: 1;
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s; }

.text-rail.engaged .text-rail__rail__icons__icon:nth-of-type(4) .text-rail__rail__icons__icon__caption {
  opacity: 1;
  -webkit-transition-delay: 2s;
          transition-delay: 2s; }

.text-rail__rail__icons__icon .text-rail__rail__icons__icon__caption {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.25;
  margin-top: 2rem;
  width: 100%; }
  @media only screen and (min-width: 1069px) {
    .text-rail__rail__icons__icon .text-rail__rail__icons__icon__caption {
      font-size: 18px;
      font-size: 1.8rem; } }

.reverse .text-rail__rail {
  border-top-color: #fff; }

.reverse .text-rail__text .text-row__title,
.reverse .text-rail__text .text-row__content p,
.reverse .text-rail__rail p,
.reverse .text-rail__rail blockquote p.quote,
.reverse .text-rail__rail blockquote .blockquote__footer,
.reverse .text-rail__rail--lg-text > p {
  color: #fff; }

.component--faqs {
	margin: 0 auto;
	max-width: 710px;
	max-width: 71rem; }

/* update to allow adjustment of role component padding */
@media only screen and (min-width: 736px) {
	.component--reduce-top-padding .text-rail {
		padding-top: 5.5rem;
	}
}

/********** NEW LEAD TEXT STYLE ***********/
.text-row--left {
	text-align: left; }

.text-row--wide-912 {
	max-width: 912px;
	max-width: 91.2rem; }

