@charset "UTF-8";
@font-face {
    font-family: 'Museo Sans Cyrl';
    src: url("../fonts/MuseoSansCyrl-100.eot");
    src: local("MuseoSansCyrl-100"), url("../fonts/MuseoSansCyrl-100.eot?#iefix") format("embedded-opentype"), url("../fonts/MuseoSansCyrl-100.woff") format("woff"), url("../fonts/MuseoSansCyrl-100.ttf") format("truetype");
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'Museo Sans Cyrl';
    src: url("../fonts/MuseoSansCyrl-300.eot");
    src: local("MuseoSansCyrl-300"), url("../fonts/MuseoSansCyrl-300.eot?#iefix") format("embedded-opentype"), url("../fonts/MuseoSansCyrl-300.woff") format("woff"), url("../fonts/MuseoSansCyrl-300.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Museo Sans Cyrl';
    src: url("../fonts/MuseoSansCyrl-500.eot");
    src: local("MuseoSansCyrl-500"), url("../fonts/MuseoSansCyrl-500.eot?#iefix") format("embedded-opentype"), url("../fonts/MuseoSansCyrl-500.woff") format("woff"), url("../fonts/MuseoSansCyrl-500.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Museo Sans Cyrl';
    src: url("../fonts/MuseoSansCyrl-700.eot");
    src: local("MuseoSansCyrl-700"), url("../fonts/MuseoSansCyrl-700.eot?#iefix") format("embedded-opentype"), url("../fonts/MuseoSansCyrl-700.woff") format("woff"), url("../fonts/MuseoSansCyrl-700.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Museo Sans Cyrl';
    src: url("../fonts/MuseoSansCyrl-900.eot");
    src: local("MuseoSansCyrl-900"), url("../fonts/MuseoSansCyrl-900.eot?#iefix") format("embedded-opentype"), url("../fonts/MuseoSansCyrl-900.woff") format("woff"), url("../fonts/MuseoSansCyrl-900.ttf") format("truetype");
    font-weight: bold;
    font-style: normal;
}

/* Стандартные стили для элементов */
body {
    background: #E5E5E5;
    font-family: 'Museo Sans Cyrl', sans-serif;
    font-size: 14px;
    font-weight: 300;
    color: #000000;
}

a {
    color: #3c3c40;
    text-decoration: underline;
    transition: all 0.25s;
}

a:hover {
    color: #3c3c40;
}

input {
    height: 52px;
    font-size: 18px;
    line-height: 52px;
    font-weight: 300;
    border: 1px solid #A0AEC0;
    box-sizing: border-box;
    border-radius: 8px;
    padding: 0 35px;
    color: #000000;
    outline: none !important;
    background-color: #ffffff;
}

@media (max-width: 580px) {
    input {
        width: 100%;
    }
}

input::-moz-placeholder {
    color: #A0AEC0;
    white-space: pre;
}

input:-ms-input-placeholder {
    color: #A0AEC0;
    white-space: pre;
}

input::-ms-input-placeholder {
    color: #A0AEC0;
    white-space: pre;
}

input::placeholder {
    color: #A0AEC0;
    white-space: pre;
}

input:hover, input:focus {
    border-color: #5B5DA0;
}

input.phone, input.phone_repeat {
    /*padding-left: 45px;
    background: #ffffff url("../i/phone.svg") no-repeat 15px center;*/
    letter-spacing: -1.3px;
    width: 170px;
    padding: 0 20px;
    margin-left: 10px;
    float: left;
}

input.phone:focus {
    /*background-image: url("../i/phone-colored.svg");*/
}

label {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
    width: 254px;
    max-width: 100%;
}

@media (max-width: 580px) {
    label {
        width: 100%;
    }
}

label .title {
    display: block;
    color: #718096;
    font-weight: 700;
    margin-bottom: 8px;
}

div.required::after {
    content: 'Если вы укажете неверный номер телефона, денежные средства вернуть будет нельзя.';
    display: block;
    margin-top: 12px;
    margin-bottom: 40px;
    font-size: 12px;
    color: red;
    line-height: 120%;
    font-weight: 300;
    width: 250px;
}

div.phone-block:after {
    content: '';
    display: block;
    clear: both;
}

.country {
    display: inline-block;
    width: 75px;
    height: 52px;
    font-size: 18px;
    line-height: 52px;
    font-weight: 400;
    border: 1px solid #A0AEC0;
    box-sizing: border-box;
    border-radius: 8px;
    padding: 0 10px;
    color: #000000;
    outline: none !important;
    text-align: right;
    background: #ffffff url("../i/ru.png") no-repeat 10px center;
    float: left;
}

label.checkbox {
    position: relative;
    overflow: hidden;
    align-items: center;
    flex-direction: row;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    padding-right: 50px;
}

label.checkbox .title {
    font-size: 10px;
    color: #718096;
    line-height: 120%;
    font-weight: 300;
    margin: 0;
}

label.checkbox input {
    position: absolute;
    top: 50%;
    margin-top: 6px;
    left: 6px;
    opacity: 0;
    width: 1px;
    height: 1px;
}

label.checkbox .value {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    background: #FFFFFF no-repeat center;
    border: 1px solid #7CC011;
    box-sizing: border-box;
    border-radius: 2px;
    margin-right: 6px;
}

label.checkbox input:checked + .value {
    background-image: url("../i/checkbox.svg");
}

button {
    border: none;
    width: 254px;
    max-width: 100%;
    height: 52px;
    font-size: 16px;
    font-weight: 700;
    line-height: 52px;
    color: #ffffff;
    border-radius: 8px;
    background: #33CEC0;
    margin-bottom: 13px;
}

@media (max-width: 580px) {
    button {
        width: 100%;
    }
}

button:hover {
    background: #03AEAD;
}

h1 {
    font-size: 26px;
    line-height: 30px;
    font-weight: 700;
    margin-bottom: 20px;
    width: 250px;
}

@media (max-width: 580px) {
    h1 {
        font-size: 16px;
        line-height: 19px;
    }
}

h2 {
    font-size: 18px;
    line-height: 21px;
}

@media (max-width: 580px) {
    h2 {
        font-size: 16px;
        line-height: 120%;
    }
}

h3 {
    font-size: 16px;
    line-height: 19px;
    font-weight: 700;
}

p {
    margin: 0;
}

.text-20 {
    font-size: 20px;
    line-height: 23px;
}

.mb_50 {
    margin-bottom: 50px;
}

.text-right {
    text-align: right;
}

.container {
    margin: 0 auto;
}

/*@media (max-width: 580px) {*/
/*    .container {*/
/*        padding: 0 20px;*/
/*    }*/
/*}*/

@media (min-width: 580px) {
    .container {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 728px;
    }
}

@media (min-width: 1000px) {
    .container {
        max-width: 960px;
    }
}

@media (min-width: 1258px) {
    .container {
        max-width: 1098px;
    }
}

section.block-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    box-shadow: 0px 0px 10px rgba(89, 92, 98, 0.2);
    border-radius: 20px;
    background: #F7FAFC;
    margin-top: 30px;
    margin-bottom: 25px;
    width: 100%;
    min-height: 750px;
    min-height: calc(max(100vh - 30px - 120px, 750px));
}

@media (max-width: 1000px) {
    section.block-main {
        grid-template-columns: 1fr;
        height: auto;
    }
}

section.block-main .block-card {
    display: flex;
    justify-content: center;
    align-items: center;
    background: url("../i/bg.png") top left no-repeat;
    background-size: cover;
    padding: 48px;
    flex-shrink: 0;
    border-radius: 20px 0 0 20px;
    margin-top: -3px;
    background-position: 0 3px;
}

@media (max-width: 1000px) {
    section.block-main .block-card {
        padding: 19px 80px 38px 80px;
        border-radius: 20px 20px 0 0;
    }
}

@media (max-width: 580px) {
    section.block-main .block-card {
        padding: 19px 19px 38px;
    }
}

section.block-main .block-card img {
    max-width: 100%;
}

section.block-main .content {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-items: center;
    justify-content: center;
    align-items: flex-start;
    padding: 80px 96px 75px 87px;
}

@media (max-width: 1258px) {
    section.block-main .content {
        padding-left: 65px;
        padding-right: 49px;
    }
}

@media (max-width: 1000px) {
    section.block-main .content {
        padding: 180px 84px 216px 78px;
    }

    section.block-main .content .text-20 {
        margin-right: 120px;
    }
}

@media (max-width: 768px) {
    label.checkbox .value {
        width: 22px;
        height: 22px;
    }

    label.checkbox .title {
        font-size: 14px;
    }

    label.checkbox input:checked + .value {
        background-size: contain;
    }

    section.block-main {
        margin: 0;
    }

    section.block-main .block-card {
        display: flex;
        justify-content: center;
        align-items: center;
        background: url("../i/bg_mobile.png") top left no-repeat;
        background-size: cover;
        padding: 48px;
        flex-shrink: 0;
        height: 250px;
        border-radius: 0;
    }

    section.block-main .block-card img {
        display: none;
    }

    section.block-main .content .text-20 {
        margin-right: 0;
    }
}

@media (max-width: 768px) {
    section.block-main .content {
        padding: 128px 68px 172px 79px;
    }
}

@media (max-width: 580px) {
    section.block-main .content {
        padding: 87px 36px 161px 23px;
    }
}

section.block-main .content > .logo {
    position: absolute;
    top: 52px;
}

section.block-main .content > .partner {
    position: absolute;
    bottom: 34px;
}

form {
    margin-top: 40px;
}

form, form > *:last-child {
    margin-bottom: 0;
}

.phone-mask {
    position: relative;
}

.phone-mask::after {
    position: absolute;
    top: 3px;
    left: 71px;
    white-space: pre;
    font-size: 18px;
    line-height: 52px;
    font-weight: 300;
    color: #E2E8F0;
    letter-spacing: -1.8px;
    content: "___\a0\a0\a0___\a0\a0\a0\a0__\a0\a0\a0\a0__";
}

@media (max-width: 1000px) and (min-width: 768px) {
    .step-pin form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 47px;
    }

    .step-pin form button {
        margin-top: 28px;
    }
}

@media (max-width: 1000px) {
    .step-pin form {
        margin-top: 40px;
    }
}

.step-success .main, .step-error .main {
    min-height: 366px;
}

.step-success .main .img-step, .step-error .main .img-step {
    margin-bottom: 50px;
}

@media (max-width: 1000px) {
    .step-success .main .img-step, .step-error .main .img-step {
        display: none;
    }
}

.step-success .main .resend, .step-error .main .resend {
    display: inline-block;
    font-size: 16px;
    line-height: 24px;
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
    color: #33CEC0;
    margin-top: 32px;
}

@media (max-width: 1000px) {
    .step-success .main, .step-error .main {
        min-height: 130px;
    }
}

.step-success .support .title, .step-error .support .title {
    font-size: 16px;
    line-height: 24px;
    font-weight: 300;
}

.step-success .support a, .step-error .support a {
    font-size: 18px;
    line-height: 21px;
    font-weight: 700;
    text-decoration: none;
}

.err-msg {
    color: red;
    font-weight: bold;
    margin-bottom: 10px;
}

.stepBack {
    background: none;
    color: #718096;
}

.stepBack:hover {
    color: #33CEC0;
    background: none;
}