html, body {margin: 0; height: 100%; overflow: hidden}
.box {
    width: 80%;
    margin: 0 auto;
    padding: 5px;
    text-align: center;
}

.odometer {
    /* font-size: 400px; */
    font-size: 30vw;
    background: #fff;
    border-radius: 40px 40px 0 0;
    margin-top: 20px;
    line-height: 1;
    border-bottom: 2px solid #ddd;
}

.btn-winner {
    /* font-size: 2em; */
    font-size: 2vw;
    background: #e70f53;
    color: #fff;
    cursor: pointer;
}

.btn-winner:hover {
    transition-duration: 0.1s;
    box-shadow: 0 0 18px rgba(255, 255, 255, 0.75);
    user-select: none;
}

body {
    background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
    background-size: 400% 400%;
    animation: gradient 15s ease infinite;
    height: 100vh;
}

@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.pyro>.before,
.pyro>.after {
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    box-shadow: 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff;
    -moz-animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
    -webkit-animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
    -o-animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
    -ms-animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
    animation: 1s bang ease-out infinite backwards, 1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
}

.pyro>.after {
    -moz-animation-delay: 1.25s, 1.25s, 1.25s;
    -webkit-animation-delay: 1.25s, 1.25s, 1.25s;
    -o-animation-delay: 1.25s, 1.25s, 1.25s;
    -ms-animation-delay: 1.25s, 1.25s, 1.25s;
    animation-delay: 1.25s, 1.25s, 1.25s;
    -moz-animation-duration: 1.25s, 1.25s, 6.25s;
    -webkit-animation-duration: 1.25s, 1.25s, 6.25s;
    -o-animation-duration: 1.25s, 1.25s, 6.25s;
    -ms-animation-duration: 1.25s, 1.25s, 6.25s;
    animation-duration: 1.25s, 1.25s, 6.25s;
}

@-webkit-keyframes bang {
    to {
        box-shadow: 27px -288.6666666667px #2200ff, -44px -397.6666666667px blue, -185px -260.6666666667px #00ff73, -108px -81.6666666667px #00ffb3, -110px -346.6666666667px #ff0059, -223px -196.6666666667px #00ff5e, -39px -309.6666666667px #ff2600, -30px -226.6666666667px fuchsia, 80px 73.3333333333px #8c00ff, 2px -78.6666666667px #ff0048, -8px -289.6666666667px #ff00ae, -55px -166.6666666667px #ff0073, -214px -372.6666666667px #ff00bb, 91px -166.6666666667px #bb00ff, 239px -338.6666666667px #3cff00, 164px 7.3333333333px #00ffe1, 18px -33.6666666667px #d500ff, -70px -108.6666666667px #ff002f, 230px -284.6666666667px #7300ff, 40px -53.6666666667px #00ff26, -129px -40.6666666667px #5e00ff, -7px 0.3333333333px #84ff00, -2px -357.6666666667px #002fff, 201px -373.6666666667px #00ffae, 224px 82.3333333333px #ff1100, 81px 82.3333333333px #ff1100, 160px -349.6666666667px #00ff5e, -141px -267.6666666667px #b7ff00, 194px 0.3333333333px #bfff00, -12px -104.6666666667px #006fff, -57px -277.6666666667px #ff00e6, -92px -337.6666666667px #ffc800, 120px -409.6666666667px #00ff59, 25px -103.6666666667px #00a6ff, 145px -125.6666666667px #ff5100, -117px -44.6666666667px #0062ff, 223px -230.6666666667px #00ff5e, -100px -4.6666666667px #ffa200, -188px -41.6666666667px #7700ff, -201px -163.6666666667px #37ff00, -92px -355.6666666667px #9d00ff, 167px -217.6666666667px #e100ff, 119px -293.6666666667px #9900ff, -50px -305.6666666667px #ff00b3, -241px -151.6666666667px #3700ff, -246px -320.6666666667px darkorange, -138px -97.6666666667px #ffb700, 29px -253.6666666667px #55ff00, 44px -180.6666666667px #26ff00, 131px -118.6666666667px #5eff00, -38px -290.6666666667px #00ff48;
    }
}

