@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Work+Sans&display=swap');

html {
    box-sizing: border-box;
  }
  *,
  *:before,
  *:after {
    box-sizing: inherit;
  }

:root {
    /* color styles*/
    --primary-color: linear-gradient(90deg, rgba(191,153,255,1) 0%, rgba(129,181,235,1) 100%);
    --secondary: #7248D6;
    --tertiary: #372C51;
    --black: #180323;
    --white: #F4EEF5;

    /* font */
    --space-grotext: 'Space Grotesk', sans-serif;
    --work-sans: 'Work Sans', sans-serif;

    /* other */
    --padding: 1.5rem;

    --radius-24: 1.5rem;
    --radius-20: 1.2rem;

    --gap-16: 1rem;
    --gap-8: .5rem;
    --gap-20: 1.25rem;

    --width-100: 100%;
    --width-85: 85%;

    --margin-32: 2rem;
    --margin-28: 1.75rem;
    --margin-24: 1.5rem;
    --margin-20: 1.2rem;
    --margin-16: 1rem;
    --margin-8: .5rem;
}

body{
    background-color: var(--black);
    position: relative;
    /* faire gaffe dans les autres pages, je l'ai mis pour le scroll dans subject de base */
    /* overflow: hidden; */
    /* padding-top: 72px; */
    margin: 0;
}

.home-page{
    position: relative;
    max-height: 100vh;
    overflow-y: hidden;
}

.subject-page{
    position: fixed;
}

.fixe{
    position: sticky;
}


ul{
    list-style-type: none;
    padding: 0;
}

/* ---- Text style ---- */
h1, h2, h3{
    font-family: var(--space-grotext);
    margin-block: 0;
    color: var(--white);
}

h1{
    font-size: 24px;
    font-weight: 400;
}

h2{
    font-size: 20px;
    font-weight: 500;
}

h3{
    font-size: 16px;
    font-weight: 500;
}

h4{
    font-size: 14px;
    font-weight: 500;
}

p{
    margin-block: 0;
    color: var(--white);
}

.body, .body2{
    font-family: var(--work-sans);
}

.body{
    font-size: 16px;
}

.body2{
    font-size: 14px;
    font-weight: 400;
}

/* ---- Icons ---- */

.icon{
    display: inline-block;
    mask-size: cover;
    background: cover;
    mask-repeat: no-repeat;
    background-repeat: no-repeat;
    background: none;
    background-image: none;
    background-color: none;
}

.icon-24{
    height: 24px;
    width: 24px;
}

.icon-20{
    height: 20px;
    width: 20px;
}

.icon-04{
    height: 4px;
    width: 4px;
}

.icon-90{
    height: 90px;
    width: 90px;
}

.icon-primary {
  background: var(--primary-color);
}

.icon-white{
    background: var(--white);
}

.icon-black{
    background: var(--black);
}

.icon-search{
    mask-image: url("icons/search.svg");
    -webkit-mask-image: url("icons/search.svg");
}

.icon-notifications{
    mask-image: url("icons/notifications.svg");
    -webkit-mask-image: url("icons/notifications.svg");
}

.icon-arrow-right{
    mask-image: url("icons/arrow-right.svg");
    -webkit-mask-image: url("icons/arrow-right.svg");
}

.icon-home{
    mask-image: url("icons/home.svg");
    -webkit-mask-image: url("icons/home.svg");
}

.icon-collection{
    mask-image: url("icons/collection.svg");
    -webkit-mask-image: url("icons/collection.svg");
}

.icon-community{
    mask-image: url("icons/community.svg");
    -webkit-mask-image: url("icons/community.svg");
}

.icon-challenges{
    mask-image: url("icons/challenges.svg");
    -webkit-mask-image: url("icons/challenges.svg");
}

.icon-profil{
    mask-image: url("icons/profil.svg");
    -webkit-mask-image: url("icons/profil.svg");
}

.icon-double-flag{
    mask-image: url("icons/double-flag.svg");
    -webkit-mask-image: url("icons/double-flag.svg");
}

.icon-nav-round{
    mask-image: url("icons/nav-round.svg");
    -webkit-mask-image: url("icons/nav-round.svg");
}

.icon-arrow-left{
    mask-image: url("icons/arrow-left.svg");
    -webkit-mask-image: url("icons/arrow-left.svg");
}

.icon-flag{
    mask-image: url("icons/flag.svg");
    -webkit-mask-image: url("icons/flag.svg");
}

.icon-close{
    mask-image: url("icons/close.svg");
    -webkit-mask-image: url("icons/close.svg");
}

