input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #666666 !important;
}
input::-moz-placeholder { /* Firefox 19+ */
  color: #666666 !important;
}
input:-ms-input-placeholder { /* IE 10+ */
  color: #666666 !important;
}
input:-moz-placeholder { /* Firefox 18- */
  color: #666666 !important;
}

.ui-state-default, .ui-widget-content .ui-state-default{
    background: rgba(0,0,0,.25);
    border: 1px solid #484848;
}

.ui-dialog.payment-dialog{
    box-shadow: none;
    z-index: 100 !important;
    overflow: visible;
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transform-origin: center;
    -moz-transform-origin: center;
    -ms-transform-origin: center;
    -o-transform-origin: center;
    transform-origin: center;
    padding: 0;
    perspective: 1000px;
    -webkit-perspective: 1000px;
    border: none;
    background: transparent;
}

#payment-dialog{
    padding: 0;
    overflow: visible;
    display: none;
    font-size: 15px;
    background-color: #572D7B;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, .25);
}


.ui-dialog.payment-dialog .ui-dialog-titlebar{
    display: none;
}


.payment-dialog .dialog-title-row{
    -webkit-border-radius:7px;
    -moz-border-radius:7px;
    border-radius:7px;
    -webkit-border-bottom-left-radius:0;
    -moz-border-bottom-left-radius:0;
    border-bottom-left-radius:0;
    -webkit-border-bottom-right-radius:0;
    -moz-border-bottom-right-radius:0;
    border-bottom-right-radius:0;
    /*border-style: none;*/
    /*-webkit-box-shadow: 0 1px 0 #ddd;*/
    /*-moz-box-shadow: 0 1px 0 #ddd;*/
    /*box-shadow: 0 1px 0 #ddd;*/
    /*text-shadow: 0 -1px 0 black, 2px 4px 4px rgba(0,0,0,.1);*/
    background-color: #d8d8da;
    background-color: #572D7B;
    color: #Fff;
}

.ui-selectmenu-button.ui-state-default {
    background-color: #eee;
    border-color: #bbb;
}

.ui-front{
    z-index: 200;
}

.ui-widget-overlay{
    opacity: .85;
}

a.btn {
    line-height:36px;
    color: #555;
    border: 1px solid #555;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}


a.btn:hover{
    color: #fff;
    background-color: #999;
}


a.bottom-btn {
    position: relative;
    z-index: 2;
    /*border-color: #333;*/
    border: none;
    color: rgb(255,255,255);
    background-color: #572D7B;
    font-size: 20px;
    padding: 0 5px;
    margin-top: 10px;
    display: block;
    text-align: center;
    cursor: pointer;
}

a.bottom-btn:hover{
    color: #fff;
    /*border-color: #45a8e6;*/
    background-color: #774D9B;
}

a.bottom-btn span{
    font-size: 32px;
    top: 1px;
    position: relative;
}

a.top-btn{
    font-size: 10px;
    line-height: 20px;
    top: 5px;
    left: 5px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    transition: all .1s;
    /*background-color: #bbb;*/
    color: #fff;
    position: absolute;
    /*box-shadow: 0 1px #fff, 0 -1px 1px #555;*/
    border-color: #Fff;
    cursor: pointer;
}

a.back{
    display: none;
    font-size: 15px;
}

/*a.top-btn:hover{*/
    /*color: #eee;*/
    /*transition: all .1s;*/
/*}*/

a.download-btn{
    margin: 10px;
}

.dialog-title-img{
    position: absolute;
    top: -50px;
    left: 0;
    right: 0;
    margin: auto;
    width: 80px;
    height: 80px;
    -webkit-box-shadow: 0 0 1px #444, inset 0 0 1px #777;
    -moz-box-shadow: 0 0 1px #444, inset 0 0 1px #777;
    box-shadow: 0 0 1px #444, inset 0 0 1px #777;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    border: 4px solid #FAAF3C;
    background: no-repeat center center / cover #000000;
}


.dialog-title-row div {
    display: inline-block;
    margin: 30px 5px 5px;
    font-size: 18px;
    font-weight: 600;
}

.dialog-amount{
    line-height: normal;
}

.dialog-amount .dollar {
    top: -5px;
    /*opacity: .75;*/
    margin-right: 2px;
}


.dialog-amount .amount {
    font-weight: bold;
    font-size: 32px;
}


.payment-form-window {
    height: 158px;
    overflow: hidden;
    position: relative;
    transition: height .5s;
    background-color: #fff;
    color: #666666;
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
}

.payment-form-slider {
    width: 0px;
    display: inline-block;
    position: absolute;
    left: 0;
}

#payment-dialog .page {
    float:left;
    margin-right: 1px;
    width: 348px;
    padding: 20px 30px 20px 30px;
    font-size: 15px;
}

