body{
    margin: 0;
    padding: 0;
    overflow: hidden;
}

/* LEVELS AND CLUES */

#rooms{
    margin: 0;
    left:0; right:0;
    top:0; bottom:0;
    margin:auto;
    width: 960px;
    height: 714.41px;
    position: absolute;

}


.room{
    position: absolute;
    margin:auto;
    width: 960px;
    height: 714.41px;
    background-repeat: no-repeat;
    object-fit: cover;
    background-position: center;
}


.level-1{
    background-image: url("../images/frames/level-1/level-1.svg");
}

.level-2{
    background-image: url("../images/frames/level-2/level-2.svg");
}

.level-3{
    background-image: url("../images/frames/level-3/level-3.svg");
}

.level-4{
    background-image: url("../images/frames/level-4/level-4.svg");
}

.level-5{
    background-image: url("../images/frames/level-5/level-5.svg");
}


.level-5 .finalText1{
    left: 78%;
    top:0%;
    position: absolute;
    width: 450px;
    font-size: 16px;
    color: white;
    font-family: "Avenir", sans-serif;
    font-weight: 500;
    text-align: center;
}

.level-5 .finalText2{
    left: 25%;
    top:70%;
    position: absolute;
    width: 450px;
    font-size: 16px;
    background-color: rgb(255,255, 255, 0.7);
    color: rgb(51, 51, 51);
    border-radius: 10px;
    padding: 30px;
    font-family: "Avenir", sans-serif;
    font-weight: 500;
    text-align: center;
}

.level-5 a{
    color: #845EC2;
    text-decoration: none;
}

.hidden{
    visibility: hidden;
}

.visible{
    visibility:visible;
}

.clue:hover{
   cursor: help;
}

.level-1 .vase{
    position: absolute;
    top: 26%;
    left: 11%;
    width: 40px;
    height: 65px;
    z-index: 10;
}

.level-1 .keyHide{
    position: absolute;
    top: 46%;
    left: 32.5%;
    width: 60px;
    height: 50px;
    z-index: 10;
    transform: rotate(-70deg);
}

.level-1 .cadre{
    position: absolute;
    top: 25%;
    left: 19.5%;
    width: 30px;
    height: 50px;
    z-index: 10;
}

.level-1 .tableau{
    position: absolute;
    top: 18.5%;
    left: 29%;
    width: 100px;
    height: 50px;
    z-index: 10;
    transform: rotate(-35deg);
}

.level-1 .tapis{
    position: absolute;
    top: 65%;
    left: 70%;
    width: 80px;
    height: 50px;
    z-index: 10;
    transform: rotate(-160deg);
}

.level-1 .tiroir3{
    position: absolute;
    top: 48%;
    left: 47%;
    width: 50px;
    height: 10px;
    z-index: 10;
    transform: rotate(-16deg);
}

.level-1 .tiroir1{
    position: absolute;
    top: 50.5%;
    left: 47.5%;
    width: 50px;
    height: 20px;
    z-index: 10;
    transform: rotate(-16deg);
}

.level-1 .key{
    position: absolute;
    top: 46%;
    left: 32.5%;
    width: 60px;
    height: 50px;
    z-index: 9;
    transform: rotate(-70deg);
}

.level-1 .door{
    position: absolute;
    top: 25%;
    left: 80%;
    width: 125px;
    height: 300px;
    z-index: 10;
    transform: rotate(2deg);
}

.level-1 .armoireZombie{
    position: absolute;
    top: 28%;
    left: 60%;
    width: 125px;
    height: 250px;
    z-index: 10;
    transform: rotate(2deg);
}



.level-2 .keyHide{
    position: absolute;
    width: 20px;
    height: 40px;
    left: 161px;
    top: 159px;
    z-index: 10;
}

.level-2 .witch{
    position: absolute;
    width: 90px;
    height: 40px;
    left: 7%;
    top: 55%;
    z-index: 10;
}

