/**-------FONTS-------**/

@font-face {
    font-family: "Poppins";
    src: url(fonts/Poppins-Regular.ttf);
    font-weight: normal;
}

@font-face {
    font-family: "Poppins";
    src: url(fonts/Poppins-Bold.ttf);
    font-weight: bold;
}

@font-face {
    font-family: "Poppins";
    src: url(fonts/Poppins-Italic.ttf);
    font-weight: italic;
}

@font-face {
    font-family: 'Encode Sans Condensed', sans-serif;
    src: url(/fonts/EncodeSansCondensed-Regular.ttf)
}

/**************************/
/**-------GENERAL--------**/
/**************************/
a {
    text-decoration: none;
    color: inherit;
}

body {
    font-family: 'Poppins';
    margin: 0;
    padding: 0;
    color: #151828;
}

.light-bg {
    background-color: #F4F4F5;
}

.page-subtitle {
    text-align: center;
    font-style: italic;
    font-weight: bold;
    font-size: 30px;
}

.page-title {
    color: #108ACF;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 50px;
    padding-top: 30px;
}

/** FIN DES JEUX **/
.endgame-div {
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.endgame-div>div {
    width: 1000px;
}

.endgame-div h2 {
    font-size: 4rem;
    margin-bottom: 0;
}

.endgame-div p {
    font-size: 2rem;
}

#endgame-question-btns {
    margin: 0 20%;
    display: flex;
    justify-content: space-around;
    font-style: normal;
}

#endgame-subtitle {
    font-style: italic;
    margin-top: 0;
    margin-bottom: 7%;
    font-size: 1.5rem;
}

#endgame-question-btns a {
    width: 20%;
    display: block;
    padding-top: 2%;
}

/*****************************/
/**-------PAGE INDEX--------**/
/*****************************/
#index-body {
    position: relative;
    height: 100vh;
}

#index-btn {
    height: 100vh;
    width: 100vw;
}


video.fullscreen {
    position: absolute;
    z-index: 0;
    object-fit: cover;
    width: 100vw;
    height: 100vh;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/****************************/
/**-------PAGE MENU--------**/
/****************************/

/****Cadeau*****/

#cadeau {
    height: 100px;
    width: 100px;
    background-color: #272727;
    border-radius: 50%;
    border: 6px solid #EAB22A;
    position: fixed;
    top: 2rem;
    right: 2rem;
    animation: growEffect 5s linear infinite;
    cursor : pointer;
    display : none;
}

#cadeau img {
    height: 60px;
    position: relative;
    top: 18px;
    left: 24px;
}

  @keyframes growEffect {
    0% {
        transform : scale(1)  
    }
    1% {      
        transform : scale(1.4)     
    }
    2% {
        transform : scale(1)    
    }
    4% {
        transform : scale(1.2)   
    }
    6% {
        transform : scale(1)   
    }
    8% {
        transform : scale(1.4)   
    }
    10% {
        transform : scale(1)   
    }
    12% {
        transform : scale(1.2)   
    }
    14% {
        transform : scale(1)   
    }
    100% {      
        transform : scale(1)  
    }
  }



/***footer***/
#menu-footer {
    background: linear-gradient(45deg, #151828, #f4f4f5);
    position: fixed;
    bottom: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: 10vh;
    width: 100vw;
}

#menu-btn {
    display: flex;
}

#logo-numerian {
    width: 300px;
    margin-left: 30px;
}

#logo-div {
    width: 1000px;
    display: flex;
    justify-content: flex-end;
    padding-right: 30px;
}

.app-logo {
    width: 100px;
    margin: auto;
}

.logo-sig {
    width: 60px;
}

.logo-btn {
    background-color: #fdf9e9;
    border-radius: 5px;
    margin-left: 30px;
    padding: 0 5px;
    height: 60px;
    display: flex;

}

/***MAIN***/
#menu-main {
    /*
    background: linear-gradient(45deg, #151828, #38519f, #d9eef6);
    background-size: 400% 400%;
    animation: gradient 20s ease infinite;
    height: 100vh;
    */
    background-image: url('/assets/svg/fond.svg');
    background-size:cover;
    display: flex;
    align-items: center;
    height: 90vh;
}

/*
@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}
*/

#main-icons-wrapper {
    display: grid;
    grid-template-columns: repeat(3,min-content);
    gap: 4em;
    align-items: center;
    margin: auto;
    text-align: center;
}

#main-icons-wrapper > .element-menu {
    display: grid;
    grid-template-rows: 1fr 1fr;
    align-items: center;
    justify-items: center;
    height: 100%;
    color: #f4f4f5;
    font-weight: bold;
    text-transform: uppercase;
}

#main-icons-wrapper a > img {
    filter: drop-shadow(0px 15px 15px);
    transition: drop-shadow 0.3s ease;
    height: 170px;
    padding-inline: 30px;
}

.icon-link {
    font-size: 2rem;
}

/***** Cadeau ****/
#gift-window-wrapper {
    height: 90vh;
    width : 100vw;
    background-color : rgba(39, 39, 39, .8);
    position : fixed;
    top : 0;
    z-index : 100;
    display : none;

}

