@-webkit-keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.homepage-banner {
  min-height: 460px;
  display: flex;
  flex-direction: row-reverse;
  background-size: cover;
  background-repeat: no-repeat;
  padding-right: 5%;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin: 4em -50vw 0; }
  @media (max-width: 1024px) {
    .homepage-banner {
      padding-right: 0; } }
  .homepage-banner .banner__cta a.button--text {
    color: #ffffff; }
    .homepage-banner .banner__cta a.button--text:hover, .homepage-banner .banner__cta a.button--text:active {
      color: #ff4c00; }

.homepage-banner__container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 93%;
  height: auto;
  background-color: rgba(0, 0, 0, 0.9);
  padding: 1em; }
  @media (max-width: 1024px) {
    .homepage-banner__container {
      width: 100%; } }
  .homepage-banner__container h3 {
    font-size: 3rem;
    margin: 0; }
  @media screen and (min-width: 992px) {
    .homepage-banner__container {
      width: 35%; } }

.homepage-banner__logo {
  display: flex;
  justify-content: center; }
  .homepage-banner__logo img {
    max-width: 160px;
    height: auto; }

.homepage-banner__text-container {
  display: flex;
  text-align: center; }
  .homepage-banner__text-container .homepage-banner__text {
    line-height: 1.5em; }
  .homepage-banner__text-container .homepage-banner__text-contents {
    display: flex;
    flex-direction: column;
    color: #ffffff;
    margin: 0 auto;
    padding: 1em 2em 2em; }
    .homepage-banner__text-container .homepage-banner__text-contents h2 {
      font-size: 2rem; }
  .homepage-banner__text-container .banner__cta {
    margin-top: 1em; }