.page .thanks {
    font-size: 15px;
    line-height: 19px;
 }

.page .check-instructions {
    font-size: 13px;
}


#payment-info-selectors{
    text-align: right;
}


.ui-selectmenu-button span.ui-selectmenu-text.ui-selectmenu-placeholder, .ui-menu .ui-menu-item.ui-state-disabled{
    font-size: 15px;
    font-style: italic;
    padding: 0.4em 2.1em 0.4em 1em;
    opacity: .6;
    line-height: normal;
}

.ui-menu .ui-menu-item.ui-state-disabled {
    display: none;
}

#check-instructions, #bank-instructions {
    font-size: .8em;
    line-height: normal;
    color: #888;
    padding: 0 20px;
}

#check-instructions span.address, #bank-instructions span.address{
    display: block;
    text-align: center;
    font-weight: normal;
    font-size: 1.1em;
    margin: 10px 0 15px;
    color: #667;
}

.child-code {
    font-style: italic;
}

#contact-info-form, #cc-redirect{
}

#payment-info-selectors span.label{
    font-size: 14px;
    display: block;
    float:left;
    width: 48%;
    text-align: right;
    line-height: 28px;
}

#payment-info-selectors div.row{
    height: 36px;
}

#payment-dialog .form-bkg{
    background: white;
    border-radius: 7px;
    border: 1px solid #ddd;
    border-bottom-color: #ccc;
    margin-bottom: 7px;
    box-shadow: inset 0 5px 3px -5px #888, 0 1px 2px white;
}

#payment-dialog .field {
    position: relative;
    height: 28px;
}

#payment-dialog .field>input, #payment-dialog .field>div.inline{
    background: none;
    border: none;
    border-radius: 7px;
    position: relative;
    padding: 4px 10px 4px 32px;
    transition: all .25s;
    height: 28px;
    margin: 0;
}


#payment-dialog .inline, #payment-dialog input.inline{
    width: 50%;
    float: left;
}

#payment-dialog .top>input{
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: 1px solid #ddd;
}


#payment-dialog .bottom input{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

#payment-dialog .middle input, #payment-dialog .inline>input{
    border-radius: 0;
    border-bottom: 1px solid #ddd;
}

#payment-dialog .top input.inline:nth-of-type(odd){
    border-top-right-radius: 0;
}

#payment-dialog .top input.inline:nth-of-type(even){
    border-top-left-radius: 0;
}

#payment-dialog .bottom input.inline:nth-of-type(odd){
    border-bottom-right-radius: 0;
}

#payment-dialog .bottom input.inline:nth-of-type(even){
    border-bottom-left-radius: 0;
}


#payment-dialog .field>.icon{
    position: absolute;
    top: 0;
    line-height: 28px;
    width: 32px;
    color: #777;
    font-size: 16px;
    z-index: 4;
    transition: all .25s;
}

#payment-dialog input#state, #payment-dialog input#last-name{
    padding-left: 10px;
    border-left: 0;
}

#payment-dialog input#first-name, #payment-dialog input#city {
    border-right: 0;
}

input#address{
    border-bottom-color: transparent;
}

#country-select{
    width: 50%;
    float: left;
    border-radius: 0;
    border-bottom-right-radius: 7px;
}

#country{
    -webkit-appearance:none;
    -moz-appearance:none;
    border: none;
    color: inherit;
    padding-left: 10px;
    background-color: transparent;
    border-bottom-right-radius: 7px;
    height: 28px;
}

#country:focus {
    /*background-color: white;*/
    outline: none;
}

#payment-dialog input[type="text"]:not(.error):focus,
#payment-dialog input[type="email"]:not(.error):focus,
#payment-dialog textarea:not(.error):focus,
#payment-dialog #country:not(.error):focus,
#payment-dialog input#address:not(.error):focus{
    box-shadow: 0 0 8px #572D7B;
    border: 1px solid #774D9B;
    z-index: 2;
    border-radius: 3px !important;
    transition: all .25s;
}

#payment-dialog input:focus + div.icon {
    color: #572D7B;
    transition: all .25s;
}

