.ya-share2 {
    max-width: 110px;
    height: 40px;
    margin: auto;
    margin-top: 20px;
}

a,
[data-action],
input:not(:focus),
textarea:not(:focus) {
    cursor: pointer
}

.upr,
h2 {
    text-transform: uppercase
}

.button.upr {
    letter-spacing: 1px
}

.low {
    text-transform: lowercase
}

h1,
a {
    text-decoration: none
}

.call {
    width: 200px;
    height: 200px;
    border-radius: 100%;
    transform: scale(0.5);
    -webkit-transform: scale(0.5);
    margin-left: -100px;
    margin-top: -100px;
    transform-origin: 100px 100px;
    animation: inflate 3s infinite ease-out;
    -webkit-animation: inflate 3s infinite ease-out
}

html,
body,
svg {
    width: 100%;
    height: 100%
}

.page {
    margin-bottom: -130px
}

.tool span,
.back,
#content.pay,
#content.confirm,
input,
textarea,
.ofh {
    overflow: hidden
}

#footer {
    height: 80px;
    width: 100%
}

html,
body,
div,
h1 i,
input,
textarea,
.tool>span {
    position: relative
}

h1,
#content .button,
.paper .button,
h1:after,
.tool,
.flip .if-done,
.flip .if-not-done,
.paper,
.front svg {
    position: absolute
}

.front {
    box-shadow: 0 0 50px 5px #222;
}

.iframe {
    position: fixed;
    top: 10px;
    right: 10px;
    border: 1px solid #fff
}

html,
body,
h1,
.desc {
    margin: 0;
}

html,
body,
input,
textarea {
    font-family: 'Open Sans', Helvetica, Tahoma, sans-serif
}

#header,
#content,
.row {
    display: block;
    margin: auto;
    max-width: 100%;
    width: 800px
}

#footer .row {
    padding-top: 20px
}

#footer .row {
    padding: 10px;
    box-sizing: border-box
}

#header {
    height: 195px;
    margin-bottom: 0px
}

.paper:after {
    content: '';
    width: 1px;
    left: 50%;
    top: 20px;
    bottom: 70px;
    position: absolute
}

.paper input {
    background: transparent
}

.front,
.front input,
.front textarea {
    background: #fff
}

input:focus,
textarea:focus {
    background: #fff;
    outline: none;
    box-shadow: 0 0px 40px #bdf
}

h1,
h2,
.desc,
a,
.browse {
    color: #fff
}

h2 {
    color: #333
}

svg path {
    fill: #fff
}

.paper {
    background: #eee
}

#footer,
#footer a {
    color: #ccc;
	text-decoration: underline;
}

input:focus+label,
textarea:focus+label,
input.dirty+label,
textarea.dirty+label {
    background: #777
}

html {
	background: radial-gradient(circle at 50% 50%, transparent, #200084 70%), #3b5ec8;
}
h1 {
    font-family: Podkova, 'Open Sans', sans-serif;
    color: #333;
    background: linear-gradient(to top, #eee, #fff), #fff;
}

.button {
    background: #FFcc33;
}

.paper input:not(:focus) {
    color: #357
}

input,
textarea {
    border: none;
    border-bottom: 1px solid #357
}

.front input,
.front textarea {
    border-color: #ccc
}

input+label,
textarea+label {
    position: absolute;
    margin-top: 15px;
    margin-right: 5px;
    padding: 10px;
    line-height: 10px;
    height: 30px;
    z-index: 1;
}

.front input:focus,
.front textarea:focus {
    z-index: 1
}

.front label {
    left: 10px
}

label,
.confirm .flip-container {
    pointer-events: none
}

input.dirty+label,
textarea.dirty+label {
    opacity: 0
}

.paper input.dirty+label {
    margin-top: -70px
}

input:focus+label,
textarea:focus+label,
input.dirty:focus+label,
textarea.dirty:focus+label,
input.dirty+label,
textarea.dirty+label {
    color: #fff
}

input:focus+label,
textarea:focus+label,
input.dirty:focus+label,
textarea.dirty:focus+label,
.front input.dirty+label,
.front textarea.dirty+label {
    right: 95%;
    left: auto
}

input:focus+label,
textarea:focus+label,
input.dirty:focus+label,
textarea.dirty:focus+label {
    z-index: 1;
    opacity: 1
}

.paper input+label {
    margin-top: -35px
}

.paper input:focus+label {
    margin-top: -36px;
    right: 100%;
    margin-right: 0px
}

textarea:focus+label {
    margin-top: 15px
}

.tool:hover,
.button:hover {
    background: #4169E1;
}

.paper,
input,
textarea {
    color: #555
}

label {
    padding: 10px
}

.back {
    background: #e0e0e0;
    box-shadow: 0 0 50px 5px #222;
}

.call {
    background: #111
}

#footer {
    background: #000080;
}

html,
body {
    font-size: 14px
}

input+label,
textarea+label {
    font-size: 14px
}

input,
textarea {
    font-size: 14px
}

#form_text {
    font-size: 20px
}

