
footer.footer {
  grid-area: footer;

  margin-top: 3rem;

  background-color: var(--Very-Dark-Cyan);
  
  color: #FFF;

  font-size: 1.9rem;
}

footer.footer > .container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  padding: 4rem 10rem;
}

footer.footer > .container > .left {
  width: 70%;  
}

footer.footer > .container > .left > .div-image > img {
  padding: 1.5rem;

  border-radius: 2rem;

  background-color: var(--Very-light-Cyan);
}

footer.footer > .container > .left > .lists {
  display: flex;
  flex-direction: column;
}

footer.footer > .container > .left > .lists > .list {
  display: flex;
  align-items: center;
  gap: 2rem;

  margin-top: 2rem;
}

footer.footer > .container > .left > .lists > .list.-first {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}

footer.footer > .container > .group-left-right-middle {
  display: flex;
  justify-content: space-around;

  margin-top: 6rem;
}

footer.footer > .container > .group-left-right-middle > .left-middle > .lists > .list > .description,
footer.footer > .container > .group-left-right-middle > .right-middle > .lists > .list > .description {
  margin-top: 3rem;
}

footer.footer > .container > .right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  margin-left: 10rem;
}

footer.footer > .container > .right > .lists {
  display: flex;
  justify-content: center;
  
  width: 100%;

  margin-top: 8rem;
}

footer.footer > .container > .right > .lists > .list {
  display: flex;
  align-items: center;
  gap: 2rem;

  margin-right: 2rem;
}

  footer.footer > .container > .right > .lists > .list > .link > .fa-github,
  footer.footer > .container > .right > .lists > .list > .link > .fa-facebook, 
  footer.footer > .container > .right > .lists > .list > .link > .fa-instagram {
    font-size: 4.5rem;

    padding: 1rem;

    transition: .2s;

    color: #FFF;

    margin-left: 2rem;
  }

  footer.footer > .container > .right > .lists > .list > .link > .fa-github:hover,
  footer.footer > .container > .right > .lists > .list > .link > .fa-facebook:hover, 
  footer.footer > .container > .right > .lists > .list > .link > .fa-instagram:hover {
    transform: scale(1.5);
  }

footer.footer > .container > .right > .description {
  margin-top: 8rem;

  text-align: center;

  font-size: 2rem;
}

@media (max-width: 425px) {
  footer.footer {
    padding: 3rem 2rem;
  }

  footer.footer > .container {
    display: flex;
    flex-direction: column;
    gap: 2rem;

    padding: 0;
  }

  footer.footer > .container > .group-left-right-middle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0;

    margin-top: 2rem;
  }

  footer.footer > .container > .left {
    width: 100%;
    
    text-align: center;
  }

  footer.footer > .container > .left > .div-image {
    display: flex;
    justify-content: center;
  }

  footer.footer > .container > .left > .div-image > img {
    width: 70%;
  }

  footer.footer > .container > .left > .lists {
    margin-top: 1rem;
  }

  /* Porque tem gap dentro dessa declaração? Porque tem um display: flex na parte normal. */
  footer.footer > .container > .left > .lists > .list {
    margin-bottom: 1.5rem;

    gap: 1rem;
  }
  
  footer.footer > .container > .left > .lists > .list.-first {
    display: flex;
    gap: 0;
    align-items: flex-start;
  }

  footer.footer > .container > .left > .lists > .list.-first > img {
    margin-top: .5rem;
  }

  footer.footer > .container > .left > .lists > .list.-first > .description {
    width: 100%;
    text-align: left;
    
    margin-left: 1.5rem;
  }

  footer.footer > .container > .group-left-right-middle {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  footer.footer > .container > .group-left-right-middle > .right-middle {
    display: flex;
    justify-content: flex-end;
  }

  footer.footer > .container > .group-left-right-middle > .left-middle > .lists > .list > .description,
  footer.footer > .container > .group-left-right-middle > .right-middle > .lists > .list > .description {
    margin-top: 2rem;
  }

  footer.footer > .container > .right {
    margin: 5rem 0 2rem 0;

    align-items: center;
  }

  footer.footer > .container > .right > .lists {
    margin-top: 3rem;
  }

  footer.footer > .container > .right > .lists > .list > .link {
    color: #FFF;
  }

  footer.footer > .container > .right > .lists > .list > .link > .fa-github,
  footer.footer > .container > .right > .lists > .list > .link > .fa-facebook, 
  footer.footer > .container > .right > .lists > .list > .link > .fa-instagram {
    font-size: 4rem;

    padding: 1rem;

    transition: .2s;
  }

  footer.footer > .container > .right > .lists > .list > .link > .fa-github:hover,
  footer.footer > .container > .right > .lists > .list > .link > .fa-facebook:hover, 
  footer.footer > .container > .right > .lists > .list > .link > .fa-instagram:hover {
    transform: scale(1.5);
  }

  footer.footer > .container > .right > .description {
    margin-top: 5rem;

    font-size: 1.6rem;
  }
}

