/* .promotion.global .banner,
.promotion.marketing .banner {
  padding  : 1rem;
  max-width: none;
  position : relative;
}

.promotion.global .banner {
  background-color: #e8e8e8;
}

.promotion.marketing .banner {
  background-color: #dfddeb;
}

.promotion.global .banner:after,
.promotion.marketing .banner:after {
  content : "";
  position: absolute;
  bottom  : 0;
  left    : 0;
  height  : 2px;
  width   : 100%;
}

.promotion.marketing .banner:after {
  background: #5b5498;
  background: rgb(91, 84, 152);
  background: -moz-linear-gradient(90deg,
      rgba(91, 84, 152, 1) 0%,
      rgba(154, 143, 222, 1) 100%);
  background: -webkit-linear-gradient(90deg,
      rgba(91, 84, 152, 1) 0%,
      rgba(154, 143, 222, 1) 100%);
  background: linear-gradient(90deg,
      rgba(91, 84, 152, 1) 0%,
      rgba(154, 143, 222, 1) 100%);
  filter         : progid:DXImageTransform.Microsoft.gradient(startColorstr="#5b5498", endColorstr="#9a8fde", GradientType=1);
  animation      : animatedgradient 3s ease alternate infinite;
  background-size: 300% 300%;
}

.promotion.global .banner .promo-cta a:hover,
.promotion.global .banner .promo-cta a:hover:focus,
.promotion.marketing .banner .promo-cta a:hover,
.promotion.marketing .banner .promo-cta a:hover:focus {
  opacity: .6;
}

.promotion.global .banner .promo-cta,
.promotion.marketing .banner .promo-cta {
  font-family    : 'Proxima Nova', sans-serif;
  font-weight    : 400;
  color          : #2e2e2e;
  font-size      : 13px;
  display        : block;
  width          : 100%;
  position       : relative;
  text-decoration: none;
}

.promotion.global .banner .promo-cta {
  text-transform: none;
}

.promotion.marketing .banner .promo-cta {
  color: #5b5498;
}

.promotion.marketing .banner .promo-cta .cta {
  text-transform    : none;
  line-height       : 1.25;
  opacity           : 1;
  transition        : all 0.3s ease-in-out 0.5s;
  -webkit-transition: all 0.3s ease-in-out 0.5s;
  -moz-transition   : all 0.3s ease-in-out 0.5s;
  -ms-transition    : all 0.3s ease-in-out 0.5s;
  -o-transition     : all 0.3s ease-in-out 0.5s;
}

.promotion.global .banner .promo-cta a,
.promotion.marketing .banner .promo-cta .cta {
  font-weight: 700;
}

.promotion.global .banner .promo-cta a {
  text-decoration: underline;
}

.promotion.marketing .banner .promo-cta .fas {
  margin-right: 0.5rem;
}

.promotion.global .banner .promo-cta .cta span,
.promotion.marketing .banner .promo-cta .cta span {
  text-transform: uppercase;
}

.promotion.marketing .banner .promo-cta.active .fas {
  -webkit-transform: rotate(-90deg);
  -moz-transform   : rotate(-90deg);
  -ms-transform    : rotate(-90deg);
  -o-transform     : rotate(-90deg);
  transform        : rotate(-90deg);
}

.promotion.marketing .banner .promo-cta.active .cta {
  opacity: 0;
}

.promotion.marketing .banner .promo-cta.active .cta .fas {
  -webkit-transform: none;
  -moz-transform   : none;
  -ms-transform    : none;
  -o-transform     : none;
  transform        : none;
}

.promotion.marketing .banner .fas {
  font-size         : 18px;
  position          : absolute;
  right             : 0;
  transition        : all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition   : all 0.3s ease-in-out;
  -ms-transition    : all 0.3s ease-in-out;
  -o-transition     : all 0.3s ease-in-out;
}

.promotion.marketing .banner .full-details {
  color                : #5b5498;
  display              : grid;
  grid-template-columns: auto 80%;
  max-width            : 365px;
  overflow-y           : hidden;
  max-height           : 0;
  padding              : 0;
  margin               : 0 auto;
  opacity              : 0;
  transition           : all 0.5s ease-in-out;
  -webkit-transition   : all 0.5s ease-in-out;
  -moz-transition      : all 0.5s ease-in-out;
  -ms-transition       : all 0.5s ease-in-out;
  -o-transition        : all 0.5s ease-in-out;
}

.promotion.marketing .banner .full-details.active {
  opacity   : 1;
  max-height: 250px;
  padding   : 1rem 0;
}

.promotion.marketing .banner .full-details p,
.promotion.marketing .banner .full-details .image {
  animation-name     : fadeIn;
  animation-duration : 3s;
  animation-delay    : 1s;
  animation-fill-mode: both;
}

.promotion.marketing .banner .full-details p {
  font-family : 'Proxima Nova', sans-serif;
  font-size   : 14px;
  line-height : 1.25;
  margin      : 0;
  padding-left: 25px;
  order       : 2;
}

.promotion.marketing .banner .full-details sup {
  top: -0.5rem;
}

.promotion.marketing .banner .full-details .image {
  text-align: center;
}

.promotion.marketing .banner .full-details .image img {
  position: relative;
}

.promotion.marketing .banner .full-details .emphasis,
.promotion.marketing .banner .full-details .sub,
.promotion.marketing .banner .full-details .code,
.promotion.marketing .banner .full-details .caption {
  display: block;
}

.promotion.marketing .banner .full-details .code span {
  font-weight   : 700;
  text-transform: uppercase;
}

.promotion.marketing .banner .full-details .emphasis,
.promotion.marketing .banner .full-details .sub {
  display: inline;
}

.promotion.marketing .banner .full-details .sub {
  margin        : 0.5rem 0;
  text-transform: none;
}

.promotion.marketing .banner .full-details .emphasis,
.promotion.marketing .banner .full-details .sub span {
  font-weight   : 700;
  text-transform: uppercase;
}

.promotion.marketing .banner .full-details .code {
  text-transform    : none;
  color             : #5b5498;
  margin            : 0.5rem 0;
  transition        : all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition   : all 0.3s ease-in-out;
  -ms-transition    : all 0.3s ease-in-out;
  -o-transition     : all 0.3s ease-in-out;
}

.promotion.marketing .banner .full-details .code .fas {
  font-size        : 14px;
  position         : relative;
  margin-left      : 0.5rem;
  top              : -1.5px;
  -webkit-transform: translateY(0);
  -moz-transform   : translateY(0);
  -ms-transform    : translateY(0);
  -o-transform     : translateY(0);
  transform        : translateY(0);
}

.promotion.marketing .banner .full-details .caption {
  font-family   : 'Proxima Nova', sans-serif;
  font-size     : 10px;
  display       : block;
  color         : #5b5498;
  max-width     : 250px;
  position      : relative;
  text-transform: none;
}

@media only screen and (min-width: 552px) {
  .promotion.marketing .banner .full-details p {
    font-size: 16px;
  }
} */