#payment-dialog .field>input.error {
    border: 1px solid red;
    box-shadow: 0 0 9px -2px red;
    transition: all .25s;
}

#payment-dialog .field.bottom>input.error{
    border-top: none;
    height: 28px;
}

#payment-dialog .field>input.error + div.icon{
    color: #ff4444;
    transition: all .25s;
}

#payment-dialog .error-message{
    width: 100%;
    font-size: 14px;
    color: #ff3333;
    bottom: 18px;
    position: absolute;
    display: none;
}

#payment-dialog ::-webkit-input-placeholder { color: #ccc; opacity: 1 !important; font-size: 14px}
#payment-dialog :-moz-placeholder { color: #ccc; font-size: 14px}
#payment-dialog ::-moz-placeholder {color: #ccc; font-size: 14px}
#payment-dialog :-ms-input-placeholder {color: #ccc; font-size: 14px}

#payment-dialog .error::-webkit-input-placeholder { color: #faa; opacity: 1 !important; font-size: 14px}
#payment-dialog .error:-moz-placeholder { color: #faa; font-size: 14px}
#payment-dialog .error::-moz-placeholder {color: #faa; font-size: 14px}
#payment-dialog .error:-ms-input-placeholder {color: #faa; font-size: 14px}

#check-instructions .child-code{
    font-weight: bold;
    color: #667;;
}


.ui-selectmenu-menu .ui-menu{
    background-color: #ddd;
    border: none;
    text-align: left;
    border-radius: 0;
}

#payment-frequency-menu, #payment-method-menu {
    color: inherit;
}

.ui-selectmenu-button span.ui-icon {
    transform: scale(1.5);
}


.ui-selectmenu-button span.ui-selectmenu-text {
    padding: 3px 15px 2px;
    /*color: #ccc;*/
}

.ui-menu .ui-menu-item {
    border-width: 0;
    padding: 2px 5px;
    line-height: 20px;
    font-size: 15px;
    color: inherit;
    transform-origin:left center;
    transition: all .3s;
}

.ui-menu-item.ui-state-focus{
    border-width: 0;
    transform: scale(1.1);
    background: #008BDB;
    padding-left: 5px;
    margin: 0;
    color: #fff;
    transition: all .3s;
}

#submit{
    text-align: center;
    transform-origin: center center;
    color: rgba(0,0,0,.75)
}


#submit:hover{
    color: black;
}


#submit:after {
    top: 3px;
    position: absolute;
    margin-left: 0;
    content: '\203A';
    font-size: 36px;
    opacity: 0;
    transition: 0.2s;
}

#submit:hover:after {
    opacity: 1;
    margin-left: 10px;
}
.ui-autocomplete, .ui-selectmenu-menu {
    max-height: 200px;
    overflow-y: auto;
    /* prevent horizontal scrollbar */
    overflow-x: hidden;
  }

.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup.ui-menu-divider{
    background-color: #222;
    color: #666;
    font-style: italic;
    font-weight: normal;
    text-align: center;
}

.ui-selectmenu-open {
    box-shadow: 0 10px 20px 5px rgba(0, 0, 0, .5);
    /*border: 1px solid #333;*/
}


.shake {
    animation: shake 1s cubic-bezier(.36,.07,.19,.97) both;
    -webkit-animation: shake 1s cubic-bezier(.36,.07,.19,.97) both;
    backface-visibility: hidden;
}


@keyframes shake {
  10%, 90% {
    transform: rotate3d(0, 1, 0, -2deg) translate3d(-2px, 0, 0);
  }

  20%, 80% {
    transform: rotate3d(0, 1, 0, 4deg) translate3d(4px, 0, 0);
  }

  30%, 50%, 70% {
    transform: rotate3d(0, 1, 0, -8deg) translate3d(-8px, 0, 0);
  }

  40%, 60% {
    transform: rotate3d(0, 1, 0, 8deg) translate3d(8px, 0, 0);
  }
}

@-webkit-keyframes shake {
  10%, 90% {
    -webkit-transform: rotate3d(0, 1, 0, -2deg) translate3d(-2px, 0, 0);
  }

  20%, 80% {
    -webkit-transform: rotate3d(0, 1, 0, 4deg) translate3d(4px, 0, 0);
  }

  30%, 50%, 70% {
    -webkit-transform: rotate3d(0, 1, 0, -8deg) translate3d(-8px, 0, 0);
  }

  40%, 60% {
    -webkit-transform: rotate3d(0, 1, 0, 8deg) translate3d(8px, 0, 0);
  }
}
