*,
*::before,
*::after{
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}
.page_wrap--learning-kit {
    --_border-color: #E4E6E9;
    --_text-color: #404040;
    --_space-between: 8px;
    --_active-color: #F1890E;
    --_inactive-color: #8E8E8E;
    --_progress-bar-inactive: #ccc;
    --_input-size: 14px;
    --_color-correct: #05B169;
    --_color-incorrect: #F84D4D;
    counter-reset: fieldset-counter;
    font: normal normal 400 16px/22px 'Proxima Nova', 'FontAwesome';
    color: var(--_text-color); 
}

.page_wrap--learning-kit form {
    padding: 5px;
}

.page_wrap--learning-kit form fieldset {
    border: none;
    outline: none;
    box-shadow: none;
    padding: 14px 16px;
    border-bottom: 1px solid var(--_border-color)
}
.page_wrap--learning-kit form fieldset ul {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    justify-content: flex-start;
    row-gap: var(--_space-between);
}
.page_wrap--learning-kit form fieldset ul li {
    position: relative;
    width: 100%;
    padding: 15px var(--_space-between);
    border: 1px solid var(--_border-color);
    border-radius: 4px;
}
.page_wrap--learning-kit form fieldset ul li input {
    position: absolute;
    top: 50%;
    left: var(--_space-between);
    transform: translateY(-50%);
    appearance: none;
    -webkit-appearance: none;
    padding: 0;
    border: none;
    outline: unset;
}
.page_wrap--learning-kit form fieldset ul li input::before {
    content: '';
    display: block;
    width: var(--_input-size);
    height: var(--_input-size);
    background: #fff;
    border: 1px solid var(--_inactive-color);
    border-radius: 2px;
}
.page_wrap--learning-kit form fieldset ul li input[type="radio"]::before {
    border-radius: 50%;
}
.page_wrap--learning-kit form fieldset ul li label {
    display: block;
    width: calc((100% - var(--_input-size)) - var(--_space-between));
    float: right;
}
.page_wrap--learning-kit form fieldset ul li.active {
    border-color: var(--_active-color)
 }
.page_wrap--learning-kit form fieldset ul li.active input::before {
    border-color: var(--_active-color);
    background: radial-gradient(var(--_active-color) 50%, transparent 0%);
}
.page_wrap--learning-kit form fieldset ul li.active input[type="checkbox"]::before {
    content: "\f00c";
    font-size: calc(var(--_input-size) - 30%);
    line-height: var(--_input-size);
    text-align: center;
    font-weight: 300;
    color: #fff;
    background-color: var(--_active-color);
}
.page_wrap--learning-kit form fieldset ul li.correct {
    --_border-color: var(--_color-correct);
}
.page_wrap--learning-kit form fieldset ul li.correct input::before {
    content: '\f00c';
    color: var(--_color-correct);
    font-size: 16px;
}
.page_wrap--learning-kit form fieldset ul li.incorrect {
    --_border-color: var(--_color-incorrect);
}
.page_wrap--learning-kit form fieldset ul li.incorrect input::before {
    content: '\f00d';
    color: var(--_color-incorrect);
    font-size: 20px;
}
.page_wrap--learning-kit form fieldset ul li.correct input::before,
.page_wrap--learning-kit form fieldset ul li.incorrect input::before {
    border: none;
    background: none;
    border-radius: 0;
    line-height: 1;
    appearance: none;
    -webkit-appearance: none;
}
.page_wrap--learning-kit form fieldset p {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 4px;
    margin-bottom: var(--_space-between);
    font-weight: 600;
}

.page_wrap--learning-kit form fieldset p.question-title {
    counter-increment: fieldset-counter;
}

.page_wrap--learning-kit form fieldset p.question-title::before {
    content: counter(fieldset-counter) ". ";
}

.page_wrap--learning-kit form fieldset.error{
	border: solid 1px #cc0000;
    box-shadow: 0 0 3px #cc0000;
    margin-bottom: 10px;
}

.page_wrap--learning-kit form fieldset .error-message {
    display: none;
    color: #cc0000;
    font-size: 14px;
}

.page_wrap--learning-kit form fieldset.error .error-message {
    display: block;
}

