body {
    margin:0;
    padding:0;
    font-family:sans-serif;
    font-size:1em;
}
input {
    border:none;
    outline:none;
    width:100%;
    font-family:sans-serif;
    font-size:1em;
    box-sizing:border-box;
    line-height:1.3em;
    padding:2px 4px;
}
.hidden {
    display:none;
}
.form-container {
    max-width:700px;
    min-width:280px;
    margin-left:auto;
    margin-right:auto;
    overflow:auto;
}
.form-group {
    line-height:40px;
    overflow:auto;
    border-bottom:1px solid #ddd;
    box-sizing:border-box;
}
.form-group:last-child {
    border-bottom:none;
}
.label-column {
    float:left;
    width:12%;
    max-width:200px;
    min-width:50px;
    margin-right:4px;
    clear:left;
}
.input-column {
    float:left;
    width:70%;
    min-width:220px;
}
#security-code-input-column, #expiry-date-input-column {
    min-width:0;
}
#security-code-input-column {
    width:47px;
}
#expiry-date-input-column {
    width:58px;
}
input.invalid {
    border:1px solid #FF2528;
    box-shadow:0 1px 2px rgba(0, 0, 0, 0) inset, 0 1px 0 rgba(255, 255, 255, 0), 0 0 2px 0 rgba(255, 0, 0, 0.5);
}
.error-message {
    clear:both;
    font-size:0.72em;
    line-height:1.2em;
    color:red;
    margin-bottom:5px;
    white-space:nowrap;
}
.icon-background {
    background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAABMUlEQVQ4T4WTSytFURSA78RrYiwlM5Ewk0eUkrmBqT9gZG7s/foHhDBSfomB/AJlqCTKBN+31zna99x7rq++29q7u/Zj7XUabZjAU7zAczwr4mMcx1p68QS3ccCJCoO4h4fY7USOybc4nUZBP86jc31OFMzhNTYt4s558gZ+4E/hK65hiQsfRBh39tglM/iND+hu/vkJv3AYS1xg1MCC5XdewTt0oZIt9CSraRQMYTqFFe7EJL7gG1aLm3J9pjoW8B1NXnKigs8cPzU8oslTadRKyu10hWf0yepIuT6hTdKOTcwLl+OL7BvYnrsGbfjE+whbOMKRCKM9ZyNsYh2XI2xiEXciDHrwBm2c/zD5CrvSKMPetjHUJqninf0i3bklOWcMvZIVtkf0Ei3Y352DRuMXp501cVdjzEoAAAAASUVORK5CYII=');
    height:16px;
    width:16px;
    margin-top:11px;
    float:left;
    cursor:pointer;
}
.help-dialog {
    transition-property:opacity;
    transition-duration:.5s;
    opacity:1.0;
}
.help-dialog.hidden, .help-dialog-left-callout.hidden, .help-dialog-content.hidden {
    display:block;
    opacity:0.0;
}
.help-dialog-left-callout {
    background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAVCAYAAAB/sn/zAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAR5JREFUOE9907tOhEAYhuGZdUsTYywstjB6BV6Ard1exCbW2thYeiP2m+g9UGxPxUBFQghQkBDOVITx+0lmneFg8SYEnvk5MymlimvbrO971nUd833/0XGc4wyoCIZhyIF+0LhzCfIoip4ADq7ryqqq/g5oaBfH8TPQp0IKGhOBroHePM+TRVEYcGwYBg60BXonVJalkYJ3QRDsgL6W0BkmSXIPdFpDFMEHIYSk2rZdRBQDOOGhLh7UI3icQrrbaXTqD3Xq/zBBnmXZDUHLsgzcNI0BWV3XPE1Tadv2DOd5PjZCmoqn/0LXuoYVpK4wdRWP0zS8XcNTSF0Av06xDmiBWnSrT8brnYFz+MI3arKCerRgQwFy/DOXwHshxPcvZ9/BKkc4kukAAAAASUVORK5CYII=');
    position:absolute;
    width:10px;
    height:21px;
    transition-property:opacity;
    transition-duration:.5s;
    opacity:1.0;
    z-index:10;
}
.help-dialog-content {
    position:absolute;
    width:148px;
    height:88px;
    line-height:1.4em;
    font-family: Arial, Helvetica, sans-serif;
    font-size:0.71em;
    padding:4px;
    box-sizing:border-box;
    background:linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);
    box-shadow:1px 1px 6px #888;
    border-radius:4px;
    transition-property:opacity;
    transition-duration:.5s;
    opacity:1.0;
}
#cvc-help {
    margin-left:2px;
}