@font-face {
    font-family: "MCSeven";
    src: url("./assets/fonts/seven.ttf");
}
@font-face {
    font-family: "Candles";
    src: url("./assets/fonts/candles.ttf");
}
body{
    font-family: "MCSeven";
    user-select: none;
    background-color: rgb(15, 15, 29);
}
#animation{
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    color: white;
    background-color: black;
}
#animation-texts{
    display: grid;
    width: 30%;
    font-size: 20pt;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
#animation-texts > * {
    grid-area: 1 / 1;
    margin: 0;
}
#anim-left-img{
    height: 30%;
    position: absolute;
    top: 50%;
    left: 20%;
    border-radius: 10px;
    transform: translate(0, -50%);
}
#anim-right-img{
    height: 30%;
    position: absolute;
    top: 50%;
    right: 20%;
    border-radius: 10px;
    transform: translate(0, -50%);
}
#game{
    height: 100%;
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    background-color: rgb(15, 15, 29);
        background: url("./assets/images/bg/stars.png");
 min-height: 100vh;

  --bg-w: 1536px;
  --bg-h: 1024px; 
  background-repeat: repeat;
  background-size: var(--bg-w) var(--bg-h);

  animation: bg-scroll 20s linear infinite;
}
#floor{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 2000%;
    height: 10%;
    background: url("./assets/images/textures/floor.png");
    background-size: 50px;
}
#floor-jero{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 2000%;
    height: 10%;
    background: url("./assets/images/textures/floor-jero.png");
    background-size: 50px;
    border-top: solid pink;
}
#floor-soviet{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 2000%;
    height: 10%;
    background: url("./assets/images/textures/floor-soviet.png");
    background-size: 50px;
    border-top: solid rgb(255, 174, 0);
}
#floor-jesus{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 2000%;
    height: 10%;
    background: url("./assets/images/textures/floor-jesus.png");
    background-size: 50px;
    border-top: solid white;
}
#floor-hitler{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 2000%;
    height: 10%;
    background: url("./assets/images/textures/floor-hitler.png");
    background-size: 50px;
    border-top: solid rgb(10, 10, 10);
}
#global-floor{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 2000%;
    height: 10%;
}
#character, #shield{
    left: 10px;
    height: 8vh;
    position: absolute;
    bottom: 9.9%;
    z-index: 3;
}
#shield{
    opacity: 0.5;
}
#health-bar{
    z-index: 2;
    position: absolute;
    top: 10px;
    left: 10px;
    width: 20%;
    height: 3%;
}
#health-bar > *{
    height: 100%;
}
#game-over{
    position: fixed;
    height: 100%;
    width: 100%;
    z-index: 5;
    left: 0;
    top: 0;
    background-color: rgba(255, 0, 0, 0.26);
    text-align: center ;
}
#game-over > div > h1 {
    font-size: 50pt;
}
#game-over > div{
    height: 100%;
    width: 100%;
    margin-top: 45%;
    transform: translateY(-50%);
}
#game-over > * {
 color: white;
}
.generic-button{
    font-family: "MCSeven";
    font-size: large;
    height: 8%;
    width: 15%;
    background-color: #D0D2D5;
    color: #1C1C1E !important;
    border-radius: 0;
    box-shadow: inset 0px -8px 0px 0px #58575A;
    border:solid 3px #1C1C1E;
    cursor: pointer;
}
.generic-button:hover{
    background-color: #3C8528;
    color: white !important;
    box-shadow: inset 0px -8px 0px 0px #1C4C13;
}
#pether-nortal{
    height: 10%;
    z-index: 3;
    position: absolute;
    bottom: 10%;
    opacity: 0;
}
.chest{
    height: 10vh;
    position: absolute;
}
#mobs-box{
    height: 100%;
}
.zombie, .lenin, .stalin, .ill-zombie, .jero, .falling-chest, .jesus, .osama{
    height: 10%;
}
.hitler{
    height: 30%;
}
.button{
    height: 2%;
}
.entity{
    position: absolute;
    z-index: 3;
}
#subtitle-box{
    position: fixed;
    bottom: 0;
    right: 0;
    width: 15%;
    height: fit-content;
}
.subtitle{
    height: 5vh;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.486);
    color: white;
    text-align: center;
    align-content: center;
    font-size: large;
}
#mob-data-box{
    color: white;
    position: fixed;
    left: 50%;
    top: 5%;
    z-index: 5;
    transform: translate(-50%, 0);
    height: 20vh;
    width: 50vh;
    background-color: rgba(0, 0, 0, 0.445);
    border: solid rgba(0, 0, 0, 0.726);;
    border-radius: 5px;
    text-align: center;
}
#mob-health-bar{
    width: 100%;
    height: 10%;
}
#mob-health-bar > *{
    height: 100%;
}
#toast-notif{
    color: white;
    position: fixed;
    left: 50%;
    top: 5%;
    z-index: 5;
    transform: translate(-50%, 0);
    height: 10vh;
    width: 35vh;
    background-color: rgba(0, 0, 0, 0.445);
    border: solid rgba(0, 0, 0, 0.726);;
    border-radius: 5px;
    text-align: center;
    align-items: center;
    display: flex;
    justify-content: center;
}
#pause-menu{
    height: 100%;
    width: 100%;
    left: 0%;
    top: 0;
    background-color: #525153;
    color: white;
    position: fixed;
    z-index: 10;
    text-align: center;
}
.left-buttons-pause{
    background-color: #312D2C;
    height: 100%;
    width: 15%;
    position: absolute;
    top: 0;
    border-right: solid black;
}
.left-button-pause{
    display: flex;
  align-items: center;  
  justify-content: center;
  gap: 8px;             
    color: white;
    font-size: larger;
    font-family: "MCSeven";
        box-shadow: inset 0px 5px 0px 0px #514D4C;
    border:solid 3px #000000;
    height: 15%;
    width: 100%;
    background-color: #312D2C;
    transition: 200ms;
    cursor: pointer;
}
.left-button-pause > *{
        align-self: center;
            align-items: center;
}
.left-button-pause:hover{
    background-color: #464242;;
}
.left-button-pause.button-focus{
        box-shadow: none;
    border:solid 3px #000000;
    height: 15%;
    width: 100%;
    background-color: #262423 !important;
}
.pause-audio-menu{
    height: 100%;
    width: 84%;
    position: absolute;
    right: 0;
    top: 0;
    border-left: solid black;
    background-color: #312D2C;
}
.global-range::-webkit-slider-thumb {
      -webkit-appearance: none;
  width: 18px;
  height: 4vh;
  background-color: gray;
  border-radius: 0;
  border: solid black 1px;
-webkit-box-shadow: inset -1px -1px 0px 2px #585658, inset 1px 1px 0px 2px #FFFFFF;
box-shadow: inset -1px -1px 0px 2px #585658, inset 1px 1px 0px 2px #FFFFFF;
  transition: transform 0.15s ease;
  cursor: pointer;
}
.global-range::-moz-range-thumb {
  width: 18px;
  height: 130%;
  background-color: gray;
  border-radius: 0;
  border: solid black 1px;
-webkit-box-shadow: inset -1px -1px 0px 2px #585658; 
box-shadow: inset -1px -1px 0px 2px #585658, inset 1px 1px 0px 2px #FFFFFF;
  transition: transform 0.15s ease;
  cursor: pointer;
}
.global-range{
      -webkit-appearance: none;
  appearance: none;
    cursor: pointer;
  width: 50%;
  height:3%;
  background: url("./assets/images/textures/toast/selection-range/toast.svg");
  border:solid black 2px;
  background-size: contain;
  border-radius: 0;
}
.global-range:hover{
  background: url("./assets/images/textures/toast/selection-range/toast-selected.svg");
  border:solid white 2px;
  background-size: contain;
  border-radius: 0;
}
.global-range:hover::-webkit-slider-thumb {
      background-color: #43A01C;
        border: solid white 2px;
      box-shadow: inset -1px -1px 0px 2px #037300, inset 1px 1px 0px 2px #37D61E !important;
}
.global-range:hover::-moz-range-thumb {
      background-color: #43A01C;
        border: solid white 2px;
      box-shadow: inset -1px -1px 0px 2px #037300, inset 1px 1px 0px 2px #37D61E !important;
}
#hotbar{
    height: 50px;
    width: 450px;
    border: solid black;
    position: fixed;
    z-index: 3;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    display: flex;
}
.hb-slot{
height: 50px;
width: 50px;
background: url("./assets/images/textures/toast/hotbar/slot.png");
background-size: cover;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
}
.hb-slot:hover{
height: 55px;
width: 55px;
background: url("./assets/images/textures/toast/hotbar/slot-selected.png");
background-size: cover;
}
.hb-slot > img{
    z-index: 2;
    height: 70%;
}
#text-box{
        height: 10vh;
    width: 0;
    position: fixed;
    z-index: 6;
    left: 50%;
    top: 10px;
    transform: translateX(-50%);
    background-color: #C6C6C6;
    border: solid black 2px;
    border-radius: 10px;
    -webkit-box-shadow: inset -7px -7px 0px 2px #585658, inset 10px 11px 0px 0px #FFFFFF; 
