@font-face {
    font-family: "Archivo";
    src: url(./fonts/Archivo-VariableFont_wdth\,wght.ttf);
}

body {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: "Archivo", sans-serif;
    background-image: url(./img/background/webpage_background.jpg);
    background-size: cover;
    background-position: center;
    color: white;
    margin: 0px;
    min-height: 100vh;
}

h1 {
    font-size: 54px;
    margin: 20px 0px;
}

.content {
    max-width: 1920px;
}

.game-canvas {
    height: 720px;
    width: 1280px;
    background-color: black;
}

.game-wrapper {
    position: relative;
    width: 1280px;
    height: 720px;
    background: #946a07;
    background: linear-gradient(0deg, rgba(148, 106, 7, 1) 0%, rgba(235, 173, 16, 1) 26%, rgba(212, 160, 4, 1) 75%, rgba(250, 207, 77, 1) 100%);
}

.start-text {
    font-size: 24px;
    margin-top: 20px;
    background-color: rgba(0, 0, 0, 0.4);
    padding: 10px 30px;
    border-radius: 20px;
    text-align: center;
}

.controls {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    z-index: 10;
}

.controls img {
    height: 30px;
    width: 30px;
}

.controls button {
    background: none;
    border: none;
    cursor: pointer;
    margin-top: 0;
}

.game-wrapper:fullscreen .game-canvas {
    width: 100vw;
    height: 56.25vw;
}

.game-wrapper:fullscreen {
    display: flex;
    align-items: center;
    justify-content: center;
}

.restart-button {
    display: none;
    padding: 12px 28px;
    font-size: 22px;
    border-radius: 10px;
    border-style: solid;
    border-color: rgb(255, 255, 255);
    border-width: 4px;
    background-color: #FFCA1C;
    cursor: pointer;
}

.restart-button:hover {
    background-color: #b3742c;
    border-color: rgb(240, 240, 240);
    color: rgb(255, 255, 255);
}

.start-button {
    padding: 12px 28px;
    font-size: 22px;
    border-radius: 10px;
    border-style: solid;
    border-color: rgb(255, 255, 255);
    border-width: 4px;
    background-color: #FFCA1C;
    cursor: pointer;
}

.start-button:hover {
    background-color: #b3742c;
    border-color: rgb(240, 240, 240);
    color: rgb(255, 255, 255);
}

.display-block {
    display: block;
}

.title-header {
    display: flex;
    justify-content: center;
}

.volume-control {
    display: flex;
    align-items: center;
    gap: 8px;
}

.volume-control input {
    display: none;
}

.volume-control:hover input {
    display: block;
}

.legal-links {
    display: flex;
    gap: 16px;
    margin-top: 20px;
}

.legal-links a {
    color: white;
    text-decoration: none;
    font-size: 18px;
}

.legal-links a:hover {
    text-decoration: underline;
    text-decoration-thickness: 3px;
}

.action-buttons {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    width: 95%;
}

.action-button-group-container {
    display: none;
    gap: 16px;
}

.mobile-move-buttons {
    display: none;
    padding: 16px;
    font-size: 22px;
    border-radius: 10px;
    border-style: solid;
    border-color: rgb(255, 255, 255);
    border-width: 4px;
    background-color: #FFCA1C;
    cursor: pointer;
}

.mobile-move-buttons:hover {
    background-color: #b3742c;
    border-color: rgb(240, 240, 240);
    color: rgb(255, 255, 255);
}

.control-img {
    padding: 4px 10px;
}

.control-img img {
    width: 30px;
    height: 30px;
}

.menu-buttons {
    display: flex;
    justify-content: center;
    gap: 16px;
}

.turn-info {
    display: none;
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 100;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    background-color: #e5e5f7;
    background-size: 10px 10px;
    background: repeating-linear-gradient(45deg,
            rgb(7, 98, 202),
            rgb(0, 76, 163) 10%,
            rgb(0, 76, 163) 10%,
            rgb(7, 98, 202) 10%);
}

.turn-info p {
    z-index: 1;
    margin: 0px;
    font-size: 22px;
}

.title-screen {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
}

.rotate-device {
    position: absolute;
    top: 10%;
    aspect-ratio: 1;
    height: 80%;
    object-fit: contain;
}

.control-mobile img{
    height: 24px;
    width: 24px;
    object-fit: contain;
    filter: brightness(0%) invert(100%);
}