#gift-window {
    height : 800px;
    width: 1000px;
    background-color : white;
    margin-top : calc((90vh - 800px) / 2);
    margin-left : calc((100vw - 1000px) / 2);
}

#close-btn {
    background-color: red;
    border-radius: 5px;
    height: 50px;
    width: 50px;
/*     top : calc((90vh - 800px) / 2 - 15px);
    right : calc((100vw - 1000px) / 2 - 15px); */
    color : white;
}

/********************************/
/**-------PAGE PHISHING--------**/
/********************************/

#body-phishing {
    background-color: #FDFDFD;
    color: #333333;
}

#phishing-global-wrapper {
    display: flex;
    flex-wrap: wrap;
    height: 90vh;
}

/***Header***/
#header-phishing {
    width: 100%;
    height: 67px;
}

/***ASIDE***/
#aside-phishing {
    width: 11vw;
    height: 90vh;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}

#aside-phishing img {
    height: fit-content;
}

#aside-phishing img:last-of-type {
    height: fit-content;
}

#main-phishing {
    width: 88vw;
    display: flex;
    flex-wrap: wrap;


}

/***LISTE MAILS***/
#table-phishing {
    width: 45%;
    height: 50%;
    border-collapse: collapse;
    font-size: 0.9rem;

}

.read-email {
    background-color: whitesmoke
}

#table-phishing tr {
    border-bottom: solid 1px;
}

.mail-row .fa-solid {
    color: #656565;
}

.delete-icon {
    text-align: center;
}

.delete-icon .fa-solid {
    color: #0070A0;
    text-align: center;
}

.status-icon {
    text-align: center;
}

.mail-row .answered-icon {
    color: rgb(6, 180, 6);
}

#supp-title {
    text-align: center;
}

thead td {
    font-weight: bolder;
}

/***AFFICHAGE 1 MAIL***/
#email-container {
    background-color: #F3F3F3;
    width: 55%;
    display: flex;
    flex-direction: column;
}

#welcome-message {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    height: 100%;
    color: #727272;
    font-weight: bold;
    font-size: 2.5rem;
}

#mail-info-wrapper {
    width: 100%;
    display: flex;
    padding: 1%;
    background-color: #F3F3F3;
    font-size: .8rem;
}

.mail-info p {
    display: inline-block;
    height: 20px;
    margin: 0;
}

#mail-info-right {
    width: 50%;
}

#mail-action-icons {
    width: 100%;
    display: flex;
    justify-content: space-around;
}

#mail-date {
    width: 48%;
    text-align: right;
}

#mail-body {
    height: 620px;
    overflow: hidden;
    background-color: #FFFFFF;
    text-align: center;
}

#mail-body img {
    height: 100%;
}


/*** MAIL QUESTION ***/

#mail-question-phrase {
    width: 100vw;
    text-align: center;
    color: #333333;
    font-size: 2rem;
    font-weight: bold;
    font-style: italic;
    padding-top: 15px;
    margin-top: 0;
}

#bottom-wrapper {
    position: fixed;
    bottom: 10vh;
    height: 200px;
    width: 100vw;
}

#mail-question {
    background-color: #D9EEF6;
    display: none;
    height: 100%;
}

#mail-question-btns {
    width: 100%;
    margin: 0;
    display: flex;
    justify-content: center;
}

.question-btn {
    border-radius: 10px;
    padding: .5% 2%;
    margin: 0 1%;
    font-size: 1.5rem;
    cursor: pointer;
    color: white;
    font-weight: bold;
    text-transform: uppercase;
}

.btn-yes {
    background-color: green;
}

.btn-no {
    background-color: red;
}


/*** ANSWER ***/

#question-answer {
    height: 100%;
    display: flex;
    flex-direction: column;
}

#question-answer p {
    margin: auto;
    text-align: center;
    color: white;
    font-size: 1.8rem;
    font-style: bold;
}

#question-answer p .answer-yes-good {
    background-color: rgb(26, 88, 36);
    color: white;
}

#question-answer p:first-of-type {
    margin-bottom: .2rem;
}

#question-answer p:last-of-type {
    font-size: 1.2rem;
    font-style: bold;
    margin-top: .2rem;
}

.answer-yes-good {
    background-color: rgb(20, 109, 35);
    color: white;
}

.answer-yes-bad {
    background-color: rgb(199, 67, 5);
}

.answer-no-good {
    background-color: #0070A0;
}

/*** HACKING EFFECT ***/

#hack {
    height: 100vh;
    width: 100vw;
    position: absolute;
    margin: 0;
    background: black;
    color: white;
    font-family: 'Encode Sans Condensed', sans-serif;
    display: none;
}

#hack-text {
    font-size: 50px;
    display: block;
    text-align: center;
    line-height: 100px;
    height: 100px;
    margin-top: 30vh;
    text-transform: uppercase;
    letter-spacing: 10px;
    color: rgb(6, 180, 6)
}

#hacking-icon {
    font-size: 10rem;
}

#close-icon {
    position: absolute;
    top: 0;
    right: 2%;
    cursor: pointer;
}

/*** WON THE GAME ***/

