.elementor-96 .elementor-element.elementor-element-6d90b6e{--display:flex;}.elementor-96 .elementor-element.elementor-element-0b95c49{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-96 .elementor-element.elementor-element-bf1cb2d > .elementor-widget-container{margin:9px 9px 9px 9px;}body:not(.rtl) .elementor-96 .elementor-element.elementor-element-bf1cb2d{right:0px;}body.rtl .elementor-96 .elementor-element.elementor-element-bf1cb2d{left:0px;}.elementor-96 .elementor-element.elementor-element-bf1cb2d{bottom:0px;text-align:right;}.elementor-96 .elementor-element.elementor-element-bf1cb2d img{width:100%;height:100%;object-fit:contain;object-position:center center;}.elementor-96 .elementor-element.elementor-element-de48457{--display:flex;--min-height:0vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-96 .elementor-element.elementor-element-189e869{--display:flex;}.elementor-96 .elementor-element.elementor-element-0f0e0f2{width:100%;max-width:100%;top:0px;}body:not(.rtl) .elementor-96 .elementor-element.elementor-element-0f0e0f2{left:0%;}body.rtl .elementor-96 .elementor-element.elementor-element-0f0e0f2{right:0%;}html{height:100vh;margin:0;overflow:hidden;}body{height:100vh;overflow:auto;scroll-snap-type:y mandatory;}.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:end;scroll-snap-stop:normal;}@media(min-width:768px){.elementor-96 .elementor-element.elementor-element-0b95c49{--width:100%;}.elementor-96 .elementor-element.elementor-element-de48457{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-96 .elementor-element.elementor-element-de48457{--width:100vw;}}@media(max-width:1024px){.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:normal;}}@media(max-width:767px){.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:normal;}}/* Start custom CSS for container, class: .elementor-element-0b95c49 */.app-container {
    font-family: 'Noto Sans', sans-serif;
    font-size: var(--base-font-size); 
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    line-height: 1.5em;
    --base-font-size:60px;
}

.app-container .top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 2vw;
    height: 10vh;
}

.app-container .progress-bar-container {
    width: 100%;
    height: 4vh;
    background-color: #89878F;
    border-radius: 1.25em;
    overflow: hidden;
}

.app-container .progress-bar {
    height: 100%;
    background-color: #D5375D;
    transition: width 1s ease;
}

.app-container .control-buttons {
    display: flex;
    gap: 1vh;
}

.app-container .control-btn {
    background-color: #D5375D;
    border: none;
    border-radius: 50%;
    width: 4vh;
    height: 4vh;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.app-container .control-btn i {
    color: #FFFFFF;
    font-size: 2vh;
}

.app-container .main-content {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2vh 0;
    overflow: hidden;
}

.app-container .content-box {
    width: 90%;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    display: flex;
}

.app-container .global-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: calc(var(--base-font-size) * 2);
    font-weight: bold;
    text-align: center;
    margin-bottom: 0.5em;
    color: #ffffff !important;
}

.app-container h2, .app-container .section-title {
    font-family: 'Noto Sans', sans-serif;
    font-size: calc(var(--base-font-size) * 1.7);
    font-weight: bold;
    text-align: center;
    color: #4B426F;
}

.app-container h3 {
    font-family: 'Noto Sans', sans-serif;
    font-size: calc(var(--base-font-size) * 1.5);
    font-weight: bold;
    color: #4B426F;
}

.app-container h4 {
    font-family: 'Noto Sans', sans-serif;
    font-size: calc(var(--base-font-size) * 1.25);
    font-weight: bold;
    color: #4B426F;
}

.app-container ul, .app-container ol {
    font-family: 'Noto Sans', sans-serif;
    padding-left: 1.5em;
}

.app-container ul li::marker, .app-container ol li::marker {
    font-family: 'Noto Sans', sans-serif;
    font-weight: bold;
}

.app-container button {
    background-color: #A4E3E3;
    color: #000000;
    border: none;
    font-size: inherit;
    border-radius: 1.25em;
    cursor: pointer;
}

.app-container .bold {
    font-family: 'Noto Sans', sans-serif;
    font-weight: bold;
}

.app-container .bottom-bar {
    font-family: 'Noto Sans', sans-serif;
    display: flex;
    justify-content: center;
    padding: 0 2vw;
    height: 10vh;
    align-items: center;
}

.app-container .nav-buttons {
    font-family: 'Noto Sans', sans-serif;
    display: flex;
    gap: 3vh;
}

