/* Plolices Personaliser */

@import url('https://fonts.googleapis.com/css2?family=Bagel+Fat+One&family=Jura:wght@500&family=Kalam:wght@700&family=Kanit:wght@100&family=Kite+One&family=Lilita+One&family=Orbitron&family=Play&family=Poppins:wght@100&family=Press+Start+2P&family=Urbanist&display=swap');

/* Style general */

*, ::before, ::after
{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

button
{
    border: none;
    cursor: none;
}

/* Style html */

html
{
    font-size: 62.5%;
}

/* Style body */

body
{
    background: linear-gradient(#291346, #602063);
    height: 100vh;
    cursor: none;
    display: flex;
    justify-content: center;
    overflow: hidden;
}



/*  */

.displayNone
{
    display: none;
}


/* style curseur personaliser */

div.cursor
{
    position: absolute;
    cursor: none;
    height: 4rem;
    width: 4rem;
    border: 2px dashed #ffffff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 5000;
    /* perment d'anuler l'evenement de clique sur l'ement curseur et d'agi sur la page */
    pointer-events: none;
    animation-name: cursor_scale_anim;
    animation-duration: 1s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

div.cursor::before
{
    content: "";
    position: absolute;
    background-color: #436bc2;
    border-radius: 50%;
    height: 15%;
    width: 15%;
}


div.cursor_click_anim {
    animation-name: cursor_click_anim;
    animation-duration: 0.5s;
    background: #436bc2;
    border: 1px solid #436bc2;
}


/* .cursor_click_anim_hover*/
div.cursor_hover_anim
{
    background: #436bc2;
    border: solid 2px #ffffff;

}

div.cursor_hover_anim::before
{
    border-radius: 50%;
    height: 180%;
    width: 180%;
    background-color: #7dcbff4b;
}

div.cursor_click_anim::before
{
    height: 15%;
    width: 15%;
    border: 1px solid #436bc2;
}

div.cursor_click_anim
{
    border: 1px solid #436bc2;
}

@keyframes cursor_click_anim {
    0%{
        transform: scale(1);
    }
    50%{
        transform: scale(1.5);
    }
    100%{
        transform: scale(1);
        opacity:0;
    }
}

@keyframes cursor_scale_anim {
    from {
        transform: scale(1) rotate(0deg);
    }
    to {
        transform: scale(0.7) rotate(190deg);
    }
}


/* Style section page de chargement */

section.loading_page
{
    background-color: #fff;
    position: absolute;
    z-index: 500;
    height: 100vh;
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(#291346, #602063);

}

section.loading_page h1
{
    font-size: 3rem;
    color: #d591f5;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

/* Style back_button */

 .back_button
 {
     position: absolute;
     top: 6%;
     left: 6%;
     width: 9rem;
     height: 4rem;
     border-radius: 25px;
     background: linear-gradient(#14135e, #47ecf8);
     border: 1px solid #47ecf8;
     z-index: 1000;
     font-size: 1.2rem;
     text-transform: uppercase;
     color: #a0bdbe;
     text-shadow: 0 0 3px #000;
     font-family: 'Lilita One', cursive;
     letter-spacing: 0.2rem;
     transition: all 1s;
 }

.back_button:hover
{
    background: linear-gradient(#47ecf8, #14135e);
    border: 1px solid #47ecf8;
    transform: scale(1.1);
}

/* Style Game Logo */

.game_logo
{
    position: absolute;
    top: 6%;
    left: 6%;
    font-size: 4rem;
    color: #db1f93;
    /* text-shadow: 0 0 px #fff; */
    font-family: 'Press Start 2P', cursive;
    z-index: 111;
    word-spacing: 0.5rem;
    text-align: center;

}

@keyframes lgo_game_anim
{
    from
    {
        transform: translateX(-25rem) rotate(0deg);
    }

    to
    {
        transform: translateX(0rem) rotate(360deg);
    }

}

.game_logo div
{
    color: #ac8cc2;
    font-family: 'Press Start 2P', cursive;
    font-size: 4rem;
    line-height: 4rem;
    display: flex;
    position: absolute;


}

.game_logo div.d1
{
    color: #dd95cb;
    font-family: 'Bagel Fat One', cursive;

}

.game_logo div.d2
{
    -webkit-text-stroke: 1px #ffffff;

}

.lgo_game_anim
{
    animation-name: lgo_game_anim;
    animation-duration: 2s;
    transform: translateX(-35rem);

}

.zeroRem
{
    transform: translateX(0rem)!important;
}





.game_logo div :nth-child(2)
{
    animation-delay: 0.1s;

}

.game_logo div :nth-child(3)
{
    animation-delay: 0.2s;
}

.game_logo div :nth-child(4)
{
    animation-delay: 0.3s;

}

.game_logo div :nth-child(5)
{
    animation-delay: 0.4s;
}

.game_logo div :nth-child(6)
{
    animation-delay: 0.5s;

}





/* Style main */

.main_inhibiting
{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: transparent;
    z-index: 100;
}

main
{
    position: relative;
    width: 70%;
    height: 100%;
    display: flex;
}


/* Style main section */

main  > section
{
    position: relative;
    height: 100%;
    width: 100%;
    display: none;
    justify-content: center;
    align-items: center;
    background: linear-gradient(#291346, #602063);
    /* border: 1px solid #0077ff; */
    /* border-radius: 30px; */
    /* padding: 4% 0; */
}


/*  */

main  > section h1
{
    color: #c4b2d1;
    font-size: 5rem;
}

/*  */


/* Style main section main_menu */

main  > section.main_menu
{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4rem;
    background-color: #28252b;
    /* border-radius: 30px; */
    /* padding: 4% 0; */
}


/* Style  main_menu button */

main  > section.main_menu button
{
    width: 18rem;
    height: 5rem;
    background-color: #8375d3;
    border: 2px solid #b1b5c9;
    box-shadow: 0 -2.5rem 1rem #382e3a8a inset;
    text-shadow: 0 0 3px black;
    border-radius: 10px;
    text-transform: uppercase;
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    font-size: 2.2rem;
    color: #cce7e7;
    transition: all 0.25s;

}

main  > section.main_menu button:hover
{
    background-color: #8375d3;
    border: 2px solid #b1b5c9;
    box-shadow: 0 -2.5rem 1rem #342249 inset, 0 0 8px 3px #fbf3fda1;
    color: #939696;
    transform: scale(1.1);

}

/* section mode emploi */

main section.mode_emploi
{
    background: #7790a070; 
    justify-content: flex-end;
    align-items: center;
    flex-direction: column;
    padding-bottom: 6%;
    font-family: 'Poppins', sans-serif;
    padding-bottom: 3rem;
}

section.mode_emploi div
{
    padding: 0 1.5rem;
    overflow-y: scroll;
    height: 80%;
    width: 80%;
    color: #fff;
    font-size: 24px;
    line-height: 3rem;
    text-align: justify;
   /* Pour Firefox */
  scrollbar-width: thin;
  scrollbar-color: #888 transparent;
  /* Pour Internet Explorer et Edge */
  scrollbar-face-color: #888;
  scrollbar-track-color: #f1f1f1;
}

section.mode_emploi div h2
{
    text-align: center;
    color: #45a5dd;
    font-size: 3rem;
    margin-bottom: 3rem;
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
}

section.mode_emploi div p
{
    margin-bottom: 3rem;
    font-family: 'Kite One', sans-serif;
    color: #040207;
    word-spacing: 0.7rem;
    line-height: 3.5rem;
    font-size: 2rem;
}

section.mode_emploi div p .game_name
{
    color: #c8b5eb;
    font-family: cursive;
}

/* Style scrollbar*/

  /* Pour Webkit */
  ::-webkit-scrollbar {
    width: 0.8rem;

  }

  ::-webkit-scrollbar-track {
    background-color: transparent;
  }

  ::-webkit-scrollbar-thumb {
    background-color: #45a5dd;
    border-radius: 8px;
    transition: all 2s;
  }

  ::-webkit-scrollbar-thumb:hover {
    background-color: #45a5dd;
  }

/* section interface_jeu */

main > section.interface_jeu
{
    position: relative;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: #7b6a86;
    overflow: hidden;
    border: 5px solid #d99be7;
    border-radius: 20px;
}

main section.interface_jeu  > h1
{
    width: 80%;
    font-size: 1.8rem;
    position: absolute;
    text-align: center;
    top: 5%;
    /* border: 1px solid #000; */
    /* width: 70%;
    height: 11rem; */
    color: #f1c3ff;
    text-shadow: 0 0 3px #242125;
    font-family: 'Orbitron', sans-serif;
    /* -webkit-text-stroke: 1px #363442; */
    /* padding: 0 5rem; */
    line-height: 2.5rem;
    letter-spacing: 0.4rem;
}

main section.interface_jeu  > h1.inst_game_over
{
    top: 30%;
    font-size: 2.5rem;
    /* color: #ac72c7; */
    /* -webkit-text-stroke: 1px #e57eff; */
    font-family: Verdana, Geneva, sans-serif;
    text-transform: uppercase;
    font-family: 'Jura', sans-serif;
    /* text-shadow: 0 0 15px #000000; */
}


/* Style section interface jeu boutton */


main section.interface_jeu .btns_box
{
    font-size: 1.5rem;
    position: absolute;
    bottom: 7%;
    display: flex;
    gap: 4rem;
    justify-content: center;
}

.btns_box button
{
    position: relative;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 1.4rem;
    height: 5rem;
    width: 11rem;
    border-radius: 12px;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
}

button.start_btn, button.restart_btn

{
    width: 7em;
    height: 5rem;
    border: 2px solid #251a4d;
    background: linear-gradient(to top left, #14135e,#47ecf8);
    color: #ffffff;
    transform: scale(1);
    /* transition: scale 4s; */
    opacity: 1;
    transition: all 0.2s;
    z-index: 1;
    font-family: 'Urbanist', sans-serif;
    font-size: 1.6rem;
}

button.restart_btn
{
    bottom: -55%;

}

button.start_btn:hover, button.restart_btn:hover
{
    transform: scale(1.1);
    background: linear-gradient(to top left, #0c0c38,#2b8d94);
    border: 2px solid #1b0e1f;
    color: #d4c7d6;

}

button.yes_btn, button.no_btn
{
    background-color: #6c4797;
    border: 2px solid #452c61;
    box-shadow: 0 0 8px 1px #473955;
    color: #cfcccf;
    font-size: 2rem;
    font-weight: 200;
    font-family: 'Bagel Fat One', cursive;
    letter-spacing: 0.6rem;
    text-shadow: 0 0 3px #000;
}

.yes_btn:hover, .no_btn:hover
{
    background-color: #baadc9;
    border: 2px solid #452c61;
    box-shadow: 0 0 8px 1px #473955;
    color: #452c61;

}



.btns_box button.start_btn::before, .btns_box button.start_btn::after
{
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    height: 100%;
    width: 100%;
    background-color: #737daf;
    border-radius: 12px;
    opacity: 0.5;
    z-index:  -1;
}


.btns_box button.start_btn::before
{
    animation: pulse 2s ease-out infinite;
}

.btns_box button.start_btn::after
{
    animation: pulse 2s 1s ease-out infinite;
}

@keyframes pulse
{
    100%
    {
        transform: scale(2);
        opacity: 0;
    }
}


/* .btns_box button:hover
{
    background-color: #72c2c2;
    color: #333033;
    border: 1px solid #685568;
} */




main section.interface_jeu .section_tableaux
{
    /* border: 3px solid #f1e101; */
    /* background-color: #2e1d36; */
    width: fit-content;
    height: 75%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25%;
    transform: translateX(330rem);
    /* transform: translateX(110rem); */
    transition: all 1s ease-out;
}

/* Style section_tableaux table */

.section_tableaux table
{
    /* border: 1px solid #400742; */
    min-height: 40rem;
    min-width: 40rem;
    border-collapse: collapse;

}

.section_tableaux table tr, .section_tableaux table td
{
    border: 3px solid #130a1d;
}

.section_tableaux table td
{
    background-color: #40275e;
    font-size: 1.8rem;
    color: #cacad8;
    font-weight: bold;
    font-family: 'Play', sans-serif;
    text-align: center;
    width: 12.5%;
    height: 12.5%;

}

.section_tableaux table td:empty
{
    background-color: #b4a3c2;
}

/* Style bote d'elerte fermeture de la partie */

main section.interface_jeu .alert_close_game
{
    overflow: hidden;
    position: absolute;
    top: 25%;
    left: 40%;
    height: 14rem;
    width: 18rem;
    border: 2px solid #47ecf8;
    border-radius: 25px;
    background-color: #7b8887;
    box-shadow: 0 0 10px 4px rgba(0, 0, 0, 0.747);
    color: #201d2b;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 1rem;
    flex-direction: column;
    z-index: 150;
}

main section.interface_jeu .alert_close_game h1
{
    width: 100%;
    color: #f8f8f8;
    text-shadow: 0 0 3px #000;
    /* background-color: crimson; */
    background: linear-gradient(to left, #14135e, #47ecf8);
    /* border-bottom: 4px solid #8fe9ff; */
    text-align: center;
    text-transform: uppercase;
    font-size: 1.6rem;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    padding: 0.6rem;
}

main section.interface_jeu .alert_close_game p
{
    font-size: 1.5rem;
    padding: 1rem;
    text-align: center;
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-weight: 300;
    color: #06071a;
}

.alert_close_game .acg_btns
{
    /* border: 1px solid #000; */
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    height: 30%;
    background-color: #7b8588;
    gap: 0.5rem;
    position: absolute;
    bottom: 0;
    left: 0;
}

.alert_close_game .acg_btns button
{
    width: 50%;
    height: 100%;
    text-transform: uppercase;
    font-size: 1.2+4rem;
    font-weight: bold;
    font-family: Arial, Helvetica, sans-serif;
    /* letter-spacing: 0.5rem; */
    background-color: #a4a5a5;
    /* border: 2px solid #ffffff; */
    color: #14135e;
    font-family: 'Kalam', cursive;
    /* text-shadow: 0 0 5px #ffffff; */
    transition: background-color 0.3s;
}

.alert_close_game .acg_btns button:hover
{
    background-color: #7b8588;
    color: #0a0931;
}

/* Style loader de resulta de jeu */

.game_loader
{
    position: absolute;
    /* border: 1px solid #000; */
    /* background-color: #ffffff00; */
    height: 22rem;
    width: 22rem;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    /* background: linear-gradient(to top right, #8b128b75, #30848f52); */
    /* top: 40%; */
    /* box-shadow: 0 0 15px 5px #a3cfc4; */

}

.game_loader .random_number 
{
    height: 22%;
    width: 22%;
    position: absolute;
    /* border: 1px solid #000; */
    font-weight: bold;
    font-size: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: Verdana, Geneva, sans-serif;
    color: #73c7ff;
    /* -webkit-text-stroke: 1px #ffffff; */
    /* text-shadow: 0 0 6px #ffffff; */
    transition: all 0.6s;
}
    
.game_loader_none > div
{
    opacity: 0;
}


.game_loader > div
{
    position: absolute;
    height: 65%;
    width: 65%;
    border-radius: 50%;
    border-top: 6px solid #70129c;
    border-bottom: 6px solid #70129c;
    border-left: 6px solid #70129c;
    border-right: 6px solid #00000000;
    animation-name: load_rotate;
    animation-duration: 0.6s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    /* border-left: 2px solid #000; */


}

.game_loader > .load2
{
    height: 50%;
    width: 50%;
    border-top: 6px solid #b65fdf;
    border-bottom: 6px solid #b65fdf;
    border-left: 6px solid #b65fdf;

    border-right: 6px solid #00000000;
    animation-direction: reverse;

}

.game_loader > .load3
{
    height: 30%;
    width: 30%;
    border-top: 6px solid #1707ff;
    border-bottom: 6px solid #1707ff;
    border-left: 6px solid #1707ff;
    border-right: 6px solid #00000000;
    animation-direction: alternate-reverse;

}


@keyframes load_rotate
{
    from
    {
        transform: rotate(0deg);
    }

    to
    {
        transform: rotate(360deg);
    }

}

  /*  */

.displayNone
{
    display: none!important;
}

.scaleZero
{
    transform: scale(0)!important;
}


/* My animatioons */

.short_scal_anim
{
    animation-name: short_scal_anim;
    animation-duration: 0.25s;
    animation-timing-function: ease-out;
}

@keyframes short_scal_anim
{
    0%{
        transform: scale(0);
    }

    70%{
        transform: scale(1.15);
    }

    100%{
        transform: scale(1);
    }

}

.big_scal_anim
{
    animation-name: big_scal_anim;
    animation-duration: 0.45s;
    animation-timing-function: ease-out;
}

@keyframes big_scal_anim
{
    0%{
        transform: scale(5);
    }

    70%{
        transform: scale(0.7);
    }

    100%{
        transform: scale(1);
    }

}


.scale_back_forth_anim
{
    animation-name: scale_back_forth_anim;
    animation-duration: 1s;
    animation-timing-function: ease; 
}

@keyframes scale_back_forth_anim
{
    0%{
        transform: scale(1);
    }

    60%{
        transform: scale(0.7);
    }

    100%{
        transform: scale(1);
    }

}

.gradual_onset_anim
{
    animation-name: gradual_onset_anim;
    animation-duration: 0.8s;
    animation-timing-function: ease-in-out; 
   
}

@keyframes gradual_onset_anim
{
    0%{
        transform: scale(0.3);
        opacity: 0;
    }
    100%{
        transform: scale(1);
        opacity: 1;
    }

}


.gradual_onset_anim2
{
    animation-name: gradual_onset_anim2;
    animation-duration: 0.5s;
    animation-timing-function: ease; 
   
}

@keyframes gradual_onset_anim2
{
    0%{
        transform: scale(0.3);
    }

    /* 40%{
        transform: scale(0.6);
    } */

    60%{
        transform: scale(1.2);
    }

    80%{
        transform: scale(0.8);
    }

    100%{
        transform: scale(1);
    }

}


.gradual_disappearance_anim
{
    animation-name: gradual_disappearance_anim;
    animation-duration: 0.5s;
    animation-timing-function: ease; 
    /* animation-direction: reverse; */
}

@keyframes gradual_disappearance_anim
{
    0%{
        transform: scale(1);
    }

    /* 40%{
        transform: scale(0.6);
    } */

    35%{
        transform: scale(1.2);
    }

    60%{
        transform: scale(1.1);
    }

    100%{
        transform: scale(0);
    }

}


.btn_clicked_anim1
{
    position: absolute;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    animation-name: btn_clicked_anim1;
    animation-duration: 0.3s;
    animation-timing-function: ease-out; 
   
}

.btn_clicked_anim1::after
{
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #00000041;
}

@keyframes btn_clicked_anim1
{
    0%{
        transform: scale(1);
    }

    60%{
        transform: scale(0.8);
    }


    100%{
        transform: scale(1);
    }

}


.menu_items_translate_anim
{
    animation-name: menu_items_translate_anim;
    animation-duration: 0.8s;
    animation-timing-function: ease-out;
}

@keyframes menu_items_translate_anim
{
    0%{
        transform: translateX(110rem);
    }


    100%{
        transform: translateX(0rem);    }

}


/* section apropos */

section.apropos
{
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    font-family: 'Kanit', sans-serif;
    background: #7790a070;

}

section.apropos h1
{
    color: #45a5dd;
}

section.apropos p
{
    font-weight: 300;
    font-size: 1.9rem;
    font-weight: 400;
    line-height: 3.5rem;
    color: #040207;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    justify-content: start;
    align-items: center;
    text-align: justify;
    padding: 0 4rem;
    gap: 1rem;
}

section.apropos p.first_about
{
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 8rem;
}

.first_about :last-child
{
    font-family: cursive;
    width: 18rem;
}

.first_about :first-child
{
    color: #7d98e2;
 
}

h2.dev_about
{
    font-size: 1.8rem;
    color: #7d98e2;
    font-weight: bold;
    text-decoration: overline;
}

section.apropos .dev_about + p
{
    width: 70%;
    text-align: center;
    font-style: oblique;
}

section.apropos a
{

    bottom: 5%;
    color: GOLgoldD;
    font-size: 2rem;
    font-weight: 300;
    color: #7d98e2;
    font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
    text-decoration: none;
    cursor: none;
}

section.apropos a:hover
{
    text-decoration: underline #7d98e2;
}



/* Style mediaquery */

@media screen and (max-width: 968px)
{
    .back_button
    {
        position: absolute;
        left: 4%;
    }
    main section.interface_jeu  > h1
    {
        top: 12%;
    }
    main section.interface_jeu .btns_box
    {
        bottom: 7%;
    }
}

@media screen and (max-width: 744px)
{
    html
    {
        font-size: 58%;
    }
    main
    {
        width: 90%;
    }
    main section.interface_jeu  > h1
    {
        top: 18%;
    }
    main section.interface_jeu .btns_box
    {
        bottom: 14%;
        gap: 8.5rem;
    }
    button.yes_btn, button.no_btn
    {
        height: 7rem;
        width: 13rem;
        font-size: 2.5rem;
    }
    button.start_btn, button.restart_btn, .back_button
    {
        width: 15rem;
        height: 7rem;
        font-size: 2rem;
    }
    .back_button
    {
        width: 11rem;
        height: 5rem;
        font-size: 2rem;
    }
}

@media screen and (max-width: 425px)
{
    html
    {
        font-size: 50%;
    }
    main
    {
        width: 98%;
    }
    main  > section.main_menu button
    {
        width: 25rem;
        height: 7rem;
        font-size: 2.6rem;
    }
    main  > section.main_menu
    {
        gap: 6.5rem;
    }
    main section.interface_jeu .alert_close_game
    {
        width: 22rem;
        height: 18rem;
        left: 24%;
        gap: 1.5rem;
        border-radius: 20px;
    }
    main section.interface_jeu .alert_close_game p
    {
        font-size: 1.8rem;
    }
    main section.interface_jeu .alert_close_game h1
    {
        font-size: 1.8em;
    }
}

@media screen and (max-width: 378px)
{
    html
    {
        font-size: 40%;
    }
    main
    {
        width: 100%;
    }
}

/* @media screen and (handheld)
{
    div.cursor
    {
        display: none!important;
    }
} */