.icon-article{
    mask-image: url("icons/article.svg");
    -webkit-mask-image: url("icons/article.svg");
}

.icon-game{
    mask-image: url("icons/game.svg");
    -webkit-mask-image: url("icons/game.svg");
}

.icon-comment{
    mask-image: url("icons/comment.svg");
    -webkit-mask-image: url("icons/comment.svg");
}

.icon-heart{
    mask-image: url("icons/heart.svg");
    -webkit-mask-image: url("icons/heart.svg");
}

.icon-save{
    mask-image: url("icons/save.svg");
    -webkit-mask-image: url("icons/save.svg");
}

.icon-more{
    mask-image: url("icons/more.svg");
    -webkit-mask-image: url("icons/more.svg");
}

.icon-send{
    mask-image: url("icons/send.svg");
    -webkit-mask-image: url("icons/send.svg");
}

.icon-add{
    mask-image: url("icons/add.svg");
    -webkit-mask-image: url("icons/add.svg");
}

.icon-play{
    mask-image: url("icons/play.svg");
    -webkit-mask-image: url("icons/play.svg");
}

.icon-progression-75{
    mask-image: url("icons/progression-75.svg");
    -webkit-mask-image: url("icons/progression-75.svg");
}

.activity-button{
    padding: 8px 12px;
    background-color: var(--tertiary);
    border: none;
    border-radius: var(--radius-24);
    display: flex;
    align-items: center;
}

/* ------- Composants ------- */

/* --- Tags --- */

.tags{
    background-color: var(--secondary);
    border-radius: 8px;
    width: fit-content;
    padding: 4px 10px;
}

/* --- Cards --- */

.card-test{
    position: absolute;
    bottom: 0;
    background-color: blueviolet;

    max-width: 400px;
    min-width: 300px;
    width: var(--width-100);

    aspect-ratio: 1/1;
    border-radius: 1.5rem;
    transition: transform 0.3s ease-out, opacity 0.3s ease-in;
    border-radius: var(--radius-24);
    overflow: hidden;
    display: flex;
    align-items: end;
}

/* Card bottom */

.button-arrow{
    padding: 24px;
    background-color: var(--white);
    border-radius: var(--padding);
    border: none;
}

.card{
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: var(--radius-24);
    overflow: hidden;
    position: absolute;
    top: 0;
    pointer-events: none;
}

/* V: pour eviter de cummuler un paquet de classes partout j'aurais fait:
.card img 
ce qui veux dire "tous les <img> dans des .card*/
.card-image{
    /* je sais pas comment faire pour la taille */
    /* V: comme ca, en admettant que le parent ai une taille explicite */
    width: 100%;
}

.card button{
    pointer-events: all;
    cursor: pointer;
}

.h2-card{
    margin-bottom: 4px;
}

.h3-card{
    margin-bottom: 6px;
}

.card-bottom{
    background-color: var(--tertiary);
    padding: var(--padding);
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    position: absolute;
    bottom: 0;
}


/* --- Nav Bar --- */
.nav {
	background-color: var(--tertiary);
	border-radius: var(--radius-24);
    padding: 1rem 1.5rem;
    position: fixed;
    bottom: 2.5rem;
    right: 1.75rem;
    left: 1.75rem;
    z-index: 10;
}
	
.nav-list {
	list-style: none;
	display: flex;
    justify-content: space-between;
	margin: 0;
	padding: 0;
}
	
.nav-link {
	text-decoration: none;
}

.nav-indicator {
    display: flex;
    position: absolute;
    bottom: .9rem;
    left: 10px;
    transition: transform 0.3s ease;
}

.nav-link.active .nav-indicator {
    transform: translateX(0);
}

/* --- Button--- */
.button-s{
    font-family: var(--space-grotext);
    font-size: 14px;
    font-weight: 500;
    color: var(--black);
    padding: .8rem 1rem;
    border-radius: var(--radius-20);
    background: var(--primary-color);
    border: none;
}

.button-m{
    font-family: var(--space-grotext);
    font-size: 1rem;
    font-weight: 500;
    color: var(--black);
    padding: 1rem 1.5rem;
    border-radius: var(--radius-20);
    background: var(--primary-color);
    border: none;
}

/* --- Header --- */
.icon-header{
    display: flex;
    gap: var(--gap-16);
}

.header{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0px;
    width: var(--width-100);
    margin-bottom: var(--margin-32);
}

/* --- Secondary header --- */
.secondary-header{
    position: relative;
    display: flex;
    gap: var(--gap-16);
    align-items: center;
    width: var(--width-100);
    margin-bottom: var(--margin-32);
}

/* --- Secondary Title --- */

