/* Functions & Mixins */
.gold-outline:focus {
  outline: 2px solid #fbc600 !important; }

/* Universal breakpoints */
.hero {
  /* General hero properties here */
  position: relative;
  overflow-x: hidden;
  padding-bottom: 0.5rem;
  /* Login Hero */
  /* Hero variant w/o images */
  /* Terms Hero */
  /* Overlay hero */ }
  .hero + section {
    margin-top: 1.5rem; }
    @media screen and (min-width: 48rem) {
      .hero + section {
        margin-top: 3rem; } }
  .hero::after {
    content: '';
    background-color: #fbc600;
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    height: 0.5rem;
    width: 14.375rem;
    float: right;
    animation: from-right 750ms ease-in forwards; }
    @media screen and (min-width: 80rem) {
      .hero::after {
        width: calc(50vw - 410px); } }
  .hero__c1 {
    box-sizing: border-box;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    margin-bottom: 2.5rem; }
    @media screen and (min-width: 0rem) and (max-width: 47.9375rem) {
      .hero__c1 {
        padding-left: 1.25rem;
        padding-right: 1.25rem; } }
    @media screen and (min-width: 48rem) and (max-width: 79.9375rem) {
      .hero__c1 {
        padding-left: 2.5rem;
        padding-right: 2.5rem; } }
    @media screen and (min-width: 80rem) {
      .hero__c1 {
        padding-left: 5rem;
        padding-right: 5rem; } }
    @media screen and (min-width: 0rem) and (max-width: 47.9375rem) {
      .hero__c1 {
        width: 82.5rem; } }
    @media screen and (min-width: 48rem) and (max-width: 79.9375rem) {
      .hero__c1 {
        width: 85rem; } }
    @media screen and (min-width: 80rem) {
      .hero__c1 {
        width: 90rem; } }
    @media screen and (min-width: 0rem) and (max-width: 61.9375rem) {
      .hero__c1 {
        flex-direction: column; } }
    @media screen and (min-width: 62rem) {
      .hero__c1 {
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
        margin-top: 4.375rem;
        margin-bottom: 3.75rem; } }
  .hero__image--desktop {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center; }
    @media screen and (min-width: 0rem) and (max-width: 61.9375rem) {
      .hero__image--desktop {
        display: none; } }
    @media screen and (min-width: 62rem) {
      .hero__image--desktop {
        box-sizing: border-box;
        width: 55% !important;
        height: auto;
        display: flex;
        flex-direction: row;
        align-items: center;
        margin-left: -2.5rem;
        padding-right: 2.625rem; 
        margin-top: 2.5rem;} }
    @media screen and (min-width: 62rem) and (max-width: 79.9375rem) {
      .hero__image--desktop {
        justify-content: flex-end;
        padding-left: 0; } }
    @media screen and (min-width: 80rem) {
      .hero__image--desktop {
        justify-content: flex-end;
        padding-left: 5rem;
        padding-right: 2.625rem; } }
  .hero__icon-section {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 1.25rem 0; }
  .hero__icon {
    width: 3.125rem; }
  .hero__icon-text {
    font-size: 24px;
    font-size: 1.5rem;
    color: #3b3c43;
    margin: 1.5rem 0;
    margin: 0 0 0 1.25rem; }
    @media screen and (min-width: 0rem) and (max-width: 47.9375rem) {
      .hero__icon-text {
        font-size: 16px;
        font-size: 1rem; } }
  .hero__link {
    color: #3b3c43;
    font-weight: 500; }
    @media screen and (min-width: 0rem) and (max-width: 61.9375rem) {
      .hero__link {
        font-size: 16px;
        font-size: 1rem;
        text-decoration: none;
        box-shadow: inset 0 -2px 0 0 #fbc600;
        transition: box-shadow 200ms cubic-bezier(0.895, 0.03, 0.685, 0.22); }
        .hero__link:hover, .hero__link:focus {
          box-shadow: inset 0 -7px 0 0 rgba(251, 198, 0, 0.85); }
        .hero__link.active {
          box-shadow: inset 0 -7px 0 0 rgba(251, 198, 0, 0.85); } }
    @media screen and (min-width: 62rem) {
      .hero__link {
        font-size: 24px;
        font-size: 1.5rem;
        text-decoration: none;
        box-shadow: inset 0 -2px 0 0 #fbc600;
        transition: box-shadow 200ms cubic-bezier(0.895, 0.03, 0.685, 0.22); }
        .hero__link:hover, .hero__link:focus {
          box-shadow: inset 0 -10px 0 0 rgba(251, 198, 0, 0.85); }
        .hero__link.active {
          box-shadow: inset 0 -10px 0 0 rgba(251, 198, 0, 0.85); } }
  .hero__image--mobile {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    /* Special background image sizes */ }
    @media screen and (min-width: 0rem) and (max-width: 47.9375rem) {
      .hero__image--mobile {
        margin-top: -1.875rem;
        margin-left: -1.25rem;
        margin-right: -1.25rem; } }
    @media screen and (min-width: 62rem) {
      .hero__image--mobile {
        display: none; } }
    @media screen and (min-width: 0rem) and (max-width: 29.9375rem) {
      .hero__image--mobile {
        height: 17.5rem; } }
    @media screen and (min-width: 30rem) and (max-width: 61.9375rem) {
      .hero__image--mobile {
        height: 18.75rem; } }
    @media screen and (min-width: 48rem) and (max-width: 61.9375rem) {
      .hero__image--mobile {
        height: 25rem; } }
  .hero__image--help {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    display: inline-block;
    width: 1rem;
    position: relative; }
    @media screen and (min-width: 62rem) {
      .hero__image--help {
        width: 1.3125rem; } }
    .hero__image--help > img {
      pointer-events: none; }
    .hero__image--help > * {
      white-space: normal; }
  .hero__arrow {
    display: block;
    margin-top: 0;
    animation: arrow-expand 1s ease-in-out forwards;
    transition: margin-top 200ms ease-in-out; }
    .hero__arrow:before {
      border-style: solid;
      border-color: #fbc600;
      border-width: 0.188em 0.188em 0 0;
      content: '';
      display: block;
      height: 0.625em;
      left: 0.25em;
      position: relative;
      top: 0;
      transform: rotate(135deg);
      width: 0.625em; }
    .hero__arrow:nth-of-type(1) {
      opacity: 0.25; }
    .hero__arrow:nth-of-type(2) {
      opacity: 0.5; }
    .hero__arrow:nth-of-type(3) {
      opacity: 0.75; }

@keyframes arrow-expand {
  0% {
    margin-bottom: -12px; }
  100% {
    margin-bottom: 2px; } }
  .hero__content {
    position: relative; }
    @media screen and (min-width: 62rem) {
      .hero__content {
        width: 45%;
        min-height: 26.875rem; } }
  .hero__headline {
    font-size: 64px;
    line-height: 1;
    color: #3b3c43;
    text-transform: uppercase; }
    @media screen and (min-width: 62rem) {
      .hero__headline {
        margin: 1.875rem 0 0 -7.5rem; } }
    @media screen and (min-width: 30rem) and (max-width: 61.9375rem) {
      .hero__headline {
        margin: 2.5rem 0 0 0; } }
    @media screen and (min-width: 0rem) and (max-width: 29.9375rem) {
      .hero__headline {
        margin: 0.625rem 0 0 0; } }
  .hero__offer-section {
    display: flex; }
    @media screen and (min-width: 0rem) and (max-width: 70.5625rem) {
      .hero__offer-section {
        flex-direction: column;
        justify-content: flex-start; } }
    @media screen and (min-width: 70.625rem) {
      .hero__offer-section {
        flex-direction: row;
        justify-content: space-between; } }
    .hero__offer-section + .hero__buttons {
      margin-top: 2.1875rem; }
  .hero__offer-brand {
    width: 8.125rem; }
  @media screen and (min-width: 0rem) and (max-width: 61.9375rem) {
    .hero__offer-logo {
      margin-top: -2.5rem; } }
  @media screen and (min-width: 62rem) {
    .hero__offer-logo {
      margin-top: 1rem; } }
  @media screen and (min-width: 70.625rem) {
    .hero__offer-text {
      width: calc(100% - 150px); } }
  .hero__body {
    font-size: 24px;
    font-size: 1.5rem;
    color: #3b3c43;
    margin: 1.5rem 0;
    margin: 1.25rem 0 0; }
    @media screen and (min-width: 0rem) and (max-width: 47.9375rem) {
      .hero__body {
        font-size: 16px;
        font-size: 1rem; } }
    .hero__body + .hero__buttons {
      margin-top: 2.1875rem; }
    .hero__body-link {
      text-decoration: none;
      color: inherit;
      font-weight: inherit; }
      .hero__body-link span {
        font-size: 16px;
        font-size: 1rem;
        text-decoration: none;
        box-shadow: inset 0 -2px 0 0 #fbc600;
        transition: box-shadow 200ms cubic-bezier(0.895, 0.03, 0.685, 0.22); }
        .hero__body-link span:hover, .hero__body-link span:focus {
          box-shadow: inset 0 -7px 0 0 rgba(251, 198, 0, 0.85); }
        .hero__body-link span.active {
          box-shadow: inset 0 -7px 0 0 rgba(251, 198, 0, 0.85); }
        @media screen and (min-width: 48rem) {
          .hero__body-link span {
            font-size: 24px;
            font-size: 1.5rem;
            text-decoration: none;
            box-shadow: inset 0 -2px 0 0 #fbc600;
            transition: box-shadow 200ms cubic-bezier(0.895, 0.03, 0.685, 0.22); }
            .hero__body-link span:hover, .hero__body-link span:focus {
              box-shadow: inset 0 -10px 0 0 rgba(251, 198, 0, 0.85); }
            .hero__body-link span.active {
              box-shadow: inset 0 -10px 0 0 rgba(251, 198, 0, 0.85); } }
  .hero__subhead {
    font-size: 24px;
    font-size: 1.5rem;
    color: #3b3c43;
    margin: 1.5rem 0;
    margin: 1.25rem 0;
    font-weight: 500; }
    @media screen and (min-width: 0rem) and (max-width: 47.9375rem) {
      .hero__subhead {
        font-size: 16px;
        font-size: 1rem; } }
  .hero__buttons {
    text-align: center; }
    .hero__buttons.--flex {
      display: flex;
      justify-content: center;
      max-width: 100% !important; }
      @media screen and (min-width: 30rem) and (max-width: 61.9375rem) {
        .hero__buttons.--flex {
          align-items: center;
          max-width: 45%; } }
      @media screen and (min-width: 62rem) {
        .hero__buttons.--flex {
          justify-content: flex-start;
          align-items: flex-start;
          max-width: 45% !important; } }
    @media screen and (min-width: 30rem) {
      .hero__buttons {
        text-align: left; } }
    .hero__buttons.-empty {
      margin-bottom: -3rem; }
      @media screen and (min-width: 30rem) {
        .hero__buttons.-empty {
          min-height: 5.875rem; } }
      @media screen and (min-width: 62rem) {
        .hero__buttons.-empty {
          margin-bottom: 0; } }
  .hero__cta {
    display: inline-block;
    border: 0;
    padding: 0.875rem;
    align-self: center;
    text-align: center;
    box-sizing: border-box;
    line-height: 1;
    background-color: #fbc600;
    color: #3b3c43;
    font-weight: 500;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background-color 150ms ease-in-out, color 150ms ease-in-out;
    width: 60%; }
    .hero__cta:focus {
      outline: 2px solid #3b3c43 !important; }
    .hero__cta:hover {
      background-color: #3b3c43 !important;
      color: #ffffff !important; }
    .hero__cta--home {
      background-color: #58A7AF;
      color: #ffffff; }
      .hero__cta--home:hover {
        background-color: #4e97a3 !important; }
    @media screen and (min-width: 0rem) and (max-width: 29.9375rem) {
      .hero__cta {
        width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .hero__cta:first-of-type {
          margin-bottom: 1rem; }
        .hero__cta:last-of-type {
          margin-bottom: 0; } }
    @media screen and (min-width: 30rem) {
      .hero__cta {
        max-width: 15rem; }
        .hero__cta:first-of-type {
          margin-right: 1rem;
          margin-bottom: 1rem; }
        .hero__cta:last-of-type {
          margin-right: 0; } }
    @media screen and (min-width: 80rem) {
      .hero__cta:first-of-type {
        margin-right: 2rem; }
      .hero__cta:last-of-type {
        margin-right: 0; } }
  .hero__featured {
    display: flex;
    flex-direction: column;
    margin-bottom: 1.25rem; }
    @media screen and (min-width: 64.0625rem) {
      .hero__featured {
        flex-direction: row;
        align-items: flex-start;
        margin-top: 1rem;
        margin-bottom: 1.75rem; }
        .hero__featured .hero__featured-logo {
          margin-top: 0; }
        .hero__featured .hero__body {
          flex: 1;
          margin-top: 0;
          margin-left: 0.5rem; } }
  .hero__featured-logo {
    align-self: flex-start;
    display: block;
    width: 5.625rem;
    margin: 1rem 0.5rem 0 0; }
    .hero__featured-logo + .hero__body {
      margin-top: 1rem; }
    @media screen and (min-width: 30rem) {
      .hero__featured-logo {
        width: 7.8125rem; } }
    @media screen and (min-width: 62rem) {
      .hero__featured-logo {
        margin-top: 0.25rem; } }

@keyframes login-fade-in {
  0% {
    opacity: 0; }
  50% {
    opacity: 0; }
  100% {
    opacity: 1; } }
  .hero.hero--login .hero__c1 {
    margin-top: 0; }
  .hero.hero--login .hero__headline {
    margin-left: 0; }
    @media screen and (min-width: 62rem) {
      .hero.hero--login .hero__headline {
        font-size: 65px;
        font-size: 4.0625rem;
        margin: 4.375rem 0 0;
        padding-bottom: 0; } }
  @media screen and (min-width: 62rem) {
    .hero.hero--login .hero__image--desktop {
      margin-right: -2.5rem;
      padding: 2.5rem 2.5rem 2.5rem 0; } }
  .hero.hero--terms .hero__c1, .hero.hero--noimg .hero__c1, .hero.hero--search .hero__c1, .hero.hero--post .hero__c1 {
    margin-top: 0;
    margin-bottom: 1.75rem; }
    @media screen and (min-width: 62rem) {
      .hero.hero--terms .hero__c1, .hero.hero--noimg .hero__c1, .hero.hero--search .hero__c1, .hero.hero--post .hero__c1 {
        margin-bottom: 3.75rem; } }
  .hero.hero--terms .hero__headline, .hero.hero--noimg .hero__headline, .hero.hero--search .hero__headline, .hero.hero--post .hero__headline {
    margin-left: 0;
    /* "Accessibility" headline is too long on small devices */ }
    @media screen and (min-width: 62rem) {
      .hero.hero--terms .hero__headline, .hero.hero--noimg .hero__headline, .hero.hero--search .hero__headline, .hero.hero--post .hero__headline {
        font-size: 70px;
        font-size: 4.375rem;
        margin: 4.375rem 0 0;
        padding-bottom: 0; } }
  @media screen and (min-width: 0rem) and (max-width: 29.9375rem) {
      .hero.hero--terms .hero__headline, .hero.hero--noimg .hero__headline, .hero.hero--search .hero__headline, .hero.hero--post .hero__headline {
        font-size: 36px;
        font-size: 2.25rem; } }
  .hero.hero--terms .hero__content, .hero.hero--noimg .hero__content, .hero.hero--search .hero__content, .hero.hero--post .hero__content {
    min-height: auto;
    width: 100%; }
  .hero.hero--terms .hero__body, .hero.hero--terms .hero__subhead, .hero.hero--noimg .hero__body, .hero.hero--noimg .hero__subhead, .hero.hero--search .hero__body, .hero.hero--search .hero__subhead, .hero.hero--post .hero__body, .hero.hero--post .hero__subhead {
    font-weight: 500;
    max-width: 45rem;
    margin-bottom: 0; }
  @media screen and (min-width: 0rem) and (max-width: 47.9375rem) {
    .hero.hero--terms .hero__subhead, .hero.hero--noimg .hero__subhead, .hero.hero--search .hero__subhead, .hero.hero--post .hero__subhead {
      font-size: 22px;
      font-size: 1.375rem;
      font-weight: 400; } }
  .hero.hero--noimg .hero__content {
    width: 100%;
    max-width: 34.375rem; }
  .hero.hero--search:after {
    content: none; }
  @media screen and (min-width: 62rem) {
    .hero.hero--search .hero__c1 {
      margin-bottom: 0; } }
  .hero.hero--search .hero__content {
    max-width: 100%; }
  .hero.hero--search .hero__headline {
    font-weight: 500; }
    @media screen and (min-width: 0rem) and (max-width: 29.9375rem) {
      .hero.hero--search .hero__headline {
        margin: 1.25rem 0 0 0; } }
  .hero.hero--post:after {
    content: none; }
  .hero.hero--post .hero__c1 {
    display: block; }
    @media screen and (min-width: 62rem) {
      .hero.hero--post .hero__c1 {
        margin-bottom: 0; } }
  .hero.hero--post .hero__heading {
    font-size: 36px;
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1;
    color: #3b3c43;
    margin: 1rem 0; }
    @media screen and (min-width: 48rem) {
      .hero.hero--post .hero__heading {
        font-size: 48px;
        font-size: 3rem; } }
    @media screen and (min-width: 62rem) {
      .hero.hero--post .hero__heading {
        margin: 4.5rem 0 1rem; } }
    @media screen and (min-width: 80rem) {
      .hero.hero--post .hero__heading {
        font-size: 60px;
        font-size: 3.75rem; } }
  .hero.hero--post .hero__image-crop {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 50%;
    z-index: 1; }
    .hero.hero--post .hero__image-crop.-apsect-ratio-1x1 {
      padding-bottom: 100%; }
    .hero.hero--post .hero__image-crop.-apsect-ratio-5x4 {
      padding-bottom: 81%; }
    .hero.hero--post .hero__image-crop.-apsect-ratio-4x3 {
      padding-bottom: 75%; }
    .hero.hero--post .hero__image-crop.-apsect-ratio-3x2 {
      padding-bottom: 66.6666667%; }
    .hero.hero--post .hero__image-crop.-apsect-ratio-5x3 {
      padding-bottom: 60%; }
    .hero.hero--post .hero__image-crop.-apsect-ratio-16x9 {
      padding-bottom: 56.25%; }
    .hero.hero--post .hero__image-crop.-apsect-ratio-2x1 {
      padding-bottom: 50%; }
    .hero.hero--post .hero__image-crop.-apsect-ratio-5x2 {
      padding-bottom: 40%; }
    .hero.hero--post .hero__image-crop.-apsect-ratio-3x1 {
      padding-bottom: 33.3333333%; }
  .hero.hero--post .hero__overlay {
    width: 0px; }
    @media screen and (min-width: 75rem) {
      .hero.hero--post .hero__overlay {
        height: 50px;
        width: 100%;
        position: relative;
        display: inline-block;
        top: 550px; } }
  .hero.hero--locations {
    display: none; }
    @media screen and (min-width: 62rem) {
      .hero.hero--locations {
        display: block; } }
    .hero.hero--locations::after {
      display: none; }
    .hero.hero--locations .hero__c1 {
      box-sizing: border-box;
      max-width: 100%;
      margin: 0 auto;
      background-size: cover;
      min-height: 14.375rem;
      padding-top: 2rem;
      padding-bottom: 2rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center; }
      @media screen and (min-width: 0rem) and (max-width: 47.9375rem) {
        .hero.hero--locations .hero__c1 {
          padding-left: 1.25rem;
          padding-right: 1.25rem; } }
      @media screen and (min-width: 48rem) and (max-width: 79.9375rem) {
        .hero.hero--locations .hero__c1 {
          padding-left: 2.5rem;
          padding-right: 2.5rem; } }
      @media screen and (min-width: 80rem) {
        .hero.hero--locations .hero__c1 {
          padding-left: 5rem;
          padding-right: 5rem; } }
      @media screen and (min-width: 0rem) and (max-width: 47.9375rem) {
        .hero.hero--locations .hero__c1 {
          width: 82.5rem; } }
      @media screen and (min-width: 48rem) and (max-width: 79.9375rem) {
        .hero.hero--locations .hero__c1 {
          width: 85rem; } }
      @media screen and (min-width: 80rem) {
        .hero.hero--locations .hero__c1 {
          width: 90rem; } }
    .hero.hero--locations .hero__content {
      width: 100%; }
    .hero.hero--locations .hero__headline {
      margin: 0.75rem 0;
      text-align: center; }
    .hero.hero--locations .hero__body, .hero.hero--locations .hero__subhead {
      text-align: center;
      max-width: 50rem;
      margin: 0 auto; }
  .hero.hero--dark-bkg .hero__headline {
    color: #fff; }
  .hero.hero--dark-bkg .hero__body, .hero.hero--dark-bkg .hero__subhead {
    color: #fff; }
  .hero.hero--home .hero__headline {
    color: #58A7AF;
    position: relative;
    text-align: center;
    margin: 2.5rem auto 0; }
    .hero.hero--home .hero__headline-accent {
      font-size: 0.8em;
      font-family: "Oleo Script", cursive;
      color: #fbc600;
      font-weight: 400;
      text-transform: capitalize;
      position: absolute;
      left: 30%;
      top: -2.5rem;
      transform: rotate(-14deg) translateX(-50%); }
    @media screen and (min-width: 30rem) {
      .hero.hero--home .hero__headline {
        text-align: left;
        margin: 4.5rem auto 0; }
        .hero.hero--home .hero__headline-accent {
          left: -0.75rem;
          top: -3rem;
          transform: rotate(-14deg); } }
    @media screen and (min-width: 48rem) {
      .hero.hero--home .hero__headline-accent {
        left: -1.5rem;
        top: -3.25rem; } }
    @media screen and (min-width: 62rem) {
      .hero.hero--home .hero__headline-accent {
        left: -1.5rem;
        top: -3.5rem; } }
  .hero.hero--home .hero__image--mobile {
    margin-top: 0; }
  .hero__app-form-wrap {
    margin: 0 auto; }
  .hero__app-form {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    margin: 10rem auto 0; }
    @media screen and (min-width: 30rem) and (max-width: 61.9375rem) {
      .hero__app-form {
        margin: 1rem auto;
        width: 315px; } }
    @media screen and (min-width: 62rem) {
      .hero__app-form {
        margin: 12rem 0 0;
        width: 315px; } }
    .hero__app-form-label {
      color: #fff;
      font-weight: bold;
      text-align: center;
      display: block;
      font-size: 20px;
      margin: 0 2rem; }
      @media screen and (min-width: 22.8125rem) and (max-width: 29.9375rem) {
        .hero__app-form-label {
          padding-top: 1rem; } }
    .hero__app-form-input {
      padding: 14px 0 10px 1rem;
      border: 2px solid #fbc600;
      margin: 1rem 0 1rem 0;
      border: 2px solid transparent; }
      .hero__app-form-input:focus {
        outline: 2px solid #fff !important; }
      .hero__app-form-input:focus {
        border: 2px solid #3b3c43; }
      .hero__app-form-input::-moz-placeholder {
        font-size: 20px;
        text-align: center;
        vertical-align: middle;
        color: #cecece;
        padding: 0 1rem; }
      .hero__app-form-input::placeholder {
        font-size: 20px;
        text-align: center;
        vertical-align: middle;
        color: #cecece;
        padding: 0 1rem; }
    .hero__app-form-disclosure {
      color: #fff;
      font-size: 16px; }
    .hero__app-form-success {
      opacity: 0;
      font-size: 28px;
      text-align: center;
      display: flex;
      font-weight: bold;
      color: #fff;
      justify-content: center;
      margin: 1rem 0; }
      @media screen and (min-width: 62rem) {
        .hero__app-form-success {
          justify-content: flex-start;
          font-size: 36px; } }
      .hero__app-form-success-icon {
        height: 36px;
        margin: 0 1rem; }
    .hero__app-form .hero__cta {
      display: block;
      width: 100%;
      max-width: none;
      margin: 5px;
      border: 2px solid transparent; }
      .hero__app-form .hero__cta:focus {
        outline: 2px solid #fff !important; }
      .hero__app-form .hero__cta:focus {
        border: 2px solid #3b3c43; }
  .hero + .industry-box {
    margin-top: 1.25rem; }

.hero--login .login-modal {
  margin: 4.375rem 0 3.125rem;
  display: none;
  width: 20.625rem;
  min-height: 30.8125rem;
  animation: login-fade-in 1s ease-in-out forwards; }
  @media screen and (min-width: 62rem) {
    .hero--login .login-modal {
      display: flex;
      flex-direction: column; } }
  .hero--login .login-modal__iframe {
    width: 100%;
    height: 610px;
    min-height: 24rem; }
    .hero--login .login-modal__iframe iframe[style] {
      height: 27.125rem !important; }

.hero--c .hero__c1 {
  box-sizing: border-box;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  margin-top: 1rem;
  margin-bottom: 2.5rem;
  flex-direction: column; }
  @media screen and (min-width: 0rem) and (max-width: 47.9375rem) {
    .hero--c .hero__c1 {
      padding-left: 1.25rem;
      padding-right: 1.25rem; } }
  @media screen and (min-width: 48rem) and (max-width: 79.9375rem) {
    .hero--c .hero__c1 {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }
  @media screen and (min-width: 80rem) {
    .hero--c .hero__c1 {
      padding-left: 5rem;
      padding-right: 5rem; } }
  @media screen and (min-width: 0rem) and (max-width: 47.9375rem) {
    .hero--c .hero__c1 {
      width: 82.5rem; } }
  @media screen and (min-width: 48rem) and (max-width: 79.9375rem) {
    .hero--c .hero__c1 {
      width: 85rem; } }
  @media screen and (min-width: 80rem) {
    .hero--c .hero__c1 {
      width: 90rem; } }
  @media screen and (min-width: 62rem) {
    .hero--c .hero__c1 {
      flex-direction: row;
      align-items: stretch;
      justify-content: space-between;
      margin-top: 0;
      margin-bottom: 3.75rem; } }

.hero--c .hero__image--mobile {
  /* Special background image sizes */ }
  @media screen and (min-width: 0rem) and (max-width: 61.9375rem) {
    .hero--c .hero__image--mobile {
      margin-top: 0.5rem; } }
  @media screen and (min-width: 30rem) and (max-width: 47.9375rem) {
    .hero--c .hero__image--mobile {
      height: 18.75rem; } }
  @media screen and (min-width: 48rem) and (max-width: 61.9375rem) {
    .hero--c .hero__image--mobile {
      height: 25rem; } }

@media screen and (min-width: 62rem) {
  .hero--c .hero__image--desktop {
    min-height: 34.375rem; } }

.hero--c .hero__content {
  position: relative;
  width: auto; }
  @media screen and (min-width: 62rem) {
    .hero--c .hero__content {
      width: 45%;
      min-height: 26.875rem;
      padding-right: 4rem; } }
.hero--c .hero__headline {
  text-transform: lowercase;
  &:first-letter {
    text-transform: uppercase;
  }
}
@media screen and (min-width: 62rem) {
  .hero--c .hero__headline {
    margin: 4.375rem 0 0;
    padding-bottom: 0; } }

@media screen and (min-width: 80rem) {
  .hero--c .hero__headline {
    margin: 4.375rem 0 0;
    padding-bottom: 0; } }

.hero--c .hero__offer-section {
  display: flex;
  flex-direction: column;
  justify-content: flex-start; }
  .hero--c .hero__offer-section .hero__offer-brand {
    margin-top: 1.25rem; }

.hero--c .hero__offer-brand {
  width: auto;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  margin-top: 1.5rem; }
  .hero--c .hero__offer-brand + .hero__headline {
    margin-top: 1.25rem; }
  @media screen and (min-width: 30rem) {
    .hero--c .hero__offer-brand {
      margin-top: 2rem; } }
  @media screen and (min-width: 62rem) {
    .hero--c .hero__offer-brand {
      margin-top: 3rem; }
      .hero--c .hero__offer-brand + .hero__headline {
        margin-top: 2rem; } }
  @media screen and (min-width: 80rem) {
    .hero--c .hero__offer-brand {
      margin-top: 4rem; } }

.hero--c .hero__offer-logo {
  align-self: flex-start;
  max-width: 6rem;
  margin: 0 0.5rem 0 0; }
  @media screen and (min-width: 30rem) {
    .hero--c .hero__offer-logo {
      max-width: 10rem; } }
  .hero--c .hero__offer-logo--full-width {
    align-self: flex-start;
    max-width: 100%;
    margin: 0 0.5rem 0 0; }

.hero--c .hero__body {
  font-size: 24px;
  font-size: 1.5rem;
  color: #3b3c43;
  margin: 1.5rem 0;
  margin: 1.25rem 0 0; }
  @media screen and (min-width: 0rem) and (max-width: 47.9375rem) {
    .hero--c .hero__body {
      font-size: 16px;
      font-size: 1rem; } }
  @media screen and (min-width: 62rem) {
    .hero--c .hero__body {
      max-width: 96%; } }

.hero--c .hero__subhead {
  font-size: 18px;
  font-size: 1.125rem;
  color: #3b3c43;
  font-weight: 500;
  margin: 0 0 -0.25rem; }
  @media screen and (min-width: 30rem) {
    .hero--c .hero__subhead {
      font-size: 24px;
      font-size: 1.5rem; } }

.hero--c.hero--login .login-modal {
  margin: auto 0 auto 3.125rem;
  display: none;
  width: 20.625rem;
  animation: login-fade-in 1s ease-in-out forwards; }
  @media screen and (min-width: 62rem) {
    .hero--c.hero--login .login-modal {
      display: flex;
      flex-direction: column; } }

.hero--c .breadcrumbs + .hero__offer-brand {
  margin-top: 0; }
  @media screen and (min-width: 30rem) {
    .hero--c .breadcrumbs + .hero__offer-brand {
      margin-top: 1.25rem; } }
  @media screen and (min-width: 62rem) {
    .hero--c .breadcrumbs + .hero__offer-brand {
      margin-top: 2rem; }
      .hero--c .breadcrumbs + .hero__offer-brand + .hero__headline {
        margin-top: 2rem; } }
  @media screen and (min-width: 80rem) {
    .hero--c .breadcrumbs + .hero__offer-brand {
      margin-top: 2rem; } }

.hero--d {
  /* General hero properties here */
  background: linear-gradient(#417D9F 0%, #34657f 100%); }
  .hero--d:after {
    content: none; }
  .hero--d .hero__c1 {
    padding-top: 3rem; }
    @media screen and (min-width: 62rem) {
      .hero--d .hero__c1 {
        align-items: flex-end;
        justify-content: center; } }
  .hero--d .hero__image {
    order: 2;
    max-width: 55%;
    align-self: flex-end; }
    @media screen and (min-width: 30rem) and (max-width: 61.9375rem) {
      .hero--d .hero__image {
        align-self: center;
        max-width: 40%; } }
    @media screen and (min-width: 62rem) {
      .hero--d .hero__image {
        order: 1;
        max-width: 30%; } }
    @media screen and (min-width: 62rem) and (max-width: 79.9375rem) {
      .hero--d .hero__image {
        padding-left: 0;
        padding-right: 0; } }
  @media screen and (min-width: 62rem) {
    .hero--d .hero__content {
      order: 2;
      width: 55%;
      align-self: center;
      margin-left: 2rem; } }
  .hero--d .hero__headline {
    color: #fff;
    margin: 0.625rem 0 0 0;
    line-height: 1;
    text-transform: uppercase;
    font-size: 34px;
    font-size: 2.125rem; }
    .hero--d .hero__headline--orphan {
      display: block; }
      @media screen and (min-width: 30rem) and (max-width: 47.9375rem) {
        .hero--d .hero__headline--orphan {
          display: inline; } }
    @media screen and (min-width: 30rem) and (max-width: 61.9375rem) {
      .hero--d .hero__headline {
        align-self: center;
        text-align: center; } }
    @media screen and (min-width: 62rem) {
      .hero--d .hero__headline {
        margin: 1.875rem 0 0;
        text-align: left; } }
  .hero--d .hero__body {
    color: #fff;
    margin: 1.25rem 0 2.1875rem; }
  .hero--d .hero__subhead {
    color: #fff; }
  .hero--d .hero__buttons {
    text-align: left;
    margin: 1.5rem 0 -9rem;
    max-width: 45%; }
    @media screen and (min-width: 22.8125rem) {
      .hero--d .hero__buttons {
        margin-bottom: -11rem; } }
    @media screen and (min-width: 30rem) and (max-width: 61.9375rem) {
      .hero--d .hero__buttons {
        text-align: center;
        max-width: 100%;
        margin-bottom: 0; } }
    @media screen and (min-width: 62rem) {
      .hero--d .hero__buttons {
        text-align: left; } }
  .hero--d .hero__button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    background: transparent;
    border: none;
    padding: 0;
    max-width: 9rem;
    display: block; }
    .hero--d .hero__button:first-of-type {
      margin-bottom: 1rem; }
    .hero--d .hero__button:last-of-type {
      margin-bottom: 0; }
    @media screen and (min-width: 30rem) {
      .hero--d .hero__button {
        max-width: 10rem;
        display: inline-block; }
        .hero--d .hero__button:first-of-type {
          margin-right: 1rem;
          margin-bottom: 1rem; }
        .hero--d .hero__button:last-of-type {
          margin-right: 0;
          margin-bottom: 1rem; } }
    @media screen and (min-width: 80rem) {
      .hero--d .hero__button:first-of-type {
        margin-right: 2rem; }
      .hero--d .hero__button:last-of-type {
        margin-right: 0; } }

/* Alert banner modifications */
/*.-alert-present .hero {
  margin-top: 1rem; }
  @media screen and (min-width: 30rem) {
    .-alert-present .hero {
      margin-top: 1rem; } }
  @media screen and (min-width: 48rem) {
    .-alert-present .hero {
      margin-top: -1rem; } }
  @media screen and (min-width: 62rem) {
    .-alert-present .hero {
      margin-top: 2rem; } }

@media screen and (min-width: 62rem) {
  .-alert-present .hero .hero__headline,
  .-alert-present .hero.hero--login .hero__headline,
  .-alert-present .hero.hero--c .hero__headline,
  .-alert-present .hero.hero--d .hero__headline {
    margin-top: 7.125rem; } }

.-alert-present .hero.hero--home .hero__headline {
  margin-top: 3.25rem; }
  @media screen and (min-width: 30rem) {
    .-alert-present .hero.hero--home .hero__headline {
      margin-top: 5.25rem; } }
  @media screen and (min-width: 48rem) {
    .-alert-present .hero.hero--home .hero__headline {
      margin-top: 7.25rem; } }*/