.page_wrap--learning-kit form .submit_cont {
    position: sticky;
    bottom: 0;
    padding: 32px 16px;
    background: #fff;
    border-top: 1px solid var(--_border-color);
}
.page_wrap--learning-kit form .submit_cont input {
    display: block;
    width: 100%;
    color: #fff;
    font-weight: 600;
    font-size: 18px;
    background: var(--_active-color);
}
.page_wrap--learning-kit form .submit_cont input[disabled] {
    background: #00000029;
}
.page_wrap--learning-kit .progress_bar {
    position: relative;
    padding-block: 16px;
    max-width: calc(100% - 32px);
    margin-inline: auto;
    border-bottom: 1px solid var(--_border-color);
}
.page_wrap--learning-kit .progress_bar h2,
.page_wrap--learning-kit .progress_bar .progress_txt {
    position: absolute;
}
.page_wrap--learning-kit .progress_bar h2 {
    font-weight: 600;
    font-size: 16px;
}
.page_wrap--learning-kit .progress_bar .progress_txt {
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    font-size: 40px;
    font-weight: 800;
    text-align: center;
    margin-inline: auto;
}
.page_wrap--learning-kit .progress_bar .graph_wrapper {
    position: relative;
    height: 140px;
}
.page_wrap--learning-kit .progress_bar .graph_wrapper svg {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
}

.page_wrap--learning-kit .progress_bar .graph_wrapper svg mask rect  {
    -webkit-transform-box: fill-box;
    transform-box: fill-box;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
}

.page_wrap--learning-kit .progress_bar .progress_details {
    text-align: center;
    font-size: 14px;
}
.page_wrap--learning-kit .progress_bar .progress_details .results {
    font-weight: 800;
}
  
.learning-kit-result .tally {
    display: block;
    font-weight: 800;
    font-size: 14px;
    text-decoration: underline;
    margin-bottom: 8px;
}
.learning-kit-result .tally.correct {
    color: var(--_color-correct); 
}
.learning-kit-result .tally.incorrect {
    color: var(--_color-incorrect); 
}
  
.learning-kit-result .reference_vid_cont {
    display: block;
    background-color: #DEE4EB;
    color: #000;
    padding: 16px;
    font-weight: 800;
    margin-top: 12px;
    border-radius: 4px;
}
.learning-kit-result .reference_vid_cont > div {
    display: flex;
    column-gap: 10px;
}
.learning-kit-result .reference_vid_cont a {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: auto;
    border-radius: 4px;
    margin-top: 12px;
    padding: 8px 12px;
    font-weight: 400;
    text-decoration: none;
    color: inherit;
    background-color: #fff;
}
.learning-kit-result .reference_vid_cont a::before, .learning-kit-result .reference_vid_cont a::after {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}
.learning-kit-result .reference_vid_cont a::before {
    content: url("../images/link.svg");
    margin-right: 10px;
    top: 1px;
}
.learning-kit-result .reference_vid_cont a::after {
    content: "~";
    top: 3px;
}
  
.learning-kit-result input {
    pointer-events: none;
}
  
  .learning-kit-result input:not(.correct)::before,
  .learning-kit-result input:not(.incorrect)::before {
    content: "";
    border: none; }
  
.learning-kit-result .submit_cont {
    display: flex;
    justify-content: space-between;
}
.learning-kit-result .submit_cont button {
    font-size: 18px;
    font-weight: 800;
    color: #fff;
    padding: 8px;
    border-radius: 4px;
    width: 100%;
    max-width: 164px;
    border: 2px solid var(--_active-color);
    background-color: var(--_active-color);
}
.learning-kit-result .submit_cont button:first-child {
    color: var(--_active-color);
    background-color: #fff; 
}

.mfp-bg.mfp-ready{
    width: 101% !important;
}

.page_callan_reading_training .box-q-a {
    padding: 0;
    position: relative;
    border-radius: 12px 12px 0 0;
    font-family: 'Proxima Nova', sans-serif;
    color: #404040;
}

.page_callan_reading_training .box-q-a .sec-q-a {
    padding: 16px;
    position: relative;
    overflow: scroll;
    box-sizing: border-box;
    overflow-y: scroll;
    overflow-x: hidden;
    max-height: 100%;
    height: calc(100vh - 0px - 170px);
    padding-bottom: 120px;
}

.page_callan_reading_training .box-q-a .sec-q-a::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 7px;
}

.page_callan_reading_training .box-q-a .sec-q-a::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: rgba(0, 0, 0, 0.4);
    box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
}

.page_callan_reading_training .box-q-a .sec-q-a .title-wrap {
    display: flex;
    justify-content: center;
    position: relative;
    padding-bottom: 15px;
}

.page_callan_reading_training .box-q-a .sec-q-a .title-wrap .selected-box {
    margin: 0;
    font-size: 18px;
    font-weight: bold;
}

.page_callan_reading_training .box-q-a .sec-q-a .title-wrap:after {
    content: '';
    height: 1px;
    width: 110%;
    position: absolute;
    background: #E4E6E9;
    bottom: 0;
}

