body {
    background-color: black;
}

#body {
    min-height: 900px;
    position: relative;
    animation: show 2s .8s forwards;
    opacity: 0;
    height: 100vh;
    width: 100%;
    margin-top: -56px;
}

#body > .background {
    overflow: hidden;
    top: 55px;
    right: 0;
    position: absolute;
    left: 0;
    bottom: 46px;
}

#body > .background > .scrolling-image {
    background: url("../img/index/rolling-line.jpg") repeat-x;
    width: 100%;
    height: 100%;
    animation: slide 180s linear infinite;
    position: relative;
    will-change: transform;
    transform: rotateZ(360deg);
    transform-origin: top;
}

#body #title {
    position: relative;
    margin: 0 auto;
    max-width: 670px;
    height: 126px;
    padding-top: 170px;
}

#body #title .title-bg {
    background: url("../img/reg/title.png") center center no-repeat transparent;
    position: relative;
    width: 100%;
    height: 100%;
}

#body #title .label {
    position: absolute;
    top: 76px;
    width: 100%;
    text-align: center;
    font-size: 2.6em;
    color: white;
    text-shadow: 0 0 1px black;
    font-weight: bold;
}

#body.finish #finish {
    display: block;
}

#body.finish #reg-form {
    display: none;
}

#body #reg-form {
    height: 678px;
    position: absolute;
    width: 432px;
    left: 50%;
    margin-left: -210px;
    top: 50%;
    margin-top: -342px;
}

#body #reg-form > .background {
    overflow: hidden;
    top: 0;
    right: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    background: url(../img/reg/reg-form-bg3.png) top center no-repeat;
}

#body #reg-form .reg-form-bg {
    position: absolute;
    top: 190px;
    left: 20px;
    bottom: 35px;
    right: 33px;
}

#body #reg-form form {
    padding-top: 122px;
}

#body #reg-form form .check-box {
    max-width: 369px;
    margin: 17px auto 0;
    height: 45px;
    padding: 0 37px;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
}

#body #reg-form form .check-box:last-of-type {
    margin: 6px auto 0;
}

#body #reg-form form .check-box > input {
    display: block;
}

#body #reg-form form .check-box > label {
    display: block;
    padding-left: 8px;
    font-size: 1.2em;
    color: #666666;
}

#body #reg-form form .check-box > label > a {
    color: #3399cc;
}

#body #reg-form form .input-box {
    max-width: 369px;
    margin: 0 auto 14px;
    height: 45px;
    padding: 0 37px;
    position: relative;
}

#body #reg-form form input[type="text"],
#body #reg-form form input[type="password"],
#body #reg-form form input[type="email"] {
    background: transparent;
    height: 100%;
    width: 100%;
    text-align: center;
    border: 1px solid #b39d74;
    display: block;
    z-index: 2;
    position: relative;
    font-size: 1.6em;
    color: #333;
    transition: all .5s ease;
    box-sizing: border-box;
}

#body #reg-form form .input-background {
    background: #f2dcb7;
    width: 100%;
    height: 45px;
    position: relative;
    margin-bottom: -45px;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.25);
}

#body #reg-form form .input-box.disabled .input-background {
    background: #cccccc;
}

#body #reg-form .placeholder {
    z-index: 1;
    color: #999;
    transition: all .5s ease;
    position: relative;
    display: block;
    text-align: center;
}

#body #reg-form .input-box.disabled .placeholder {
    color: #eee;
}

#body #reg-form input[value=""] ~ .placeholder {
    width: 100%;
    margin-top: -30px;
    height: 19px;
    font-size: 1.6em;
}

#body #reg-form form input:focus ~ .placeholder {
    font-size: 1em;
    height: auto;
    margin-top: 0;
    line-height: normal;
    width: auto;
}

#body #reg-form form .button {
    width: 371px;
    margin: 6px auto 0;
    height: 84px;
    position: relative;
    display: block;
    cursor: pointer;
    background: url("../img/reg/reg-button.png") -5px -2px;
    border: none;
    color: transparent;
}

#body #reg-form form .button.disabled {
    filter: grayscale(0.5);
}

#body #reg-form form .button:hover:not(.disabled) {
    background-position: -5px -99px;
}

#body #reg-form form .button:focus:not(.disabled) {
    background-position: -5px -196px;
}

#body #finish {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
}

#body #finish > .window {
    width: 566px;
    height: 301px;
    top: 50%;
    left: 50%;
    margin-left: -276px;
    margin-top: -150px;
    position: absolute;
}

#body #finish > .window > .background {
    background: url("../img/reg/finish.png") no-repeat;
    width: 566px;
    height: 301px;
}

#body #finish > .window > .body {
    display: none;
}

#body #additional {
    margin: 0 auto;
    max-width: 470px;
    padding: 61px 10px 91px;
}

#body #additional .title {
    color: red;
    font-size: 1.8em;
    font-weight: bold;
}

#body #additional .text {
    font-size: 16px;
}

#body #reg-form .error.show {
    opacity: 1;
}

#body #reg-form .error {
    background: #f99;
    padding: 12px 25px;
    position: absolute;
    border: 1px solid #666;
    color: #000c;
    font-size: 1.5em;
    left: 427px;
    width: 300px;
    opacity: 0;
    transition: all .3s ease;
    height: 19px;
}

#body #reg-form .error.promo {
    top: 52px;
}

#body #reg-form .error.email {
    top: 122px;
}

#body #reg-form .error.pass {
    top: 181px;
}

#body #reg-form .error.pers {
    top: 240px;
}

#body #reg-form .error.license {
    top: 299px;
}

#body #reg-form .error:after, #body #reg-form .error:before {
    right: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

#body #reg-form .error:after {
    border: 9px rgba(0, 0, 0, 0);
    border-right-color: #f99;
    margin-top: -16px;
}

#body #reg-form .error:before {
    border: 10px rgba(102, 102, 102, 0);
    border-right-color: #666;
    margin-top: -17px;
}

@media screen and (max-width: 910px) {

}

@media screen and (max-width: 749px) {

}

@media screen and (max-width: 420px) {
    #body #reg-form {
        padding-top: 20px;
    }
}

@keyframes slide {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: -5760px 0;
    }
}

@keyframes show {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
