body {
  background: #f5f5f5;
  font-family: 'Lato', sans-serif;
  max-width: 800px;
  margin: 0 auto;
}
nav {
  background-color: #d3d3d3;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
h1 {
  display: block;
  color: #000080;
}
h2 {
  color: #000;
}
.container {
  padding: 10px;
}
.pelota {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background-color: #f00;
  color: #f00;
  transition-property: width, height;
  transition-duration: 1s;
  transition-timing-function: ease;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pelota:hover {
  font-size: 40px;
  color: #fff;
  background-color: #fc6262;
  width: 200px;
  height: 200px;
}
.canasta {
  border: 2px solid #f00;
  position: relative;
  height: 100px;
  width: 100%;
}
.canasta .pelota {
  position: absolute;
  transition: 1.5s;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: bold;
}
.canasta:hover {
  border: 2px solid #008000 dashed;
}
.canasta:hover .pelota-a {
  left: calc(50% - 100px);
}
.canasta:hover .pelota-b {
  right: calc(50% - 100px);
}
.pelota-a {
  backgound: #f00;
  left: 0;
}
.pelota-b {
  background: #00f;
  right: 0;
}
.transformacion {
  transform: rotate(-3deg) skew(-10deg) translate(0, 80px) scale(1.2);
  margin-bottom: 200px;
}
.rotate {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  background-color: #c0c0c0;
  border: 3px dashed #f00;
  margin: 10px 0;
}
.rotate:hover {
  background-color: #0ff;
}
.rotate:hover .cuadro {
  background-color: #008000;
}
.rotate:hover .a {
  transform: rotate(360deg);
}
.rotate:hover .b {
  transform: rotateX(360deg);
}
.rotate:hover .c {
  transform: rotateY(360deg);
}
.rotate:hover .d {
  transform: rotateZ(360deg);
}
.rotate:hover .e {
  transform: rotateX(360deg) rotateY(360deg);
}
.rotate:hover .f {
  transform: rotateX(360deg) rotateZ(360deg);
}
.rotate:hover .g {
  transform: rotateY(360deg) rotateZ(360deg);
}
.rotate:hover .h {
  transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
}
.cuadro {
  width: 100px;
  height: 100px;
  background: #7dc900;
  border: 2px solid #008000;
  margin: 20px;
  transition: 6s;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}
.translate {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  background-color: #d3d3d3;
  border: 3px dashed #000;
  perspective: 200px;
  perspective-origin: top;
  margin: 10px 0;
}
.translate:hover {
  background-color: #c0c0c0;
}
.translate:hover .cuadro-x {
  color: #ffc0cb;
  background-color: #000;
  border: 2px solid #ffc0cb;
}
.translate:hover .a-x {
  transform: translateX(250px);
}
.translate:hover .b-x {
  transform: translateY(250px);
}
.translate:hover .c-x {
  transform: translateX(-250px);
}
.translate:hover .d-x {
  transform: translateY(-250px);
}
.translate:hover .e-x {
  transform: translateZ(100px);
}
.translate:hover .f-x {
  transform: translateZ(-250px);
}
.cuadro-x {
  position: absolute;
  width: 100px;
  height: 100px;
  background: #ffc0cb;
  border: 2px solid #000;
  margin: 20px;
  transition: 1s;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}
.scale {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  background-color: #d3d3d3;
  border: 3px dashed #00f;
}
.scale:hover {
  background-color: #ffa500;
}
.scale:hover .cuadro-s {
  color: #ffc0cb;
  background-color: #000;
  border: 2px solid #ffc0cb;
}
.scale:hover .a-s {
  transform: scale(1.5);
}
.scale:hover .b-s {
  transform: scale(0.2);
}
.cuadro-s {
  width: 100px;
  height: 100px;
  background: #7fffd4;
  border: 2px solid #000;
  margin: 20px;
  transition: 1s;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}
.skew {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  background-color: #d3d3d3;
  border: 3px dashed #fa8072;
}
.skew a {
  font-size: 70px;
  color: #d3d3d3;
}
.skew:hover {
  background-color: #ffa500;
}
.skew:hover a {
  color: #000;
}
.skew:hover .cuadro-sk {
  background-color: #000;
}
.skew:hover .a-sk {
  transform: skew(45deg);
}
.skew:hover .b-sk {
  transform: skew(-45deg);
}
.cuadro-sk {
  width: 66px;
  height: 100px;
  background: #f0f;
  border: 2px solid #000;
  margin: 20px;
  transition: 0.8s;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}
.animation {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100px;
  border: 1px solid #f00;
}
.cuadro-aa,
.cuadro-ab {
  width: 30px;
  height: 30px;
  background: #f00;
  border-radius: 10px;
  margin: 20px;
  transition: 6s;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  animation-name: cuadrado;
  animation-duration: 0.5s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in;
}
.cuadro-ab {
  animation-direction: reverse;
}
@keyframes cuadrado {
  0% {
    opacity: 1;
    background: #f00;
  }
  50% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
    background: #00f;
  }
}
.bezier {
  height: 90px;
  background-color: #000;
  display: flex;
  padding: 8px;
  border-radius: 10px;
}
.ball,
.ball-a,
.ball-b,
.ball-c,
.ball-d,
.ball-e {
  position: relative;
  height: 90px;
  width: 90px;
  border-radius: 50%;
  animation-name: ball;
  animation-duration: 4s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
.ball-a {
  animation-timing-function: ease-in;
}
.ball-b {
  animation-timing-function: ease-out;
}
.ball-c {
  animation-timing-function: ease-in-out;
}
.ball-d {
  animation-timing-function: linear;
}
.ball-e {
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
@keyframes ball {
  0% {
    left: 0%;
    background: #f00;
  }
  17% {
    background: #ffa500;
  }
  33% {
    background: #ff0;
  }
  49% {
    background: #008000;
  }
  66% {
    background: #add8e6;
  }
  82% {
    background: #000080;
  }
  100% {
    background: #ee82ee;
    left: calc(100% - 90px);
  }
}
