.card div {
    position: relative;
}
.card i {
    position: absolute;
    top: 20px;
    right: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
    color: #ddd;
}
.card .block {
    position: absolute;
    bottom: -3px;
    left: 0;
    right: 0;
    z-index: 10;
    height:15px;
    background: #fff;
}
.card .has-success i {
    color: #3c763d;
}
.card .has-error i {
    color: #a94442;
}
form #card_number {
    background: none;
}
form #card_number:focus, .input--filled #card_number {
  background-image: url(../images/validatorimages-sm.png);
  background-position: 2px -84px, 260px -61px;
  background-size: 90px 280px, 100px 0;
  background-repeat: no-repeat;
  padding-left: 40px;
}
form #card_number.visa {
  background-position: 2px -116px, 260px -61px;
}
form #card_number.visa_electron {
  background-position: 2px -149px, 260px -61px;
}
form #card_number.mastercard {
  background-position: 2px -182px, 260px -61px;
}
form #card_number.maestro {
  background-position: 2px -215px, 260px -61px;
}
form #card_number.discover {
  background-position: 2px -248px, 260px -61px;
}
form #card_number.valid.visa {
  background-position: 2px -116px, 260px -87px;
}
form #card_number.valid.visa_electron {
  background-position: 2px -149px, 260px -87px;
}
form #card_number.valid.mastercard {
  background-position: 2px -182px, 260px -87px;
}
form #card_number.valid.maestro {
  background-position: 2px -215px, 260px -87px;
}
form #card_number.valid.discover {
  background-position: 2px -248px, 260px -87px;
}