/*****************************************************************************************
                            Quiz Maker Custom CSS for IELTS
 *****************************************************************************************/

.ays-quiz-container.ielts {
    max-width: 100% !important;
    margin: 50px 0 100px 0 !important;
    padding-bottom: 0px !important;
}
.ays-quiz-container.ielts .ays-questions-container {
    padding-bottom: 50px;
}
.ays-quiz-container.ielts div.step {
    min-height: fit-content!important;
    padding-top: 10px;
}

.ays-quiz-container.ielts .ays-start-page {
    padding-top: 40px;
}

.ays-quiz-container.ielts .ays_thank_you_fs .ays-loader,
.ays-quiz-container.ielts .ays_thank_you_fs .ays_quiz_results_page {
    padding: 100px 0;
}

.ays-quiz-container.ielts p {
    margin-left: 0!important;
    margin-right: 0!important;
    padding: 0;
}

.ays-quiz-container.ielts table {
    border: 0.5px solid #000;
    border-radius: 0px;
}
.ays-quiz-container.ielts table td {
    border: 0.5px solid #000;
    padding: 5px 10px;
}
.ays-quiz-container.ielts table tr:last-child td:first-child {
    border-bottom-left-radius: 0px;
}
.ays-quiz-container.ielts table tr:last-child td:last-child {
    border-bottom-right-radius: 0px;
}
.ays-quiz-container.ielts table td.align-center {
    text-align: center;
}

.ays-quiz-container.ielts h1, .ays-quiz-container.ielts h2,
.ays-quiz-container.ielts h3, .ays-quiz-container.ielts h4 {
    font-family: Arial, Helvetica, sans-serif;
}
.ays-quiz-container.ielts h3 {
    margin-bottom: 0 !important;
    font-size: 17px;
}
.ays-quiz-container.ielts h2 {
    margin: 30px 0;
    font-size: 17px;
}
.ays-quiz-container.ielts .ays_thank_you_fs h1 {
    font-family: Kanit;
    margin-bottom: 30px;
    font-size: 30px;
}

.ays-quiz-container.ielts .ays_quiz_question section {
    border-radius: 4px;
    padding: .5em 1em;
    background: #f1f2ec;
    border: 1px solid #d5d5d5;
    margin: 10px 0 20px 0;
}

.ays-quiz-container.ielts .ays_quiz_question section h4 {
    font-size: 16px;
    margin-bottom: 0px !important;
}

.ays-quiz-container.ielts .ays_quiz_question section p {
    margin: 0px !important;
}

.ays-quiz-container.ielts .spacer {
    height: 30px;
}

.ays-quiz-container.ielts .flowchart-box {
    border: 1px solid black;
    padding: 0px 10px;
    border-radius: 4px;
    -webkit-box-shadow: 1px 2px 4px 1px rgba(0, 0, 0, .2);
    box-shadow: 1px 2px 4px 1px rgba(0, 0, 0, .2);
    margin: 0 20px 0 0;
    max-width: 500px;
}
.ays-quiz-container.ielts .flowchart-arrow {
    text-align: center;
    margin-bottom: 5px;
    font-size: 28px;
}

.ays-quiz-container.ielts .fullscreen-nav-wrap {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: white;
}

.ays-quiz-container.ielts .ays-quiz-answers div.ays-text-right-answer {
    margin-top: 30px;
    border: 2px solid #000000;
    background: #f5fbf7;
}

.ays-quiz-container.ielts .question-number {
    font-weight: bold;
    margin-right: .25rem;
    display: inline-block;
    padding: 4px 2px 3px;
    text-align: center;
    min-width: 1.3em;
    line-height: 1em;
    border-radius: 3px;
    border: 2px solid rgba(0, 0, 0, 0);
    white-space: nowrap;
}
.ays-quiz-container.ielts .question-number.active {
    border-color: #418ec8;
}

.ays-quiz-container.ielts .step:not(:first-of-type) .ays_buttons_div {
    display: none;
}


/*----------------------------------
        Question Navigation
----------------------------------*/

.ays-quiz-container.ielts nav {
    display: flex;
    flex-wrap: wrap; /* Base style for normal mode */
}
.ays-quiz-container.ielts nav.fullscreen {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: white;
}

/* Ensure container has padding when nav is fullscreen */
.ays-quiz-container.ielts:has(nav.fullscreen) .ays-questions-container {
    padding-bottom: 100px; 
}
/* Fallback for browsers without :has() support */
.ays-quiz-container.ielts.fullscreen-active .ays-questions-container {
    padding-bottom: 100px; /* Same value as :has() rule */
}