box-shadow: inset -7px -7px 0px 2px #585658, inset 10px 11px 0px 0px #FFFFFF;
color: #3F3F3F;
}
#text-box > div{
    display: flex;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.global-chest-ux{
    height: 50vh;
    width: 50vh;
    position: fixed;
    z-index: 6;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: #C6C6C6;
    border: solid black 2px;
    border-radius: 10px;
    -webkit-box-shadow: inset -7px -7px 0px 2px #585658, inset 10px 11px 0px 0px #FFFFFF; 
box-shadow: inset -7px -7px 0px 2px #585658, inset 10px 11px 0px 0px #FFFFFF;
color: #3F3F3F;
}
.global-chest-ux > div {
    padding-left: 15px;
}
#repair-arrow{
    padding-left: 25%;
    padding-right: 25%;
}
.arrow {
  display: flex;
  align-items: center;
}

.shaft {
  width: 30px;
  height: 10px;
  background: #8B8B8B;
}

.head {
  width: 0;
  height: 0;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 30px solid #8B8B8B;
}
.global-upgrade-ux{
    height: 30vh;
    width: 50vh;
    position: fixed;
    z-index: 6;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: #C6C6C6;
    border: solid black 2px;
    border-radius: 10px;
    -webkit-box-shadow: inset -7px -7px 0px 2px #585658, inset 10px 11px 0px 0px #FFFFFF; 
box-shadow: inset -7px -7px 0px 2px #585658, inset 10px 11px 0px 0px #FFFFFF;
color: #3F3F3F;
}
.global-upgrade-ux > div {
    padding-left: 15px;
}
.upgrade-content{
    margin-top: 20px;
    width: 50vh;
    margin-left: 10%;
    display: flex;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 30vh;
}
.chest-content{
    margin-top: 20px;
    width: 40vh;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 40vh;
}
.chest-row{
    height: 5vh;
    width: 100%;
    display: flex;
}
.menu-slot{
    cursor: pointer;
    height: 100%;
    width: 5vh;
    background: url("./assets/images/textures/toast/menu/slot.png");
    background-size:cover;
    display: flex;
    justify-content: center;
    align-items: center;
}
.menu-slot > img{
    z-index: 2;
    height: 80%;
}
.tooltip{
    z-index: 11;
    height: 30px;
    width: auto;
    border-radius: 5px;
    padding-left: 10px;
    padding-right: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    background-color: #1b0c1bee;
    position: fixed;
    box-shadow:inset 0px 0px 0px 3px #2B0962;
    border: solid #170817;
    font-size: large;
}
.tooltip > * {
  color: white;
  text-shadow:
    1.3px 1.3px 0 #3E3E3E;
}
.uncommon {
    color: #FFFF55;
      text-shadow:
    1.3px 1.3px 0 #3F3F15;
}
.rare {
    color: #55FFFE;
      text-shadow:
    1.3px 1.3px 0 #153F3F;
}
.epic {
    color: #FF55FF !important;
      text-shadow:
    1.3px 1.3px 0 #3F153F;
}
.uncommon > * {
    color: #FFFF55;
      text-shadow:
    1.3px 1.3px 0 #3F3F15;
}
.rare > * {
    color: #55FFFE;
      text-shadow:
    1.3px 1.3px 0 #153F3F;
}
.epic > * {
    color: #FF55FF;
      text-shadow:
    1.3px 1.3px 0 #3F153F;
}
.album{
    position: absolute;
    height: 40%;
    border: solid rgb(236, 139, 155);
    border-radius: 5px;
    box-shadow: 0px 0px 15px 5px rgb(236, 139, 155);
}
#end-screen{
    position: fixed;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 1;
    background: url("./assets/images/bg/end.png");
    background-color: white;
 min-height: 100vh;

  --bg-w: 768px;
  --bg-h: 512px; 
  background-repeat: repeat;
  
  background-size: var(--bg-w) var(--bg-h);

  animation: bg-scroll 20s linear infinite;
}
#end-screen-inside{
    position: absolute;
    text-align: center;
    width: 50%;
    height: 80%;
    background-color: rgb(61, 61, 61);
    color: white;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 10px;
    padding: 2%;
}
#end-screen-inside > img{
    height: 10vh;
}
#fight-jero{
    position: fixed;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 1;
    background: url("./assets/images/bg/candy2.png");
 min-height: 100vh;

  --bg-w: 1536px;
  --bg-h: 1024px; 
  background-repeat: repeat;
  background-size: var(--bg-w) var(--bg-h);

  animation: bg-scroll 20s linear infinite;
}
#soviet-dim{
    position: fixed;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 1;
    background: url("./assets/images/bg/soviet.png");
 min-height: 100vh;

  --bg-w: 2560px;
  --bg-h: 1280px; 
  background-repeat: repeat;
  background-size: var(--bg-w) var(--bg-h);

  animation: bg-scroll 20s linear infinite;
}
#jesus-dim{
    position: fixed;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 2;
    background: url("./assets/images/bg/jesus.png");
 min-height: 100vh;

  --bg-w: 1536px;
  --bg-h: 1024px; 
  background-repeat: repeat;
  background-size: var(--bg-w) var(--bg-h);

  animation: bg-scroll 20s linear infinite;
}
#hitler-dim{
    position: fixed;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 1;
    background: url("./assets/images/bg/hitler.png");
 min-height: 100vh;

  --bg-w: 1536px;
  --bg-h: 1024px; 
  background-repeat: repeat;
  background-size: var(--bg-w) var(--bg-h);

  animation: bg-scroll 20s linear infinite;
}
#cage{
    position: absolute;
    right: 0;
    height: 15vh;
    bottom: 10%;
    width: 18vh;
    background: url("./assets/images/textures/random/cage.png");
    background-size: contain;
    background-repeat: no-repeat;
}
#cage.stars-cage{
    background: url("./assets/images/textures/random/cage_with_stars.png");
        background-size: contain;
    background-repeat: no-repeat;
}
#shootable{
    z-index: 2;
    position: absolute;
    height: 90%;
    width: 100%;
    top: 0;
    left: 0;
}
#white-screen{
    z-index: 15;
    position: fixed;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    background-color: white;
}
.bullet {
    z-index: 3;
  position: fixed;
  width: 32px;
  height: auto;
  pointer-events: none;
}
.bomb {
    z-index: 4;
  position: fixed;
  width: 32px;
  height: auto;
  pointer-events: none;
}
.totem{
    height: 80%;
    z-index: 3;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
#roulette{
    position: absolute;
    background: url("./assets/images/textures/random/roulette.png");
    background-size: cover;
    height: 50vh;
    width: 50vh;
    left: 50%;
    top: 30%;
    transform: translate(-50%, -50%);
    border-radius: 100%;
    cursor: pointer;
}
.jesus-laser{
    z-index: 2;
    height: 100%;
    width: 5%;
    position: absolute;
    top: 0;
    background-color: transparent;
    box-shadow: inset 13px 5px 50px 31px white, 0px 5px 50px 31px white;
}
.hitler-laser{
    z-index: 2;
    height: 10%;
    width: 5%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: transparent;
    box-shadow: inset 13px 5px 50px 31px rgba(243, 80, 4, 0.726), 0px 5px 50px 31px rgba(243, 80, 4, 0.726);
}
.explosion{
    height: 30%;
    position: fixed;
}
.portal{
    border-radius: 100%;
    height: 13vh;
    width: 13vh;
    background: url("./assets/images/textures/random/portal.svg");
    background-size: cover;
    position: absolute;
    left: 88%;
    top: 10%;
    animation: portal 10000ms linear infinite;
    box-shadow: 0px 0px 30px 60px rgba(128, 0, 128, 0.452);
}
#save-indicator{
    z-index: 11;
    position: fixed;
    right: 0;
    bottom: 0;
    font-size: larger;
    text-align: center;
    width: 300px;
    color: white;
    text-shadow: 1.3px 1.3px 0 #3F3F15;
}
#menu{
    z-index: 10;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    position: fixed;
      background: url("./assets/images/bg/menu-2.png");
 min-height: 100vh;

  --bg-w: 854px;
  --bg-h: 480px; 
  background-repeat: repeat;
  background-size: var(--bg-w) var(--bg-h);

  animation: bg-scroll 20s linear infinite;
}
#menu-sub {
  position: absolute;
  top: 75%;
  width: 100%;
  text-align: center;
  transform: translateY(-50%);
