/* Footer principal */
.general-info {
  background: linear-gradient(217deg, rgb(233 255 233 / 58%), rgb(232 229 255 / 44%) 71%),
              linear-gradient(127deg, rgb(209 255 196 / 66%), rgb(168 214 255) 71%),
              linear-gradient(336deg, rgb(205 224 255), rgb(255 236 240) 71%);
  padding: 20px 10vw;
  display: grid;
  grid-template-columns: 4fr 3fr 2fr;
  grid-template-areas:
  "logo logo logo"
  "info links sitemap";
  align-items: center;
  gap: 20px;
}
.general-info ul,
.general-info ol {
  list-style: none;
}
/* Mapeamento na grid area */
.place-logo {
  grid-area: logo;
  justify-self: center;
}
.place-info {
  grid-area: info;
  border-left: 1px solid black;
  padding: 10px;
}
.links-footer {
  grid-area: links;
  border-left: 1px solid black;
  padding: 10px;
}
.sitemap-footer{
  grid-area: sitemap;
  border-left: 1px solid black;
  padding: 10px;
}
footer > div > h3 {
  color: black;
}
/* copyrights */
.copyright {
  margin: 50px 0 10px 0;
}
.all-rights {
  color: rgb(44, 44, 130);
  text-align: center;
  padding: 10px;
}
.developed-by {
  font-size: 10px;
  text-align: center;
  padding: 10px;
}
.developed-by > strong {
  text-shadow: 0px 0px 1px black;
}
footer > div > p,
footer > div > ul > li {
  color: #161647;
  margin-bottom: 5px;
}
@media only screen and (max-width: 960px) {
  .general-info {
    grid-template-areas: 
    "logo . ."
    "info info ."
    "links links sitemap";
    grid-template-columns: 1fr 3fr 2fr;
  }
}
@media only screen and (max-width: 600px) {
  .general-info {
    grid-template-areas: 
    ". logo ."
    ". info ."
    ". links ."
    ". sitemap .";
    grid-template-columns: repeat(3, auto);
  }
  footer > p > span {
    display: block;
  }
}