@-moz-keyframes bang {
    to {
        box-shadow: 27px -288.6666666667px #2200ff, -44px -397.6666666667px blue, -185px -260.6666666667px #00ff73, -108px -81.6666666667px #00ffb3, -110px -346.6666666667px #ff0059, -223px -196.6666666667px #00ff5e, -39px -309.6666666667px #ff2600, -30px -226.6666666667px fuchsia, 80px 73.3333333333px #8c00ff, 2px -78.6666666667px #ff0048, -8px -289.6666666667px #ff00ae, -55px -166.6666666667px #ff0073, -214px -372.6666666667px #ff00bb, 91px -166.6666666667px #bb00ff, 239px -338.6666666667px #3cff00, 164px 7.3333333333px #00ffe1, 18px -33.6666666667px #d500ff, -70px -108.6666666667px #ff002f, 230px -284.6666666667px #7300ff, 40px -53.6666666667px #00ff26, -129px -40.6666666667px #5e00ff, -7px 0.3333333333px #84ff00, -2px -357.6666666667px #002fff, 201px -373.6666666667px #00ffae, 224px 82.3333333333px #ff1100, 81px 82.3333333333px #ff1100, 160px -349.6666666667px #00ff5e, -141px -267.6666666667px #b7ff00, 194px 0.3333333333px #bfff00, -12px -104.6666666667px #006fff, -57px -277.6666666667px #ff00e6, -92px -337.6666666667px #ffc800, 120px -409.6666666667px #00ff59, 25px -103.6666666667px #00a6ff, 145px -125.6666666667px #ff5100, -117px -44.6666666667px #0062ff, 223px -230.6666666667px #00ff5e, -100px -4.6666666667px #ffa200, -188px -41.6666666667px #7700ff, -201px -163.6666666667px #37ff00, -92px -355.6666666667px #9d00ff, 167px -217.6666666667px #e100ff, 119px -293.6666666667px #9900ff, -50px -305.6666666667px #ff00b3, -241px -151.6666666667px #3700ff, -246px -320.6666666667px darkorange, -138px -97.6666666667px #ffb700, 29px -253.6666666667px #55ff00, 44px -180.6666666667px #26ff00, 131px -118.6666666667px #5eff00, -38px -290.6666666667px #00ff48;
    }
}

@-o-keyframes bang {
    to {
        box-shadow: 27px -288.6666666667px #2200ff, -44px -397.6666666667px blue, -185px -260.6666666667px #00ff73, -108px -81.6666666667px #00ffb3, -110px -346.6666666667px #ff0059, -223px -196.6666666667px #00ff5e, -39px -309.6666666667px #ff2600, -30px -226.6666666667px fuchsia, 80px 73.3333333333px #8c00ff, 2px -78.6666666667px #ff0048, -8px -289.6666666667px #ff00ae, -55px -166.6666666667px #ff0073, -214px -372.6666666667px #ff00bb, 91px -166.6666666667px #bb00ff, 239px -338.6666666667px #3cff00, 164px 7.3333333333px #00ffe1, 18px -33.6666666667px #d500ff, -70px -108.6666666667px #ff002f, 230px -284.6666666667px #7300ff, 40px -53.6666666667px #00ff26, -129px -40.6666666667px #5e00ff, -7px 0.3333333333px #84ff00, -2px -357.6666666667px #002fff, 201px -373.6666666667px #00ffae, 224px 82.3333333333px #ff1100, 81px 82.3333333333px #ff1100, 160px -349.6666666667px #00ff5e, -141px -267.6666666667px #b7ff00, 194px 0.3333333333px #bfff00, -12px -104.6666666667px #006fff, -57px -277.6666666667px #ff00e6, -92px -337.6666666667px #ffc800, 120px -409.6666666667px #00ff59, 25px -103.6666666667px #00a6ff, 145px -125.6666666667px #ff5100, -117px -44.6666666667px #0062ff, 223px -230.6666666667px #00ff5e, -100px -4.6666666667px #ffa200, -188px -41.6666666667px #7700ff, -201px -163.6666666667px #37ff00, -92px -355.6666666667px #9d00ff, 167px -217.6666666667px #e100ff, 119px -293.6666666667px #9900ff, -50px -305.6666666667px #ff00b3, -241px -151.6666666667px #3700ff, -246px -320.6666666667px darkorange, -138px -97.6666666667px #ffb700, 29px -253.6666666667px #55ff00, 44px -180.6666666667px #26ff00, 131px -118.6666666667px #5eff00, -38px -290.6666666667px #00ff48;
    }
}

