footer {
    padding: 80px 15px 20px;
    background: #2e3342;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
}
footer .flex-container {
    padding-bottom: 30px;
    border-bottom: 2px solid #8992a3;
}
footer .grid-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 3 colunas */
    grid-gap: 40px; /* Espaçamento entre os blocos */
}
footer .grid-item:nth-child(2) nav {
    grid-template-columns: repeat(1, 1fr);
}
footer nav {
    display: grid;
    grid-template-columns: repeat(2, 2fr);
    text-align: left;
}
footer h3 {
    color: #f5f5f5;
    font-size: 37px;
    margin-bottom: 20px;
}
footer p {
    color: #8992a3;
    font-size: 14px;
}
footer a {
    color: #8992a3;
}
footer a:hover {  
    color: #59994b;
}
footer img {
    padding-bottom: 25px;
}
footer ul {
    margin: 0;
    padding: 0;
    color: #8992a3;
}
footer ul li {
    line-height: 30px;
}
footer ul li.ctp {
    line-height: 20px;
}
footer ul li a {  
    display: block;
}
footer .flex-container.last-footer {
    display: flex;
    padding: 30px 0 0 0;
    border: none;
    justify-content: space-between;
}
footer .flex-container.last-footer p {
    padding: 0;
    margin: 0;
}
footer .flex-container.last-footer .social-media {
    gap: 1rem;
    display: flex;
}
footer i {
    margin-right: 7px;
    width: 5% !important;
}
@media (max-width: 768px) {
footer .flex-container {
    max-width: 100%;
    }
footer .grid-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 450px) {
footer {
    padding: 50px 15px;
    font-size: 14px;
    }
footer .nav-links {    
    width: 60%;
    margin: auto;
    }
footer nav.links {
    text-align: left;    
    }
footer img {
    padding-bottom: 25px;
    margin: auto;
    }
footer h3 {
    font-size: 30px;
    letter-spacing: .1rem;
    }  
.after-title.left::after {
    margin-top: 5px;
    }
footer p,
footer nav {
    text-align: center;
    margin: 0;
    }
footer nav.no-grid {
    display: block;
    text-align: center;
    }
footer .grid-container  {
    grid-template-columns: 1fr;
    gap: 30px;
    }    
footer h4 {
    font-size: 40px;
    }
footer .flex-container.last-footer {
    padding: 30px 0 0;
    border: none;
    gap: 10px;
    justify-content: center;
    }
}