@media (max-width: 640px) {
        * {
                box-sizing: border-box;
        }

        /* passer body (et tous les éléments de largeur fixe) en largeur automatique */

        body {
                width: auto;
                height: auto;
                margin: 0;
                padding: 0;
        }


        /* fixer une largeur maximale de 100% aux éléments potentiellement problématiques */

        img,
        table,
        td,
        blockquote,
        code,
        pre,
        textarea,
        input,
        iframe,
        object,
        embed,
        video {
                max-width: 100%;
        }

        /* conserver le ratio des images */

        img {
                height: auto;
        }

        /* gestion des mots longs */

        textarea,
        table,
        td,
        th,
        code,
        pre,
        samp {
                -webkit-hyphens: auto; /* césure propre */
                -moz-hyphens: auto;
                hyphens: auto;
                word-wrap: break-word; /* passage à la ligne forcé */
        }

        code,
        pre,
        samp {
                white-space: pre-wrap; /* passage à la ligne spécifique pour les éléments à châsse fixe */
        }

        /* Passer à une seule colonne (à appliquer aux éléments multi-colonnes) */

        .element1,
        .element2 {
                float: none;
                width: auto;
        }

        /* masquer les éléments superflus */

        .hide_mobile {
                display: none !important;

        }

        /* Un message personnalisé

        body:before {
                content: "Version mobile du site";
                display: block;
                text-align: center;
                font-style: italic;
                color: #777;
        }*/
}

.btn-toggle {
    position: absolute;
    top: auto;
    right: 10%;
    width: 60px;
    height: 40px;
    border-radius: 50%;
    background: #f1f1f1;
    color: #333;
    border: 1px solid #333;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;

}


.avatar {
  width: 80px;
  height: 80px;
  box-sizing: border-box;
  border: 0px white solid;
  border-radius: 60%;
  overflow: hidden;
  box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.4);
  transform: translatey(15px);
  animation: float 6s ease-in-out infinite;
   margin-bottom:5px;

}

.avatar img {
  width: 50px;
  height: 60px;
  margin-top:10px;
  margin-bottom:0px;

}

@keyframes float {
  0% {
    box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.4);
    transform: translatey(0px);
  }
  50% {
    box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.3);
    transform: translatey(-5px);
  }
  100% {
    box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.4);
    transform: translatey(0px);
  }
}

body.dark {
    color: #f1f1f1!important;
    background: #333!important;
}
body.dark .btn-toggle {
    background: #f1f1f1;
    color: #333;
}
body.dark  .titre_accueil h1 {
        text-align: center;
        font-family: Chewy;
        color: #2b6486;
        font-size: 6vw;
        text-shadow: 0 0 6px black;
        letter-spacing: 6px;
        margin-top: 0px;
        margin-bottom: 0px;
        text-decoration:none

}
body.dark .titre_accueil h2 {
        text-align: center;
        font-family: Boogaloo;
        margin-top:2px;
        margin-bottom:10px;
        color: rgb(199, 30, 13);
        text-shadow: 0 0 10px white;
        font-size: 5vw;
        letter-spacing: 2px;
}
body.dark .titre_accueil h4 {
        text-align: center;
        font-family: Boogaloo;
    margin-top:0;
    margin-bottom:2px;
        color: white;
        font-size: 2.5vw;
        letter-spacing: 2px;
}
body.dark .contenu_accueil {
        border-style: solid;
        border-color: #2b6486;
        border-width: 1px;
        border-radius: 20px 20px 20px 20px;
        color: #fff;
        letter-spacing: 1px;
        font-family: Comic Sans MS;
        padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-top: 5px;
    position: relative;
        width:30%;
        font-size: 1.5vw;
}
body.dark .texte_niveau {
        color: #fff;
        text-decoration: none;
        font-size: 18px;
        text-align: center;
        font-family: Comic Sans MS;
        margin-top: 40px;
        padding:  0px 0px 0px 10px;
        font-size: 1.5vw;
        letter-spacing: 2px;

}
body.dark .envoi {
    text-align: center;
    font-family: Chewy;
    color: #2b6486;
    margin:10px;
    background: #333;
    font-size: 3vw;
    border-width: 0px;
    cursor: pointer;
    border-radius: 20%;
}

body.light {
    color: #333!important;
    background: #f1f1f1!important;
}
body.light .btn-toggle {
    background: #333;
    color: #f1f1f1;
}
body.light .titre_accueil h1 {
        text-align: center;
        font-family: Chewy;
        color: #2b6486;
        font-size: 6vw;
        letter-spacing: 6px;
        margin-top: 0px;
        margin-bottom: 10px;
        text-decoration:none
}
body.light .titre_accueil h2 {
        text-align: center;
        font-family: Boogaloo;
    margin:10px;
        color: rgb(199, 30, 13);

        font-size: 5vw;
        letter-spacing: 2px;
}
body.light .titre_accueil h4 {
        text-align: center;
        font-family: Boogaloo;
    margin-top:0;
        margin-bottom:2px;
        color: #2b6486;
        font-size: 2.5vw;
        letter-spacing: 2px;
}
body.light .contenu_accueil {
        border-style: solid;
        border-color: #2b6486;
        border-width: 1px;
        border-radius: 20px 20px 20px 20px;
        letter-spacing: 1px;
        font-family: Comic Sans MS;
        padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-top: 5px;
    position: relative;
        width:max-content;;
        color: #000;
        font-size: 1.5vw;
}
body.light .texte_niveau {
        color: #000;
        text-decoration: none;
        font-size: 18px;
        text-align: center;
        font-family: Comic Sans MS;
        margin-top: -40px;
        padding:  0px 0px 0px 10px;
        font-size: 1.5vw;
        letter-spacing: 2px;

}
body.light .envoi {
    text-align: center;
    font-family: Chewy;
    color: #2b6486;
    margin:10px;
    background: #f1f1f1;
    font-size: 3vw;
    border-width: 0px;
    cursor: pointer;
    padding: 5px;
    border-radius: 10%;
    animation: myAnim 2s ease-in 0s 1 normal none;
    animation-delay: 0s;

}
.envoi:hover {
  transform: scale(1.1);
}