@-ms-keyframes bang {
    to {
        box-shadow: 27px -288.6666666667px #2200ff, -44px -397.6666666667px blue, -185px -260.6666666667px #00ff73, -108px -81.6666666667px #00ffb3, -110px -346.6666666667px #ff0059, -223px -196.6666666667px #00ff5e, -39px -309.6666666667px #ff2600, -30px -226.6666666667px fuchsia, 80px 73.3333333333px #8c00ff, 2px -78.6666666667px #ff0048, -8px -289.6666666667px #ff00ae, -55px -166.6666666667px #ff0073, -214px -372.6666666667px #ff00bb, 91px -166.6666666667px #bb00ff, 239px -338.6666666667px #3cff00, 164px 7.3333333333px #00ffe1, 18px -33.6666666667px #d500ff, -70px -108.6666666667px #ff002f, 230px -284.6666666667px #7300ff, 40px -53.6666666667px #00ff26, -129px -40.6666666667px #5e00ff, -7px 0.3333333333px #84ff00, -2px -357.6666666667px #002fff, 201px -373.6666666667px #00ffae, 224px 82.3333333333px #ff1100, 81px 82.3333333333px #ff1100, 160px -349.6666666667px #00ff5e, -141px -267.6666666667px #b7ff00, 194px 0.3333333333px #bfff00, -12px -104.6666666667px #006fff, -57px -277.6666666667px #ff00e6, -92px -337.6666666667px #ffc800, 120px -409.6666666667px #00ff59, 25px -103.6666666667px #00a6ff, 145px -125.6666666667px #ff5100, -117px -44.6666666667px #0062ff, 223px -230.6666666667px #00ff5e, -100px -4.6666666667px #ffa200, -188px -41.6666666667px #7700ff, -201px -163.6666666667px #37ff00, -92px -355.6666666667px #9d00ff, 167px -217.6666666667px #e100ff, 119px -293.6666666667px #9900ff, -50px -305.6666666667px #ff00b3, -241px -151.6666666667px #3700ff, -246px -320.6666666667px darkorange, -138px -97.6666666667px #ffb700, 29px -253.6666666667px #55ff00, 44px -180.6666666667px #26ff00, 131px -118.6666666667px #5eff00, -38px -290.6666666667px #00ff48;
    }
}

@keyframes bang {
    to {
        box-shadow: 27px -288.6666666667px #2200ff, -44px -397.6666666667px blue, -185px -260.6666666667px #00ff73, -108px -81.6666666667px #00ffb3, -110px -346.6666666667px #ff0059, -223px -196.6666666667px #00ff5e, -39px -309.6666666667px #ff2600, -30px -226.6666666667px fuchsia, 80px 73.3333333333px #8c00ff, 2px -78.6666666667px #ff0048, -8px -289.6666666667px #ff00ae, -55px -166.6666666667px #ff0073, -214px -372.6666666667px #ff00bb, 91px -166.6666666667px #bb00ff, 239px -338.6666666667px #3cff00, 164px 7.3333333333px #00ffe1, 18px -33.6666666667px #d500ff, -70px -108.6666666667px #ff002f, 230px -284.6666666667px #7300ff, 40px -53.6666666667px #00ff26, -129px -40.6666666667px #5e00ff, -7px 0.3333333333px #84ff00, -2px -357.6666666667px #002fff, 201px -373.6666666667px #00ffae, 224px 82.3333333333px #ff1100, 81px 82.3333333333px #ff1100, 160px -349.6666666667px #00ff5e, -141px -267.6666666667px #b7ff00, 194px 0.3333333333px #bfff00, -12px -104.6666666667px #006fff, -57px -277.6666666667px #ff00e6, -92px -337.6666666667px #ffc800, 120px -409.6666666667px #00ff59, 25px -103.6666666667px #00a6ff, 145px -125.6666666667px #ff5100, -117px -44.6666666667px #0062ff, 223px -230.6666666667px #00ff5e, -100px -4.6666666667px #ffa200, -188px -41.6666666667px #7700ff, -201px -163.6666666667px #37ff00, -92px -355.6666666667px #9d00ff, 167px -217.6666666667px #e100ff, 119px -293.6666666667px #9900ff, -50px -305.6666666667px #ff00b3, -241px -151.6666666667px #3700ff, -246px -320.6666666667px darkorange, -138px -97.6666666667px #ffb700, 29px -253.6666666667px #55ff00, 44px -180.6666666667px #26ff00, 131px -118.6666666667px #5eff00, -38px -290.6666666667px #00ff48;
    }
}

