.questionnaire {
    background-image: url(../img/questionnaire/banner.png);
    background-repeat: no-repeat;
    background-position: center top;
    padding: 500px 0 85px;
    background-color: #F9F9F9;
}

.questionnaire-form {
    background-color: #fff;
    background-image: url(../img/questionnaire/line.png);
    background-repeat: no-repeat;
    background-position: center top;
    padding: 0 100px 80px;
}

    .questionnaire-form .title {
        padding: 90px 0 90px;
        font-size: 30px;
        color: #333333;
        text-align: center;
    }

.match {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 30px 0;
    border-bottom: 1px solid #E5E5E5;
}

    .match .project .subtitle {
        font-size: 24px;
        color: #4C9ED9;
    }

    .match .project .subdesc {
        font-size: 14px;
        color: #666666;
        margin-top: 20px;
    }

    .match .steps {
        display: flex;
        align-items: center;
        padding-bottom: 25px;
    }

        .match .steps .step-line {
            width: 77px;
            height: 2px;
            background: #EFEFEF;
            margin: 0 10px;
        }

        .match .steps .step {
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            width: 40px;
            height: 40px;
            background: #EFEFEF;
            border-radius: 50%;
        }

            .match .steps .step .no {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 30px;
                height: 30px;
                background: #D7D7D7;
                border-radius: 50%;
                font-size: 14px;
                color: #666666;
            }

            .match .steps .step .name {
                display: flex;
                align-items: center;
                justify-content: center;
                position: absolute;
                bottom: -25px;
                white-space: nowrap;
                left: 50%;
                min-width: 80px;
                transform: translateX(-50%);
            }

            .match .steps .step.active {
                background: rgba(196, 159, 117, .5);
            }

                .match .steps .step.active .no {
                    background: #4C9ED9;
                    color: #fff;
                }

                .match .steps .step.active .name {
                    color: #4C9ED9;
                }

.questions {
    padding: 30px 0;
}

.question {
    padding: 30px 35px 30px;
    background: #F5F5F5;
    margin-bottom: 30px;
}

    .question .name {
        font-size: 20px;
        color: #333333;
        text-align: right;
        font-weight: bold;
        display: flex;
        position: relative;
        align-items: center;
    }

        .question .name + div {
            flex: 1;
        }

        .question .name .required {
            color: #D80922;
            font-size: 15px;
            position: absolute;
            left: -1em;
        }

    .question .options {
        display: flex;
        flex-wrap: wrap;
    }

        .question .options > input[type=checkbox],
        .question .options > input[type=radio] {
            display: none;
        }

            .question .options > input[type=checkbox] + label,
            .question .options > input[type=radio] + label {
                min-width: 360px;
                height: 60px;
                background: #FFFFFF;
                border: 1px solid #CCCCCC;
                border-radius: 10px;
                padding: 0 30px;
                font-size: 14px;
                color: #666666;
                display: flex;
                justify-content: center;
                align-items: center;
                margin-right: 22px;
                margin-top: 22px;
                position: relative;
                cursor: pointer;
                overflow: hidden;
            }

                .question .options > input[type=checkbox] + label:nth-child(3n),
                .question .options > input[type=radio] + label:nth-child(3n) {
                    margin-right: 0;
                }

            .question .options > input[type=checkbox]:checked + label,
            .question .options > input[type=radio]:checked + label {
                border: 1px solid #4C9ED9;
            }

                .question .options > input[type=checkbox]:checked + label:before,
                .question .options > input[type=radio]:checked + label:before {
                    content: "";
                    width: 0;
                    height: 0;
                    position: absolute;
                    right: 0px;
                    bottom: 0px;
                    overflow: hidden;
                    display: block;
                    z-index: 1;
                    border-bottom: 25px solid #4C9ED9;
                    border-left: 25px solid transparent;
                }

                .question .options > input[type=checkbox]:checked + label:after,
                .question .options > input[type=radio]:checked + label:after {
                    content: "";
                    position: absolute;
                    right: 4px;
                    bottom: 6px;
                    z-index: 2;
                    width: 8px;
                    height: 4px;
                    border: 2px solid #fff;
                    border-radius: 1px;
                    border-top: none;
                    border-right: none;
                    background: transparent;
                    transform: rotate(-45deg);
                }


    .question .remark {
        font-size: 14px;
        color: #666;
        padding: 15px 0 15px;
    }

    .question .select {
        display: flex;
        align-items: center;
        padding-top: 22px;
    }

        .question .select select {
            min-width: 322px;
            height: 32px;
            background: #FFFFFF;
            border: 1px solid #E5E5E5;
            appearance: none;
            -moz-appearance: none;
            -webkit-appearance: none;
            outline: none;
            background-image: url("../img/select-arrow.png");
            background-repeat: no-repeat;
            background-size: 14px 8px;
            background-position: right 10px center;
            padding: 0 1em;
        }

        .question .select .remark {
            font-size: 14px;
            color: #999999;
            margin-left: 15px;
        }

    .question .input {
        display: flex;
        align-items: center;
    }

        .question .input input[type=text] {
            min-width: 322px;
            height: 32px;
            background: #FFFFFF;
            border: 1px solid #E5E5E5;
            outline: none;
            padding: 0 1em;
        }

        .question .input .remark {
            font-size: 14px;
            color: #999999;
            margin-left: 15px;
        }

    .question .textarea {
        padding: 0;
    }

        .question .textarea textarea {
            width: 100%;
            background: #FFFFFF;
            border: 1px solid #E5E5E5;
            outline: none;
            padding: 1em 1em;
            resize: none;
        }

        .question .textarea .remark {
            font-size: 14px;
            color: #999999;
            margin-top: 8px;
        }

