*{
    box-sizing: border-box;
    outline: none;
}
a {
    text-decoration: none;
    color: inherit;
}
img{
    max-width: 100%;
    display: block;
}
ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
}
img[width='1'] {
    display: none;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type=number] {
    -moz-appearance:textfield;
}
body{
    margin: 0;
    position: relative;
    font-family: 'Open Sans', sans-serif;
    color: #000;
    overflow-x: hidden;
    background: #22252a;
}
.steps {
    width: 100%;
    height: 100vh;
    min-height: 51vw;
}
.step {
    width: 100%;
    height: 100%;
    display: flex;
}
.column {
    flex: 1 3;
}
.body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.step-1 .body {
    justify-content: center;
}
.girl, .questionnaire {
    position: relative;
    height: 100%;
}
.girl__image, .questionnaire__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right;
}
.girl-profile {
    position: absolute;
    right: .78vw;
    bottom: 1.04vw;
    width: 20.31vw;
    height: 7.81vw;
    display: flex;
    align-items: center;
    padding: 0 1.3vw;
    background: rgba(0, 0, 0, .6);
    border-radius: 30vw;
}
.progress-bar {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    width: 0;
    height: 15px;
    transition: width .3s ease-in-out;
    background-color: rgb(0, 182, 236);
}
.girl-profile__image {
    width: 5.57vw;
    height: 5.57vw;
    margin-right: 1.3vw;
    border-radius: 50%;
    overflow: hidden;
}
.girl-profile-data {
    font-size: .83vw;
    color: #fff;
    line-height: 2;
}
.girl-profile__name {
    font-size: 1.35vw;
    color: rgb(0, 182, 236);
    font-weight: 700;
    line-height: 1.7;
}
.girl-profile__online-status {
    display: flex;
    align-items: center;
}
.girl-profile__online-status:before {
    content: "";
    width: .83vw;
    height: .83vw;
    display: inline-block;
    margin-right: .83vw;
    border-radius: 50%;
    background: #00ffb6;
}

.questionnaire-profile {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    padding: 6.77vw 2.08vw 2.08vw;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    text-align: center;
}
.step-5 .questionnaire-profile, .step-6 .questionnaire-profile, .step-7 .questionnaire-profile, .step-8 .questionnaire-profile, .step-9 .questionnaire-profile, .step-10 .questionnaire-profile {
    padding-top: 3.77vw;
}
.logo {
    width: 19.79vw;
    height: 3.49vw;
    background: url("/fav/el/images/logo.png") no-repeat center;
    background-size: contain;
}
.title {
    font-size: 2.92vw;
    color: rgb(0, 182, 236);
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.2;
    font-family: 'Montserrat', sans-serif;
}
.title .block {
    display: block;
}
/*.step-1 .title {*/
/*    margin-top: 7vw;*/
/*}*/
.step-3 .title {
    font-size: 1.77vw;
    text-transform: none;
    margin: 4vh;
    line-height: 1.5;
}
.step-4 .title {
    font-size: 1.77vw;
    text-transform: none;
    margin: 5vh;
    line-height: 1.5;
}
.step-5 .title, .step-6 .title, .step-7 .title, .step-8 .title {
    font-size: 2.29vw;
    margin-bottom: 0;
}
.step-9 .title {
    font-size: 2.29vw;
}
.title span {
    display: block;
    font-size: 1.25vw;
    text-transform: initial;
    padding-top: 1.04vw;
}
.subtitle {
    flex-grow: 1;
    font-size: 1.25vw;
    color: #fff;
}
.subtitle.v2 {
    font-size: 2vw;
    margin: 0 0 1em;
}
.step-1 .subtitle {
    flex-grow: unset;
    margin: 2vw auto 5.21vw;
}
.step-2 .subtitle {
    margin: 2vh 2vw;
}
.step-10 .subtitle {
    margin: 0 4vw 1vw;
}
.subtitle__list {
    margin: 3vh 0;
}
.footer {
    min-height: 4.17vw;
    display: flex;
}
.footer__link {
    color: rgb(190, 190, 190);
    text-decoration: underline;
    font-size: .73vw;
    padding: 1vw 1.04vw;
    align-self: flex-end;
}
.btn {
    width: 9.64vw;
    height: 4.01vw;
    margin: 0 1.04vw 2.08vw;
    border: 0;
    border-radius: .63vw;
    box-shadow: 0 .21vw .63vw 0 rgba(40, 40, 40, 0.33);
    font-size: 1.67vw;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    cursor: pointer;
    transition: .3s;
}
.btn--blue {
    background: #00b6ec;
}
.btn--pink {
    background: #ef2f69;
}
.btn--big {
    width: 17.97vw;
}
.btn--blue:hover, .btn--blue:active {
    box-shadow: inset 0 .1vw 4.2vw 0 rgba(0, 0, 0, 0.33);
    background: #006fa2;
}
.btn--pink:hover, .btn--pink:active {
    box-shadow: inset 0 .1vw 4.2vw 0 rgba(0, 0, 0, 0.33);
    background: #9c002d;
}
.step-1 .btn, .step-5 .btn, .step-6 .btn, .step-7 .btn, .step-8 .btn, .step-9 .btn {
    margin-bottom: 0;
}