.browse {
    font-size: 18px
}

h1 {
    width: 150px;
    font-size: 24px;
    top: 36px;
}

.reset i {
    font-size: 36px
}

h1 i,
.tool i {
    font-style: normal
}

p {
    line-height: 20px;
    padding-bottom: 5px
}

h1 {
    font-weight: normal;
    padding: 14px 15px 20px 15px;
    display: inline-block;
    text-align: center;
    border: 3px solid #fff
}

h1:first-child {
    transform: translate(-50%, -50%) rotate(0deg) scale(0.9);
    -webkit-transform: translate(-50%, -50%) rotate(0deg) scale(0.9)
}

h1:last-child {
    transform: translate(-50%, -50%) rotate(0deg) scale(1);
    -webkit-transform: translate(-50%, -50%) rotate(0deg) scale(1)
}

h1:after {
    content: '';
    top: -6px;
    bottom: -6px;
    left: -6px;
    right: -6px;
    border: 5px dotted #fff
}

h1:first-child,
h1:first-child:after {
    border-color: #fff
}

h1 i {
    top: 1px
}

h1 i:first-child {
    margin-left: -1px
}

.half-col {
    float: left
}

.half-col div,
#content:after,
.half-col:after,
.form:after,
.clear-after:after {
    content: '';
    clear: both;
    display: block
}

#content>.full:after {
    content: '';
    position: absolute;
    left: 3px;
    right: 1px;
    bottom: 0px;
    border-bottom: 0px dotted #357
}

.paper .form input {
    width: 100%
}

.front input,
.front textarea {
    width: 90%;
    margin-left: 10px;
    margin-top: 10px
}

input.no-border {
    background: transparent;
    border: none
}

input,
textarea {
    height: 40px;
    line-height: 20px;
    padding: 10px;
    resize: none;
}

input,
textarea,
.button,
#confirmation,
#complete,
.half-col,
input+label,
textarea+label {
    box-sizing: border-box;
}

.tool {
    width: 120px;
    top: 190px;
    padding: 10px 5px;
}

.tool>span {
    width: 70px;
    height: 28px;
    line-height: 14px;
    display: block;
}

.flip *,
textarea {
    float: left;
}

.reset * {
    float: right;
}

.flip {
    right: -40px;
}

.flipped.vertical .flip {
    right: 110px;
}

.vertical .reset {
    left: 110px;
}

.vertical:not(.flipped) .back {
    transform: rotate(90deg) rotateY(180deg) scale(1.25);
    -webkit-transform: rotate(90deg) rotateY(180deg) scale(1.25)
}

.reset {
    left: -40px;
    transform-origin: 100px 24px;
    -webkit-transform-origin: 100px 24px
}

.flip.done svg {
    transform: scale(1, -1) rotate(270deg);
    -webkit-transform: scale(1, -1) rotate(270deg)
}

