.test_body {
    margin-bottom: 60px;
}

.test_body h2 {
    color: #010101;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    margin: 0 0 35px;
    padding-left: 45px;
}

.test_body h3 {
    padding-left: 45px;
    line-height: 1;
    margin: 0 0 35px;
}

.test_body li {
    color: black;
    font-size: 16px;
    font-weight: bold;
    line-height: 25px;
    margin: 25px 0 10px;
    display: block;
    padding-left: 30px;
}

.test_body .test-question-image-wrapper {
    box-shadow: 0 0 0 1px #e5e5e5;
    margin: 30px 0 30px 30px;
}

.test_body li span {
    display:inline-block;
    width:100%;
}
.test_body li .counter {
    width:auto;
    clear:both;
    float:left;
    margin-left:-30px;
}

.test_body .question_pic_normal {
    height: 405px;
    left: -20px;
    margin: 0 0 22px;
    position: relative;
    width: 660px;
    overflow: hidden;
}

.test_body .question_pic_normal:after {
    background: rgba(0, 0, 0, 0) linear-gradient(to top, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%) repeat scroll 0 0;
    bottom: 0;
    content: "";
    height: 40px;
    position: absolute;
    width: 100%;
    z-index: 1;
}

.test_body .question_pic_normal:before {
    box-shadow: 0 0 0 1px rgba(0,0,0,0.05) inset;
    bottom: 0;
    content: "";
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: 2;
    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
}

.test_body .question_pic_normal span {
    bottom: 25px;
    color: white;
    display: block;
    font-size: 16px;
    left: 30px;
    position: absolute;
    z-index: 2;
}

/*.test_body .question_pic_small {*/
/*height: 235px;*/
/*left: -20px;*/
/*margin: 0 0 22px;*/
/*position: relative;*/
/*width: 320px;*/
/*box-sizing: border-box;*/
/*overflow: hidden;*/
/*}*/

.test_body .question_pic_small:after {
    background: rgba(0, 0, 0, 0) linear-gradient(to top, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%) repeat scroll 0 0;
    bottom: 0;
    content: "";
    height: 40px;
    position: absolute;
    width: 100%;
    z-index: 1;
}

.test_body .question_pic_small span {
    bottom: 15px;
    color: white;
    display: block;
    font-size: 16px;
    left: 20px;
    position: absolute;
    z-index: 2;
}

/*.test_body input[type="checkbox"]+label.for_question_pic {*/
/*background: rgba(0, 0, 0, 0) none repeat scroll 0 0;*/
/*display: inline-block;*/
/*left: -27px;*/
/*margin: 0 -10px 0 0;*/
/*position: relative;*/
/*}*/

/*.test_body input[type="checkbox"]:checked+label.for_question_pic {*/
/*background: none;*/
/*}*/

/*.test_body input[type="checkbox"]+.for_question_pic .question_pic_small:before {*/
/*box-shadow: 0 0 0 1px rgba(0,0,0,0.05) inset;*/
/*bottom: 0;*/
/*content: "";*/
/*height: 100%;*/
/*position: absolute;*/
/*width: 100%;*/
/*z-index: 2;*/
/*background: rgba(0, 0, 0, 0) none repeat scroll 0 0;*/
/*}*/

.test_body label.test-answer-image-type {
    float: left;
    padding: 0;
    margin-bottom: 10px;
}
.test_body label.test-answer-image-type img {
    width: 365px;
    height: 245px;
    z-index: 1;
    position: relative;
}
.test_body label.test-answer-image-type .test-answer-pseudo {
    padding: 0;
    position: relative;
    display: block;
    overflow: hidden;
}

.test_body label.test-answer-image-type input:checked+ .test-answer-pseudo:before {
    box-sizing: border-box;
    width: 365px;
    position: absolute;
    z-index: 10;
    height: 245px;
    box-shadow: 0 0 0 4px #8fd300 inset;
    content: '';
    top: 0;
}

.test_body label.test-answer-image-type.right-answer .test-answer-pseudo  {
    background-color: rgba(143, 211, 0, 0.2);
}

.test_body label.test-answer-image-type.right-answer input:checked+ .test-answer-pseudo  {
    background-color: #8fd300;
}

.test_body label.test-answer-image-type.fail-answer input:checked+ .test-answer-pseudo  {
    background-color: rgba(255, 0, 0, 0.1);
}

.test_body label.test-answer-image-type .test-answer-image-text {
    background: rgba(0, 0, 0, 0) linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.45) 27%, rgba(0, 0, 0, 0) 100%) repeat scroll 0 0;
    bottom: 0;
    box-sizing: border-box;
    color: #fff;
    font-size: 16px;
    left: 0;
    padding: 25px 15px 15px;
    position: absolute;
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
    width: 365px;
    z-index: 1;
}

.test_body label.test-answer-image-type:nth-of-type(2n+1) {
    margin-left: 30px;
    margin-right: 10px;
}