.select-wrap {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.select-block {
    display: flex;
    width: 21.35vw;
    justify-content: space-between;
    align-items: center;
}
.select-block:not(:last-child) {
    margin-bottom: 1.52vw;
}
.select-block__label {
    order: 1;
    color: #fff;
    font-size: 1.15vw;
}
.select-block__button {
    position: relative;
    order: 2;
    width: 3.39vw;
    height: 2.34vw;
    border-radius: 30vw;
    overflow: hidden;
}
.checkbox {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 3;
}
.knobs, .layer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    cursor: pointer;
}
.layer {
    width: 100%;
    background-color: #333333;
    box-shadow: inset 0 .21vw .42vw 0 rgba(0, 0, 0, 0.24);
    transition: 0.3s ease all;
    z-index: 1;
}
.knobs:before {
    content: "";
    z-index: 3;
    position: absolute;
    top: 0;
    left: 0;
    width: 2.34vw;
    height: 2.34vw;
    background-color: #5f5f5f;
    border-radius: 50%;
}
.checkbox:checked + .knobs:before {
    content: "";
    background: #00b6ec url("/fav/el/images/check.png")no-repeat center;
    background-size: contain;
    right: 0;
    left: unset;
}
.checkbox:checked ~ .layer {
    background-color: #284b55;
    box-shadow: inset 0 .21vw .42vw 0 rgba(0, 0, 0, 0.24);
}
.knobs, .knobs:before, .layer {
    transition: 0.3s ease all;
}