.level-2 .key{
    position: absolute;
    width: 20px;
    height: 40px;
    left: 166px;
    top: 121px;
    z-index: 9;
    display: none;
}

.level-2 .robinet{
    position: absolute;
    width: 24px;
    height: 30px;
    left: 255px;
    top: 320px;
}

.level-2 .assiette{
    position: absolute;
    width: 57px;
    height: 34px;
    left: 513px;
    top: 468px;
    transform: rotate(-25deg);
}


.level-2 .frigo{
    position: absolute;
    width: 102px;
    height: 170px;
    left: 453px;
    top: 250px;
}



.level-2 .tireBouchon{
    position: absolute;
    width: 20px;
    height: 21px;
    left: 255px;
    top: 444px;
    transform: rotate(-16deg);
    z-index:11;
    display: none;
}

.level-2 .tiroir3{
    position: absolute;
    width: 74px;
    height: 32px;
    left: 205px;
    top: 464px;
    transform: rotate(-16deg);
}


.level-2 .tiroir1{
    position: absolute;
    width: 77px;
    height: 17px;
    left: 201px;
    top: 409px;
    transform: rotate(-16deg);
}


.level-2 .tiroirTireBouchon{
    
    position: absolute;
    width: 77px;
    height: 19px;
    left: 201px;
    top: 438px;
    transform: rotate(-16deg);
    z-index: 10;
}

.level-2 .door{
    position: absolute;
    width: 112px;
    height: 281px;
    left: 776px;
    top: 185px;
}


.level-3 .armoire{
    width: 129px;
    height: 253px;
    position: absolute;

    top: 147px;
    left: 371px;
}

.level-3 .cadre1{
    width: 44px;
    height: 67px;
    position: absolute;
    top: 86px;
    left: 564px;
}

.level-3 .cadre2{
    width: 76px;
    height: 116px;
    position: absolute;
    top: 127px;
    left: 619px;
}

.level-3 .cadre3{
    width: 53px;
    height: 94px;
    position: absolute;
    top: 132px;
    left: 714px;
}

.level-3 .coffreOuvert{
    width: 57px;
    height: 55px;
    position: absolute;
    top: 255px;
    left: 618px;
}

.level-3 .key{
    position: absolute;
    width: 20px;
    height: 20px;
    z-index: 9;
}

.level-3 .coussin1{
    width: 112px;
    height: 50px;
    position: absolute;    
    top: 408px;
    left: 72px;
    transform: rotate(18deg);
}

.level-3 .coussin2{
    width: 112px;
    height: 50px;
    position: absolute;
    top: 373px;
    left: 156px;
    transform: rotate(18deg);
}

.level-3 .livre{
    width: 11px;
    height: 32px;
    position: absolute;
    top: 362px;
    left: 294px;
    transform: rotate(-71deg);
}

.level-3 .tiroir1{
    width: 40px;
    height: 32px;
    position: absolute;
    top: 314px;
    left: 586px;
    transform: rotate(13deg);
}

.level-3 .tiroir2{
    width: 40px;
    height: 32px;
    position: absolute;
    top: 326px;
    left: 633px;
    transform: rotate(13deg);
}

.level-3 .tiroir3{
    width: 40px;
    height: 32px;
    position: absolute;
    top: 339px;
    left: 680px;
    transform: rotate(13deg);
}

.level-3 .tiroir4{
    width: 146px;
    height: 32px;
    position: absolute;
    top: 370px;
    left: 583px;
    transform: rotate(15deg);
}

.level-3 .tiroir5{
    width: 146px;
    height: 32px;
    position: absolute;
    top: 413px;
    left: 583px;
    transform: rotate(15deg);
}

.level-3 .door{
    width: 111px;
    height: 307px;
    position: absolute;
    top: 175px;
    left: 774px;    
}