.page_callan_reading_training .box-q-a .sec-q-a .title-wrap .q-a-num {
    color: #092846;
    padding: 0 5px 10px;
    position: absolute;
    right: 0;
    font-size: 14px;
    top: 50px;
}

.page_callan_reading_training .box-q-a .sec-q-a .title-wrap .q-a-num .cur-num {
    font-weight: bold;
}

.page_callan_reading_training .box-q-a .sec-q-a .txt-2 {
    margin-top: 30px;
    padding: 0;
    margin-bottom: 30px;
    line-height: 2;
    font-size: 14px;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .q-a-box {
    margin-top: 16px;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .q-a-box:nth-child(2n+1) {
    display: flex;
    justify-content: flex-start;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .q-a-box:nth-child(2n) {
    display: flex;
    justify-content: flex-end;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .question,
.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .answer {
    width: 319px;
    padding: 16px;
    border-radius: 15px;
    font-size: 1.8rem;
    font-weight: bold;
    font-size: 14px;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .question {
    border: #1A5DE4 2px solid;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .answer {
    border: #FE434C 2px solid;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .question .title,
.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .answer .title {
    padding: 0 0 5px;
    margin: 0 0 16px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .question .title {
    color: #1A5DE4;
    border-bottom: #1A5DE4 1px solid;
    line-height: 20px;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .answer .title {
    color: #FE434C;
    border-bottom: #FE434C 1px solid;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .ex-voice {
    padding: 9px 16px 8px 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    border-radius: 100px;
    transition: .2s all linear;
    position: relative;
    font-weight: normal;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .ex-voice:hover {
    opacity: .6;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .ex-voice:before {
    content: url('../../images/mobapp/teacher/learningkit/speaker.svg');
    margin-right: 8px;
    padding-top: 2px;
    position: absolute;
    left: 14px;
    top: 9px;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .question .title .ex-voice {
    background: #1A5DE4;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .answer .title .ex-voice {
    background: #FE434C;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .text span:not(:first-child) {
    padding-left: 5px;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .text .no-padding {
    padding-left: 0 !important;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap i {
    font-style: normal;
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    color: #00CDA8;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap i:before {
    content: url('../images/learningkit/callan-reading-training/correct.svg');
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap i.false {
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    color: #FE434C;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap i.false:before {
    content: url('../images/learningkit/callan-reading-training/incorrect.svg');
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .text {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    line-height: 1.6;
    font-size: 16px;
    font-weight: normal;
}

.page_callan_reading_training .box-q-a-result .sec-q-a {
    height: calc(100vh - 0px - 145px);
    max-height: 100%;
}

.page_callan_reading_training .box-q-a-result .sec-q-a .q-a-wrap .text {
    line-height: 1;
}

.page_callan_reading_training .box-q-a .sec-record .timer-wrap {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(100% + -15px);
    width: 343px;
    height: 40px;
    border: 1px solid #E4E6E9;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #FFF;
    padding: 0 16px;
}

.page_callan_reading_training .box-q-a .sec-record .timer-wrap .progress-bar-wrap {
    margin-left: 10px;
    border-radius: 100px;
    overflow: hidden;
    background: #EEEEEE;
    flex: 1;
    height: 11px;
}

.page_callan_reading_training .box-q-a .sec-record .timer-wrap .progress-bar-wrap .progress-bar {
    background: #FF8200;
    height: 100%;
    width: 100%;
}

.page_callan_reading_training .box-q-a .sec-record {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 168px;
    position: relative;
    bottom: 0;
    left: 0;
    right: 0;
}

.page_callan_reading_training .box-q-a .sec-record .btn-record {
    background: #FE434C;
    width: 70px;
    height: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    margin: 0 auto 8px;
    cursor: pointer;
    transition: .2s all linear;
    position: relative;
}

.page_callan_reading_training .box-q-a .sec-record .btn-record:before {
    content: "";
    display: block;
    background: url(../../images/mobapp/teacher/learningkit/mic.svg) no-repeat center center;
    background-size: contain;
    width: 22px;
    height: 34px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.page_callan_reading_training .box-q-a .sec-record .btn-record:hover {
    opacity: .6;
}

.page_callan_reading_training .box-q-a .sec-record .btn-record-text {
    color: #FE434C;
    font-size: 14px;
}

.page_callan_reading_training .box-q-a .sec-record .status-recording .btn-record {
    background: #1A5DE4;
}

.page_callan_reading_training .box-q-a .sec-record .status-recording .btn-record:before {
    content: "";
    display: block;
    background: url(../../images/mobapp/teacher/learningkit/box-white.svg) no-repeat center center;
    background-size: contain;
    width: 22px;
    height: 34px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.page_callan_reading_training .box-q-a .sec-record .status-recording .btn-record:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    border-radius: 50%;
    transition: .2s linear all;
}

.page_callan_reading_training .box-q-a .sec-record .status-recording .btn-record:hover:after {
    border: 9px rgba(26, 93, 228, .3) solid;
}

.page_callan_reading_training .box-q-a .sec-record .status-recording .btn-record-text {
    color: #1A5DE4;
}

.page_callan_reading_training .box-q-a .sec-record .status-proceed .btn-record {
    background: #F1890E;
}

.page_callan_reading_training .box-q-a .sec-record .status-proceed .btn-record:before {
    content: "";
    display: block;
    background: url(../../images/mobapp/teacher/learningkit/right-arrow.svg) no-repeat center center;
    background-size: contain;
    width: 22px;
    height: 34px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.page_callan_reading_training .box-q-a .sec-record .status-proceed .btn-record-text {
    color: #F1890E;
}

.page_callan_reading_training .box-q-a .bar {
    background: #FF8200;
    color: #FFF;
    width: 343px;
    margin: 40px auto 0;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 20px;
    padding: 13px;
}

.page_callan_reading_training .box-q-a .bar.bar-orange {}

.page_callan_reading_training .box-q-a .item-audio {
    display: none;
}

.page_callan_reading_training .sec-btn {
    background: #FFFFFF;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px 16px;
    column-gap: 15px;
}


.page_callan_reading_training .btn-pronunciation {
    border: #FF8200 2px solid;
    border-radius: 19px;
    font-size: 14px;
    font-weight: normal;
    background: #FFF;
    color: #FF8200;
    width: max-content;
    padding: 9px 16px 9px 42px;
}

.page_callan_reading_training .btn-pronunciation:before {
    content: "";
    display: block;
    background: url(../../images/mobapp/teacher/learningkit/speak.svg);
    background-size: contain;
    width: 18px;
    height: 16px;
    margin-right: 8px;
    position: absolute;
    left: 21px;
    top: 11px;
}

.page_callan_reading_training .btn-border-navy {
    border: #092846 2px solid;
    background: #FFF;
    color: #092846;
}

.page_callan_reading_training .btn-arrow:after {
    content: url('../images/learningkit/callan-reading-training/right.svg');
    margin-left: 43px;
}

.page_callan_reading_training .sec-btn .btn+.btn {
    margin-left: 60px;
}

/* modal */
.dialog-callan-training {
    width: 540px;
    padding: 50px 0;
    border: none;
}

.dialog-callan-training .modal-ttl {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: center;
}

.dialog-callan-training .modal-txt {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 40px;
}

.dialog-callan-training .btn-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}

.dialog-callan-training .btn {
    width: 200px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.8rem;
    border-radius: 15px;
    transition: .2s all linear;
    border-radius: 100px;
}

.dialog-callan-training .btn:hover {
    opacity: .6;
}

.dialog-callan-training .btn+.btn {
    margin-left: 40px;
}

.dialog-callan-training .btn-gray {
    background: #B4C3CC;
    color: #FFF;
}

.dialog-callan-training .btn-border-gray {
    border: #B4C3CC 2px solid;
    color: #B4C3CC;
}

.page_callan_reading_training .close-btn-wrap {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
}

.page_callan_reading_training .box-q-a .sec-record .timer-wrap img {
    width: 24px;
    height: 21px;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap i {
    font-style: normal;
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    color: #00CDA8;
    border: none;
    background: none;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap i:before {
    content: url('../../images/mobapp/teacher/learningkit/correct.svg');
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap i.false {
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    color: #FE434C;
    border: none;
    background: none;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap i.false:before {
    content: url('../../images/mobapp/teacher/learningkit/incorrect.svg');
}

.page_callan_reading_training .btn-pronounce {
    position: relative;
    margin-top: 16px;
}

.page_callan_reading_training .btn-border-orange-0 {
    border: 2px solid #F1890E;
    color: #F1890E;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    padding: 8px;
    width: 164px;
    border-radius: 4px;
}

.page_callan_reading_training .btn-border-orange-1 {
    border: 2px solid #F1890E;
    color: #FFFFFF;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    padding: 8px;
    display: block;
    width: 164px;
    background: #F1890E;
    border-radius: 4px;
}

.page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .question .show-result, .page_callan_reading_training .box-q-a .sec-q-a .q-a-wrap .answer .show-result {
    font-size: 16px;
}