/* Functions & Mixins */
/* ==== Containers & Responsive Mixins ==== */
/* Defines convenience mixins for common breakpoint targets.
these are small, medium, mediumlarge, and large. These variables should be defined prior to use.
*/
/* Universal breakpoints */
.dual-cta {
  max-width: 74rem;
  margin: 2rem auto 4rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  @media (max-width: 700px) {
    .dual-cta {
      margin-bottom: 2rem; } }
  .dual-cta *, .dual-cta *::before, .dual-cta::after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  .dual-cta__inner {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    width: 82.5rem; }
    @media (min-width: 768px) {
      .dual-cta__inner {
        padding-left: 2.5rem;
        padding-right: 2.5rem; } }
    @media (min-width: 1280px) {
      .dual-cta__inner {
        padding-left: 5rem;
        padding-right: 5rem; } }
    @media (min-width: 768px) {
      .dual-cta__inner {
        width: 85rem; } }
    @media (min-width: 1280px) {
      .dual-cta__inner {
        width: 90rem; } }
  .dual-cta__columns {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    gap: 2rem; }
    @media screen and (min-width: 48rem) {
      .dual-cta__columns {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto; } }
  .dual-cta__column > article {
    height: 100%;
    position: relative;
    padding: 2rem;
    background-color: #f7f7f7;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .dual-cta__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 48rem) {
      .dual-cta__flex {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .dual-cta__flex-item {
      margin-top: 1rem; }
      .dual-cta__flex-item:first-of-type {
        margin-right: 0; }
      .dual-cta__flex-item article {
        text-align: center; }
      @media screen and (min-width: 48rem) {
        .dual-cta__flex-item:first-of-type {
          margin-right: 1.5rem; } }
  .dual-cta__heading {
    color: #3b3c43;
    font-weight: normal;
    letter-spacing: -0.7px;
    font-size: 1.75rem;
    line-height: 1;
    margin: 0 0 2rem;
    letter-spacing: -1px;
    margin-bottom: 0;
    width: 100%;
    position: relative; }
    .dual-cta__heading-bold {
      font-weight: bold; }
    @media (min-width: 768px) {
      .dual-cta__heading {
        font-size: 2.5rem; } }
    @media (min-width: 1024px) {
      .dual-cta__heading {
        font-size: 2.875rem;
        line-height: 1.1; } }
    .dual-cta__heading:after {
      content: '';
      display: block;
      margin: 1rem auto 0;
      background-color: #fbc600;
      width: 80%;
      height: 2px; }
  .dual-cta__headingv2 {
    color: #3b3c43;
    font-weight: normal;
    letter-spacing: -0.7px;
    font-size: 1.75rem;
    line-height: 1;
    margin: 0 0 2rem;
    letter-spacing: -1px;
    margin-bottom: 0;
    width: 100%;
    position: relative; }
    .dual-cta__headingv2-bold {
      font-weight: bold; }
    @media (min-width: 768px) {
      .dual-cta__headingv2 {
        font-size: 2.5rem; } }
    @media (min-width: 1024px) {
      .dual-cta__headingv2 {
        font-size: 2.875rem;
        line-height: 1.1; } }
    .dual-cta__headingv2:after {
      content: '';
      display: block;
      margin: 1rem auto 0;
      background-color: #DDDDDD;
      width: 80%;
      height: 2px; }
  .dual-cta__subheading, .dual-cta__copy {
    margin: 0.5rem auto 0rem;
    color: #3b3c43;
    letter-spacing: -.7px;
    line-height: 1.4;
    font-size: 1rem;
    max-width: 100%; }
    @media screen and (min-width: 48rem) {
      .dual-cta__subheading, .dual-cta__copy {
        font-size: 1.0625rem;
        line-height: 1.3; } }
    @media screen and (min-width: 80rem) {
      .dual-cta__subheading, .dual-cta__copy {
        font-size: 1.125rem; } }
  .dual-cta__copy {
    margin: 1.5rem 0 0;
    text-decoration: none; }
  .dual-cta__link {
    margin: 1.5rem auto 0;
    color: #34657f;
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .dual-cta__link:hover .dual-cta__arrow {
      -webkit-animation: arrowBounce 0.6s infinite ease-in-out;
              animation: arrowBounce 0.6s infinite ease-in-out; }
  .dual-cta__dark-link {
    margin: 1.5rem auto 0;
    color: #3B3C43;
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .dual-cta__dark-link:hover .dual-cta__arrow {
      -webkit-animation: arrowBounce 0.6s infinite ease-in-out;
              animation: arrowBounce 0.6s infinite ease-in-out; }
  .dual-cta__arrow {
    margin-left: 0.5rem; }
  .dual-cta.-toolbox {
    margin: 0 auto;
    padding: 3rem 0; }
    @media screen and (min-width: 48rem) {
      .dual-cta.-toolbox {
        padding: 4rem 0; } }
    @media screen and (min-width: 90rem) {
      .dual-cta.-toolbox {
        padding: 5rem 0; } }
    .dual-cta.-toolbox .dual-cta__heading::after {
      background-color: #d8d8d8; }
    .dual-cta.-toolbox .dual-cta__subheading {
      margin-bottom: 0; }
    .dual-cta.-toolbox .dual-cta__copy, .dual-cta.-toolbox .dual-cta__subheading {
      letter-spacing: 0; }
    .dual-cta.-toolbox .dual-cta__copy--link {
      margin-top: 0; }
    .dual-cta.-toolbox .dual-cta__link {
      color: #3b3c43; }
      .dual-cta.-toolbox .dual-cta__link img {
        -webkit-transform: rotate(-90deg);
                transform: rotate(-90deg); }