footer {
    position: relative;
    width: 100%;
    background: hsl(220, 24%, 12%);
    min-height: 100px;
    padding: 20px 50px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    margin-top: 8rem;
  }
  
  /* Se acomodan los iconos del footer */
  
  footer .social_icon {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px 0;
    flex-wrap: wrap;
  }
  
  footer .social_icon li {
    list-style: none;
  }
  
  footer .social_icon li a {
    font-size: 2.5rem;
    color: #fff;
    margin: 0 10px;
    display: inline-block;
    transition: 0.5s;
  }
  
  footer .social_icon li a:hover {
    transform: translateY(-10px);
  }
  
  footer p {
    color: #fff;
    text-align: center;
    margin-top: 15px;
    margin-bottom: 10px;
    font-size: 1.5em;
  }
  
  footer .wave {
    position: absolute;
    top: -100px;
    left: 0;
    width: 100%;
    height: 100px;
    background: url(../images/wave.webp);
    background-size: 1000px 100px;
  }
  
  footer .wave#wave1 {
    z-index: 999;
    opacity: 1;
    bottom: 0;
    animation: animateWave 4s linear infinite;
  }
  
  footer .wave#wave2 {
    z-index: 998;
    opacity: 0.5;
    bottom: 10px;
    animation: animateWave_02 4s linear infinite;
  }
  
  footer .wave#wave3 {
    z-index: 999;
    opacity: 0.2;
    bottom: 15px;
    animation: animateWave 3s linear infinite;
  }
  
  footer .wave#wave4 {
    z-index: 998;
    opacity: 0.7;
    bottom: 20px;
    animation: animateWave_02 3s linear infinite;
  }
  
  
  @keyframes animateWave {
    0% {
      background-position-x: 1000px;
    }
  
    100% {
      background-position-x: 0px;
    }
  }
  
  @keyframes animateWave_02 {
    0% {
      background-position-x: 0px;
    }
  
    100% {
      background-position-x: 1000px;
    }
  }

  @media screen and (max-width:900px) {
    footer p {
      font-size: 1em;
    }
  }