#won-phishing div {
    width: 60vw;
}

#won-phishing #endgame-question-btns {
    margin: 0;
}


/*****************************/
/**-------PAGE QUIZZ--------**/
/*****************************/


#quizz-wrapper {
    width: 80vw;
    margin: auto;
    text-align: center;
}

.cell-wrap {
    display: inline-block;
    width: 200px;
    height: 200px;
    perspective: 600px;
}

.quizz-cell {
    position: relative;
    width: 100%;
    height: 100%;
    cursor: pointer;
    transform-style: preserve-3d;
    transform-origin: center right;
    transition: transform .5s;
}

.is-flipped {
    transform: translateX(-100%) rotateY(-180deg);
}

.back-cell {
    background-color: #ECB22B;
    transform: rotateY(180deg);
    font-size: 1.5rem;
    display: flex;
    justify-content: center;
    flex-direction: column;
    color: #333333;
}

.back-cell p {
    height: 100%;
}

.front-cell {
    background-color: #333333;
    line-height: 250px;
}

.front-cell img {
    height: 80px;
}

#maitre-nageur {
    height: 100px;
}

#front-maitre-nageur {
    line-height: 300px;
}

.quizz-cover {
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
    font-weight: bold;
    backface-visibility: hidden;
}

#quizz-validate-wrapper {
    width: 100%;
    margin-top: 1%;
}

#quizz-validate-btn {
    width: 8vw;
    margin: auto;
    background-color: green;
    border-radius: 15px;
    text-align: center;
    padding: 1rem 1rem;
    cursor: pointer;
}

#won-quizz,
#lost-quizz {
    height: 90vh;
}

/*****************************/
/**-------PAGE INFO--------**/
/**-----PAGE LOCATION------**/
/*****************************/

.info-wrapper {
    display: grid;
    gap: 10px;
    max-width: 60vw;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr auto 1fr;
    margin: auto;
}

.lien-numerian-container,
.info-wrapper p  {
    grid-column: 1/4;
    justify-self: center;
}

.info-wrapper > p {
    font-size: 1.8em;
    color: #108ACF;
    margin-bottom: 30px;
}

.info-container {
    width: 20vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.info-container img {
    max-width: 150px;
}

.info-container p {
    font-size: 1.7rem;
    font-weight: bold;
}

#info-logo-numerian {
    height: 120px;
}

/*****************************/
/**----PAGE PERISCOLAIRE----**/
/*****************************/

.perisco-wrapper,
.sig-wrapper {
    width: 50vw;
    display: flex;
    margin: auto;
    justify-content: space-around;
    font-size: 3rem;
    font-weight: bold;
    text-align: center;
}

.perisco-wrapper img {
    max-height: 20vh;
}

a.perisco-video {
    font-size: 0.3em;
}


/*****************************/
/******----PAGE SIG----******/
/*****************************/


.sig-item {
    background-color: #D9EEF6;
    width: 20vw;
    border-radius: 15px;
    padding: 35px 0;
}

.sig-wrapper img {
    height: 30vh;
    filter: drop-shadow(0px 15px 15px);
}

.sig-wrapper p {
    margin: 0;
    filter: drop-shadow(0px 15px 15px);
}

a.sig-video {
    font-size: 0.3em;
}

a.lien-sig-decisionnel {
    display: block;
    text-align: center;
    width: max-content;
    padding: 10px;
    margin-inline: auto;
    margin-top: 60px;
    border-radius: 10px;
    background: #108ACF;
    color: #f4f4f5;
    font-size: 1.2em;
}

/*****************************/
/****----PAGE SLIDERS----****/
/*****************************/

.main-slider {
    width: 100%;
    height: 100%;
    color: #272727;
    line-height: 1.9;
    background-color: #f7f5f5;
}

.slider {
    --slider-height: 90vh;
    position: relative;
    width: 1650px;
    height: var(--slider-height);
    margin: 0 auto;
    overflow: hidden;
}

.slide {
    position: absolute;
    top: 0;
    min-width: 100%;
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 1s;
}

.slide>img {
    max-width: 100%;
    max-height: var(--slider-height);
    object-fit: cover;
}

button {
    background: none;
    border: none;
}

button .fas {
    color: #108ACF;
    font-size: 4rem;
}

.btn-slide {
    position: absolute;
    top: 50%;
    z-index: 10;

    height: 5.5rem;
    width: 5.5rem;
    cursor: pointer;
}

.prev {
    left: 3rem;
    transform: translate(-50%, -50%);
    color: #EAB22A;
}

.next {
    right: 3rem;
    transform: translate(50%, -50%);
    color: #EAB22A;
}

.dots-container {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 0;
    width: 100%;

}

.dot {
    width: 25px;
    height: 5px;
    margin: 15px 5px;
    border-radius: .5rem;
    background: #D9EEF6;
    cursor: pointer;
}

.dot.active {
    background: #108ACF;
}

/*****************************/
/****----PAGE INFOS SEULES----****/
/*****************************/

#info-footer-div {
    margin-right: 2%;
}

.info-footer-div a {
    display: flex;
}

#info-footer-div img {
    height: 5vh;
}
