html,
body,
#page,
main {
  min-height: 100vh;
  height: auto;
}

body {
  background-image: url("../media/images/newsletter.jpg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

main {
  display: flex;
  align-items: center;
  justify-content: center;
}

main .newsletter-page-form {
  background-color: rgba(255, 255, 255, 0.95) !important;
  padding: 5rem !important;
  border-radius: 5px !important;
  margin: 2rem;
}

main .newsletter-page-form h1 {
  text-align: center;
  text-transform: uppercase;
  font-size: 3rem;
  margin-top: 30px !important;
}

main .newsletter-page-form .image-container,
main .newsletter-page-form .go-back {
  text-align: center;
}

main .newsletter-page-form .image-container img {
  max-width: 150px;
}

main .newsletter-page-form .go-back a {
  color: #e5007e;
  font-weight: 500;
  transition: color ease-in-out 300ms;
}
main .newsletter-page-form .go-back a:hover {
  color: #161616;
}

main .wpforms-field-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

main .wpforms-field-container .wpforms-field:last-child {
  grid-column: span 2;
}

main .wpforms-submit-container {
  text-align: center;
}

main .newsletter-page-form input {
  min-width: -moz-available; /* WebKit-based browsers will ignore this. */
  min-width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */
  min-width: fill-available;
}

@media screen and (max-width: 680px) {
  main .newsletter-page-form h1 {
    font-size: 2rem;
  }
  main .wpforms-field-container {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  main .newsletter-page-form {
    padding: 2rem !important;
  }
}
