.footer {
    display: grid;
    grid-template-columns: 480px 1fr 1fr;
    gap: calc(var(--spacing) * 8);

    .louis-pasteur {
        width: 100%;
    }

    .footer-institute {
        display: flex;
        flex-direction: column;
        padding-block: calc(var(--spacing) * 16);

        > div {
            margin-bottom: calc(var(--spacing) * 8);
        }

        h2 {
            margin-bottom: calc(var(--spacing) * 2) !important;
        }

        p {
            color: var(--color-primary-dark);
            font-size: 20px;
            font-style: normal;
            font-weight: 400;
            margin: 0 !important;
        }

        p:last-child {
            color: var(--color-primary);
            font-size: 14px;

            @media screen and (max-width: 991px) {
                text-align: center;
            }
        }
    }

    .footer-contact {
        margin-block: calc(var(--spacing) * 4);
    }

    .footer-links {
        padding-block: calc(var(--spacing) * 16);

        > div {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1rem;

            > div {
                display: flex;
                flex-direction: column;

                p {
                    background-color: var(--color-primary-light);
                    border-radius: var(--radius-semilarge);
                    color: var(--color-primary-dark);
                    font-size: 14px;
                    padding-block: 4px;
                    padding-inline: 16px;
                    width: fit-content;
                    margin-top: calc(var(--spacing) * 4) !important;
                    margin-bottom: calc(var(--spacing) * 2) !important;
                }

                & > .footer-links__link {
                    border-left: 3px solid var(--color-primary);
                    margin-left: calc(var(--spacing) * 2);
                    padding-left: calc(var(--spacing) * 4);
                    color: var(--color-primary-dark);
                    font-size: .9rem;
                    transition: all .3s;

                    &:hover {
                        padding-left: calc(var(--spacing) * 5);
                    }

                    &:not(:last-of-type) {
                        padding-bottom: calc(var(--spacing) * 4);
                    }
                }

                .footer-links__socials {
                    display: flex;
                    align-items: center;
                    gap: 0.75rem;
                    color: var(--color-primary-dark);
                    margin-left: calc(var(--spacing) * 7);
                    margin-top: calc(var(--spacing) * 2);
                }
            }
        }
    }
}

@media screen and (max-width: 1279px) {
    .footer {
        grid-template-columns: 1fr 2fr;

        .footer-links {
            padding-block: 0;

            .footer-links__socials {
                flex-wrap: wrap;
            }
        }
    }
}

@media screen and (max-width: 767px) {
    .footer {
        display: flex;
        flex-direction: column;
    }
}
