@import url("../components/star-rating.css");

.main {
    overflow: hidden;
    height: calc(100vh - var(--nav_height));
}

.full,
.full body {
    overflow: hidden;
}

.full .main {
    background-color: var(--white);
    z-index: 10000;
    height: 100%;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.reset_btn {
    position: absolute;
    background: transparent;
    border: none;
    width: 50px;
    font-size: 24px;
    top: 24px;
    left: 24px;
    cursor: pointer;
}

.buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
}

.buttons .btn.active,
.buttons .btn.active h3 {
    color: var(--blue_text) !important;
}

.buttons .btn {
    text-transform: none;
    color: var(--main);
    font-weight: var(--main_bold_weight);
    font-size: 18px;
    text-align: center;
    display: flex;
}

.buttons .btn.active:hover {
    filter: none;
}

.buttons .btn.active::before {
    background-color: var(--lightblue);
    border-color: var(--blue_border);
    box-shadow: 0 2px 0 var(--blue_border);
}

.register_steps {
    overflow-y: auto;
    overflow-x: hidden;
    width: 100%;
    max-width: 1100px;
    padding: 0 24px;
    margin-left: auto;
    margin-right: auto;
}

.register_footer {
    border-top: var(--border);
    padding: 50px 0;
}


/* CHOOSE ROLE */

h3 {
    font-size: 20px;
}

.choose_role .btn img {
    width: 100%;
}

.choose_role p {
    color: var(--secondary);
}

.choose_role .btn.active p {
    color: var(--blue_text) !important;
}

.choose_role .btn {
    max-width: 250px;
    min-width: 250px;
    text-align: center;
    font-size: 17px;
    font-weight: var(--main_weight);
}

.obrazavr_anim_wrapper {
    top: 30%;
    opacity: 0;
    position: absolute;
    margin: auto;
}

.obr_talk {
    text-align: center;
    position: relative;
    padding: 15px 20px;
    font-size: 18px;
    color: var(--lighter_main);
    zoom: 0.1;
    opacity: 0;
}

.talk_wrap {
    position: absolute;
    top: 30%;
    transform: translate(0, -43px);
    height: 100px;
    width: max-content;
    justify-content: flex-end;
    align-items: center;
}

.talk_wrap.horiz  {
    transform: none;
    width: calc(100% - 140px);
    left: 140px;
    top: 60px;
    justify-content: center;
    align-items: flex-start;
    padding-right: 24px;
    padding-bottom: 0;
}

.talk_wrap.vert {
    max-width: calc(100% - 30px);
    width: 400px;
}

.talk_wrap.horiz .obr_talk,
.talk_wrap.vert .obr_talk {
    text-align: left;
}


.obr_talk::after {
    content: "";
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: -15px;
    height: 14px;
    width: 14px;
    background-color: var(--white);
    border-left: var(--border);
    border-bottom: var(--border);
    border-bottom-left-radius: 3px;
    transform: rotate(-45deg) translate(0, -50%);
}

.talk_wrap.horiz .obr_talk::after {
    top: 50%;
    left: -15px;
    transform: rotate(45deg) translate(0, -50%);
}

.obrazavr_anim {
    width: 410px;
    max-width: 100%;
}

/* QUESTIONS */

.progress_bar {
    opacity: 0;
    top: 24px;
    position: absolute;
    left: 24px;
    right: 24px;
}

.progress {
    position: relative;
    background-color: var(--gray);
    border-radius: 50vh;
    height: 15px;
    padding: 0 !important;
    overflow: hidden;
}

.progress span {
    display: inline-block;
    background-color: var(--green);
    height: inherit;
    position: absolute;
    width: 0;
}

.questions {
    position: absolute;
    bottom: 0;
    left: 15px;
    right: 15px;
    top: 0;
    bottom: 0;
    display: flex;
    overflow: hidden;
    align-items: center;
    justify-content: center;
}

.questions.short {
    top: 260px;
}

.question {
    position: relative;
    opacity: 0;
    left: 200px;
    padding: 24px 0;
    max-height: 100%;
    overflow-y: auto;
}

