@import url('https://fonts.googleapis.com/css2?family=Rubik&display=swap');

html {
  font-family: 'Rubik', sans-serif;
  font-size: 25px;
}
html {
  margin: 0px;
  height: 100%;
  width: 100%;
}

body {
  margin: 0px;
  min-height: 100%;
  width: 100%;
  overflow: hidden;
}

h2 {
  text-align: center;
  margin: 5px;
}

.sudo-cont{
  display: flex;
  justify-content: center;
}
.sudo{
  position: relative;
}

.fila{
  display: flex;
  justify-content: center;
  width: max-content;
}

.fila:first-child{
  border-top:solid;
}
.fila:nth-child(3n) {
  border-bottom:solid;
}
.fila:last-child{
  border-bottom:solid;
}

.cuadro:first-child {
  border-left:solid;
}
.cuadro:nth-child(3n) {
  border-right:solid ;
}

.casilla{
  border: 1px solid #e2e2e2;
  height: 50px;
  width: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0;
  cursor: pointer;
  transition: all 0.2s;
}
.casilla_ver{
  font-size: 25px;
}
.casilla_sel{
  background: #d1ecff;
}

.casilla_fantasma{
  background: #e6f5ff;
}

.boton{
  height: 60px;
  width: 400px;
  border-radius: 5px;
  background-color: #0072e3;
  font-size: 20px;
  font-weight: 600;
  line-height: 60px;
  vertical-align: middle;
  text-align: center;
  color: #fff;
  cursor: pointer;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 20px;
  transition: all .2s ease-in-out;
}
.boton:hover{
  background-color: #3d9eff;
  width: 410px;
}

.boton-verde{
  background-color: #0ce4e0;
  color: #000;
}
.boton-verde:hover{
  background-color: #6debe9;
}

.boton-rojo{
  background-color: #ff7070;
  height: 40px;
  width: 180px;
  margin-top: 50px;
  line-height: 40px;
}
.boton-rojo:hover{
  background-color: #d15e5e;
  width: 170px;
}

.numeros-cont{
  display: flex;
  width: 400px;
  margin: 0 auto;
  margin-top: 20px;
  align-items: center;
  justify-content: space-between;
}
.numeros{
  border-radius: 5px;
  background-color: #0067ce;
  color: #fff;
  height: 50px;
  width: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 0px 5px #00000052;
  cursor: pointer;
}
.numeros:hover{
  background: #43a1ff;
}

.lock{
  color: #3391d4;
}

.mensaje-error{
  position: absolute;
  bottom: 0;
  background: #ff8787b3;
  padding: 5px;
  left: 0;
  transform-origin: left bottom;
  transform: rotate(-90deg);
  width: 350px;
}


.modal{
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffffffcf;
}
.modal-cont{
  text-align: center;
  background-image: url(particles.gif);
  background-size: auto 100%;
}

.error_numero {
  color: #ff1a1a;
  text-shadow: 0px 0px 15px #ff1a1a;
}


@media (max-width:500px){
  .casilla {
    height: 35px;
    width: 35px;
  }
  .boton {
    width: 300px;
  }
  .boton:hover {
    width: 310px;
  }
  .numeros-cont {
    width: 340px;
  }
  .numeros {
    width: 35px;
  }

  .mensaje-error {
    position: absolute;
    bottom: -10px;
    background: #f93d3da3;
    padding: 3px;
    left: 0;
    transform-origin: left bottom;
    transform: rotate(0deg);
    width: 340px;
    font-size: 12px;
    text-align: center;
    color: #ffffff;
    text-shadow: 0px 0px 5px #ff1818, 0px 0px 5px #ff1818, 0px 0px 15px #ff1818, 0px 0px 15px #ff1818;
  }

}


/* ANIMACIONES */
.anim-escala-arriba {
	-webkit-animation: anim-escala-arriba 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: anim-escala-arriba 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
@keyframes anim-escala-arriba {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.anim-desliza-arriba {
	-webkit-animation: anim-desliza-arriba 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: anim-desliza-arriba 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
@-webkit-keyframes anim-desliza-arriba {
  0% {
    -webkit-transform: translateY(-1000px);
            transform: translateY(-1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes anim-desliza-arriba {
  0% {
    -webkit-transform: translateY(-1000px);
            transform: translateY(-1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
