.intro {
  margin-top: 8rem;
  
  .wrapper {
    display: flex;
    flex-wrap: wrap;
  }

  &__summary {
    --flow-space: #{get-size(500)};
    font-size: get-size(500);

    a {
      color: currentColor;

      &:hover {
        text-decoration: none;
      }
    }
  }

  &__heading {
    max-width: 44rem;
    color: var(--color-text);
    font-size: 2.5rem;
    display: inline-block;

    + svg {
      margin-left: auto;
      margin-right: 8rem;
      vertical-align: middle;
      max-width: 8rem;
    }
  }

  .btn-grp {
    margin-top: -3.5rem;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .intro {
    margin-top: 4rem;

    &__heading {
      width: 100%;
      max-width: none;

      + svg {
        order: 1;
        margin-right: auto;
      }
    }

    .btn-grp {
      margin-top: auto;
      margin-right: auto;
      margin-bottom: 4rem;
    }
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  .intro {
    margin-top: 3rem;

    &__heading {
      font-size: 1.75rem;

      + svg {
        margin: 2rem auto 0;
        max-width: 7rem;
        order: 0;
      }
    }

    .btn-grp {
      display: flex;
      width: auto;
      flex-direction: column;
      align-items: center;
      margin-top: auto;
      margin-bottom: auto;
      margin-right: auto;

      .btn + .btn {
        margin-left: 0;
        margin-top: 1.5rem;
      }
    }
  }
}

@media (max-width: 575.98px) {
  .intro {
    margin-top: 3rem;
    
    &__heading {
      font-size: 1.75rem;

      + svg {
        margin: 2rem auto 0;
        max-width: 7rem;
        order: 0;
      }
    }

    .btn-grp {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-top: 2rem;
      margin-bottom: 0;
      width: 100%;

      .btn + .btn {
        margin-left: 0;
        margin-top: 1.5rem;
      }
    }
  }
}