.secondary-title{
    position: relative;
    display: flex;
    gap: var(--gap-8);
    width: var(--width-100);
    margin-bottom: 2.5rem;
}

.colored-secondary-title{
    background-image: var(--primary-color);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; 
}

.inline{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: var(--gap-16);
    margin-bottom: var(--margin-8);
}

/* --- Progression --- */

.text-progression{
    width: 12rem;
}

.progression{
    width: var(--width-100);
    margin-bottom: var(--margin-32);
    position: relative;
}

/* --- Carousel --- */

.carousel{ /*unused*/
    width: var(--width-100);
    height: 400px;
    /* background-color: var(--tertiary); */
    border-radius: var(--radius-24);
    display: flex;
    align-items: center;
    justify-content: center;
}

#carousel {
    position: relative;
    margin-top: var(--size-16);
    width: 100%;
    aspect-ratio: 1/1;
}

#carousel > span {
    display: block;
    overflow-y: scroll;
    scrollbar-width: none; /*ff only*/

    width: 100%;
    height: 100%;
}
/*parce que tout le monde ne peut pas etre firefox */
#touchpad::-webkit-scrollbar{
display: none;
}

#touchpad > span{
    display: block;
}

#container {
    width: 100vw;
    height: 100vh;
    display: grid;
    place-items: center;
}


img {
    user-select: none;
}

/* --- Subjects --- */

.subject-text{
    display: flex;
    flex-direction: column;
    gap: var(--gap-8);
}

.subject-img{
    border-radius: var(--radius-20);
    width: 60px;
    height: 60px;
}

.subject-img-text{
    display: flex;
    align-items: center;
    gap: var(--gap-16);
}

.subject{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--gap-20);
}

/* ------------------------------------------ ca scroll pas ? */
.subject-container{
    overflow-x: hidden;
    overflow-y: scroll;
    height: 535px;
    flex: 1;
}

.subject-container::-webkit-scrollbar{
    display: none;
}

/* --- Quiz --- */

/* ------------------------------------------ voir comment faire la selection du button avec gradient border 
    border: 10px solid;
    border-image-slice: 1;
    border-image-source: var(--primary-color);
    border-radius: var(--radius-24);
*/
.img-quiz{
    width: var(--width-100);
    margin-bottom: var(--margin-24);
}

.answer-quiz{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: var(--padding);
    color: var(--white);
    background-color: var(--tertiary);
    border-radius: var(--radius-20);
    margin-bottom: var(--margin-16);
    text-align: center;
}

.answer-quiz-clicked{
    background: linear-gradient(var(--black), var(--black)) padding-box,
              var(--primary-color) border-box;
    border: 2px solid transparent;
}

.quiz-header{
    width: var(--width-100);
    display: flex;
    flex-direction: row;
    justify-content: end;
    margin-bottom: var(--margin-24);
}

.question{
    display: flex;
    flex-direction: column;
    gap: var(--gap-8);
    margin-bottom: var(--margin-24);
}

.quiz-button{
    display: flex;
    margin: var(--margin-24) auto;
}

/* --- Activity article --- */
body::-webkit-scrollbar{
    display: none;
}

.activity-properties{
    padding: var(--margin-28);
    background-color: var(--tertiary);
    border-radius: 24px 24px 0 0;
}

.article-page{
   
}

.img-article{
    border-radius: var(--radius-24);
    width: var(--width-100);
    margin-bottom: var(--margin-16);
}

.article-title{
    /* margin-top: var(--margin-24); */
    margin-bottom: var(--margin-8);
}

.time{
    display: flex;
    flex-direction: row;
    align-items: center;
    position: relative;
    gap: var(--gap-8);
    margin-bottom: var(--margin-16);
}

.time-text{
    font-weight: large;
}

.article-text{
    margin-bottom: var(--margin-16);
}

.tags-container{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--gap-8);
}

/* --- Activity game --- */

.game-page{
    height: 100vh;
    width: 100vw;
    position: fixed;
} 

.game-title{
    text-align: center;
    margin-bottom: var(--margin-8);
}

.game-text{
    width: var(--width-100);
    text-align: center;
    margin-bottom: 3rem;
}

.img-game{
    display: flex;
    width: 50%;
    margin: auto;
    margin-bottom: 2rem;
}

.arrows{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    margin-bottom: var(--margin-32);
}

.circle{
    width: 120px;
    height: 120px;
    background: linear-gradient(var(--tertiary), var(--tertiary)) padding-box,
              var(--primary-color) border-box;
    border-radius: 100%;
    border: 2px solid transparent;
}

.circles{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    margin-bottom: var(--margin-32);
}