.test_body input[type="checkbox"]:checked+.for_question_pic .question_pic_small:before {
    box-shadow: 0 0 0 5px #8fd300 inset;
    bottom: 0;
    content: "";
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: 2;
    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
}

.test_body input[type="checkbox"], .test_body input[type="radio"] {
    left: -9999px;
    position: absolute;
}

.test_body input[type="checkbox"]~.pseudo, .test_body input[type="radio"]~.pseudo {
    cursor: pointer;
    font-weight: normal;
    left: 8px;
    position: absolute;
}
.test_body input[type="checkbox"]~.pseudo::before,
.test_body input[type="radio"]~.pseudo::before {
    content: '';
    position: absolute;
    top: 2px;
    width: 15px;
    height: 15px;
    box-sizing: border-box;
    border: 1px solid rgba(125, 125, 125, 0.6);
    background-color: #fff;
    -webkit-transition: all 0.15s ease 0s;
    transition: all 0.15s ease 0s;
}
.test_body input[type="radio"]~.pseudo::before {
    border-radius: 50%;
}

.test_body input[type="checkbox"] + .pseudo:hover::before, .test_body input[type="radio"] + .pseudo:hover::before {
    box-shadow: 0 0 0 4px rgba(143, 211, 0, 0.2);
}

.test_body input[type="checkbox"]:checked~.pseudo::before,
.test_body input[type="radio"]:checked~.pseudo::before {
    background-color: #8fd300;
    border: none;
    box-shadow: none;
    -moz-animation-name: animation_input;
    -moz-animation-duration: 1.1s;
    -moz-animation-timing-function: cubic-bezier(0, 1.01, 1, 0.96);
    -moz-animation-delay: 0s;
    -moz-animation-iteration-count: 1;
    -moz-animation-direction: normal;
    -moz-animation-fill-mode: none;
    -moz-animation-play-state: running;
    -webkit-animation-name: animation_input;
    animation-name: animation_input;
    -webkit-animation-duration: 1.1s;
    animation-duration: 1.1s;
    -webkit-animation-timing-function: cubic-bezier(0, 1.01, 1, 0.96);
    animation-timing-function: cubic-bezier(0, 1.01, 1, 0.96);
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-fill-mode: none;
    animation-fill-mode: none;
    -webkit-animation-play-state: running;
    animation-play-state: running;
}

.test_body label.test-answer-text-type {
    margin-bottom: 10px;
    font-size: 16px;
    padding: 5px 10px 5px 40px;
    position: relative;
    margin-left: -10px;
    color: #626262;
}
.test_body label.test-answer-text-type.right-answer {
    background-color: rgba(143, 211, 0, 0.2);
}

.test_body label.test-answer-text-type.fail-answer {
    background-color: rgba(255, 0, 0, 0.1);
}

.test_body label.test-answer-text-type.fail-answer input[type="checkbox"]:checked~.pseudo::before,
.test_body label.test-answer-text-type.fail-answer input[type="radio"]:checked~.pseudo::before {
    background-color: rgba(255, 0, 0, 0.3);
}

.test_body label textarea {
    font-size: 16px;
    color: rgb(98, 98, 98);
    border: 1px solid rgb(204, 204, 204);
    min-width: 100%;
    min-height: 100px;
    margin: 0 0 10px;
}

.test_body .loyalty-rating {
    width: 115px;
    margin: -30px auto 20px;
    position: relative;
}

.test_body .loyalty-rating img {
    width: 100px;
}

.test_body .loyalty-rating .number {
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    font-size: 11px;
    background: #8fd300;
    color: #fff;
    position: absolute;
    bottom: 0;
    border-radius: 50%;
    right: 0;
}

.test_body .loyalty-rating .message {
    -webkit-transition: .2s all ease;
    transition: .2s all ease;
    position: absolute;
    background: #fff;
    z-index: 10;
    top: 10px;
    right: 135px;
    width: 200px;
    padding: 15px;
    font-size: 13px;
    box-shadow: 5px 0 20px -1px rgba(0,0,0,0.2);
    visibility: hidden;
    opacity: 0;
}

.test_body .loyalty-rating .message:after {
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(255, 255, 255, 0);
    border-left-color: #fff;
    border-width: 10px;
    margin-top: -10px;
}

.test_body .loyalty-rating:hover .message {
    visibility: visible;
    opacity: 1;
}

.test_body .error-plate {
    clear: both;
    background: #f6f6f6;
    box-shadow: 0 0 1px 0 rgba(0,0,0,0.1) inset;
    padding: 25px 0;
    margin: 25px 0;
    box-sizing: border-box;
}

.test_body .error {
    color: indianred;
}

.test_body .error-plate div {
    font-weight: normal;
    background: #f6f6f6;
    text-align: center;
    font-size: 16px;
    margin: 0;
}