@media (min-width: 426px) and (max-width: 768px) {
  footer.footer {
    margin-top: 4rem;

    background-color: var(--Very-Dark-Cyan);

    color: #FFF;

    font-size: 1.8rem;
  }

  footer.footer > .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  footer.footer > .container > .left {
    width: 70%;
    
    text-align: center;
  } 

  footer.footer > .container > .left > .div-image > img {
    width: 80%;
  }

  footer.footer > .container > .left > .lists {
    display: flex;
    flex-direction: column;
    
    margin-top: 2rem;
  }

  footer.footer > .container > .left > .lists > .list {
    display: flex;
    justify-content: flex-start;
    gap: 2rem;

    margin-bottom: 2rem;
  }

  footer.footer > .container > .left > .lists .list.-first {
    text-align: left;
  }

  footer.footer > .container > .group-left-right-middle {
    display: flex;
    justify-content: space-around;
    
    width: 100%;
  }

  footer.footer > .container > .group-left-right-middle > .left-middle > .lists > .list > .description,
  footer.footer > .container > .group-left-right-middle > .right-middle > .lists > .list > .description {
    margin-top: 2rem;
}

  footer.footer > .container > .right {
    margin: 0 0 2rem 0;
  }

  footer.footer > .container > .right > .description {
    font-size: 1.8rem;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  footer.footer {
    padding: 4rem 2rem;
  }

  footer.footer > .container {
    display: flex;
    flex-direction: column;
  }

  footer.footer > .container > .left {
    text-align: center;

    width: 100%;
  }

  footer.footer > .container > .left > .div-image > img {
    width: 50%;
    
    margin: auto;
  }

  footer.footer > .container > .right {
    margin: 0;
  }

  footer.footer > .container > .right > .description {
    font-size: 1.8rem;
    
    text-align: center;
  }
}

@media (min-width: 1025px) and (max-width: 1440px) {
  footer.footer {
    margin-top: 4rem;

    background-color: var(--Very-Dark-Cyan);

    color: #FFF;

    font-size: 1.6rem;
  }

  footer.footer > .container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;

    padding: 4rem 6rem 2rem;
  }

  footer.footer > .container > .left {
    width: 60%;
  } 

  footer.footer > .container > .left > .div-image > img {
    width: 100%;
  }

  footer.footer > .container > .left > .lists {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }

  footer.footer > .container > .left > .lists > .list {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 2rem;

    margin-bottom: 2rem;
  }

  footer.footer > .container > .right > .lists > .list > .link {
    color: #FFF;

    display: flex;
    justify-content: center;
    align-items: center;
  }

  footer.footer > .container > .right > .lists > .list > .link > .fa-github,
  footer.footer > .container > .right > .lists > .list > .link > .fa-facebook, 
  footer.footer > .container > .right > .lists > .list > .link > .fa-instagram {
    font-size: 4rem;

    padding: 1rem;

    transition: .2s;
  }

  footer.footer > .container > .right > .lists > .list > .link > .fa-github:hover,
  footer.footer > .container > .right > .lists > .list > .link > .fa-facebook:hover, 
  footer.footer > .container > .right > .lists > .list > .link > .fa-instagram:hover {
    transform: scale(1.5);
  }

  footer.footer > .container > .left > .lists .list.-first {
    width: calc(100% + 10rem);
  }

  footer.footer > .container > .group-left-right-middle {
    display: flex;
    justify-content: space-between;

    margin-top: 8rem;
  }

  footer.footer > .container > .group-left-right-middle > .left-middle > .lists > .list > .description,
  footer.footer > .container > .group-left-right-middle > .right-middle > .lists > .list > .description {
    margin-top: 2rem;
}

  footer.footer > .container > .right > .description {
    margin-top: 2rem;

    font-size: 1.7rem;
  }
}
