/* ==================================================
   PRÉ-RODAPÉ INSTITUCIONAL — LOGOS
   LCC-UFMG
   ================================================== */

.lcc-footer.lcc-pre-footer {
    border-top: 0 !important;
    margin-top: 0 !important;
    background-color: #ffffff;
}


/* Container */

.lcc-pre-footer > .container-lg {
    padding-left: clamp(1rem, 3vw, 2rem);
    padding-right: clamp(1rem, 3vw, 2rem);
}


/* ==================================================
   LOGOTIPOS INSTITUCIONAIS
   ================================================== */

.lcc-pre-footer .lcc-footer-logos {
    align-items: center;

    /* Remove a linha que ocupava toda a largura */
    border-top: 0 !important;

    /* Linha centralizada: 25% de recuo em cada lado */
    background-image: linear-gradient(
        to right,
        var(--lcc-border, #d7dce5),
        var(--lcc-border, #d7dce5)
    );

    background-position: center top;
    background-repeat: no-repeat;
    background-size: 50% 1px;

    min-height: 130px;
    padding: 1.5rem 0;
}


/* Links das marcas */

.lcc-pre-footer .lcc-footer-logo-link {
    align-items: center;
    display: flex;
    justify-content: center;
}


/* Imagens sem distorção */

.lcc-pre-footer .lcc-footer-logos img {
    display: block;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    width: auto;
}


/* MCTI */

.lcc-pre-footer .lcc-footer-government img {
    max-height: 42px;
}


/* LNCC */

.lcc-pre-footer .lcc-footer-lncc {
    max-height: 58px;
}


/* SINAPAD */

.lcc-pre-footer .lcc-footer-sinapad {
    max-height: 74px;
}


/* UFMG — 100 anos */

.lcc-pre-footer .lcc-footer-ufmg-cemanos {
    display: block;

    height: 78px;
    width: 78px;

    max-height: 78px;
    max-width: 78px;

    min-height: 0;
    min-width: 0;

    object-fit: contain;
}


/* ==================================================
   RODAPÉ PRINCIPAL — LCC-UFMG
   ================================================== */

.br-footer.lcc-main-footer,
.lcc-main-footer {
    --background: #071d41;
    --color: #ffffff;

    background: #071d41 !important;
    background-color: #071d41 !important;
    background-image: none !important;

    color: #ffffff !important;

    font-family: "Rawline", "Raleway", sans-serif;

    border: 0;
    margin: 0;
    padding: 0;
}


/* Box sizing */

.br-footer.lcc-main-footer,
.br-footer.lcc-main-footer *,
.lcc-main-footer,
.lcc-main-footer * {
    box-sizing: border-box;
}


/* Evita que containers internos herdem fundo branco */

.lcc-main-footer-inner,
.lcc-main-footer-grid,
.lcc-main-footer-column,
.lcc-main-footer-bottom-inner {
    background-color: transparent;
    background-image: none;
}


/* Containers */

.lcc-main-footer-inner,
.lcc-main-footer-bottom-inner {
    margin: 0 auto;
    max-width: 1440px;
    width: 100%;
}


/* Área principal */

.lcc-main-footer-inner {
    padding:
        3.5rem
        clamp(1.5rem, 5vw, 5rem)
        3rem;
}


/* ==================================================
   GRADE PRINCIPAL
   ================================================== */

.lcc-main-footer-grid {
    display: grid;

    gap: clamp(2rem, 4vw, 5rem);

    grid-template-columns:
        repeat(4, minmax(0, 1fr));
}


/* Colunas */

.lcc-main-footer-column {
    min-width: 0;
}


/* Títulos */

.lcc-main-footer-column h2 {
    border-left: 4px solid #5992ed;

    color: #ffffff !important;

    font-size: 1rem;
    font-weight: 700;

    letter-spacing: 0.015em;
    line-height: 1.3;

    margin: 0 0 1.5rem;
    padding-left: 0.75rem;

    text-transform: uppercase;
}


/* Listas */

.lcc-main-footer-column ul {
    display: grid;

    gap: 1rem;

    list-style: none;

    margin: 0;
    padding: 0;
}


/* Itens */

.lcc-main-footer-column li {
    color: #d9e3f3 !important;

    font-size: 1rem;
    line-height: 1.5;

    margin: 0;
    padding: 0;
}


/* ==================================================
   LINKS
   ================================================== */

.br-footer.lcc-main-footer
.lcc-main-footer-column a,
.lcc-main-footer
.lcc-main-footer-column a {
    color: #d9e3f3 !important;

    text-decoration: none;
    text-underline-offset: 0.2em;
}


/* Hover */

.br-footer.lcc-main-footer
.lcc-main-footer-column a:hover,
.lcc-main-footer
.lcc-main-footer-column a:hover {
    color: #ffffff !important;

    text-decoration: underline;
}


/* Foco acessível */

.br-footer.lcc-main-footer
.lcc-main-footer-column a:focus-visible,
.lcc-main-footer
.lcc-main-footer-column a:focus-visible {
    border-radius: 2px;

    outline: 3px solid #ffcd07;
    outline-offset: 4px;
}


/* ==================================================
   ATENDIMENTO
   ================================================== */

.lcc-main-footer-contact li {
    align-items: flex-start;

    display: flex;

    gap: 0.75rem;
}


.lcc-main-footer-contact li:first-child {
    display: block;
}


/* Ícones */

.lcc-main-footer-contact li > i {
    color: #5992ed;

    flex: 0 0 1.1rem;

    font-size: 1.1rem;
    line-height: 1.4;

    margin-top: 0.05rem;

    text-align: center;
}


/* Links de contato */

.br-footer.lcc-main-footer
.lcc-main-footer-contact a,
.lcc-main-footer
.lcc-main-footer-contact a {
    display: grid;
    gap: 0.25rem;
}


/* ==================================================
   FAIXA INFERIOR — CORREÇÃO DO FUNDO
   ================================================== */

.lcc-main-footer-bottom {
    background: #071d41 !important;
    background-color: #071d41 !important;
    background-image: none !important;

    color: #ffffff !important;

    border: 0 !important;

    margin: 0;

    padding:
        0
        clamp(1.5rem, 5vw, 5rem)
        1.75rem;

    text-align: center;
}


/* Container inferior */

.lcc-main-footer-bottom-inner {
    background: transparent !important;

    border-top: 0 !important;

    padding-top: 0;

    margin: 0 auto;

    max-width: 1440px;
    width: 100%;
}


/* ==================================================
   LINHA SUPERIOR — 25% EM CADA LATERAL
   ================================================== */

.lcc-main-footer-bottom-inner::before {
    content: "";

    display: block;

    width: 50%;
    height: 1px;

    margin:
        0
        auto
        1.5rem;

    background-color: rgba(
        255,
        255,
        255,
        0.35
    );
}


/* ==================================================
   TEXTOS DA FAIXA INFERIOR
   ================================================== */

.lcc-main-footer-bottom p,
.br-footer.lcc-main-footer
.lcc-main-footer-bottom p {
    color: #d9e3f3 !important;

    font-size: 0.875rem;
    font-weight: 400;

    line-height: 1.5;

    margin: 0;

    text-align: center;
}


/* Espaçamento entre as duas linhas */

.lcc-main-footer-bottom p + p {
    margin-top: 0.35rem;
}


/* Links na faixa inferior */

.lcc-main-footer-bottom a {
    color: #ffffff !important;

    text-decoration: underline;
    text-underline-offset: 0.2em;
}


.lcc-main-footer-bottom a:hover {
    color: #d9e3f3 !important;
}


/* ==================================================
   TABLETS — ATÉ 992px
   ================================================== */

@media (max-width: 992px) {

    .lcc-footer.lcc-pre-footer {
        margin-top: 0 !important;
    }

    .lcc-main-footer-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        row-gap: 3rem;
    }

    .lcc-pre-footer .lcc-footer-logos {
        min-height: 0;

        padding: 1.5rem 0;
    }

    .lcc-pre-footer .lcc-footer-ufmg-cemanos {
        height: 72px;
        width: 72px;

        max-height: 72px;
        max-width: 72px;
    }
}


/* ==================================================
   CELULARES — ATÉ 576px
   ================================================== */

@media (max-width: 576px) {

    /* Pré-rodapé */

    .lcc-footer.lcc-pre-footer {
        margin-top: 0 !important;
    }

    .lcc-pre-footer > .container-lg {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .lcc-pre-footer .lcc-footer-logos {
        min-height: 0;

        padding: 1.25rem 0;
    }

    .lcc-pre-footer .lcc-footer-ufmg-cemanos {
        height: 64px;
        width: 64px;

        max-height: 64px;
        max-width: 64px;
    }


    /* Rodapé principal */

    .lcc-main-footer-inner {
        padding:
            2.5rem
            1.25rem
            2rem;
    }

    .lcc-main-footer-grid {
        gap: 0;

        grid-template-columns: 1fr;
    }


    /* Colunas */

    .lcc-main-footer-column {
        border-bottom:
            1px solid
            rgba(255, 255, 255, 0.20);

        padding: 1.5rem 0;
    }

    .lcc-main-footer-column:first-child {
        padding-top: 0;
    }

    .lcc-main-footer-column:last-child {
        border-bottom: 0;

        padding-bottom: 0;
    }


    /* Títulos */

    .lcc-main-footer-column h2 {
        font-size: 0.95rem;

        margin-bottom: 1rem;
    }


    /* Listas */

    .lcc-main-footer-column ul {
        gap: 0.8rem;
    }

    .lcc-main-footer-column li {
        font-size: 0.95rem;
    }


    /* Faixa inferior */

    .lcc-main-footer-bottom {
        padding:
            0
            1.25rem
            1.5rem;
    }


    /* Linha proporcional */

    .lcc-main-footer-bottom-inner::before {
        width: 50%;

        margin-bottom: 1.25rem;
    }
}


/* ==================================================
   ALTO CONTRASTE
   ================================================== */

html.lcc-high-contrast
.lcc-pre-footer
.lcc-footer-logos,

html[data-lcc-contrast="true"]
.lcc-pre-footer
.lcc-footer-logos,

body.lcc-high-contrast
.lcc-pre-footer
.lcc-footer-logos {
    background-image: linear-gradient(
        to right,
        #ffffff,
        #ffffff
    ) !important;
}


/* ==================================================
   CORES FORÇADAS — ACESSIBILIDADE
   ================================================== */

@media (forced-colors: active) {

    .lcc-pre-footer .lcc-footer-logos {
        border-top: 0 !important;

        background-image: linear-gradient(
            to right,
            CanvasText,
            CanvasText
        );
    }

    .br-footer.lcc-main-footer,
    .lcc-main-footer {
        border-top: 1px solid CanvasText;
    }

    .lcc-main-footer-column h2 {
        border-left-color: Highlight;
    }

    .lcc-main-footer-bottom-inner::before {
        background-color: CanvasText;
    }
}


/* ==================================================
   ANIMAÇÃO SUAVE DOS LOGOTIPOS
   ================================================== */

.lcc-pre-footer .lcc-footer-logos > * {
    opacity: 0;

    animation:
        lcc-footer-logo-fade
        700ms
        ease-out
        forwards;

    transform: translateY(10px);
}


.lcc-pre-footer
.lcc-footer-logos > :nth-child(1) {
    animation-delay: 80ms;
}


.lcc-pre-footer
.lcc-footer-logos > :nth-child(2) {
    animation-delay: 160ms;
}


.lcc-pre-footer
.lcc-footer-logos > :nth-child(3) {
    animation-delay: 240ms;
}


.lcc-pre-footer
.lcc-footer-logos > :nth-child(4) {
    animation-delay: 320ms;
}


/* Keyframes */

@keyframes lcc-footer-logo-fade {

    from {
        opacity: 0;

        transform: translateY(10px);
    }

    to {
        opacity: 1;

        transform: translateY(0);
    }
}


/* ==================================================
   ANIMAÇÃO AO ENTRAR NA ÁREA VISÍVEL
   ================================================== */

@supports (animation-timeline: view()) {

    .lcc-pre-footer .lcc-footer-logos > * {
        animation-delay: 0ms;

        animation-range:
            entry 10%
            cover 28%;

        animation-timeline: view();
    }

    .lcc-pre-footer
    .lcc-footer-logos > :nth-child(2) {
        animation-range:
            entry 13%
            cover 31%;
    }

    .lcc-pre-footer
    .lcc-footer-logos > :nth-child(3) {
        animation-range:
            entry 16%
            cover 34%;
    }

    .lcc-pre-footer
    .lcc-footer-logos > :nth-child(4) {
        animation-range:
            entry 19%
            cover 37%;
    }
}


/* ==================================================
   REDUÇÃO DE MOVIMENTO
   ================================================== */

@media (prefers-reduced-motion: reduce) {

    .lcc-pre-footer .lcc-footer-logos > * {
        opacity: 1;

        animation: none;

        transform: none;
    }
}