@font-face {
    font-family: 'Rye';
    src: url('fonts/rye_regular.ttf') format('truetype');
}

body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-image: url('img/desert.png');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    font-family: 'Rye', Arial, Helvetica, sans-serif;
    margin: 0;
    height: 100vh;
}

canvas {
    background-color: black;
    display: block;
}

button {
    background-color: #FBA83C;
    font-family: 'Rye', Arial, Helvetica, sans-serif;
    cursor: pointer;
    padding: 10px;
    border-radius: 10px;
    font-size: 18px;
    font-weight: bold;
}

.d-none {
    display: none !important;
}

.enterFullscreen {
    width: 100% !important;
    height: 100vh !important;
}

.rotate{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.fullscreen {
    position: relative;
    width: 720px;
    aspect-ratio: 720 / 480;
}

.startscreen {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
}

.endscreen {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
}

.infoscreen {
    position: absolute;
    top: 0;
    background: hsl(0deg 0% 82.82% / 90%);
    display: flex;
    flex-direction: column;
    font-size: 1.5em;
    line-height: 38px;
    width: 100%;
    height: 100%;
}

.infoscreen_text {
    padding: 4%;
    font-size: 1.em;
}

.infoscreen_element_div {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.infoscreen_element {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    gap: 3%;
    padding: 0.5%;
}

.startBTN {
    position: absolute;
    bottom: 10px;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 3%;
}

.intro_outro_img {
    width: 720px;
    aspect-ratio: 720 / 480;
}

.permanentBTNdivInGame {
    display: flex;
    position: absolute;
    right: calc(50% - 46px) !important;
    top: 10px !important;
    width: 100px;
    justify-content: space-between;
}

.permanentBTNdiv {
    display: flex;
    position: absolute;
    right: 5px;
    bottom: 10px;
    width: 100px;
    justify-content: space-between;
}

.permanentBTN {
    display: flex;
}

.permanentBTNimg {
    height: 22px;
}

.closeInfoBTN {
    position: absolute;
    top: 10px;
    right: 5px;
}

.controlIMG {
    height: 40px;
}

.hud {
    display: flex;
    position: absolute;
    width: 100%;
    justify-content: space-between;
    bottom: 3%;
}

.pannel{
    display: flex;
    justify-content: space-around;
    width: 25%;
}

.pannelIMG{
    height: 25px;
}

.pannelBTN{
    height: 55px;
    width: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.runOutOfBottlesDiv{
    display: flex;
    justify-content: center;
    position: absolute;
    width: 100%;
    top: 20%;
    text-align: center;
    background: hsl(0deg 0% 82.82% / 90%);
}
@media only screen and (max-width: 1000px) {
    .fullscreen {
        width: 100%;
    }

    .intro_outro_img {
        width: 100%;
    }

    .infoscreen {
        width: 100%;
        font-size: unset;
        line-height: unset;
        display: flex;
        justify-content: center;
    }

    canvas {
        width: 100%;
    }
}

@media only screen and (max-height: 480px) {
    .fullscreen {
        height: 100% !important;
        aspect-ratio: unset;
    }

    .intro_outro_img {
        height: 100vh;
    }

    .infoscreen {
        height: 100vh;
        font-size: unset;
        line-height: unset;
    }

    canvas {
        height: 100vh;
    }

    h1 {
        display: none;
    }
}

@media (max-width: 650px) {
    .hud {
        bottom: 3%;
    }
    
    .pannel{
        display: flex;
        justify-content: space-around;
        width: 23%;
    }
    
    .pannelIMG{
        height: 20px;
    }
    
    .pannelBTN{
        height: 50px;
        width: 50px;
    }
}

@media (max-width: 500px) {
    button {
        font-size: 10px;
    }

    .permanentBTNimg {
        height: 15px;
    }

    .permanentBTNdiv {
        width: 80px;
    }

    .hud {
        bottom: 2% !important;
    }
    
    .pannel{
        display: flex;
        justify-content: space-around;
        width: 28%;
    }
    
    .pannelIMG{
        height: 15px !important;
    }
    
    .pannelBTN{
        height: 38px !important;
        width: 38px !important;
    }

    .fullscreen{
        display: none;
    }
}

@media (max-width: 450px) {
    .closeInfoBTN {
        position: absolute;
        top: 10px;
        right: 5px;
    }
    
    .controlIMG {
        height: 25px;
    }

    .infoscreen_text {
        padding: 4%;
        margin: 2%;
        font-size: 0.7em;
    }
    
    .infoscreen_element_div {
        font-size: 0.7em;
    }   
}

@media (min-width: 500px) {
    .rotate{
        display: none;
    }
}