:root {
    /* Couleurs */
    
    --theme--lightest-green:#EAF3D6;
    --theme--light-green:#C4DF86;
    --theme--green: #96C233;
    --theme--dark-green: #007A4E;
    
    --theme--correct:#22C55E;
    
    --theme--light-error:#FFDADA;
    --theme--error:#FC4141;
    --theme--dark-error:#C00000;
    
    /* box-shadow */
    
    --theme--box-shadow-btn: 0px 8px 0px -2px rgba(0,0,0,0.3);
    --theme--box-shadow-btn-hover: 0px 4px 0px -2px rgba(0,0,0,0.3);
    --theme-box-shadow-answer: 0px 10px 0px 0px rgba(0,0,0,0.3),0px -1px 0px 1px rgba(0,0,0,0.3);
    
}




/* BOUTONS */

.btn-primary {
    padding:0px;
    position:relative;
    box-sizing:border-box;
    border-radius:14px;
    cursor:pointer;
    border:none;
    max-width:340px;
    width:100%;
    background: linear-gradient(0deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.3) 49%, rgba(0,0,0,0) 50%);
    transition:background 1s ease-in-out;
}

.btn-primary .btn-content {
    transform: translateY(-5px);
    display:inline-block;
    text-transform: uppercase;
    font-size:18px;
    line-height: 20px;
    font-weight:700;
    text-align:center;
    color:white;
    padding: 15px 12px 15px 12px;
    border:1px solid var(--theme-green);
    width:100%;
    z-index:2;
    background-color:var(--theme--green);
    border-radius:14px;
    transition: background 0.2s ease-in-out, transform 0.2s ease-in-out;
}

.btn-primary:hover .btn-content {
    background-color:var(--theme--light-green);
    transform:translateY(-2px);
}

.btn-secondary {
    padding:0px;
    position:relative;
    box-sizing:border-box;
    border-radius:14px;
    cursor:pointer;
    border:none;
    max-width:340px;
    width:100%;
    background: linear-gradient(0deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.1) 49%, rgba(0,0,0,0) 50%);
    transition:background 0.2s ease-in-out;
    text-decoration:none;
}

.btn-secondary .btn-content {
    transform: translateY(-4px);
    display:flex;
    justify-content:center;
    align-items:center;
    text-transform: uppercase;
    font-size:18px;
    line-height:20px;
    font-weight:700;
    text-align:center;
    color:white;
    padding: 15px 12px 15px 12px;
    color:var(--theme--green);
    width:100%;
    z-index:2;
    background-color:white;
    border-radius:14px;
    transition: background 0.2s ease-in-out, transform 0.2s ease-in-out;
    border:1px solid #E3E2E3;
}

.btn-secondary:hover .btn-content {
    background-color:var(--theme--lightest-green);
    transform:translateY(-2px);
}

.btn-tertiary {
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    width:100%;
    max-width:340px;
    padding:15px 12px;
    border:1px solid white;
    color:white;
    text-decoration: none;
    border-radius:14px;
    text-transform: uppercase;
    background-color:var(--theme--dark-green);
    cursor:pointer;
    transition:background 0.3s ease-in-out, color 0.3s ease-in-out;
}

.btn-tertiary:hover {
    background-color:white;
    color:var(--theme--dark-green);
}

.btn-tertiary .btn-content {
    text-align:center;
    line-height: 1.2em;
}

.answer-active[data-is-correct="false"] .btn-content {
    background-color:var(--theme--light-error);
    border:1px solid var(--theme--error) !important;
}

.answer-active[data-is-correct="false"] {
    background-color:var(--theme--error);
    pointer-events:none;
}

.answer-active[data-is-correct="true"] .btn-content {
    background-color:var(--theme--green);
    border-color:var(--theme--green);
    color:white !important;
}

.answer-active[data-is-correct="true"] {
    background-color: var(--theme--dark-green);
    position:relative;
    pointer-events:none;
}

/* ENCOCHE BONNE RÉPONSE */

/*.answer-active[data-is-correct="true"]::before {
    content:url(https://quiz-bnp.disko.love/wp-content/themes/QuizBnp_1.0.0/assets/svg/true-little-format.svg);
    position:absolute;
    right:12px;
    top:0;
    bottom:6px;
    margin:auto 0px;
    height:18px;
    width:18px;
    z-index:1;
}*/

.answer-active[data-is-correct="true"]:hover .btn-content {
    background-color:var(--theme--green);
    border-color:var(--theme--green);
    color:white !important;
}

.answer-active[data-is-correct="false"]:hover .btn-content {
    background-color:var(--theme--light-error);
    border:1px solid var(--theme--error) !important;
}