.flip .if-done,
.flip .if-not-done {
    transform-origin: -20px 24px;
    -webkit-transform-origin: -20px 24px
}

.done .if-done,
a:not(.done) .if-not-done {
    transform: none
}

.done .if-not-done {
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg)
}

a:not(.done) .if-done {
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg)
}

.tool i {
    width: 20px;
    height: 20px;
    margin: 4px 10px 4px 10px;
    text-align: center
}

.tool.behind {
    transform: scale(0) translate(0, -500%) !important;
    -webkit-transform: scale(0) translate(0, -500%) !important
}

.flip svg {
    transform: scale(1, -1) rotate(90deg);
    -webkit-transform: scale(1, -1) rotate(90deg)
}

.reset i {
    line-height: 20px
}

.reset span {
    text-align: right
}

.confirm .tool,
.pay .tool {
    transform: scale(1) translate(0, -500%);
    -webkit-transform: scale(1) translate(0, -500%)
}

.button {
    height: 40px;
    padding: 11px 20px 9px;
    text-align: center
}

.button,
.tool {
    border-radius: 40px;
	background: #4169E1;
}

#pay,
#confirm,
#over {
    width: 170px;
    left: 50%;
    bottom: 125px;
    margin-left: -85px;
	font-weight: bold;
}

#info {
    width: 470px;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -235px;
    color: #fff
}

#info ul {
    margin: 0;
    padding: 0 0 0 20px;
    line-height: 19px
}

#info ul li {
    margin-bottom: 3px
}

#info ul li sup {
    font-size: 8px !important
}

#pay {
    bottom: 40px;
}

#content.confirm #confirm {
    left: 25%;
}

#content.confirm.pay #confirm {
    bottom: -20px
}

#content.confirm #info {
    opacity: 0;
    bottom: -150px
}

.confirm #edit {
    bottom: 15px;
    opacity: 1
}

#content:not(.empty) .presets-container img,
#content:not(.flipped) .presets-container img {
    display: none;
}

#content .paper #pay {
    left: 50%;
    margin-left: -85px
}

.paper {
    left: 50%;
    top: 100%
}

#content.confirm .paper {
    top: 200px
}

.paper {
    width: 50%;
    height: 80%
}

.desc {
    position: absolute;
    text-align: center;
    text-transform: none;
    font-weight: normal;
    font-style: italic;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    width: 100%;
    left: 50%;
    top: 135px;
    font-size: 1.5em;
}

#contact {
    float: left;
    margin-bottom: 8px;
}

#pay_methods {
    float: right;
}

#pay_methods img {
    vertical-align: middle;
    padding: 0;
    display: inline-block;
    width: 50px;
    margin-right: 10px;
}

.page:after {
    content: '';
    height: 120px;
    display: block
}

.tool,
.confirm .back {
    z-index: 11
}

iframe {
    border: none;
    overflow: hidden
}

#content:not(.valid-form) #confirm,
#content:not(.valid-form) #confirm:hover {
    background: #FFcc33;
    opacity: .7;
    cursor: default
}

input[data-valid='false'],
textarea[data-valid='false'],
input[data-valid='false']+label,
textarea[data-valid='false']+label {
    background: #c00;
    color: #fff
}

.hidden,
.iframe {
    display: none
}

@-webkit-keyframes inflate {
    0% {
        transform: scale(0.1);
        -webkit-transform: scale(0.1);
        opacity: 0
    }
    10% {
        transform: scale(0.5);
        -webkit-transform: scale(0.5);
        opacity: 1
    }
    100% {
        transform: scale(1);
        -webkit-transform: scale(1);
        opacity: 0
    }
}

@keyframes inflate {
    0% {
        transform: scale(0.1);
        -webkit-transform: scale(0.1);
        opacity: 0
    }
    10% {
        transform: scale(0.5);
        -webkit-transform: scale(0.5);
        opacity: 1
    }
    100% {
        transform: scale(1);
        -webkit-transform: scale(1);
        opacity: 0
    }
}