.app-container .nav-btn {
    background-color: #D5375D;
    border: none;
    border-radius: 50%;
    padding: 20%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.app-container .nav-btn i {
    color: #FFFFFF;
}

.app-container.home-page {
    background-color: #222134;
    color: #FFFFFF;
}


.app-container.course-page {
    background-color: #FFEADC;
    color: #4B426F;
}

.app-container.example-page {
    background-color: #FFFFE7;
    color: #4B426F;
}

.app-container.quiz-page {
    background-color: #ffffff;
    color: #4B426F;
}

.app-container .quiz-container {
    display: flex;
    flex-direction: row;
    gap: 4vh;
}

.app-container .quiz-question,
.app-container .quiz-options {
    flex: 1;
    max-width: 45%;
}


.app-container .quiz-question h3 {
    color: #FFFFFF;
}
.app-container .quiz-question {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #4B426F;
    color: #FFFFFF;
    padding: 1.25em;
    border-radius: 0.625em;
    font-family: 'Noto Sans', sans-serif;
    font-size: calc(var(--base-font-size) * 1.2);
    text-align: center;
}

.app-container .quiz-options {
    display: flex;
    flex-direction: column;
    gap: 3vh;
    justify-content: center;
}

.app-container .quiz-option {
    background-color: #FFEADC;
    border: 0.125em solid #4B426F;
    color: #4B426F;
    padding: 0.625em;
    border-radius: 3em;
    cursor: pointer;
    transition: background-color 0.3s ease;
    font-family: 'Noto Sans', sans-serif;
    font-size: calc(var(--base-font-size) * 1.2);
}

.app-container .quiz-feedback {
    margin-top: 1.25em;
    padding: 0.625em;
    border-radius: 0.3125em;
}

.app-container .quiz-feedback.incorrect {
    background-color: #FFE6E6;
    color: #D5375D;
}

.app-container .quiz-feedback.correct {
    background-color: #E6FFE6;
    color: #14741e;
}

.app-container.end-page {
    background-color: #222134;
    color: #FFFFFF;
}

.app-container .end-container {
    text-align: center;
}

.app-container .end-container h2, .app-container .end-container h3 {
    text-align: center;
    color: #FFFFFF;
}

.app-container .results-container {
    background-color: #76C5E3;
    padding: 1.25em;
    border-radius: 0.625em;
    margin-top: 1.25em;
}

.app-container .score {
    font-family: 'Noto Sans', sans-serif;
    font-size: calc(var(--base-font-size) * 1.5);
    font-weight: bold;
}

.app-container .stars-container {
    font-family: 'Noto Sans', sans-serif;
    font-size: calc(var(--base-font-size) * 1.5);
    margin-top: 0.625em;
}

.app-container .action-buttons {
    margin-top: 1.25em;
    display: flex;
    justify-content: center;
    gap: 1.25em;
}

.app-container .btn {
    background-color: #D5375D;
    color: #FFFFFF;
    border: none;
    border-radius: 1.25em;
    padding: 0.625em 1.25em;
    margin-top: 2em;
    font-family: 'Noto Sans', sans-serif;
    font-size: var(--base-font-size);
    cursor: pointer;
    transition: background-color 0.3s ease;
}


/* Table */
.NET-markdown-table {
    display: inline-block;
    max-width: 100%;
    width: auto;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    border-spacing: inherit;
    line-height: inherit;
    font-size: inherit;
    margin-bottom: 0px;
    border: 1px solid #ddd;
}

.NET-markdown-table th,
.NET-markdown-table td {
    border: 1px solid #ddd;
    text-align: center;
    padding: 0px 3px;
}

.NET-markdown-table th {
    background-color: #f5f5f5;
}

.home-page .NET-markdown-table th {
    color: #222134;
}

.NET-table-container {
    width: 100%;
    overflow-x: auto;
}


/* Style pour le modal */
.NET-modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.9);
}

/* Style pour l'image dans le modal */
.NET-modal-content {
    margin: auto;
    display: block;
    max-width: 90%;
    max-height: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Bouton fermer */
.NET-close-modal {
    position: absolute;
    right: 25px;
    top: 10px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
}

/* Media queries */
@media (max-width: 768px) {
    .app-container .quiz-container {
        flex-direction: column;
    }

    .app-container .quiz-question,
    .app-container .quiz-options {
        max-width: 100%;
    }

    .app-container .quiz-options {
        gap: 2vh;
    }

    #fullscreenToggle {
        display: none;
    }
}

/* temporary disable fullscreen and audio toggle */
#fullscreenToggle, #audioToggle {
    display: none;
}/* End custom CSS */