/* === BASE === */
h1, h2, h3, h4, h5, h6 {
    margin:0;
}

html {
    height:100%;
    margin-top:0px !important;
}

body {
    position: relative;
    font-family: 'Roboto';
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4;
    height:100%;
    min-height: 100%;
    touch-action: pan-x pan-y;
}

main {
    height:100%;
}

.container-question {
    display:flex;
    width:100%;
    height:100%;
    position:relative;
    overflow: hidden;
}

.title-xl {
    font-family: 'BNPPSansCondensed', sans-serif;
    font-weight:400;
    font-size:72px;
    text-transform: uppercase;
    margin:0;
}

.title-l {
    font-family: 'BNPPSansCondensed', sans-serif;
    font-weight:400;
    font-size:54px;
    line-height:60px;
    text-transform: uppercase;
    margin:0;
}

.title-m {
    font-family: 'BNPPSansCondensed', sans-serif;
    font-weight:400;
    font-size:36px;
    line-height:1.4;
    text-transform: uppercase;
}

.p-question {
    text-align: center;
    font-weight:500;
    font-size:20px;
}

.p-xs {
    font-size:12px;
}

.light-green {
    color:var(--theme--light-green);
}

.green {
    color:var(--theme--green);
}

.dark-green {
    color:var(--theme--dark-green);
}

.black {
    color:black;
}

.strong {
    font-weight:700;
}

.bg-white {
    background-color:white;
}

.grey {
    color:#ADADAD;
}







/* === WELCOME SECTION === */

.welcome {
    display:flex;
    flex-direction:row;
    height:100%;
    width:100%;
    transition:transform 0.3s ease-in-out;
}

.welcome_left, .welcome_right {
    width:50%;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:40px 5%;
}

.welcome_left {
    gap:30px;
    align-items:baseline;
}

.welcome_right {
    background-color:var(--theme--dark-green);
    color:white;
    text-align:center;
    justify-content:center;
    transition:opacity 0.3s ease-in-out;
}

.welcome_intro-text {
    display:flex;
    flex-direction:column;
    gap:30px;
    margin-top:20px;
}

.welcome_intro-text br {
    display:none;
}

.btn-primary .bg-white {
    background-color:white;
}

.btn-primary .dark-green {
    color:var(--theme--dark-green);
}

p {
    margin:0;
}

.observatoirebnp-size {
    height:70px;
}

.energy-size {
    max-width:100%;
    max-height:240px;
}

.welcome_logos-mobile, .welcome_mobile-sticky-start {
    display:none;
}

/* QUESTIONS */

.question-container {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0px 8%;
    position: absolute;
    left: 0;
    top: 0;
    background: white;
    padding-top:120px;
    width: 100%;
}

.progress-bar_container {
    position:fixed;
    top:30px;
    left:0;
    right:0;
    margin:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:0px 8%;
    z-index:5;
}

.progress-bar_title-container {
    display:flex;
    flex-direction:row;
}

.progress-bar_title {
    text-transform: uppercase;
    font-size:14px;
}

.previous-question {
    position:absolute;
    left:8%;
    top:1px;
    border:none;
    background-color: rgba(0, 0, 0, 0);
    cursor:pointer;
}

.previous-question:hover {
    transform:scale(1.2);
}

.progress-bar_result .previous-question:hover {
    transform:unset;
}

.previous-question.hidden {
    opacity: 0;
    pointer-events: none;
}

.previous-question svg path {
    fill:#ADADAD;
}

.progress-bar_numbers {
    display:inline-block;
    line-height:24px;
    font-size:14px;
    color:var(--theme--dark-green);
}

.question-number_container {
    display:flex;
    flex-direction:row;
    gap:4px;
    justify-content:flex-start;
    width:100%;
}

.progress-bar-container {
    position:relative;
    width:100%;
    height:10px;
    background-color:#E6E7E6;
    margin-top:16px;
    border-radius:10px;
}

.progress-bar {
    content:'';
    position:absolute;
    width:0%;
    background-color:var(--theme--green);
    height:100%;
    border-radius:10px;
}

.progress-bar_result .progress-bar_numbers,
.progress-bar_result .progress-bar_title {
    color:white;
}

.progress-bar_result .previous-question path {
    fill:white;
}