@keyframes confirm {
    0% {
        transform: translate(-50%, 10px);
        -webkit-transform: translate(-50%, 10px)
    }
    50% {
        transform: scale(1.1) translate(-33%, 0);
        -webkit-transform: scale(1.1) translate(-33%, 0)
    }
    100% {
        transform: scale(0.5) translate(10px, -60%);
        -webkit-transform: scale(0.5) translate(10px, -60%)
    }
}

@keyframes shake {
    30% {
        left: 0
    }
    40% {
        left: -20px
    }
    50% {
        left: 10px
    }
    60% {
        left: -10px
    }
    70% {
        left: 5px
    }
    80% {
        left: -5px
    }
    90% {
        left: 1px
    }
    100% {
        left: 0
    }
}

@-webkit-keyframes shake {
    30% {
        left: 0
    }
    40% {
        left: -20px
    }
    50% {
        left: 10px
    }
    60% {
        left: -10px
    }
    70% {
        left: 5px
    }
    80% {
        left: -5px
    }
    90% {
        left: 1px
    }
    100% {
        left: 0
    }
}

.invalid {
    transition: none !important;
    animation: shake 1s linear 0s;
    -webkit-animation: shake 1s linear 0s
}

svg,
input {
    transition: all .25s ease-out
}

textarea {
    transition: box-shadow .25s ease-out
}

.if-not-done,
.if-done,
.flip-container,
div,
.tool,
.paper {
    transition: all .5s ease-out
}

.front,
.back,
.button {
    transition: all .5s ease-out
}

img {
    transition: opacity .5s ease-out
}

.fade {
    opacity: 0
}

.lang-block {
    position: absolute;
    right: 0;
    top: 30px
}

.lang-block button {
    padding: 4px 9px 5px;
    font-size: 13px;
    margin-bottom: 5px;
    width: 48px;
    text-align: center;
    display: block;
    border: none;
    background: transparent;
    color: #fff;
    outline: none !important;
    cursor: pointer
}

.lang-block button.active {
    color: #444;
    background: #fff;
	border-radius: 13px;
}

.l-845 {
    width: 127px;
    height: 68px;
    position: absolute;
    bottom: 20px;
    left: 50%;
    margin-left: -63px
}

.l-845 input {
    height: auto;
    border-bottom: none
}

#zip-digits {
    z-index: 2;
    width: 210px;
    height: 42px;
    position: absolute;
    left: 81px;
    bottom: 40px
}

#zip-digits .zip-digit {
    width: 23px;
    height: 42px;
    display: inline-block;
    margin-right: 13px
}

#zip-digits .zip-digit:nth-of-type(2n) {
    margin-right: 14px
}

#zip-digits .zip-digit:last-of-type {
    margin-right: 0
}

#confirmation.pay-btn-disabled #pay {
    opacity: .6;
    cursor: default;
	background: #FFcc33;
}

.agree {
    position: relative;
    padding-left: 24px;
    pointer-events: auto;
    display: block
}

.agree input[type="checkbox"] {
    height: auto;
    position: absolute;
    left: 0;
    top: 10px
}

.agree a {
    color: #357;
    text-decoration: underline
}

.agree a:hover {
    text-decoration: none
}

.presets-container:after {
    content: '';
    display: table;
    clear: both;
}

.presets-container {
    position: absolute;
    left: -106px;
}

.presets-container img {
    width: 93px;
    display: block;
    margin-bottom: 11px;
    cursor: pointer;
}

.error-msg {
    position: absolute;
    bottom: 174px;
    left: 50%;
    margin-left: -125px;
    z-index: 100;
    background: rgba(220, 50, 50, .9);
    color: #fff;
    padding: 10px 15px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    width: 220px;
    display: none;
}

.error-msg div {
    margin: 5px;
}

