.newsletter-cta {
  background-color: rgba($black, 0.2);
  padding-top: 1rem;
  padding-bottom: 1rem;
  text-align: center;

  > div:first-of-type {
    margin-right: auto;
    margin-left: auto;

    @media (min-width: 551px) {
      width: 500px;
    }

    @media (max-width: 550px) {
      width: 90%;
    }
  }

  &::after {
    @include clearfix;
  }
}

.newsletter-cta__title {
  font-size: 0.8rem;
  letter-spacing: 0.05rem;
  margin-bottom: 0.75rem;
  text-transform: uppercase;
}

.newsletter-cta__input,
.newsletter-cta__submit {
  @extend .__button-padding-horizontal;
  border-style: solid;
  border-width: 1px;

  @media (max-width: 550px) {
    width: 100%;
  }
}

.newsletter-cta__input {
  background-color: $white;
  font-size: 1rem;
  height: 38px;
  transition: border 0.2s;

  @media (min-width: 551px) {
    float: left;
    width: calc(100% - 112px);
  }

  @media (max-width: 550px) {
    text-align: center;
  }

  &:not(:focus) {
    border-top-color: $black;
    border-left-color: $black;

    @media (min-width: 551px) {
      border-bottom-color: $black;
      border-right-color: transparent;
    }

    @media (max-width: 550px) {
      border-bottom-color: transparent;
      border-right-color: $black;
    }
  }

  &:focus {
    border-top-color: mix($black, $teal, 20%);
    border-left-color: mix($black, $teal, 20%);

    @media (min-width: 551px) {
      border-bottom-color: mix($black, $teal, 20%);
      border-right-color: transparent;
    }

    @media (max-width: 550px) {
      border-bottom-color: transparent;
      border-right-color: mix($black, $teal, 20%);
    }
  }
}

.newsletter-cta__submit {
  @extend .__button-basic;
  @extend .__button-padding-vertical;
  color: $white;

  @media (min-width: 551px) {
    width: 112px; height: 38px;

    float: right;
    left: -1px;
  }

  @media (max-width: 550px) {
    display: block;
    top: -1px;
  }

  &:not(:hover) {
    background-color: $black;
    border-color: $black;
  }

  &:hover {
    background-color: $teal;
    border-color: mix($black, $teal, 20%);
  }
}

.newsletter-cta__message {
  @include clearfix;
  background-color: $teal;
  color: $white;
  font-size: 1rem;
  text-align: center;

  &:not(:empty) {
    padding: 1rem;
  }
}