body {
    font-family: 'Inter', sans-serif;
}

/* helper start */
.min-gutter {
    margin-left: -0.25rem;
    margin-right: -0.25rem;
}
.min-gutter .flex-small,
.min-gutter .flex-large {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}

/* helper end */

.wrapper {
    position: relative;
    color: white;
}

.background {
    background-image: url(../img/bg.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    position: fixed;
    animation: bg 30s infinite ease-in-out !important;
}

.main {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.box {
    max-width: 540px;
}

.top {
    text-align: center;
    min-height: 75px;
    padding-top: 1rem;
    padding-bottom: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.logo {
    width: auto;
    height: 25px;
}
.logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
}

.game-picture {
    position: relative;
    line-height: normal;
    margin-bottom: 0.5rem;
    border-radius: 1rem;
}
.game-picture img {
    max-width: 100%;
    animation: lazy 2s, button 2s infinite ease-in-out, fadeIn 5s;
    border-radius: calc(1rem - 1px);
}

.form {
    position: relative;
    text-align: center;
    margin: 1rem 0;
    animation: fadeIn 5s;
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
}
.form input {
    border-color: rgba(200, 230, 255, 0.9);
    background: white;
    animation: input 2s infinite, fadeIn 5s;
    text-align: center;
    font-size: 1.125rem;
}
.form__action {
    margin-top: 1rem;
}

.button-action {
    background-color: #00D907;
    box-shadow: 0 5px 0 #00BB06;
    text-transform: uppercase;
    color: white;
    animation: lazy 2s, button 2s infinite ease-in-out;
    font-weight: bold;
    padding-left: 1.75rem;
    padding-right: 1.75rem;
}
.button-action:hover,
.button-action:focus {
    background-color: #00CF07;
    box-shadow: 0 4px 0 #00BB06;
}
.button-action:active {
    background-color: #00CF07 !important;
    box-shadow: none;
}

.info {
    font-size: 0.875rem;
    text-align: center;
    line-height: 1.5;
    padding: 0.5rem 0;
    opacity: 0.85;
}
.info p {
    margin-bottom: 0.5rem;
}
.info p:last-child {
    margin-bottom: 0;
}

.mascot {
    position: relative;
    width: 100%;
    height: 100%;
}
.mascot .mascot-1 {
    width: auto;
    height: 200px;
    top: 200px;
    left: 130px;
    position: absolute;
    pointer-events: none;
}
.mascot .mascot-2 {
    width: auto;
    height: 250px;
    top: 20px;
    right: 100px;
    position: absolute;
    pointer-events: none;
}
.mascot .mascot-3 {
    width: auto;
    height: 150px;
    bottom: 70px;
    left: 120px;
    position: absolute;
    pointer-events: none;
}
.mascot .mascot-4 {
    width: auto;
    height: 150px;
    bottom: 320px;
    right: 100px;
    position: absolute;
    pointer-events: none;
}
.mascot .mascot-5 {
    width: auto;
    height: 200px;
    bottom: 50px;
    right: 100px;
    position: absolute;
}

@keyframes bg {
    50% {
        transform: scale(1.2)
    }
}

@keyframes input {
    0% {
        box-shadow: 0 0 white
    }

    70% {
        box-shadow: 0 0 0 .85rem #FFF0
    }

    100% {
        box-shadow: 0 0 #FFF0
    }
}

@keyframes lazy {
    0% {
        transform: translatey(-100%)
    }

    to {
        transform: translatey(0)
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes button {
    40% {
        transform: translate(0, -5px);
        filter: drop-shadow(10px 10px 5px rgba(20, 0, 60, .5)) 
    }
}

@media only screen and (max-width: 960px) {
    .mascot .mascot-1 {
        left: 10px;
        height: 160px;
    }
    .mascot .mascot-2 {
        right: 10px;
        height: 190px;
    }
    .mascot .mascot-3 {
        left: 10px;
    }
    .mascot .mascot-4 {
        right: 10px;
        height: 120px;
    }
    .mascot .mascot-5 {
        right: 10px;
        height: 180px;
    }
}

@media only screen and (max-width: 720px) {
    .mascot .mascot-1 {
        height: 120px;
        bottom: 50px;
        top: auto;
        left: 10px;
    }
    .mascot .mascot-2 {
        height: 135px;
        top: 50px;
        right: 0;
    }
    .mascot .mascot-3 {
        height: 110px;
        top: 350px;
        bottom: auto;
        left: -30px;
    }
    .mascot .mascot-4 {
        height: 80px;
        bottom: 200px;
        right: -10px;
    }
    .mascot .mascot-5 {
        height: 120px;
        bottom: 50px;
        right: 20px;
    }
}

@media only screen and (max-width: 540px) {
    .box {
        max-width: 90%;
    }
}