/* ----------------------------------------------------------------------------------- */

/* -------------- */
/*     GENERAL    */
/* -------------- */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Alumni Sans Pinstripe", sans-serif;
}

body {
  background-image: url("../../Media/forest.jpg");
  background-attachment: fixed;
}

.text-error {
  text-align: center;
  margin-top: 5px;
  color: red;
}

.glassEffect {
  background: rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

/* ------------- */
/*     HEADER    */
/* ------------- */

header,
footer {
  text-align: center;
  width: 100%;
  font-weight: bold;
}

footer {
  font-size: 1em;
  display: flex;
  justify-content: center;
}
header {
  font-size: 1.8em;
  margin-top: 5px;
}

/* ------------- */
/*     NAVBAR    */
/* ------------- */
.navbar {
  display: flex;
  justify-content: center;
  align-items: center;
}

a {
  color: #365605;
  text-decoration: none;
  text-transform: uppercase;
  margin: 10px;
}
a:hover {
  cursor: pointer;
  opacity: 0.5;
}

#formDisconnect button {
  font-size: 1em;
  font-weight: bold;
  color: #365605;
  text-decoration: none;
  text-transform: uppercase;
  border: none;
  background: transparent;
  margin: 10px;
}

#formDisconnect button:hover {
  cursor: pointer;
  color: white;
}

/* -------------- */
/*      MAIN      */
/* -------------- */
main {
  width: 100%;
  min-height: 85vh;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* -------------- */
/*   HOME PAGE    */
/* -------------- */

.connectButton {
  text-align: center;
  font-size: 1.5em;
  font-weight: bold;
  border-radius: 16px;
  position: absolute;
  top: 48%;
  z-index: 10;
  padding: 20px;
}
.connectButton:hover {
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
}

.stage a {
  position: absolute;
  text-align: center;
  top: 69%;
  left: 20%;
  z-index: 10;
  font-size: 1.2em;
}

.stage a:hover {
  color: black;
}
.stage img {
  width: 90%;
  position: absolute;
  top: -40%;
  -webkit-filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.1));
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.1));
}

/* ------------- */
/*     FORMS     */
/* ------------- */
.forms {
  position: absolute;
  top: 38%;
  left: 43%;
  z-index: 12;
  font-size: 1.3em;
  width: 15%;
  display: flex;
  flex-direction: column;
}
.formRegister {
  position: absolute;
  top: 30%;
  left: 40%;
  z-index: 12;
  font-size: 1.3em;
  width: 20%;
  display: flex;
  flex-direction: column;
  padding: 20px;
}
.formClassement {
  z-index: 12;
  font-size: 1.3em;
  width: 300px;
  display: flex;
  flex-direction: column;
  padding: 20px;
  border-radius: 10px;
}

.formContainer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
}

.createGame {
  position: absolute;
  top: 45%;
}

.login {
  position: absolute;
  top: 42%;
}

.forms input,
.formClassement input,
.formRegister input {
  margin-bottom: 10px;
  padding: 5px;
  border-radius: 5px;
  border: none;
}

.forms button,
.formClassement button,
.formRegister button {
  text-align: center;
  width: 100%;
  font-size: 1em;
  font-weight: bold;
  border-radius: 5px;
  padding: 5px;
}

.forms button:hover,
.formClassement button:hover,
.formModal button:hover {
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
}
.formModal {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  text-align: center;
}
.formModal input {
  background: transparent;
  font-size: 1em;
  font-weight: bold;
  border: none;
  pointer-events: none;
}

.formModal button {
  text-align: center;
  font-size: 1.5em;
  font-weight: bold;
  border-radius: 16px;
  z-index: 10;
  padding: 10px;
  margin-top: 20px;
}
/* --------------- */
/*     SECURITY    */
/* --------------- */
#securityPass {
  font-size: 0.6em;
  margin-bottom: 5px;
  color: red;
}
.matchColor {
  color: green;
}

/* -------------- */
/*      GAME      */
/* -------------- */

