.footer {
    background-color: #050B16;
    padding: 40px 10px;
}
.base-menu {
    background-color: #050B16;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 20px;
}
.base-menu p {
    padding-top: 20px;
    border-top: 1px solid #fff;
    text-align: center;
}
.footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
    justify-items: center;
    align-items: center;
}
.logo-redes {
    display: grid;
    justify-items: center;
    gap: 10px;
    text-align: center;
}
.logo-redes img {
    margin-bottom: 10px;
}
.logo-redes a:nth-child(n+2)::after {
    display: block;
    content: "";
    background-color: #fff;
    height: 1px;
    width: 0px;
    transition: .3s ease-in-out;
    margin-left: auto;
    margin-right: auto;
}
.logo-redes a:nth-child(n+2):hover::after {
    width: 100%;
}

.links {
    display: grid;
    justify-items: center;
    gap: 10px;
}

.links a > span {
    display: block;
    width: 5px;
    height: 1px;
    background-color: #fff;
    transition: .3s;
}
.links a:hover span {
    width: 15px;
    margin-left: auto;
}
.links a {
    display: flex;
    align-items: center;
    gap: 5px;
}

.footer-contato {
    display: grid;
    gap: 40px;
}
.footer-contato a:nth-child(1) {
    box-shadow: 1px 0px 0px #fff inset;
    padding-left: 21px;
    transition: .3s;
    line-height: 1.4em;
}
.footer-contato a:nth-child(1):hover {
    box-shadow: 5px 0px 0px #fff inset;
}

@media only screen and (max-width: 670px) {

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .footer-contato {
        display: grid;
        justify-items: center;
        gap: 40px;
    }
}