#choose_role {
    left: 0;
    opacity: 1;
}

.no_icons .btn {
    padding: 15px 24px;
}

.buttons.one_row .btn {
    min-width: 100%;
}

.buttons.two_rows .btn {
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: calc(50% - 12px);
    max-width: calc(50% - 12px);
}

.two_rows .btn img {
    width: 35px;
}

/* CHOOSE GRADE */

#grade_choose {
    max-width: 456px;
}

#grade_choose .buttons {
    width: 100%;
    gap: 17px;
}

#grade_choose .btn {
    justify-content: center;
    max-width: calc(33.3% - 11.3px);
    min-width: calc(33.3% - 11.3px);
}

#grade_choose .btn.big {
    max-width: calc(66.6% - 5.7px);
    min-width: calc(66.6% - 5.7px);
}

h2 {
    font-size: 30px;
}

#goals,
#offer,
#company,
#content {
    max-width: 700px;
}

/**/

#company img {
    min-width: 150px;
    max-width: 150px;
}

.big_text {
    font-size: 18px;
}

/**/

.offer {
    gap: 30px;
    padding: 24px;
    border-bottom: var(--border);
}

.offer:last-child {
    border-bottom: 0;
}

.offer img {
    min-width: 70px;
    max-width: 70px;
    height: 70px;
}

.offer h3 {
    font-size: 23px;
}

.offer .sec {
    font-size: 18px;
}

#time_a_day {
    max-width: 400px;
}

/**/

#review {
    max-width: 800px;
}

#review img {
    min-width: 300px;
    max-width: 300px;
}

.review_row {
    gap: 35px;
}

/* FORM */

#form {
    width: 100%;
    max-width: 340px;
}

#signup_form,
#signup_form div {
    display: flex;
    flex-direction: column;
}

.group {
    flex-direction: row !important;
    justify-content: space-between;
}

.group div {
    width: calc(50% - 5px);
}

.main label {
    margin-top: 24px;
    margin-bottom: 10px;
}

#vk,
#yandex,
#google {
    display: flex;
}

.error {
    text-align: center;
    display: none;
    color: var(--red);
    font-size: 14px;
    margin-top: 8px;
}

/* suggestion */
.final {
    background-color: var(--secondary_background);
}

.final .questions {
    position: static;
}

.final .main {
    height: auto;
}

@media (max-width: 700px) {
    .register_footer {
        padding: 24px 0;
    }

    #main_btn {
        min-width: 100%;
    }

    .choose_role .btn {
        flex-direction: row;
        text-align: left;
        gap: 24px;
        min-width: 100%;
        max-width: 100%;
        align-items: center;
    }

    .choose_role img {
        max-width: 120px;
        min-width: 120px;
    }
    .talk_wrap {
        transform: translate(0, -53px);
    }

    #goals .btn {
        font-size: 16px;
    }
    #goals .buttons {
        gap: 15px;
    }
    #review {
        max-width: 430px;
    }
    .review_row {
        gap: 24px;
        flex-direction: column;
    }
}

@media (max-width: 500px) {
    .obr_talk {
        padding-right: 15px;
        font-size: 16px;
    }
    .register_steps {
        padding: 0 15px;
    }

    .choose_role .btn {
        gap: 15px;
        padding: 11px;
        font-size: 16px;
    }

    .choose_role img {
        max-width: 100px;
        min-width: 100px;
    }
    #grade_choose {
        max-width: 100%;
    }
    #grade_choose .btn.big {
        min-width: calc(100%);
    }
    #grade_choose .btn {
        max-width: calc(100%);
        flex-grow: 1;
    }

    #goals .btn {
        min-width: 100%;
        max-width: 100%;
    }

    .offer {
        gap: 24px;
        padding: 24px 0;
    }

    .offer h3 {
        font-size: 20px;
    }
    .offer .sec {
        font-size: 16px;
    }
    .offer img {
        min-width: 55px;
        max-width: 55px;
    }

    #company .alc {
        flex-direction: column;
    }
}

@media (max-width: 428px) {
    .reset_btn {
        left: 0;
    }
}