html, body                                { height: 100%; }
body                                      { font-family:'arial', sans-serif; font-size:1em; color:#858585; margin:0; padding:0; text-rendering: optimizeLegibility; display: flex; flex-direction: column; }

a                                         { text-decoration:underline; color:inherit; -webkit-transition:.2s; transition:.2s; }
a:hover                                   { text-decoration:none; }

.stripe-underlay                          { position:fixed; top:0px; left:0px; width:100%; height:100%; z-index:100; background:rgba(0,0,0,0.25); display:none; }
  .stripe-underlay.on                     { display:block; }

p                                         { font-size: 1rem; font-weight: normal; line-height: 1.4em; margin-bottom: 1.25rem; }

img                                       { max-width:100%; }

.tcenter                                  { text-align:center; }
.tright                                   { text-align:right; }

.shallow                                  { margin-bottom:0; }

.hidden                                   { display:none !important; }

.greenbar                                 { background:#25b895; color:#fff; padding:20px 0; }
  .greenbar a                             { color:inherit; text-decoration:none; }

.footer                                   { background:#25b895; color:#fff; padding:20px 0; }
.content                                  { flex: 1 0 auto; }
.primary                                  { padding:50px 0; }

a.button                                  { display:inline-block; border:1px solid #000; color:#000; text-decoration:none; padding:10px 30px; font-size:14px; line-height:20px; text-transform:uppercase; box-sizing:border-box; }
  a.button:hover                          { text-decoration:none; background-color:#25b895; border-color:#25b895; color:#fff; }

a.button.disabled                         { border-color:#aaa; color:#aaa; }
  a.button.disabled:hover                 { border-color:#aaa; color:#aaa; background:none; cursor:not-allowed; }

.box                                      { padding:50px; box-sizing:border-box; }

  .box.payments                           { background-color:#ebebed; }

h1                                        { font-weight:normal; font-size:2em; margin:0; margin-bottom: 1.25rem; padding:0; }
h2                                        { font-weight:normal; font-size:1.6em; margin:0; margin-bottom: 1.25rem; padding:0; color:#000000; }

form                                      { margin:0; padding:0; }
  form .form_row                          { display:inline-block; margin:0 0 20px; width:100%; }
  form label                              { font-size:14px; width:100%; display:block; margin: 0 0 3px; color:#414141; }
  form ._select                           ,
  .InputElement                           ,
  #cardholder-name                        ,
  
  form input                              { line-height:40px; height:40px; width:100%; border:1px solid #25b895; font-size:16px; padding:0 20px; box-sizing:border-box;  }

  form ._select                           { float:left; overflow:hidden; position:relative; background:#fff url(/assets/images/form-icon-select-bg.svg) right center no-repeat; background-size:20px 20px; }
    form ._select select                  { z-index:10; }
    form ._select span                    { position:absolute; left:0px; top:0px; padding:0 20px; width:100%; line-height:42px; height:42px; z-index:2; box-sizing:border-box; }
    form ._select .caret                  { position:absolute; right:0px; top:0px; line-height:36px; width:1px; display:none; }
    
  form input.amount                       { width:50%; }
  form ._select.currency-select           { width:95px; margin-right:5px; }

@media only screen and (max-width: 767px) {

    .box                                  { padding:20px; }
    a.button                              { padding:10px 0px; width:100%; text-align:center; }

}