.progress-bar_end .progress-bar::after {
    content:url(https://quiz-bnp.disko.love/wp-content/themes/QuizBnp_1.0.0/assets/svg/true.svg);
    position:absolute;
    right:-16px;
    background-color:var(--theme--green);
    height:32px;
    width:32px;
    top:0px;
    bottom:0px;
    margin:auto 0px;
    border-radius:50px;
}

.answers-container {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    width:100%;
    margin-bottom:32px;
}

.question-container .p-question {
    margin-bottom:40px;
}

.question-container .btn-secondary:hover .btn-content {
    border:1px solid var(--theme--green);
}

.question-container .btn-secondary .btn-content {
    color:black;
    font-size:16px;
    font-weight:400;
    padding:15px;
    text-transform:none;
    height:100%;
}

.enquete-credits {
    font-size:12px;
    color:var(--theme--dark-green);
    text-align:center;
}

.result-answer {
    position:absolute;
    bottom: 0;
    left: 0;
    width:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:12px;
    z-index:10;
    padding:10px 8%;
    transform: translateY(100%);
    transition:transform 0.3s ease-in-out;
}

.result-answer_layout {
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:8px;
    width:100%;
    max-width:340px;
}

.incorrect-answer {
    background-color:var(--theme--error);
}

.incorrect-answer .btn-content{
    background-color:var(--theme--dark-error);
}

.incorrect-answer .btn-primary:hover .btn-content {
    background-color:var(--theme--light-error);
    color:black;
}

.good-answer {
    background-color:var(--theme--dark-green);
}

.result-text {
    color:white;
    margin-bottom:-6px;
    font-size:26px;
}

/* QUESTION PT 2 */

.question_pt2 {
    position:absolute;
    top:0;
    left:0;
    height:100%;
    width:100%;
    padding-top:120px;
    background-color:var(--theme--dark-green);
    color:white;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    pointer-events:none;
    opacity:0;
    z-index:2;
    transition:opacity 0.3s ease-in-out;
}

.question_pt2 .question_pt2-explanation {
    text-align: center;
    margin-bottom:30px;
    line-height:20px;
    width: 100%;
    max-width: 700px;
    padding: 0 5%;
}

.question-pt2_active {
    pointer-events:all;
    opacity:1;
}


/* === PAGE DE FIN DU QUIZ === */

.quiz-end {
    position: absolute;
    inset: 0;
    width:100%;
    height:100%;
    max-height:100%;
    background-color:var(--theme--dark-green);
    color:white;
    padding:0px 5%;
    padding-top:120px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding-bottom:40px;
    gap:20px;
    text-align:center;
    overflow:hidden;
}

.quiz-end .title-xl {
    font-size:54px;
}

.quiz-end_active {
    min-height:100%;
    inset:unset;
    max-height:none;
    top:0;
    overflow:scroll;
}

.container-learn-more {
    background-color:white;
    border-radius:16px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:20px;
    padding:16px;
    color:black;
    width:100%;
}

.container-learn-more .mock-up {
    width:100%;
    max-width:230px;
}

.learn-more {
    text-align:center;
}

.test-again {
    color:white;
    cursor:pointer;
}

.score-container {
    display:flex;
    flex-direction:column;
    gap:10px;
    align-items:center;
}

.trophy-icon {
    display:none;
}

.question {
    transition:opacity 0.3s ease-in-out;
}

#question-0 .question-pt2_active {
    opacity:1 !important;
    pointer-events:all !important;
}

.question[data-expanded="false"] {
    pointer-events:none !important;
    opacity:0 !important;
}

.question[data-expanded="false"] .question-pt2_active {
    pointer-events:none !important;
    opacity:0 !important;
}


.question[data-expanded="true"] {
    pointer-events:all;
    opacity:1;
}


/* UTILS */

.mb-10 {
    margin-bottom:10px;
}

.mt-40 {
    margin-top:40px;
}

.mw-420 {
    max-width:420px;
}

.appear {
    transform:translateY(0);
}

.no-pointer-events {
    pointer-events:none;
}

.opacity0 {
    opacity:0;
    pointer-events:none;
}

@media screen and (max-width:768px) {
    .welcome {
        position:relative;
    }
    .welcome_left, .welcome_right {
        min-width:100%;
        width:100%;
        padding-bottom:15%;
    }
    .welcome_right {
        position:absolute;
        top:0;
        left:0;
        opacity:0;
        pointer-events:none;
        background-color:white;
        color:black;
    }
    .title-l, .title-xl {
        font-size:36px;
        line-height:42px;
    }
    .welcome_mobile-sticky-start {
        display:flex;
        align-items:center;
        justify-content:center;
        position:fixed;
        bottom:0;
        left:0;
        width:100%;
        height:15%;
        background-color:var(--theme--dark-green);
        padding: 0px 50px;
    }
    .welcome-next-step .welcome_right {
        opacity:1;
        pointer-events:all;
    }
    .welcome_right .btn-desktop-startquiz {
        display:none;
    }
    .observatoirebnp-size {
        height:35px;
        margin-bottom:0px;
    }
    .energy-size {
        max-width:100%;
        max-height:240px;
    }
    .welcome_left {
        padding:30px 8% 15% 8%;
        align-items:center;
    }
    .welcome_left .title-l {
        text-align:center;
    }
    .welcome_logos-mobile {
        position:absolute;
        top:30px;
        left:0;
        right:0;
        margin:0px auto;
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:20px;
    }
    .back-home_start {
        position:absolute;
        left:5%;
        background-color:transparent;
        border:none;
        cursor:pointer;
    }
    .back-icon {
        height:20px;
    }
    .question_pt2 .title-xl {
        font-size:52px;
    }
    .progress-bar_result .previous-question {
        opacity:0;
        pointer-events:none;
        transition: background 0.3s ease-in-out;
    }
}

