:root {
    --real-vh: 100dvh;
}

* {
    box-sizing: border-box;
}

html {
    overflow: hidden;
    height: var(--real-vh);
    max-height: var(--real-vh);
}

body {
    height: var(--real-vh);
    max-height: var(--real-vh);
    padding: 0;
    margin: 0;
    font-family: Roboto, sans-serif;
    background: #2B2B2B;
    user-select: none;
}

img {
    pointer-events: none;
}

.landing {
    touch-action: none;
    -ms-touch-action: none;
    height: var(--real-vh);
    max-height: var(--real-vh);
    display: flex;
    flex-direction: column;
    align-items: center;
    background: url('../images/background.jpg') no-repeat center center;
    background-size: cover;
    overflow: hidden;
}

.landing__header {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.landing__header-img {
    width: 100%;
    height: auto;
}

.landing__body {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.landing__body-img {
    width: 100%;
    height: auto;
}

.landing__footer {
    width: 100%;
    height: 100%;
    max-height: 480px;
    display: flex;
    justify-content: center;
    margin-top: auto;
    position: relative;
    overflow: hidden;
}

.landing__footer-img {
    position: absolute;
    width: auto;
    height: 100%;
    z-index: 3;
}

.landing__footer-explosion {
    position: absolute;
    width: 200px;
    height: 200px;
    animation: explode 1s forwards;
    opacity: 0;
    background-image: url('../images/img.png');
    background-size: cover;
    left: 50%;
    right: 50%;
    top: 50%;
    z-index: 2;
}

.landing__footer-targets {
    z-index: 1;
    position: absolute;
    min-width: 120%;
    bottom: 43%;
    left: 50%;
    -webkit-transform: translateX(-40%);
    transform: translateX(-40%);
    font-size: 7.5vh;
    font-weight: 700;
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    color: hsla(0, 0%, 100%, 0.87);
    gap: 40px;
    -webkit-animation: bounce 5s ease-in-out infinite;
    animation: bounce 5s ease-in-out infinite;
}

.landing__footer-button {
    font-family: Roboto, sans-serif;
    position: absolute;
    bottom: 10%;
    z-index: 4;
    cursor: pointer;
    transition: 0.1s;
}

.landing_footer-button_play.landing__footer-button {
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    background: linear-gradient(180deg, #FD8787 0%, #C50000 100%), linear-gradient(0deg, #FFFFFF, #FFFFFF);
    border: 1px solid #FFFFFF;
    border-radius: 6px;
    padding: 15px 120px;
}

.landing_footer-button_play:hover.landing__footer-button {
    background: linear-gradient(180deg, #C50000 0%, #FD8787 100%), linear-gradient(0deg, #FFFFFF, #FFFFFF);
}

.landing_footer-button_play:active.landing__footer-button {
    transform: scale(0.95);
}

@media screen and (max-width: 900px) {
    .landing {
        background: url('../images/background_mobile.png') no-repeat center;
        background-size: cover;
    }

    .landing__header {
        margin-top: 20px;
    }

    .landing__header-img {
        width: 50%;
    }

    .landing__body {
        margin-top: 20px;
    }

    .landing__body-img {
        width: 70%;
    }

    .landing__footer {
        max-height: 420px;
    }

    .landing__footer-targets {
        font-size: 6vh;
        bottom: 44%;
    }
}

@keyframes bounce {
    0% {
        -webkit-transform: translateX(-40%);
        transform: translateX(-40%);
    }

    50% {
        -webkit-transform: translateX(-60%);
        transform: translateX(-60%);
    }

    100% {
        -webkit-transform: translateX(-40%);
        transform: translateX(-40%);
    }
}

@keyframes explode {
    0% {
        transform: translate(-50%, -50%) scale(0);
        opacity: 0;
    }
    100% {
        transform: translate(-50%, -50%) scale(2);
        opacity: 1;
    }
}
