* {
  box-sizing: border-box;
}

.hidden {
  display: none;
}

#payment-message {
  color: rgb(105, 115, 134);
  font-size: 16px;
  line-height: 20px;
  padding-top: 12px;
  text-align: center;
}

#payment-element {
  margin-bottom: 24px;
  margin-top: 16px;
}

#payment-email {
  border-radius: 5px;
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.03), 0px 3px 6px rgba(0, 0, 0, 0.02);
  display: block;
  margin-top: 0.25rem;
  padding: 0.75rem;
  background-color: #ffffff;
  color: #30313d;
  border: 1px solid #e5e5e5;
  height: 34px;
  transform: none;
  opacity: 1;
  position: inherit;
  outline: none;
  width: 100%;
}

#payment-email:focus {
  border: 1px solid hsl(210, 96%, 45%);
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.03), 0px 3px 6px rgba(0, 0, 0, 0.02), 0 0 0 3px rgba(5, 112, 222, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.08);
}

#email-errors {
  margin-top: 4px;
  color: #df1b41;
}

#payment-email.error {
  color: #df1b41;
  border: 1px solid #df1b41;
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.03), 0px 3px 6px rgba(0, 0, 0, 0.02), 0 0 0 3px rgba(223, 27, 65, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.08);
}

.payment-spinner {
  width: 100px; /* Big Size */
  height: 100px;
  border: 10px solid #f3f3f3; /* Light gray base */
  border-top: 10px solid #a8bfef; /* Light blue color [1] */
  border-radius: 50%; /* Circle shape [2] */
  animation: loading 1s linear infinite; /* Animation [5] */
}

@-webkit-keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@media only screen and (max-width: 600px) {
  form {
    width: 80vw;
    min-width: initial;
  }
}