.level-4 .douche{
    width: 37px;
    height: 24px;
    position: absolute;
    top: 129px;
    left: 487px;
}
.level-4 .placard{
    width: 109px;
    height: 153px;
    position: absolute;
    top: 135px;
    left: 175px;
}
.level-4 .rideau{
    width: 133px;
    height: 263px;
    position: absolute;
    top: 175px;
    left: 335px;
}
.level-4 .robinet{
    width: 22px;
    height: 42px;
    position: absolute;
    top: 297px;
    left: 233px;
}
.level-4 .tapis{
    width: 57px;
    height: 172px;
    position: absolute;
    top: 397px;
    left: 327px;
    transform: rotate(-74deg)
}
.level-4 .toilette{
    width: 82px;
    height: 49px;
    position: absolute;
    top: 426px;
    left: 86px;

}

.level-4 .door{
    position: absolute;
    width: 115px;
    height: 318px;
    top: 163px;
    left: 772px;
}


.barre{
    position: absolute;
    top:0%;
    left:0px;
    height: 6px;
    z-index: 10;
    transition-property: width;
    transition-duration: 1s;
    background-color: red;
}




/*
 HOMEPAGE 
*/

.home{
    left:0; right:0;
    top:0; bottom:0;
    position: absolute;
    margin: 0 auto;
    width: 960px;
    height: 714.41px;
    background-image: url("../images/frames/home/home.svg");
    object-fit: cover;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 100;
}

.homeButton{
    left: 20%;
    top:60%;
    position: absolute;
    width: 180px;
    height: 40px;
    border-radius:28px;
    text-align: center;
    line-height: 40px;
    color: white;
    background-color: #761717;
    text-decoration: none; 
    transition: background-color 200ms linear;
    font-family: "Roboto", sans-serif;
    font-weight: bold;
    animation: float 1.2s linear alternate infinite;
}


.home .homeText{
    left: 5%;
    top:0%;
    position: relative;
    width: 360px;
    font-size: 18px;
    color: white;
    font-family: "Avenir", sans-serif;
    font-weight: 500;
}



.home .homeButton:hover{
    background-color: #D8D8D8; 
    color: #761717;  
    transition: background-color 200ms linear;
}


.home .mainTitle{
    position: relative;
    top: 10%;
    right: 5%;
    font-family: "Stranger back in the Night", sans-serif;
    font-weight: normal;
    color: white;
    margin: 0;
    font-size: 200px;
}

.home .subTitle{
    position: relative;
    top: -1%;
    right: -26%;
    font-family: "Roboto", sans-serif;
    font-weight: lighter;
    color: white;
    font-size: 15px;
    z-index: 100;
}


.home .door{
    left: 80%;
    top: -45%;
    position: relative;
    width: 120px;
    height: 300px;
    display: none;
}



/*LABYRINTH GAME*/


.labyrinthContainer{
    position: absolute;
    width: 960px;
    height: 714.41px;
    z-index: 130;
    background-color: #0F0904;
    display: none;
    overflow: hidden;
}

#labyrinthe {
    position: absolute;
    top: 10%;
    left: 10%;
    width: 768px;
    height: 571px;
    z-index: 42;
    background-color: white;
    
}


#finish {
    background-color : #999999;
    position: absolute;
    top: 58%;
    left: 63%;
    width: 50px;
    height: 50px;
    z-index: 50;
}

.wall {
    background-color : #302D2B;
    position: absolute;
    z-index: 50;
}

#player {
    background-image: url("../images/clef.svg");
    object-fit: cover;
    background-repeat: no-repeat;
    position: absolute;
    width: 50px;
    height: 25px;
    z-index: 50;
    transition: top 0.1s linear, left 0.1s linear;
}


/***************************
    safeVault Mini-game
***************************/

.safeVaultContainer{
    position: absolute;
    width: 960px;
    height: 714.41px;
    z-index: 130;
    display: none;
    top: 10%;
    left: 10%;
}

