#payment-form {
  margin-top:40px;
}

#payment-form * {
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
}

#payment-form form {
}

#example5-paymentRequest {
  max-width: 500px;
  width: 100%;
  margin-bottom: 10px;
}

#payment-form fieldset {
  border: 1px solid #f13d3a;
  padding: 15px;
  border-radius: 6px;
}

#payment-form fieldset legend {
  margin: 0 auto;
  padding: 0 10px;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  color: #cdd0f8;
  background-color: #9169d8;
}

#payment-form fieldset legend + * {
  clear: both;
}

#payment-form .card-only {
  display: block;
}
#payment-form .payment-request-available {
  display: none;
}

#payment-form .row {
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 10px;
}

#payment-form .field {
  position: relative;
  width: 100%;
}

#payment-form .field + .field {
  margin-left: 10px;
}

#payment-form label {
  width: 100%;
  color: #cdd0f8;
  font-size: 13px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#payment-form .input {
  width: 100%;
  color: #fff;
  background: transparent;
  padding: 5px 0 6px 0;
  border-bottom: 1px solid grey;
  transition: border-color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

#payment-form .input::-webkit-input-placeholder {
  color: #bfaef6;
}

#payment-form .input::-moz-placeholder {
  color: #bfaef6;
}

#payment-form .input:-ms-input-placeholder {
  color: #bfaef6;
}

#payment-form .input.StripeElement--focus,
#payment-form .input:focus {
  border-color:  #f13d3a;
}
#payment-form .input.StripeElement--invalid {
  border-color: #ffc7ee;
}

#payment-form input:-webkit-autofill,
#payment-form select:-webkit-autofill {
  -webkit-text-fill-color: #fce883;
  transition: background-color 100000000s;
  -webkit-animation: 1ms void-animation-out;
}

#payment-form .StripeElement--webkit-autofill {
  background: transparent !important;
}

#payment-form input,
#payment-form button,
#payment-form select {
  -webkit-animation: 1ms void-animation-out;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  border-style: none;
  border-radius: 0;
}

#payment-form select.input,
#payment-form select:-webkit-autofill {
  background-image: url('data:image/svg+xml;utf8,<svg width="10px" height="5px" viewBox="0 0 10 5" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path fill="#fff" d="M5.35355339,4.64644661 L9.14644661,0.853553391 L9.14644661,0.853553391 C9.34170876,0.658291245 9.34170876,0.341708755 9.14644661,0.146446609 C9.05267842,0.0526784202 8.92550146,-2.43597394e-17 8.79289322,0 L1.20710678,0 L1.20710678,0 C0.930964406,5.07265313e-17 0.707106781,0.223857625 0.707106781,0.5 C0.707106781,0.632608245 0.759785201,0.759785201 0.853553391,0.853553391 L4.64644661,4.64644661 L4.64644661,4.64644661 C4.84170876,4.84170876 5.15829124,4.84170876 5.35355339,4.64644661 Z" id="shape"></path></svg>');
  background-position: 100%;
  background-size: 10px 5px;
  background-repeat: no-repeat;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 20px;
}

#payment-form button {
  display: block;
  width: 100%;
  height: 50px;
  margin: 20px 0 0;
  background-color: #f13d3a;
  border-radius: 50px;
  color: white;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 1px;
  text-transform:uppercase;
  cursor: pointer;
}

#payment-form button:active {
  background-color: #cdd0f8;
}

#payment-form .error svg .base {
  fill: #fff;
}

#payment-form .error svg .glyph {
  fill: #9169d8;
}

#payment-form .error .message {
  color: #fff;
}

#payment-form .success .icon .border {
  stroke: #bfaef6;
}

#payment-form .success .icon .checkmark {
  stroke: #fff;
}

#payment-form .success .title {
  color: #fff;
}

#payment-form .success .message {
  color: #cdd0f8;
}

#payment-form .success .reset path {
  fill: #fff;
}