/* normalize
=====================*/

*,*:before,*:after{-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box}
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bold}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:0.093vw dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-0.185vw}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

/* basic
=====================*/

.animate,
input,
button,
textarea,
select,
a,
.btn{
    -webkit-transition: all .4s;
    -o-transition: all .4s;
    -moz-transition: all .4s;
    transition: all .4s;
}

* html .clearfix            {zoom: 1;}
*:first-child+html .clearfix{zoom: 1;}

body{
    background: #F6F7FB;
    font: normal 16px 'Open Sans', Tahoma, sans-serif;
    color: #333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a      {color: inherit;text-decoration: none;cursor: pointer;}
a:hover{text-decoration: underline;}

h1,
h2,
h3,
h4,
h5,
h6,
.heading{
    display: block;
    font-style: normal;
    font-weight: bold;
    font-family: 'Open Sans', Tahoma, sans-serif;
    position: relative;
}

h1,
.heading--size_1{
    font-size: 54px;
}

h2,
.heading--size_2{
    font-size: 40px;
}

h3,
.heading--size_3{
    font-size: 32px;
}

h4,
.heading--size_4{
    font-size: 24px;
}

h5,
.heading--size_5{
    font-size: 20px;
}

h6,
.heading--size_6{
    font-size: 16px;
}

form{
    display: block;
}

input,
button,
select,
textarea{
    font-weight: normal;
    font-family: 'Open Sans', Tahoma, sans-serif;
}

input,
button{
    margin: 0;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
}

::-webkit-input-placeholder {color: rgba(0,0,0,.4);}
::-moz-placeholder          {color: rgba(0,0,0,.4);}
:-moz-placeholder           {color: rgba(0,0,0,.4);}
:-ms-input-placeholder      {color: rgba(0,0,0,.4);}

/* components
=====================*/

#site{
    padding: 57px 20px;
    position: relative;
    overflow: hidden;
}

.form-el{
    background: transparent;
    width: 100%;
    padding: 8px 14px;
    display: block;
    font-size: 16px;
    line-height: 1.3;
    border: 1px solid #F0F0F0;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.btn{
    background: #3A7AD9;
    width: 100%;
    padding: 20px 52px;
    display: block;
    font-weight: normal;
    font-size: 22px;
    line-height: normal;
    color: #fff;
    text-align: center;
    border: none;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    outline: none;
    cursor: pointer;
}

.btn:hover{
    background: #0A449B;
    text-decoration: none;
}

.line{
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.line__title{
    padding-right: 14px;
    font-size: 16px;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -moz-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.line__body{
    max-width: 65%;
    min-width: 242px;
    text-align: right;
}

/* pay
=====================*/

.pay{
    max-width: 490px;
    margin: 10px auto;
}

.pay__logo{
    width: 100%;
    max-width: 330px;
    margin: 0 auto 45px;
    display: block;
    outline: none;
}

.pay__logo-img{
    width: 100%;
    height: auto;
    vertical-align: top;
}

.pay__body{
    background: #fff;
    margin-bottom: 30px;
    padding: 30px 25px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.pay__body-title{
    margin: 0 0 19px;
    font-weight: bold;
    font-size: 29px;
}

.pay__body-purpose{
    background: #F6F7FB;
    margin-bottom: 23px;
    padding: 24px 40px 24px 15px;
    font-weight: bold;
    font-size: 19px;
    line-height: 1.4;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.line__body-amount{
    font-weight: bold;
    font-size: 35px;
}

.pay__body-line:not(:last-child){
    margin: 0 0 8px;
}

@media (max-width: 767px){
    #site{
        padding: 36px 20px;
    }
    .pay__logo{
        max-width: 296px;
        margin-bottom: 30px;
    }
    .pay__body-title{
        font-size: 24px;
    }
    .pay__body-purpose{
        padding: 24px 14px;
        font-size: 19px;
    }
    .line__title,
    .form-el{
        font-size: 15px;
    }
    .form-el{
        padding-right: 8px;
        padding-left: 8px;
    }
    .line__body-amount{
        font-size: 24px;
    }
}

@media (max-width: 479px){
    #site{
        padding: 36px 16px;
    }
    .pay__body{
        padding-right: 16px;
        padding-left: 16px;
    }
    .line__body{
        max-width: initial;
        min-width: initial;
    }
    .line--with_input{
        display: block;
    }
    .line--with_input .line__title{
        margin-bottom: 8px;
    }
    .pay__body-line:not(:last-child){
        margin-bottom: 16px;
    }
}