.table {
    height: 100%;
    width: 100%;
  }
  
  
  .cell {
    width: 100%;
    text-align: center;
    padding-top:20px;
  }
  
  .keyWin{
      position: relative;
      margin: 0;
      width: 100px;
      height: 50px;
      margin-left: 280px;
      background-image: url("../images/clef.svg");
      object-fit: cover;
      background-repeat: no-repeat;
      display: none;
  }
  /*----------------------------
            Locker Code
  ----------------------------*/
  
.pincode{
    display: flex;
    justify-content:center;
    align-items:center;
    flex-direction:row;
    height: 580px;
    width: 700px;
    background-color: #546583;
    background-image: url("");
    background-size: cover;
    background-position: center;
    color: #fff;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.6);
  
}

.close{
    position: relative;
    top: -43%;
    left: 90%;
    font-size: 21px;
}
  
.numbers{
    display:flex;
    justify-content:center;
    align-items:center;
    width: 300px;
    margin: 0 auto;
    -webkit-transition: all 1s ease-out;
    -moz-transition: all 1s ease-out;
    transition: all 1s ease-out;
    opacity: 1;
}
  
.numbers.hide{
    opacity: 0.2;
}
  
.pincode .button{
    width: 70px;
    height: 70px;
    margin-bottom: 10px;
    background-color: rgba(0, 0, 0, 0.35);
    color: #ffffff;
    font-size: 25px;
    line-height: 50px;
    border-radius: 100%;
    opacity: 1;
    outline: 0;
    border: 2px solid #272a2f;
}
  
.pincode .button:active{
    background-color: rgba(0, 0, 0, 0.6);
    outline: 0;
}
  
.fields{
    max-width: 200px;
    padding: 0 20px;
    margin: 50px auto;
    position: relative;
    display: block;
}
  
.fields .numberfield{
    text-align: center;
}
  
.fields .numberfield span{
    height: 10px;
    width: 10px;
    border: 2px solid #fff;
    background-color: transparent;
    border-radius: 100%;
    position: relative;
    display: inline-block;
    text-align: center;
}
  
.fields .numberfield.active span{
    background-color: #fff;
}
  
.fields .numberfield.right span{
    background-color: #272a2f;
    border-color: #272a2f;
    transition: all .5s ease-in-out;
    -webkit-transition: all .5s ease-in-out;
}
  
  
/*--------------
      Grid
--------------*/
  
.grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
}
  
.gridBox{
    margin: 5px 10px;
}
  
.miss{
    -webkit-animation: miss .8s ease-out 1;
    animation: miss .8s ease-out 1;
}
  
@-webkit-keyframes miss{
    0%{
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0);
    }
    10%{
      -webkit-transform: translate(-25px, 0);
      transform: translate(-25px, 0);
    }
    20%{
      -webkit-transform: translate(25px, 0);
      transform: translate(25px, 0);
    }
    30%{
      -webkit-transform: translate(-20px, 0);
      transform: translate(-20px, 0);
    }
    40%{
      -webkit-transform: translate(20px, 0);
      transform: translate(20px, 0);
    }
    50%{
      -webkit-transform: translate(-10px, 0);
      transform: translate(-10px, 0);
    }
    60%{
      -webkit-transform: translate(10px, 0);
      transform: translate(10px, 0);
    }
    70%{
      -webkit-transform: translate(-5px, 0);
      transform: translate(-5px, 0);
    }
    80%{
      -webkit-transform: translate(5px, 0);
      transform: translate(5px, 0);
    }
    100%{
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0);
    }
}
  
@keyframes miss{
    0%{
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0);
    }
    10%{
      -webkit-transform: translate(-25px, 0);
      transform: translate(-25px, 0);
    }
    20%{
      -webkit-transform: translate(25px, 0);
      transform: translate(25px, 0);
    }
    30%{
      -webkit-transform: translate(-20px, 0);
      transform: translate(-20px, 0);
    }
    40%{
      -webkit-transform: translate(20px, 0);
      transform: translate(20px, 0);
    }
    50%{
      -webkit-transform: translate(-10px, 0);
      transform: translate(-10px, 0);
    }
    60%{
      -webkit-transform: translate(10px, 0);
      transform: translate(10px, 0);
    }
    70%{
      -webkit-transform: translate(-5px, 0);
      transform: translate(-5px, 0);
    }
    80%{
      -webkit-transform: translate(5px, 0);
      transform: translate(5px, 0);
    }
    100%{
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0);
    }
}