@media screen and (max-width: 799px) {
    #content:not(.flipped) .presets-container img {
        display: block;
    }
    #content:not(.empty) .presets-container img {
        display: none;
    }
    #content {
        width: 100vw;
        min-width: 100%;
    }
    #contact {
        width: 100%;
    }
    #pay_methods {
        float: left;
    }
    #footer {
        height: 120px;
    }
    .page {
        margin-bottom: -120px;
    }
    #confirmation,
    #complete {
        padding: 10px
    }
    #content.confirm.pay #complete {
        padding-bottom: 80px
    }
    .front,
    .back {
        width: 100vw;
        min-width: 100%;
    }
    .back {
        height: 66.67vw;
    }
    #flip {
        display: none
    }
    .front,
    .back,
    .flip-container,
    .paper .button {
        position: relative
    }
    .flip-container {
        width: 100%;
        z-index: 10
    }
    .full {
        width: 100%
    }
    img.centered,
    span.centered {
        top: 50%;
    }
    h1 {
        top: 50px;
    }
    img.centered,
    span.centered,
    h1 {
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        left: 50%;
    }
    #browser.full {
        width: 100%;
        height: 100%
    }
    span.centered,
    img.centered {
        position: absolute
    }
    .full.ofh {
        position: static;
        background: #fff;
        padding-bottom: 30px
    }
    .front svg {
        display: none
    }
    .half-col {
        width: 100%
    }
    .full.ofh,
    .button {
        z-index: 2
    }
    .paper {
        display: none
    }
    #confirm {
        position: static !important;
        margin: 20px auto;
        display: block
    }
    #info {
        position: static;
        margin-left: 0;
        width: auto;
        padding: 0 15px 20px 10px;
        color: #000;
        background: #fff
    }
    #content.confirm #info {
        display: none
    }
    .form:after {
        height: 15px
    }
    .confirm .flip-container,
    .pay .flip-container {
        position: absolute;
        top: 0;
        height: 200px;
        overflow: hidden
    }
    #content .full.ofh {
        bottom: 180px;
        height: 60px
    }
    #content.confirm .full.ofh {
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        height: auto;
        z-index: 15;
        background: transparent
    }
    #content.confirm .full.ofh,
    #content.confirm .paper {
        position: relative
    }
    #content.confirm #confirmation {
        height: auto;
        position: relative
    }
    .confirm .paper {
        display: block;
        width: 100%;
        left: 0%
    }
    #content.confirm #confirm {
        top: 90px;
        bottom: auto;
        left: 50%;
        position: absolute !important;
        z-index: 99999999;
        margin: 0 0 0 -85px
    }
    #pay {
        display: block;
        margin: 20px auto 180px !important;
        position: static !important;
        left: 0 !important
    }
    #content.confirm.pay .paper {
        top: 0
    }
    #content.confirm.pay #confirm,
    #content.confirm.pay .flip-container,
    #content.confirm #reset_image {
        display: none
    }
    #content.confirm.pay #confirmation {
        position: absolute;
        bottom: 100%
    }
    #reset_image {
        left: auto;
        right: 50%;
        margin-right: -55px;
        top: 15px;
        width: 100px;
        background: rgba(0, 0, 0, .5);
    }
    #reset_image span {
        width: 50px
    }
    .presets-container {
        position: relative;
        left: 0;
        padding-bottom: 1.78359%;
    }
    .presets-container img {
        height: auto;
        float: left;
        display: block;
        margin: 0 0 0 1.78359%;
        border: 0 solid #fff;
        cursor: pointer;
    }
    .presets-container img.preset-v {
        width: 15.36552%;
    }
    .presets-container img.preset-h {
        width: 30.1755%;
    }
}