.game-container {
  /*   width: 100%;
  height: 100%; */
  display: flex;
  flex-direction: row;
  justify-content: center;
}
/* .gameCol {
  display: flex;
  flex-direction: column;
} */
.game-container .gameCol div {
  margin: 5px;
  width: 100px;
  height: 100px;
  background: rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
}
.jeton1,
.jeton2 {
  background-size: cover;
  width: 100% !important;
  height: 100% !important;
  border-radius: 50%;
}
.jeton1 {
  background-image: url("../../Media/j-wood3.png");
}

.jeton2 {
  background-image: url("../../Media/j-stone2.png");
}
#spirit1,
#spirit2 {
  position: absolute;
  top: 40%;
  animation: float 6s ease-in-out infinite;
}
#spirit1 {
  left: 5%;
}
#spirit2 {
  right: -10%;
}

#spirit1 img,
#spirit2 img {
  width: 45%;
  height: 45%;
}

.titleP1 {
  left: 8%;
}
.titleP2 {
  right: 8%;
}
.titleP1,
.titleP2 {
  position: absolute;
  top: 20%;
  color: #365605;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  margin: 5px;
  width: 10%;
  border-radius: 16px;
}
.opacityClass {
  opacity: 0.3;
}
/* Jetons exemples */
.jetonAnime1,
.jetonAnime2 {
  position: absolute;
  top: 10%;
}
.jetonAnime1 {
  left: 10%;
}
.jetonAnime2 {
  right: 10%;
}
.jetonAnime1 img,
.jetonAnime2 img {
  width: 70px;
  height: 70px;
}

/* Animation des jetons du jeu */
.animJeton {
  animation-duration: 0.5s;
  animation-name: falling;
}
@keyframes falling {
  from {
    margin-top: -1000%;
    transform: rotate(0deg);
  }
  80% {
    margin-top: 10%;
  }

  to {
    margin-top: 0%;
    transform: rotate(360deg);
  }
}
/* Animation des jetons exemples*/
.animJetonExemple {
  -webkit-animation: rotating 2s linear infinite;
  -moz-animation: rotating 2s linear infinite;
  -ms-animation: rotating 2s linear infinite;
  -o-animation: rotating 2s linear infinite;
  animation: rotating 2s linear infinite;
}
@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* -------------------- */
/*  MODAL FIN DE PARTIE */
/* -------------------- */

/* Modal (background) */
.modal {
  display: none; /* cachée par défaut */
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto; /* Désactivation du scroll */
  background: rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

/* Modal Content/Box */
.modal-content {
  margin: 15% auto; /* 15% du haut et centrée */
  padding: 20px;
  width: 40%;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(255, 255, 255, 1);
  border-radius: 16px;
}

.modalRecap {
  margin-left: 20%;
}
.spirit1Modal {
  position: absolute;
  top: -70%;
  left: -30%;
}
.spirit1Modal img {
  -webkit-filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.3));
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.3));
  width: 260px;
  animation: float 6s ease-in-out infinite;
}
@keyframes float {
  0% {
    -webkit-filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.3));
    filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.3));
    transform: translatey(0px);
  }
  50% {
    -webkit-filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.1));
    filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.1));
    transform: translatey(-20px);
  }
  100% {
    -webkit-filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.3));
    filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.3));
    transform: translatey(0px);
  }
}
/* ------------- */
/*     FOOTER    */
/* ------------- */

footer {
  width: 100%;
  text-align: end;
  padding: 0 2%;
}

/* -------------- */
/*   STATS        */
/* -------------- */

.statContainer {
  display: flex;
  justify-content: center;
  flex-direction: row;
  width: 100%;
}

.winnersStats,
.recapStats {
  width: 50%;
  font-size: 1.2em;
  font-weight: 900;
  background: rgba(255, 255, 255, 0.4);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 5px;
  padding: 5px;
  margin: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.tableStat {
  border: solid 1px white;
  width: 90%;
  border-collapse: collapse;
  margin: 10px;
}
.tableStat td,
.tableStat th {
  border: solid 1px white;
  text-align: center;
  border-collapse: collapse;
}