/* BACKGROUND */

.fog {
    position: relative;
    height: 100vh;
    width: 100%;
    background-color: #151515;
}

.fog-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.fog-img {
    position: relative;
    height: 100vh;
    width: 300vw;
    opacity: 1;
}

.fog-img-first {
    background: url("../images/fog-1.png"); 
    background-repeat: repeat-x;
    background-size: contain;
    background-position: center;
    animation: move 60s linear infinite;
}

.fog-img-second {
    background: url("../images/fog-2.png");
    background-repeat: repeat-x;
    background-size: contain;
    background-position: center;
    animation: move 25s linear infinite;
}


.ghost{
    position: absolute;
    width: 100px;
    height: 80px;
    margin: 0;
    z-index: 1000;
    top: 50%;
    left: 50%;
    pointer-events: none;
    animation: spawn 5s linear forwards;
}




.dialogues-zone span{
    font-size: 20px;
}



.text{
    position: absolute ;
    bottom:50px;
    right:50px;
    font-family: "Special Elite", sans-serif;
    background-color: rgb(255,255, 255, 0.7);
    color: rgb(51, 51, 51);
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 30px 10px 30px;
    z-index: 1500;
    /* display: none; */
}

.stuff{
    width: 20px;
}

.full-stuff{
    position: absolute;
    top:90%;
    left:50px;
    width: 150px;
    height: 40px;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.key-stuff{
    display: none;
}


.tirebouchon-stuff{
    display: none;
}

.key-success{
    position: absolute;
    top: 50%;
    left:45%;
    width: 200px;
    animation: scale 1s ease-in forwards;
    z-index: 30;
    display: none;
}

.tirebouchon-success{
    position: absolute;
    top: 40%;
    left:45%;
    width: 200px;
    animation: scale 1s ease-in forwards;
    z-index: 30;
    display: none;
}

@keyframes spawn{
    0%{
        opacity: 0;
    }

    100%{
        opacity: 0.7;
    }
}


@keyframes move {
    0% 
    {
        transform: translate3d(0, 0, 0);
    }

    100%
    {
        transform: translate3d(-200vw, 0, 0);
    }
}



@keyframes scale{
    0%
    {
        transform: scale(5);
        filter: blur(50px);
    }

    50%
    {
        filter: blur(0px);
        transform: scale(1);
    }

    75%{
        opacity: 1;
    }

    100%{
        opacity: 0;
    }
}


@keyframes float{
    0%   {

        transform: translateY(-3px);

    }
    100% {
        transform: translateY(5px);

    }
}



@font-face {
    font-family: 'Avenir';
    src: url('../fonts/AvenirLTStd-Roman.woff2') format('woff2'),
        url('../fonts/AvenirLTStd-Roman.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


@font-face {
    font-family: 'Special Elite';
    src: url('../fonts/SpecialElite-Regular.woff2') format('woff2'),
        url('../fonts/SpecialElite-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Thin.woff') format('woff2'),
        url('../fonts/Roboto-Thin.woff2') format('woff');
    font-weight: light;
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Regular.woff2') format('woff2'),
        url('../fonts/Roboto-Regular.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Bold.woff2') format('woff2'),
        url('../fonts/Roboto-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}


@font-face {
    font-family: 'The Night Creatures';
    src: url('../fonts/TheNightCreatures.woff2') format('woff2'),
        url('../fonts/TheNightCreatures.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Stranger back in the Night';
    src: url('../fonts/StrangerbackintheNight.woff2') format('woff2'),
        url('../fonts/StrangerbackintheNight.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}