.promotion.marketing .banner .full-details a.button{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

@keyframes fadeIn {
  0% {
    opacity  : 0;
    transform: translateY(-10px);
  }

  50% {
    transform: translateY(0);
  }

  100% {
    opacity: 1;
  }
}

@keyframes slideUp {
  0% {
    top      : 0;
    opacity  : 0;
    transform: translateY(-30px);
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity  : 1;
    transform: translateY(0);
  }
}

@keyframes fadeInLogo {
  0% {
    opacity  : 0;
    transform: translate(-10px, -50%);
  }

  50% {
    transform: translate(0, -50%);
  }

  100% {
    opacity: 1;
  }
}

@keyframes cycle {
  0% {
    opacity  : 0;
    transform: translateY(-3px);
  }

  50% {
    opacity  : 0;
    transform: translateY(-3px);
  }

  55% {
    opacity: 1;
  }

  57% {
    opacity  : 1;
    transform: translateY(0);
  }

  90% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes cycletwo {
  0% {
    opacity  : 0;
    transform: translateY(-3px);
  }

  5% {
    opacity: 1;
  }

  7% {
    opacity  : 1;
    transform: translateY(0);
  }

  40% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

@keyframes animatedgradient {
  0% {
    background-position: 0% 50%;
  }

  25% {
    background-position: 100% 50%;
  }

  50% {
    background-position: 0% 50%;
  }

  75% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}