@media screen and (min-width: 800px) {
    html {
        min-height: 940px
    }
    .page {
        min-height: 100%
    }
    #confirmation,
    #complete {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        padding-right: 20px;
        padding-left: 20px;
        width: 100%;
        height: 100%
    }
    #complete {
        top: 50%
    }
    #confirmation {
        top: 15px;
    }
    #content.confirm.pay.complete .paper {
        top: 100%
    }
    #content.confirm.pay .paper {
        top: -100%
    }
    #content.confirm .paper {
        top: 0
    }
    .confirm .front,
    .flipped.confirm .front,
    .vertical.flipped.confirm .front {
        top: 200px;
        left: -300px;
        transform: rotateY(-360deg) rotate(-2deg) translateZ(-910px) scale(1.9);
        -webkit-transform: rotateY(-360deg) rotate(-2deg) translateZ(-910px) scale(1.9)
    }
    .confirm.vertical .back,
    .confirm.flipped.vertical .back {
        top: 500px;
        left: -40px;
        transform: rotateY(0deg) rotate(88deg) scale(1.41);
        -webkit-transform: rotateY(0deg) rotate(88deg) scale(1.41)
    }
    .confirm.flipped .back,
    .confirm .back {
        top: 500px;
        left: -200px;
        transform: rotateY(0deg) rotate(-2deg);
        -webkit-transform: rotateY(0deg) rotate(-2deg)
    }
    .front,
    .back {
        width: 600px;
        height: 426px;
        max-width: 100%
    }
    .with-stamps {
        width: 100%;
        bottom: 24%;
        position: absolute
    }
    .half-col {
        padding-top: 14px;
        width: 50%;
        height: 100%
    }
    #content {
        height: 620px
    }
    .centered {
        top: 50%;
    }
    h1 {
        top: 50px;
    }
    .centered,
    h1 {
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        left: 50%;
    }
    .full {
        width: 100%;
        height: 100%
    }
    .flip-container {
        width: 600px;
        height: 426px;
        max-width: 100%
    }
    .centered,
    .full,
    .front,
    .back,
    .flip-container {
        position: absolute
    }
    .vertical .back {
        width: 300px;
        left: 150px
    }
    .front,
    .back {
        top: 0;
        left: 0
    }
    .flip-container {
        -webkit-perspective: 1000px;
        -moz-perspective: 1000px;
        -ms-perspective: 1000px;
        perspective: 1000px;
        -ms-transform: perspective(1000px);
        -moz-transform: perspective(1000px)
    }
    .flip-container {
        left: 50%;
        transform: translate(-50%, 10px);
        -webkit-transform: translate(-50%, 10px)
    }
    .front,
    .flipped .back {
        -webkit-transform: rotateY(0deg);
        -moz-transform: rotateY(0deg);
        -o-transform: rotateY(0deg);
        -ms-transform: rotateY(0deg);
        transform: rotateY(0deg);
        -webkit-transform: rotateY(0deg)
    }
    .flipped .front,
    .back {
        -webkit-filter: brightness(0.5)
    }
    .front,
    .flipped .back,
    .confirm .front {
        -webkit-filter: none
    }
    .back,
    .flipped .front {
        -webkit-transform: rotateY(180deg);
        -moz-transform: rotateY(180deg);
        -o-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }
    .back {
        -webkit-transform: rotateY(-180deg);
        -moz-transform: rotateY(-180deg);
        -o-transform: rotateY(-180deg);
        -ms-transform: rotateY(-180deg);
        transform: rotateY(-180deg)
    }
    .flipper,
    .front,
    .back {
        -webkit-transform-style: preserve-3d;
        -moz-transform-style: preserve-3d;
        -ms-transform-style: preserve-3d;
        transform-style: preserve-3d
    }
    .flip-container,
    .flipper,
    .front,
    .back {
        -webkit-backface-visibility: hidden;
        -moz-backface-visibility: hidden;
        -ms-backface-visibility: hidden;
        backface-visibility: hidden
    }
    .button,
    .flip-container {
        z-index: 1
    }
    #content:after {
        content: '';
        height: 100px;
        display: block
    }
    .confirm .flip-container,
    .pay .flip-container {
        transform: scale(0.5) translate(10px, -60%);
        -webkit-transform: scale(0.5) translate(10px, -60%);
        left: 0
    }
    .paper .form {
        position: absolute;
        left: 20px;
        right: 20px;
        bottom: 100px
    }
}