.subtitle__icon {
    width: 12.5vw;
    margin: 0 auto 1.3vh;
}
.input-wrap {
    flex-grow: 1;
}
.input-wrap input {
    display: block;
    height: 3.65vw;
    width: 17.97vw;
    margin: 0 auto 1.67vw;
    padding-left: 1.15vw;
    font-size: 1.15vw;
    color: rgba(30, 39, 45, 0.502);
    border-radius: .63vw;
    border: .21vw solid transparent;
}
.agree {
    color: rgb(190, 190, 190);
    font-size: .63vw;
    line-height: 1.4;
    margin: 0.6vw 0 1vw;
}
input.err {
    border-color: rgb(239, 47, 105);
    color: rgb(239, 47, 105);
}
input.err::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: rgb(239, 47, 105);
}
input.err::-moz-placeholder { /* Firefox 19+ */
    color: rgb(239, 47, 105);
}
input.err:-ms-input-placeholder { /* IE 10+ */
    color: rgb(239, 47, 105);
}
input.err:-moz-placeholder { /* Firefox 18- */
    color: rgb(239, 47, 105);
}
.subtitle__list--icons {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.subtitle__list--icons li {
    display: flex;
    align-items: center;
    opacity: 0;
    animation: fadeIn .3s linear;
    animation-fill-mode: forwards;
}
.subtitle__list--icons li:nth-child(1) {
    animation-delay: .5s;
}
.subtitle__list--icons li:nth-child(2) {
    animation-delay: 2s;
}
.subtitle__list--icons li:nth-child(3) {
    animation-delay: 4s;
}
.subtitle__list--icons li:nth-child(4) {
    animation-delay: 6s;
}
.subtitle__list--icons li:nth-child(5) {
    animation-delay: 8s;
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.subtitle__list--icons li:not(:last-child) {
    margin-bottom: 1.56vw;
}
.subtitle__list--icons li:before {
    content: "";
    width: 2.29vw;
    height: 2.29vw;
    margin-right: 1.56vw;
    border-radius: 50%;
    background: #00b6ec url("/fav/el/images/check.png") no-repeat center;
    background-size: contain;
}

@media screen and (max-width: 1024px) {
    .content {
        background: #22252a;
        height: 100vh;
    }

    .steps {
        height: 100%;
        min-height: unset;
    }

    .step {
        flex-wrap: wrap;
    }

    .step-1 .body {
        flex-grow: unset;
    }
    .column {
        flex: unset;
        width: 50%;
        height: 35vh;
    }
    .column:last-child {
        width: 100%;
        height: 65vh;
        min-height: unset;
    }
    .girl-profile, .questionnaire__image, .title span {
        display: none;
    }
    .questionnaire {
        background: #22252a;
    }
    .questionnaire-profile {
        position: relative;
        padding: 6.25vw 6.25vw 8.33vw!important;
        min-height: unset;
        justify-content: flex-start;
    }
    .body {
        flex-grow: unset;
    }
    .logo {
        height: 18.75vw;
        width: 54.17vw;
        position: absolute;
        left: 50%;
        top: -1.75vh;
        margin-top: 0;
        transform: translate(-50%, -100%);
        border-radius: 2.08vw;
        background: rgba(34, 37, 42, .9) url(/fav/el/images/logo.png) no-repeat center;
        background-size: 75%;
    }
    .step-5 .logo, .step-6 .logo, .step-7 .logo, .step-8 .logo, .step-9 .logo, .step-10 .logo {
        margin-top: 0;
    }
    .title {
        font-size: 8.33vw;
        margin: 0;
    }
    .title .block {
        display: inline-block;
        padding: 0 0.3em;
    }
    .step-1 .title {
        font-size: 9.17vw;
    }
    .step-3 .title {
        font-size: 5.42vw;
        line-height: 1.4;
        margin: 5.13vw 0;
    }
    .step-4 .title {
        font-size: 5.83vw;
        line-height: 1.4;
        margin: 2.5vh 0 5vh;
    }
    .step-5 .title, .step-6 .title, .step-7 .title, .step-8 .title {
        font-size: 5.9vw;
    }
    .step-9 .title {
         font-size: 6.67vw;
     }
    .step-10 .title {
        font-size: 7.33vw;
    }
    .subtitle {
        font-size: 4.17vw;
        line-height: 1.2;
        margin: 3.25vw 0;
    }
    .subtitle.v2 {
        font-size: 5vw;
    }
    .step-1 .subtitle {
        flex-grow: unset;
        margin: 5.83vh auto;
    }
    .step-2 .subtitle {
        margin: 6.25vw 0;
    }
    .step-9 .subtitle, .step-11 .subtitle {
        flex-grow: unset;
    }
    .step-10 .subtitle {
        font-size: 3.54vw;
        flex-grow: unset;
        margin: 1.13vw 0 3.13vw;
    }
    .btn {
        height: 15.64vw;
        width: 34.92vw;
        border-radius: 2.08vw;
        font-size: 5.83vw;
        margin: 0 3.13vw;
    }
    .btn--big {
        width: 83.33vw;
        font-size: 6.67vw;
    }
    .select-wrap {
        padding: 3vh 0;
        margin: 0 5vw;
    }
    .select-block {
        width: 100%;
    }
    .select-block:not(:last-child) {
        margin-bottom: 1vh;
    }
    .select-block__label {
        font-size: 4.38vw;
    }

    .select-block__button {
        width: 13.13vw;
        height: 6.67vw;
    }

    .knobs:before {
        width: 6.67vw;
        height: 6.67vw;
    }

    .footer {
        display: none;
        min-height: 11vw;
    }

    .step-1 .footer {
        display: flex;
    }
    .footer__link {
        font-size: 2.71vw;
        padding: 3.13vw 3.33vw;
    }
    .subtitle__icon {
        width: 24.42vw;
        margin: 3.13vw auto;
    }
    .step-9 .subtitle__list {
        margin: 0 0 5.42vw;
        font-size: 4vw;
    }
    .step-9 .subtitle__list li:nth-child(5) {
       display: none;
    }
    .input-wrap {
        flex-grow: unset;
    }
    .input-wrap input {
        height: 12.5vw;
        width: 83.33vw;
        margin: 0 auto 4.16vw;
        padding-left: 5.15vw;
        font-size: 4.58vw;
        border-radius: 2.08vw;
        border-width: .83vw;
    }
    .agree {
        font-size: 2.63vw;
        order: 1;
        margin: 4.17vw 0 0;
    }
    .subtitle__list--icons {
        width: 85%;
        height: auto;
        margin: 2vw auto 7vw;
    }

    .subtitle__list--icons li:before {
        width: 8.33vw;
        height: 8.33vw;
        margin-right: 5.21vw;
    }

    .subtitle__list--icons li:not(:last-child) {
        margin-bottom: 4.17vw;
    }
}

@media (max-height: 540px) and (max-width: 1024px), (min-width: 540px) and (min-height: 720px) {
    .content, .column, .column:last-child {
        height: auto;
    }
}

div.info{
    color: #fff;
}

@keyframes spinner-border {
    to { transform: rotate(360deg); }
}
.spinner-border.hidden {
    display: none;
}
.spinner-border {
    display: inline-block;
    width: 1em;
    height: 1em;
    color: #fff;
    vertical-align: text-bottom;
    border: 0.15em solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: spinner-border .75s linear infinite;
    animation: spinner-border .75s linear infinite;
    margin-right: 1em;
}
#frm{
    display: flex;
    justify-content: center;
}
#frm button{
    display: flex;
    align-items: center;
    justify-content: center;
}
.relative {
    position: relative;
}
.relative span#email-error{
    display: none;
    color: rgb(239, 47, 105);
    font-size: 0.7em;
    font-weight: bold;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
}