﻿body {
  width: 100%;
  height: 100vh;
  display: grid;
  justify-content: center;
  align-items: center;
  background-color: #00B2EE;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  margin: 0;
  position: relative;
}

.jogo {
  width: 80%;
 
  position: relative;
  justify-self: center;
  text-justify: center;
  inter-ideograph:center;
  text-align:center;
  margin-top: 7%;
  margin-bottom: 3%;
}
.jogo ul {
  margin: 0;
  padding: 0;
  display: grid;
  width: 100%;
  height: 800px;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  position: absolute;
}
.jogo ul li {
  list-style: none;
  background-color: white;
  display: flex;
  justify-content: center;
  align-items: center;
}
.jogo ul li p {
  background-color: #cd3f5d;
  width: calc(100% - 1px);
  height: calc(100% - 1px);
  padding: 0;
  margin: 0;
}
.jogo ul li p.scale {
  transform: scale(0.9);
}
.jogo .reflection {
  width: 500px;
  height: 500px;
  position: absolute;
  display: none;
  visibility: hidden;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.jogo .reflection:before, .jogo .reflection:after {
  position: absolute;
  content: "";
  width: 150%;
  height: 150%;
  background: linear-gradient(90deg, transparent, white, transparent);
  opacity: 0.5;
  background-size: 150% 100%;
  background-position: 0px 100%;
  background-repeat: no-repeat;
  transform: rotate(45deg);
  animation: reflect cubic-bezier(0.51, 0.11, 0.08, 1.01) both;
  animation-delay: 0s;
  animation-duration: 1.8s;
}
.jogo .reflection:after {
  background-size: 80% 100%;
  opacity: 0.7;
  animation-delay: 0.2s;
  animation-duration: 1.6s;
  z-index: 2;
}
@keyframes reflect {
  0% {
    background-position: -800px 100%;
  }
  100% {
    background-position: 800px 100%;
  }
}
.jogo .reflection.show {
  display: flex;
  visibility: visible;
}

button {
  position: absolute;
  top: 40px;
  justify-self: center;
  color: #cd3f5d;
  border: 0;
  padding: 10px 20px;
  border-radius: 4px;
  cursor: pointer;
  text-transform: uppercase;
  transition: all 0.4s ease;
}
button:focus {
  outline: 0;
}
button:hover {
  background-color: #cd3f5d;
  color: white;
}

.counterContainer {
  width: 200px;
  height: 100px;
  background-color: white;
  display: flex;
  justify-content: center;
  align-items: center;
}
.counterContainer .counter {
  width: 124px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.counterContainer .counter .numbers {
  width: 100%;
  font-family: Roboto;
  font-size: 30px;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 25px;
  text-align: center;
  color: #333333;
  position: absolute;
  left: 12px;
  user-select: none;
}
.counterContainer .counter .bgNumbers {
  width: 100%;
  height: 100%;
  position: absolute;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.counterContainer .counter .bgNumbers:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background-color: white;
  left: 0;
  z-index: 2;
}
.counterContainer .counter .bgNumbers .bg {
  width: 40px;
  height: 100%;
  margin: 0 1px;
  position: relative;
  perspective: 1800px;
  background-color: #ededed;
}
.counterContainer .counter .bgNumbers .bg:before, .counterContainer .counter .bgNumbers .bg:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 50%;
  background-color: #ededed;
  left: 0;
}
.counterContainer .counter .bgNumbers .bg:before {
  z-index: 2;
  top: 0;
  transform-origin: bottom center;
}
.counterContainer .counter .bgNumbers .bg:after {
  height: calc(50% - 1px);
  bottom: 0;
}
.counterContainer .counter .bgNumbers .bg.flip:before {
  animation: flip 1s ease forwards infinite;
}
@keyframes flip {
  50% {
    background-color: #dadada;
  }
  90% {
    background-color: #ededed;
  }
  100% {
    background-color: #ededed;
    transform: rotatex(-180deg);
  }
}