.footer {
  width: 100%;
  background-color: var(--bg-footer)
}

.footer__container {
  width: 90%;
  max-width: 1440px;
  margin: 0 auto;
  height: auto;

  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: 10vh auto;
  row-gap: 4rem;
  column-gap: 4rem;
  padding: 2rem 0;
  grid-template-areas:
  'logo . . .'
  'location contact menu social';
}

.footer__social img {
  width: 50px;
}

.footer__logo{
  grid-area: logo;
}

.location {
  grid-area: location;
  display: flex;
  align-items: flex-start;
  gap: 1rem;

  color: var(--white);
  font-size: 1.4rem;
  opacity: 0.7;
}

.contact {
  grid-area: contact;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  flex-direction: column;

  color: var(--white);
  opacity: 0.7;
  font-size: 1.4rem;
  justify-items: center;
}

.footer__menu {
  grid-area: menu;
  display: flex;
  gap: 3rem;
  justify-content: center;
}

.footer__menu div {
  display: flex;
  flex-direction: column;
}

.footer__menu div a, .attribution {
  margin-bottom: 1rem;
  color: var(--white);
  font-size: 1.4rem;
  text-decoration: none;
  opacity: 0.7;
}

.footer__social {
  grid-area: social;
  filter: invert();
  opacity: 0.7;
  display: flex;
  align-items: flex-start;
  justify-content: end;
  gap: 2rem;
}

.attribution {
  text-align: center;
}

.attribution a {
  text-decoration-color: white;
  color: white;
}