.btn-submit {
    width: 195px;
    height: 56px;
    background: #4C9ED9;
    border-radius: 5px;
    outline: none;
    border: 1px solid #4C9ED9;
    font-size: 16px;
    color: #FFFFFF;
    margin: 50px auto 0;
    display: block;
    cursor: pointer;
}


.questionnaire-modal {
    background: #FFFFFF;
    position: relative;
    width: 620px;
    height: 730px;
    background: #FFFFFF;
    background-image: url(../img/questionnaire/search.png);
    background-size: 173px 140px;
    background-position: center top 75px;
    background-repeat: no-repeat;
}

    .questionnaire-modal .modal-title {
        font-size: 30px;
        font-weight: bold;
        color: #4C9ED9;
        padding: 250px 0 20px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .questionnaire-modal .modal-subtitle {
        font-size: 20px;
        color: #666;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .questionnaire-modal .modal-close {
        position: absolute;
        display: inline-block;
        width: 12px;
        height: 12px;
        overflow: hidden;
        right: 30px;
        top: 22px;
        cursor: pointer;
    }

        .questionnaire-modal .modal-close::before, .questionnaire-modal .modal-close::after {
            content: '';
            position: absolute;
            height: 2px;
            width: 100%;
            top: 50%;
            left: 0;
            margin-top: -1px;
            background: #000;
        }

        .questionnaire-modal .modal-close::before {
            transform: rotate(45deg);
        }

        .questionnaire-modal .modal-close::after {
            transform: rotate(-45deg);
        }

    .questionnaire-modal .modal-main {
        padding: 0 90px;
    }

        .questionnaire-modal .modal-main .input-group {
            display: flex;
            align-items: center;
            margin-top: 15px;
        }

            .questionnaire-modal .modal-main .input-group > label {
                font-size: 14px;
                color: #666;
                width: 120px;
                text-align: right;
            }

                .questionnaire-modal .modal-main .input-group > label > span {
                    color: #4C9ED9;
                }


            .questionnaire-modal .modal-main .input-group .form-control {
                width: 321px;
                height: 57px;
                background: #F6F6F6;
                border: 1px solid #EEEEEE;
                border-radius: 8px;
                outline: none;
                padding: 0 1em;
                font-size: 16px;
                font-weight: 500;
                color: #999999;
            }


            .questionnaire-modal .modal-main .input-group .country-code {
                width: 321px;
                height: 57px;
                background: #F6F6F6;
                border: 1px solid #EEEEEE;
                border-radius: 8px;
                outline: none;
                padding: 0 1em;
                font-size: 16px;
                font-weight: 500;
                color: #999999;
            }

            .questionnaire-modal .modal-main .input-group select.form-control {
                appearance: none;
                -moz-appearance: none;
                -webkit-appearance: none;
                background-image: url("../img/select-arrow.png");
                background-repeat: no-repeat;
                background-size: 14px 8px;
                background-position: right 10px center;
            }

        .questionnaire-modal .modal-main .tips {
            padding: 15px 0 15px 120px;
            font-size: 13px;
            color: #4C9ED9;
        }

        .questionnaire-modal .modal-main .btn-save {
            width: 250px;
            height: 50px;
            background: #4C9ED9;
            border: 1px solid #4C9ED9;
            outline: none;
            border-radius: 5px;
            font-size: 16px;
            color: #FFFFFF;
            margin: 30px 0 0 110px;
            cursor: pointer;
        }



@media (max-width: 1480px) {
    .questionnaire-form {
        padding: 0 100px 50px;
    }
}

@media (max-width: 1250px) {
    .questionnaire-form .title {
        padding: 70px 0 60px;
        font-size: 26px;
    }

    .question .name {
        width: 160px;
    }
}