height: 100%;
}
#menu-sub > img{
    height: 20%;
}
#menu-sub > button{
    width: 20%;
    height: 10%;
}
#select-game, #rules{
    color: white;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    height: 60vh;
    width: 90vh;
}
.game-select-container{
height: 50%;
width: 100%;
display: flex;
}
.game-select{
    cursor: pointer;
    border: solid pink;
    background-color: #8cd68ac9;
    width: 50%;
    color: white;
    transition: 200ms;
    padding: 5px;
    text-align: center;
}
.game-select.empty{
    background-color: rgba(0, 0, 0, 0.842);
    display: flex;
    align-items: center;
    justify-content: center;
}
.game-select.empty::after{
    content: "Créer";
    font-family: "Candles";
    text-transform: uppercase;
    font-size: 50pt;
}
.game-select:hover{
    width: 51%;
}
#achievements-box{
    position: fixed;
    top: 0;
    right: 0;
    z-index: 50;
    height: 8%;
    width: 19%;
}
.achievement{
    height: 100%;
    border-radius: 5px;
    padding-left: 10px;
    padding-right: 10px;
    display: flex;
    align-items: center;
    color: white;
    background-color: #212121;
    box-shadow:inset 0px 0px 0px 3px #555555;
    border: solid black;
    font-size: large;
}
.achievement-icon{
    height: 80%;
}
.achievement-text{
    margin-left: 10px;
    white-space: nowrap;     /* empêche le retour à la ligne */
  overflow: hidden;        /* cache le texte qui dépasse */
  text-overflow: hidden;
}
.achievement-title{
    color: yellow;
    font-size: larger;
}
.achievement-desc{
    font-size: large;
}
/* ANIMATIONS */
@keyframes portal {
    0%{
        height: 13vh;
        width: 13vh;
        rotate: 0deg;
    }
    50%{
        height: 20vh;
        width: 20vh;
        rotate: 360deg;
    }
    100%{
        height: 13vh;
        width: 13vh;
        rotate: 720deg;
    }
}

@keyframes bg-scroll {
  from {
    background-position: 0 0;
  }
  to {
    background-position: var(--bg-w) var(--bg-h);
  }
}
.purple-explosion {
  position: absolute;
  width: 20px;
  height: 20px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  pointer-events: none;

  background: radial-gradient(
    circle,
    rgba(255,220,255,1) 0%,
    rgba(200,120,255,0.9) 25%,
    rgba(140,60,220,0.6) 45%,
    rgba(90,20,160,0.3) 60%,
    rgba(60,0,120,0) 75%
  );

  filter: blur(2px);
  animation: purpleExplosion 650ms cubic-bezier(.2,.8,.2,1) forwards;
}

@keyframes purpleExplosion {
  0% {
    transform: translate(-50%, -50%) scale(0.2);
    opacity: 0;
  }

  15% {
    opacity: 1;
  }

  100% {
    transform: translate(-50%, -50%) scale(6.5);
    opacity: 0;
  }
}
.purple-explosion::after {
  content: "";
  position: absolute;
  inset: -60%;
  border-radius: 50%;

  background: radial-gradient(
    circle,
    rgba(200,120,255,0.6),
    rgba(120,40,200,0)
  );

  filter: blur(16px);
}