/* ================= BASE ================= */

.footer-area {
    position: relative;
    background-color: #9c0404;
    z-index: 1;
    color: #fff;
}

/* evita afetar bootstrap */
.footer-area .img-fluid {
    margin-top: 60px;
    margin-left: 40px;
    max-width: 70%;
}

/* ================= TEXTOS E LINKS ================= */

.footer-area a {
    color: #fff;
    font-size: 1vw;
    font-weight: 500;
}

.footer-area p {
    color: #fff;
    font-size: 0.8vw;
}

.footer-col a {
    color: #ffffffec;
    font-size: 0.9vw;
}

.subli {
    text-decoration: underline;
    text-decoration-color: #ffffffe8;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

/* ================= TÍTULOS ================= */

.footer-title {
    color: #fff;
    font-size: 0.9vw;
    text-decoration: underline;
    text-decoration-color: #fff;
    text-decoration-thickness: 1px;
    text-underline-offset: 8px;
}

/* ================= GRID ================= */

.footer-grid {
    margin-top: 60px;
    display: flex;
    justify-content: space-between;
    gap: 40px;
    width: 100%;
}

.footer-col {
    flex: 1;
}

.footer-grid-contato {
    gap: 10px;
    margin-top: 23px;
    display: flex;
}

.contato h2 {
    display: none;
}

.footer-grid-contato .footer-col {
    margin-left: 3vw;
    min-width: 25vw;
}

.contato-esq {
    min-width: 21vw;
}

/* ================= BOTÕES LINKS ================= */

.btn-footer {
    color: #fff;
    display: block;
    margin-bottom: 12px;
}

/* ================= SOCIAL DESKTOP ================= */

.social {
    margin-left: 3vw;
}

.footer-social-info a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-left: 20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #fff;
    color: #CB0B1E;
    font-weight: 700;
}

.footer-social-info a:first-of-type {
    margin-left: 0;
}

/* ================= ICONES ================= */

.footer-area i,
.footer-area svg {
    width: 25px;
    text-align: center;
    font-size: 21px;
}

/* ================= CONTAINER ================= */

.container-footer {
    max-width: 100%;
}

.footer-row {
    margin: 0;
}

/* ================= FOOTER BAR BRANCA ================= */

.footer-bar {
    background: #ffffff;
    border-top: 1px solid #e5e5e5;
    width: 100%;
    align-items: center;
}

.footer-bar a {
    color: #303030;
}

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

.logo-footer-img {
    max-height: 45px;
    margin: 25px auto;
}

/* texto da barra branca */
.footer-bar .text-right p,
.footer-bar .text-right a {
    color: #303030;
    font-size: 0.9vw;
}

/* ================= MOBILE ================= */

.mobile-only {
    display: none;
}

@media (max-width: 768px) {

    .footer-row,
    .social,
    .footer-grid-contato,
    .logo-footer-img {
        display: none;
    }

    .mobile-solucoes h2 {
        text-decoration: underline;
        text-decoration-color: #fff;
        text-decoration-thickness: 1px;
        text-underline-offset: 3px;
    }

    .mobile-contato a {
        text-decoration: underline;
        text-decoration-color: #ffffffe8;
        text-decoration-thickness: 0.5px;
        text-underline-offset: 2px;
    }

    .mobile-only {
        display: flex;
        width: 100%;
        padding: 15px 15px;
        box-sizing: border-box;
        gap: 80px;
        flex-direction: row;
    }

    .mobile-two-columns {
        display: flex;
        width: 100%;
        align-items: stretch;
    }

    .mobile-col {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .mobile-col-left {
        width: 70%;
        text-align: left;
    }

    .mobile-col-right {
        width: 20%;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        justify-content: space-between;
    }

    .mobile-logo {
        margin-top: auto;
    }

    .mobile-social {
        margin-top: 30px;
        display: flex;
        flex-direction: column;
        gap: 25px;
        align-items: flex-end;
    }

    .mobile-social a {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        background-color: #fff;
        color: #CB0B1E;
    }

    .mobile-social a i {
        font-size: 12px;
    }

    .mobile-logo img {
        width: 130px;
        max-width: 100%;
    }

    .mobile-contato h2,
    .mobile-solucoes h2 {
        color: #fff;
        font-size: 15px;
    }

    .mobile-solucoes a,
    .mobile-contato a {
        font-size: 7px;
        display: block;
        margin-bottom: 6px;
    }

    .mobile-contato i {
        width: 15px;
        font-size: 10px;
        text-align: left;
    }

    .mobile-sol {
        margin-bottom: 8vw;
    }

    .footer-bar {
        margin-top: 20px;
        text-align: center;
        padding: 5px 0 5px 0;
    }

    .footer-bar .text-right p,
    .footer-bar .text-right a {
        font-size: 4.8px;
    }
}

/* ================= TELAS MUITO GRANDES ================= */

@media only screen and (min-width: 1400px) {

    .footer-area .img-fluid {
        margin-top: 4vw;
    }

    .footer-col a {
        font-size: 0.7vw;
    }

    .contato-esq {
        min-width: 16vw;
    }

    .footer-bar .text-right p,
    .footer-bar .text-right a {
        font-size: 0.5vw;
    }

}