*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    display: flex;
    flex-direction: column;
}

.footer {
    background-color: #1d3e4e;
    color: white;
    padding: 40px 0;
    width: 100%;
}

.footer .container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    overflow: hidden;
}

.footer .row {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.footer-logo,
.footer-contact,
.footer-social,
.footer-links {
    flex: 1;
    margin: 20px 0;
}

.footer-logo {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    align-items: center;
}

.footer-logo .logo {
    height: auto;
    padding: 2rem;
}

.footer-contact,
.footer-social,
.footer-links {
    text-align: left;
    align-items: flex-start;
}

.footer h5 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.5em;
    margin-bottom: 10px;
    font-weight: 600;
}

.footer p,
.footer a {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 1em;
    font-weight: 500;
    margin-bottom: 10px;
    color: white;
}

.footer a:hover {
    text-decoration: underline;
}

.footer p i,
.footer-social p i,
.footer-links p i {
    margin-right: 10px;
    color: white;
}

.footer-social p i,
.footer-links p i {
    font-size: 1.2em;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .footer-links {
        display: none;
    }
}

@media (max-width: 768px) {
    .footer-logo,
    .footer-contact,
    .footer-social {
        max-width: 100%;
        text-align: center;
        justify-content: center;
        margin-bottom: 20px;
        align-items: center;
        display: flex;
        flex-direction: column;
    }
    .footer .row {
        flex-direction: column;
        align-items: center;
        padding: 0 1rem;
        text-align: center;
    }
    .footer-logo .logo,
    .footer-contact p,
    .footer-social p {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        text-align: center;
        flex-direction: row;
    }
    .footer-logo .logo,
    .footer-social p i {
        font-size: 1.5em;
    }
    .footer-social {
        text-align: center;
        justify-content: center;
    }
    .footer p i,
    .footer-social p i {
        margin: 0;
    }
    .footer-links p {
        text-align: center;
        margin: 0;
    }
}

.footer .row:last-child {
    margin-bottom: 0;
    width: 100%;
    display: flex;
    justify-content: center;
}

.correo-ciudadano {
    color: white;
    font-size: 0.6em;
}

#faq-section {
    background-color: white;
    padding: 40px 0;
}

@media (max-width: 576px) {
    .footer-logo,
    .footer-contact,
    .footer-social {
        max-width: 100%;
    }
    .footer-logo .logo {
        padding: 0.5rem;
    }
    .footer-contact .address-footer-element {
        display: none !important;
    }
}