.answer{
    width: 116px;
    height: 116px;
    display: flex;
    background-color: var(--white);
    border-radius: 100%;
    align-items: center;
    justify-content: center;
    color: var(--tertiary);
    text-align: center;
}

.answers{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: var(--gap-20);
    width: var(--width-85);
    margin: auto;
}

/* --- Activity token --- */ 

.token-title{
    text-align: center;
    width: var(--width-85);
    margin: auto;
    margin-bottom: var(--margin-32);
}

.token-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(5, 1fr);
    gap: 2rem;
    margin: auto;
    width: var(--width-100);
    height: 50rem;
    margin-bottom: var(--margin-32);
}

.img-token{
    width: 140px;
    height: 140px;
}

.token{
    width: 140px;
    height: 140px;
    background: linear-gradient(var(--tertiary), var(--tertiary)) padding-box,
              var(--primary-color) border-box;
    border-radius: 100%;
    border: 2px solid transparent;
}

/* --- Component community --- */

.pseudo-statu{
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pp-pseudo{
    display: flex;
    flex-direction: row;
    gap: var(--gap-16);
}

.img-pp{
    width: 42px;
    height: 42px;
    border-radius: 12px;
}

.header-post{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: var(--width-100);
    margin-bottom: var(--margin-16);
}

.contenu-post{
    display: flex;
    flex-direction: column;
    gap: var(--gap-16);
    width: var(--width-100);
    margin-bottom: var(--margin-16);
}

.heart-comment{
    display: flex;
    flex-direction: row;
    gap: var(--gap-8);
}

.footer-post{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: var(--width-100);
    padding-bottom: var(--gap-20);
}

.community-post{
    margin-bottom: var(--margin-20);
    margin-trim: block;
}

.img-community{
    width: var(--width-100);
    height: 220px;
    border-radius: var(--radius-20);
}

/* --- Activity community --- */

.question-community{
    display: flex;
    flex-direction: column;
    gap: var(--gap-8);
}

.pp{
    width: 58px;
    height: 58px;
    border-radius: var(--radius-20);
}

.ask-question{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: var(--gap-16);
    align-items: center;
    margin-bottom: var(--margin-24);
}

.question-pp-title{
    display: flex;
    flex-direction: row;
    gap: var(--gap-16);
    align-items: center;
}

/* --- Activity community --- */

.center{
    padding: 24px 32px 32px 32px;
    margin-bottom: var(--margin-32);
} 

/* --- Activity nav bar --- */

#activity-nav {
    display: flex;
    justify-content: center;
    padding: 20px 28px 16px 28px;
}

#activity-nav>ul{
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    width: 100%;
    justify-content: space-between;
}

#activity-nav>ul>li{
    background-color: var(--tertiary);
    padding: 8px 12px;
    border-radius: 20px;
    display: flex;
    align-items: center;
}

#activity-nav>ul>li:not(.active)>h3 {
    display: none;
}

#activity-nav>ul>.active>i:not(.icon-close) {
    display: none;
}

#activity-nav>ul>.active {
    background: var(--primary-color);
}

#activity-nav>ul>.active>h3 {
    color: var(--black);
}

/* <!-- ---------------------------------------
                PAGE TRANSITION
----------------------------------------- --> */

.none{
    display: none;
}

.visible{
    display: inherit;
}

input, textarea{
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
	appearance: none;
    color: var(--white);
    font-family: var(--work-sans);
}

::placeholder{
    color: var(--white);
}

/* answer comment page */

.header-comment{
    display: flex;
    flex-direction: row;
    gap: 25%;
    align-items: center;
    margin-bottom: var(--margin-32);
}

.comment-post{
    border-bottom: 2px solid var(--tertiary);
}

.answer-community-page{
    background-color: var(--black);
    height: 100vh;
    position: absolute;
}

#answer-community{
    width: var(--width-85);
}

.answer-send{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}


.img-link-answer{
    width: var(--width-100);
}

.answer-link{
    border-radius: var(--radius-20);
    border: 2px solid var(--tertiary);
    overflow: hidden;
}

.link-title-answer{
    display: flex;
    flex-direction: column;
    gap: var(--gap-8);
    padding: var(--gap-16);
    background-color: var(--tertiary);
}

.final-answer-question{
    display: grid;
    grid-template-columns: repeat(2, auto);
    grid-template-rows: repeat(1, 1fr);
    gap: var(--gap-16);
}

.p-answer {
    margin-bottom: var(--margin-16);
}

.final-answer-question{
    display: flex;
    align-items: flex-start;
}

.contenu-answer p{
    margin-bottom: var(--margin-16);
}