.ays-quiz-container.ielts nav button:focus {
    box-shadow: none;
}

.ays-quiz-container.ielts nav .section-wrap {
    display: flex;
    flex: 1;
    margin-right: 2px;
}
.ays-quiz-container.ielts nav .section-wrap.active {
    flex: 0 0 auto;
}
.ays-quiz-container.ielts nav .section-wrap:hover {
    background:#efefef;
}
.ays-quiz-container.ielts nav .section-wrap button {
    padding: 1em 1.25em;
    margin: 0;
    color: #000;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    outline: 0;
    text-decoration: none;
    background: none;
    font-size: 1em;
    border: none;
    width: 100%;
    position: relative;
}
.ays-quiz-container.ielts nav .section-wrap .attemptedCount {
    margin-left: 18px;
    color: #757575;
}

.ays-quiz-container.ielts nav .question-wrap {
    display: flex;
    margin-right: 10px;
}
.ays-quiz-container.ielts nav .question-wrap button {
    border: 2px solid rgba(0, 0, 0, 0);
    color: #000;
    outline: none;
    padding: calc(.4em - 4px) calc(.5em - 4px);
    white-space: pre;
    margin: auto 0;
    border-radius: 3px;
    text-decoration: none;
    background-color: rgba(0, 0, 0, 0);
    transition: none;
    position: relative;
}
.ays-quiz-container.ielts nav .question-wrap button:hover,
.ays-quiz-container.ielts nav .question-wrap button.active {
    border: 2px solid #418FC6;
    font-weight: bold;
    outline: 0;
    transition: none;
}

.ays-quiz-container.ielts nav .section-wrap .section-button.attempted:before,
.ays-quiz-container.ielts nav .section-wrap.active .section-button:before {
    content: "";
    display: block;
    position: absolute;
    width: calc(100% - 2px);
    height: 3px;
    background: #D7D7D7;
    top: -3px;
    left: 1px;
}
.ays-quiz-container.ielts nav .question-button:before {
    content: "";
    display: block;
    position: absolute;
    width: calc(100% + 1px);
    height: 3px;
    background: #D7D7D7;
    top: calc(-0.6em - 7px);
    left: 0;
}
.ays-quiz-container.ielts nav button.attempted:before {
    background: #358E14 !important;
}

.ays-quiz-container.ielts nav button.finish-button {
    display: flex;
    background: #efefef;
    color: #535353;
    margin-left: 1px;
    border: none;
    border-radius: 0px;
    outline: 0;
    padding: 1rem;
    margin: 0;
    transition: none;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    max-width: 5em;
}
.ays-quiz-container.ielts nav button.finish-button:hover {
    background: #262626;
    color: #FFFFFF;
}
.ays-quiz-container.ielts nav button.finish-button.complete {
    background: #333;
    color: #fff;
}

.ays-quiz-container.ielts nav .section-wrap.active .section-button {
    font-weight: bold;
}
.ays-quiz-container.ielts nav .section-wrap.active .attemptedCount {
    display: none;
}
.ays-quiz-container.ielts nav .section-wrap .question-wrap {
    display: none;
}
.ays-quiz-container.ielts nav .section-wrap.active .question-wrap {
    display: flex;
}


/*----------------------------------
        2 Column Layout
----------------------------------*/

.ays-quiz-container.ielts .responsive-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.ays-quiz-container.ielts .responsive-container .column {
    flex: 0 1 auto;
    max-width: 100%;
}

@media (max-width: 768px) {
    .ays-quiz-container.ielts .responsive-container .column {
        flex: 1 1 100%;
        max-width: 100%;
    }
}

/*----------------------------------
        Common Styles for .ays-text-input
----------------------------------*/

.ays-quiz-container.ielts .ays-text-input {
    padding: 3px !important;
    margin: 5px !important;
    font-size: 16px !important;
}

/* Placeholder Styling (Apply to All) */
.ays-quiz-container.ielts .ays-text-input::placeholder {
    text-align: center;
    color: #000;
    font-weight: 700;
}

/*----------------------------------
        Drag The Text
----------------------------------*/

.ays-quiz-container.ielts .dragthetext .draggable-choice {
    display: block;
    padding: 1px 7px;
    margin: 3px;
    border: 1px solid #c5c5c5;
    background: #fff;
    border-radius: 4px;
    cursor: move;
    user-select: none;
    width: fit-content;
    box-sizing: border-box;
}