@-webkit-keyframes gravity {
    to {
        transform: translateY(200px);
        -moz-transform: translateY(200px);
        -webkit-transform: translateY(200px);
        -o-transform: translateY(200px);
        -ms-transform: translateY(200px);
        opacity: 0;
    }
}

@-moz-keyframes gravity {
    to {
        transform: translateY(200px);
        -moz-transform: translateY(200px);
        -webkit-transform: translateY(200px);
        -o-transform: translateY(200px);
        -ms-transform: translateY(200px);
        opacity: 0;
    }
}

@-o-keyframes gravity {
    to {
        transform: translateY(200px);
        -moz-transform: translateY(200px);
        -webkit-transform: translateY(200px);
        -o-transform: translateY(200px);
        -ms-transform: translateY(200px);
        opacity: 0;
    }
}

@-ms-keyframes gravity {
    to {
        transform: translateY(200px);
        -moz-transform: translateY(200px);
        -webkit-transform: translateY(200px);
        -o-transform: translateY(200px);
        -ms-transform: translateY(200px);
        opacity: 0;
    }
}

@keyframes gravity {
    to {
        transform: translateY(200px);
        -moz-transform: translateY(200px);
        -webkit-transform: translateY(200px);
        -o-transform: translateY(200px);
        -ms-transform: translateY(200px);
        opacity: 0;
    }
}

@-webkit-keyframes position {
    0%,
    19.9% {
        margin-top: 10%;
        margin-left: 40%;
    }
    20%,
    39.9% {
        margin-top: 40%;
        margin-left: 30%;
    }
    40%,
    59.9% {
        margin-top: 20%;
        margin-left: 70%;
    }
    60%,
    79.9% {
        margin-top: 30%;
        margin-left: 20%;
    }
    80%,
    99.9% {
        margin-top: 30%;
        margin-left: 80%;
    }
}

@-moz-keyframes position {
    0%,
    19.9% {
        margin-top: 10%;
        margin-left: 40%;
    }
    20%,
    39.9% {
        margin-top: 40%;
        margin-left: 30%;
    }
    40%,
    59.9% {
        margin-top: 20%;
        margin-left: 70%;
    }
    60%,
    79.9% {
        margin-top: 30%;
        margin-left: 20%;
    }
    80%,
    99.9% {
        margin-top: 30%;
        margin-left: 80%;
    }
}

@-o-keyframes position {
    0%,
    19.9% {
        margin-top: 10%;
        margin-left: 40%;
    }
    20%,
    39.9% {
        margin-top: 40%;
        margin-left: 30%;
    }
    40%,
    59.9% {
        margin-top: 20%;
        margin-left: 70%;
    }
    60%,
    79.9% {
        margin-top: 30%;
        margin-left: 20%;
    }
    80%,
    99.9% {
        margin-top: 30%;
        margin-left: 80%;
    }
}

@-ms-keyframes position {
    0%,
    19.9% {
        margin-top: 10%;
        margin-left: 40%;
    }
    20%,
    39.9% {
        margin-top: 40%;
        margin-left: 30%;
    }
    40%,
    59.9% {
        margin-top: 20%;
        margin-left: 70%;
    }
    60%,
    79.9% {
        margin-top: 30%;
        margin-left: 20%;
    }
    80%,
    99.9% {
        margin-top: 30%;
        margin-left: 80%;
    }
}

@keyframes position {
    0%,
    19.9% {
        margin-top: 10%;
        margin-left: 40%;
    }
    20%,
    39.9% {
        margin-top: 40%;
        margin-left: 30%;
    }
    40%,
    59.9% {
        margin-top: 20%;
        margin-left: 70%;
    }
    60%,
    79.9% {
        margin-top: 30%;
        margin-left: 20%;
    }
    80%,
    99.9% {
        margin-top: 30%;
        margin-left: 80%;
    }
}