.main-content form.bab-payment .clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/* Override to remove the up/down buttons some browsers add to number fields. */
.main-content form.bab-payment input[type=number]::-webkit-inner-spin-button,
.main-content form.bab-payment input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.main-content form.bab-payment fieldset {
  border: 1px solid #676767;
  padding: 10px;
  margin: 10px 0;
}

.main-content form.bab-payment legend {
  font-size: 1.2em;
  font-weight: bold;
}

.main-content form.bab-payment span.field-label {
  font-weight: bold;
}

.main-content form.bab-payment label {
  font-weight: bold;
}

.main-content form.bab-payment p {
  padding-bottom: 15px;
}

.main-content form.bab-payment p.description {
  padding-bottom: 0;
  margin: -10px 0 10px 0;
}

.main-content form.bab-payment .confirm-field .field-label {
  display: block;
  float: left;
  clear: left;
}

.main-content form.bab-payment .confirm-field .field-value {
  display: block;
  margin-left: 100px;
}

.main-content form.bab-payment input,
.main-content form.bab-payment select {
  margin-bottom: 10px;
}

.main-content form.bab-payment select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  line-height: 21px;
  background-color: #EFEFEF;
  padding: 0.9375em 2.8125em 0.9375em 1.25em;
  text-transform: uppercase;
  background-image: url('../images/icon-select-down3.png');
  background-repeat: no-repeat;
  background-position: right 1.25em center;
  text-transform: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
}

.main-content form.bab-payment select::ms-expand {
  display: none;
}

.main-content form.bab-payment #payment-total table {
  background: none;
  border: none;
  width: auto;
  margin: 0;
}

.main-content form.bab-payment #payment-total table tr {
  background: none;
  border: none;
}

.main-content form.bab-payment #payment-total table th,
.main-content form.bab-payment #payment-total table td {
  background: none;
  border: none;
  padding: 0;
  text-align: right;
  padding-right: 10px;
}

@media only screen and (min-width: 1000px) {
  form.bab-payment .payment-field-wrapper {
    float: left;
    padding: 5px;
  }

  form.bab-payment #field-invoice-number-wrapper,
  form.bab-payment #field-invoice-amount-wrapper {
    width: 49%;
  }

  form.bab-payment #field-billing-firstname-wrapper,
  form.bab-payment #field-billing-lastname-wrapper,
  form.bab-payment #field-billing-email-wrapper,
  form.bab-payment #field-billing-phone-wrapper,
  form.bab-payment #field-billing-address-line1-wrapper,
  form.bab-payment #field-billing-address-line2-wrapper {
    width: 49%;
  }

  form.bab-payment #field-billing-address-city-wrapper,
  form.bab-payment #field-billing-address-country-wrapper {
    width: 29%;
  }

  form.bab-payment #field-billing-address-state-wrapper,
  form.bab-payment #field-billing-address-postcode-wrapper {
    width: 20%;
  }

  form.bab-payment #field-card-type-wrapper,
  form.bab-payment #field-card-expiry-date-wrapper,
  form.bab-payment #field-card-cvn-wrapper {
    width: 20%;
  }
  
  form.bab-payment #field-card-number-wrapper {
    width: 37%;
  }
}

/*
form.bab-payment label {
  float: left;
  clear: both;
  line-height: 22px;
  padding: 10px 0;
}

form.bab-payment input {
  float: right;
  width: 80%;
  margin-bottom: 10px;
}
*/