body {
/*
        background-color: #333;
        width: 100%;
*/

}
.titre_accueil h4 {
        text-align: center;
        font-family: Boogaloo;
    margin-top:0;
        color: white;
        font-size: 4vw;
        letter-spacing: 2px;
}
.imgtitre{
    margin-top: 4px;
    width: 5vw;
    margin-bottom: 4px;
    opacity: 1;
        -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;

}
.imgtitre:hover {
  width: 5vw; /* on affiche l'image au carré */
  height: auto;
  -webkit-transform: scale(1.4);
        transform: scale(1.4);
   opacity: 1;

}

.contenu_accueil {
        border-style: solid;
        border-color: #2b6486;
        border-width: 5px;
        border-radius: 20px 20px 20px 20px;
        color: #fff;
        letter-spacing: 1px;
        font-family: Comic Sans MS;
        padding-left: 10px;
    padding-right: 10px;
    margin-top: 20px;
    position: relative;
        width:80%;
        color: #fff;
        font-size: 1.5vw;

}

/* lineup class and keyframes */
.lineUp {
  animation: 5s anim-lineUp ease-out ;
}
@keyframes anim-lineUp {

  0% {
    opacity: 0;
  }
  20% {
    opacity: 0.3;
  }
  40% {
    opacity: 0.5;
  }
  60% {
    opacity: 0.8;
   }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 1;
  }
}

.style-txt {
  display: inline-block;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  padding: 5px 10px;

  -webkit-border-radius: 3px;
  border-radius: ;
  text-overflow: clip;

  -webkit-box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.2) inset;
  box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.2) inset;

  -webkit-transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  -moz-transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  -o-transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  transition: all 200ms cubic-bezier(0.42, 0, 0.58, 1);
  text-align:center;
}

footer {
        position: relative;
        bottom: 0;
        text-align: center;
        width: auto;

}
footer p {
        position: absolute;
        bottom: 0;
        right: 1%;
}

@-webkit-keyframes pulse {
  from {
    box-shadow: 0 0 0 0 rgba(3, 149, 229, 0.4);
  }
  to {
    box-shadow: 0 0 0 10px rgba(3, 149, 229, 0);
  }
}
@keyframes pulse {
  from {
    box-shadow: 0 0 0 0 rgba(3, 149, 229, 0.4);
  }
  to {
    box-shadow: 0 0 0 10px rgba(3, 149, 229, 0);
  }
}
.highlight {

    border-style: solid;
    border-color: #2b6486;
    font-family: Comic Sans MS;
    padding-left: 2px;
    padding-right: 2px;
    margin-top: 15px;
    margin-left: automatique;
    margin-right: automatique;
    position: relative;
    border: 0px solid #2b6486;
    border-radius: 60%;
    pointer-events: visible;
    cursor: pointer;
    width: max-content;

}
.highlight:before, .highlight:after {
  content: "";
  width: 10%;
  height: 10%;
  position: absolute;
  visibility: hidden;
  border-radius: 60%;
  cursor: pointer;
}
.highlight:hover {
  -webkit-animation: pulse 0.5s ease-out 0.5s;
          animation: pulse 0.5s ease-out 0.5s;
  color: #2b6486;
  border: 0px solid #2b6486;
  cursor: pointer;

}


.face {
  animation: shake 0.82s cubic-bezier(.36,.07,.19,.97)  ;
  transform: translate3d(0px, 0px, 0px);
  backface-visibility: hidden;
  perspective: 1000px;
  animation-delay: 10s;
  animation-iteration-count: 2;
}


@keyframes shake {
  10%, 90% {
    transform: translate3d(-1px, 0, 0);
  }

  20%, 80% {
    transform: translate3d(2px, 0, 0);
  }

  30%, 50%, 70% {
    transform: translate3d(-4px, 0, 0);
  }

  40%, 60% {
    transform: translate3d(4px, 0, 0);
  }
}

@keyframes myAnim {
    0% {
        animation-timing-function: ease-in;
        opacity: 0.5;
        transform: translateY(-8px);
        visibility: visible;
    }

    24% {
        opacity: 0.8;
    }

    40% {
        animation-timing-function: ease-in;
        transform: translateY(-8px);
        opacity: 1;
    }

    65% {
        animation-timing-function: ease-in;
        transform: translateY(-8px);
    }

    82% {
        animation-timing-function: ease-in;
        transform: translateY(-6px);
    }

    93% {
        animation-timing-function: ease-in;
        transform: translateY(-4px);
    }

    25%,
    55%,
    75%,
    87% {
        animation-timing-function: ease-out;
        transform: translateY(0px);
    }

    100% {
        animation-timing-function: ease-out;
        opacity: 1;
        transform: translateY(0px);

    }
    visibility: visible;
}