@media screen and (min-width:769px) {
    .welcome_left {
        justify-content:center;
    }
    .welcome_intro-text br {
        display:block;
    }
    .question_pt2 {
        padding-top:0px;
    }
    .answers-container {
        display:grid;
        grid-auto-rows: minmax(52px, auto);
        grid-template-columns: 1fr 1fr;
        gap:12px 24px;
    }
    .answers-container .btn-secondary {
        height:100%;
        display:flex;
        margin: 0px 0px 0px auto;
    }
    .answers-container .btn-secondary:nth-child(even) {
      margin: 0px auto 0px 0px;
    }
    .progress-bar_container {
        padding:0px 15%;
    }
    .previous-question {
        left:10%;
        top:32px;
        transition: transform 0.2s ease-in-out;
    }
    .progress-bar_result .previous-question {
        opacity:0;
        pointer-events:none;
        transition: background 0.3s ease-in-out;
    }
    .previous-question svg {
        height:20px;
        width:16px;
    }
    .previous-question svg path {
        fill:var(--theme--dark-green);
    }
    .result-answer {
        padding: 40px 8%;
        align-items:center;
    }
    .result-answer_layout {
        justify-content:center;
    }
    .question-container {
        padding:0px 15%;
    }
    .p-question {
        font-size: 36px;
    }
    .progress-bar_container {
        top:50px;
    }
    .progress-bar_result .previous-question {
        height:32px;
        width:32px;
        background-color:white;
        border-radius:50px;
        display:flex;
        align-items:center;
        justify-content:center;
    }
    .progress-bar_result .previous-question svg {
        margin-left:-2px;
    }
    .progress-bar_result .previous-question path {
        fill: var(--theme--dark-green);
    }
    .progress-bar_result .progress-bar_title {
        margin-top:5px;
    }
    .progress-bar_result .previous-question:hover {
        border:1px solid white;
        background-color:transparent;
    }
    .progress-bar_result .previous-question:hover path {
        fill:white;
    }
    .progress-bar_result .progress-bar_container {
        top:45px;
    }
    /*.question-container .btn-secondary:hover .btn-content {
        border:1px solid #E6E7E6;
    }*/
    .container-learn-more .mock-up {
        max-width:240px;
    }
    .result-text {
        font-size:34px;
    }
    .quiz-end {
        padding:0px 15%;
        padding-top:120px;
        justify-content:center;
        padding-top:120px;
    }
    .quiz-end_active {
        overflow:hidden;
    }
    .test-again {
        padding-bottom:20px;
    }
    .container-learn-more {
        gap:24px;
        margin-top:10px;
        padding:24px 10%;
    }
    .trophy-icon {
        display:block;
        width:110px;
        height:110px;
        grid-area:b;
        margin-bottom:0px;
    }
    .score-container {
        width:100%;
        display:grid;
        grid-template-columns: 150px 1fr;
        grid-template-areas:
            "b a"
            "b c";
        gap:0px 48px;
    }
    .score-container .congrats {
        font-size:16px;
        text-align:left;
        grid-area:c;
    }
    .quiz-end .score {
        grid-area:a;
        text-align:left;
        font-size:60px;
    }
}

@media screen and (min-width:1400px) {
    .container-learn-more {
        padding:24px 20%;
    }
    .question-container {
        padding:0px 25%;
    }
    .quiz-end {
        padding: 120px 25% 0px 25%;
    }
    .progress-bar_container {
        padding:0px 25%;
    }
    .previous-question {
        left:20%;
    }
    .trophy-icon {
        width:130px;
        height:130px;
    }
    .quiz-end .score {
        font-size:72px;
    }
}

@media (max-width:400px) and (max-height:800px) {
    .welcome_left {
        gap:20px;
    }
    .logo-habitat {
        width:180px;
    }
    .welcome_left .energy-size {
        max-height:180px;
    }
    .welcome_left .title-l {
        line-height:38px;
    }
}