#payment-form {
  width: 100%;
  max-width: 540px;
  align-self: center;
  /* box-shadow: 0px 0px 0px 0.5px rgba(50, 50, 93, 0.1),
        0px 2px 5px 0px rgba(50, 50, 93, 0.1), 0px 1px 1.5px 0px rgba(0, 0, 0, 0.07); */
  border-radius: 7px;
  padding: 20px;
  /* Buttons and links */
  /* Stripespinner/processing state, errors */
}
#payment-form #payment-element {
  margin-bottom: 24px;
}
#payment-form button {
  background: var(--primary-color);
  font-family: Arial, sans-serif;
  color: #ffffff;
  border-radius: 4px;
  border: 0;
  padding: 12px 16px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  display: block;
  transition: all 0.2s ease;
  box-shadow: 0px 4px 5.5px 0px rgba(0, 0, 0, 0.07);
  width: 100%;
}
#payment-form button:hover {
  filter: contrast(115%);
}
#payment-form button:disabled {
  opacity: 0.5;
  cursor: default;
}
#payment-form .Stripespinner,
#payment-form .Stripespinner:before,
#payment-form .Stripespinner:after {
  border-radius: 50%;
}
#payment-form .Stripespinner {
  color: #ffffff;
  font-size: 22px;
  text-indent: -99999px;
  margin: 0px auto;
  position: relative;
  width: 20px;
  height: 20px;
  box-shadow: inset 0 0 0 2px;
  transform: translateZ(0);
}
#payment-form .Stripespinner:before,
#payment-form .Stripespinner:after {
  position: absolute;
  content: "";
}
#payment-form .Stripespinner:before {
  width: 10.4px;
  height: 20.4px;
  background: var(--primary-color);
  border-radius: 20.4px 0 0 20.4px;
  top: -0.2px;
  left: -0.2px;
  transform-origin: 10.4px 10.2px;
  animation: loading 2s infinite ease 1.5s;
}
#payment-form .Stripespinner:after {
  width: 10.4px;
  height: 10.2px;
  background: var(--primary-color);
  border-radius: 0 10.2px 10.2px 0;
  top: -0.1px;
  left: 10.2px;
  transform-origin: 0px 10.2px;
  animation: loading 2s infinite ease;
}
@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media only screen and (max-width: 600px) {
  form {
    width: 80vw;
    min-width: initial;
  }
}