.ays-quiz-container.ielts .dragthetext .draggable-choice:hover {
    border: 1px solid #0e98f0;
    -webkit-box-shadow: 0 3px 6px rgba(0,0,0,.1),0 3px 6px rgba(0,0,0,.15);
    box-shadow: 0 3px 6px rgba(0,0,0,.1),0 3px 6px rgba(0,0,0,.15);
}

.ays-quiz-container.ielts .dragthetext #draggable-choices-container {
    width: fit-content;
    padding: 2px 10px 2px 2px;
}

.ays-quiz-container.ielts .dragthetext .ays-text-input {
    border: 2px dashed #00000000;
    outline: 1px dashed #c5c5c5;
}

.ays-quiz-container.ielts .dragthetext .ays-text-input.active {
    border: 2px dashed #418ec8!important;
    outline: 0px;
}
.ays-quiz-container.ielts .dragthetext .ays-text-input.active.highlight-dragstart, 
.ays-quiz-container.ielts .dragthetext .ays-text-input.active.highlight-hasdata {
    border: 2px dashed #00000000 !important;
}

.ays-quiz-container.ielts .dragthetext .highlight-dragover {
    background-color: #e9e9e9!important;
}

.ays-quiz-container.ielts .dragthetext .highlight-dragstart {
    outline: 1px dashed #0e98f0!important;
}

.ays-quiz-container.ielts .dragthetext .highlight-hasdata {
    outline: 1px solid #0e98f0!important;
}

.ays-quiz-container.ielts .dragthetext .image-container {
    position: relative;
    width: 700px;
}
.ays-quiz-container.ielts .dragthetext .image-container img {
    width: 100%;
    display: block;
}
.ays-quiz-container.ielts .dragthetext .image-container .ays-text-input {
    position: absolute;
}

.ays-quiz-container.ielts .fillintheblanks .ays-quiz-fill-in-blank-input-right-wrong-answer,
.ays-quiz-container.ielts .dragthetext .ays-quiz-fill-in-blank-input-right-wrong-answer {
    display: inline-block;
    text-align: center;
    margin: 5px;
    border: solid 1px #000;
    background-color: #ade1bd;
}
.ays-quiz-container.ielts .dragthetext .image-container .ays-quiz-fill-in-blank-input-right-wrong-answer {
    position: absolute;
    background-color: #ade1bd;
}

.ays-quiz-container.ielts .ays_quiz_results #draggable-choices-container {
    display: none;
}

/*----------------------------------
        Fill in the Blank
----------------------------------*/

.ays-quiz-container.ielts .ays-text-input {
    border: 2px solid #00000000 !important;
    outline: 1px solid #959595;
}

.ays-quiz-container.ielts .ays-text-input.active {
    border: 2px solid #418ec8!important;
    outline: 0px;
    box-shadow: 0 0 1px #418ec8;
}

/*----------------------------------
        Radio and Checkbox
----------------------------------*/

.ays-quiz-container.ielts [data-type="radio"] .ays-field, 
.ays-quiz-container.ielts [data-type="checkbox"] .ays-field {
    margin-bottom: 1px !important;
    border-style: none !important;
}

.ays-quiz-container.ielts [data-type="radio"] .ays-field.checked_answer_div input:checked~label, 
.ays-quiz-container.ielts [data-type="checkbox"] .ays-field.checked_answer_div input:checked~label {
    background-color: #bbd8f0 !important;
}

.ays-quiz-container.ielts [data-type="radio"] .ays-field.ays_list_view_item input~label:before,
.ays-quiz-container.ielts [data-type="checkbox"] .ays-field.ays_list_view_item input~label:before {
    width: 15px;
    height: 15px;
    padding: 2px;
}

/*----------------------------------
        Explanation
----------------------------------*/

.ays-quiz-container.ielts .audio-script {
    margin-top: 30px;
    padding: 10px;
    border-radius: 4px;
    border: 2px solid #000;
    background: #f5fbf7;
}
.ays-quiz-container.ielts .audio-script h2 {
    font-weight: bold !important;
}
.ays-quiz-container.ielts .audio-script mark.ans {
    background-color: #ddeb92 !important;
    padding-right: 5px;
    margin: 0 5px;
}
.ays-quiz-container.ielts .audio-script mark.ans span.qno {
    font-size: 13px;
    vertical-align: top;
    padding: 0 5px;
    margin-right: 5px;
    border: solid;
    background-color: white;
}