.footer {
    background: var(--dark-blue);
    padding: 80px 0 128px 0;

    @media (max-width: 768px) {
        padding: 40px 0 0 0;
    }

    *:not(.footer__agency > p, .menu__footer > li.menu-item-has-children > a) {
        font-family: var(--secondary-font) !important;
    }

    .footer__main {
        display: flex;
        justify-content: space-between;
        gap: 80px;

        @media (max-width: 768px) {
            flex-direction: column;
            gap: 40px;
        }

        .footer__agency {
            flex: 0.3;

            >p {
                margin: 40px 0 15px 0;
                font-size: 16px;
                font-weight: var(--bold);
                font-family: var(--main-font);
                text-transform: uppercase;
            }

            * {
                color: var(--white) !important;
            }

            .footer__contact {
                display: flex;
                flex-direction: column;
                gap: 16px;

                .linkedin {
                    display: flex;
                    align-items: center;
                    gap: 4px;

                    p {
                        margin: 0;
                        transition: var(--transition);
                    }

                    .socials {
                        display: flex;
                        flex-direction: column;
                        gap: 16px;

                        a {
                            gap: 20px !important;

                            &:before {
                                margin: 0 !important;
                            }

                            &[data-social="youtube"] {
                                &:before {
                                    bottom: -6px !important;
                                    position: relative !important;
                                }
                            }
                        }
                    }
                }

                a {
                    line-height: 1.3;
                    display: flex;
                    font-size: var(--p-size);
                    width: fit-content;
                    gap: 10px;
                    position: relative;

                    &:before {
                        content: '';
                        width: 24px;
                        height: 24px;
                        display: inline-block;
                        margin-right: 10px;
                        background-position: center;
                        background-size: contain;
                        background-repeat: no-repeat;
                        flex-shrink: 0;
                    }

                    &:not(.adresse) {
                        &:after {
                            content: '';
                            height: 1px;
                            width: 0;
                            background: var(--orange);
                            transition: width 0.3s ease;
                            position: absolute;
                            bottom: -5px;
                            right: 0;
                        }
                    }

                    &:hover {
                        color: var(--orange) !important;

                        p {
                            color: var(--orange) !important;
                        }

                        &:after {
                            width: calc(100% - 39px);
                            transition: width 0.3s ease;
                        }
                    }

                    &.adresse {
                        width: fit-content;

                        &:before {
                            background-image: url(../img/icon_address.svg);
                        }
                    }

                    &.phone {
                        &:before {
                            background-image: url(../img/icon_phone.svg);
                        }
                    }

                    &.mail {
                        &:before {
                            background-image: url(../img/icon_mail.svg);
                        }
                    }
                }
            }
        }

        .footer__menu {
            display: flex;
            flex-wrap: wrap;
            flex: 0.65;

            @media (max-width: 768px) {
                flex-direction: column;
                gap: 20px;
            }

            .menu__footer {
                margin: 0;
                padding: 0;
                width: 100%;
                display: grid;
                grid-template-columns: 1fr 1fr 1fr;
                gap: 25px;

                @media (max-width: 992px) {
                    grid-template-columns: 1fr 1fr;
                }

                &>li,
                li.like_parent {
                    &>a {
                        text-transform: uppercase;
                        font-weight: var(--bold);
                        font-size: 16px;
                        line-height: 20px;
                        margin-bottom: 20px;
                        font-family: var(--main-font);
                    }
                }

                li,
                a {
                    color: var(--white) !important;
                }

                li {
                    list-style: none !important;
                    padding: 0 0 10px 0;

                    >a {
                        position: relative;

                        &:after {
                            content: '';
                            height: 1px;
                            width: 0;
                            background: var(--orange);
                            transition: width 0.3s ease;
                            position: absolute;
                            bottom: -5px;
                            left: 0;
                        }

                        &:hover {
                            color: var(--orange) !important;

                            &:after {
                                width: 100%;
                                transition: width 0.3s ease;
                            }
                        }
                    }

                    &:before {
                        display: none;
                    }

                    &.like_parent {
                        padding: 0 !important;

                        &:not(:last-child) {
                            margin-bottom: 15px;
                        }
                    }

                    .sub-menu {
                        padding: 0;
                        margin-top: 20px;

                        .menu-item {
                            &.current_page_item {
                                a {
                                    color: var(--orange) !important;

                                    &:after {
                                        width: 100% !important;
                                    }
                                }
                            }

                            a {
                                font-size: var(--p-size);
                            }
                        }
                    }
                }
            }
        }
    }

    .footer__last {
        display: flex;
        width: 100%;
        justify-content: space-between;
        margin-top: 40px;
        padding: 22px 32px;
        position: relative;
        z-index: 3;

        >* {
            position: relative;
            z-index: 2;
        }

        &:after {
            content: '';
            background: var(--dark);
            position: absolute;
            top: 0;
            left: -50%;
            width: calc(100vw + 50%);
            height: 100%;
            z-index: 1;
        }

        @media (max-width: 768px) {
            flex-direction: column;
            text-align: center;
            padding: 10px 5px;
            margin-top: 40px;
        }

        .agencekn {
            img:not(#logo_kn_hover) {
                opacity: 1;
                position: relative;
                transition: opacity 0.3s ease;
            }

            #logo_kn_hover {
                opacity: 0;
                position: absolute;
                transition: opacity 0.3s ease;
                left: 0;
                top: 0;
            }

            &:hover {
                img:not(#logo_kn_hover) {
                    opacity: 0 !important;
                    position: absolute !important;
                }

                #logo_kn_hover {
                    opacity: 1;
                    position: relative;
                }
            }
        }
    }



    p {
        margin: 0;
        color: var(--white) !important;
    }

    p,
    a {
        font-size: var(--p-size);
    }

    .legal_and_social {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 20px;

        @media (max-width: 768px) {
            gap: 5px;

            .agencekn {
                margin-top: 15px;
            }
        }

        * {
            color: var(--light-blue) !important;
        }

        a {
            transition: var(--transition);
            position: relative;

            &:after {
                content: '';
                height: 1px;
                width: 0;
                background: var(--orange);
                transition: width 0.3s ease;
                position: absolute;
                bottom: -5px;
                right: 0;
            }

            &:hover {
                color: var(--orange) !important;

                &:after {
                    width: 100%;
                    transition: width 0.3s ease;
                }
            }
        }

        #separator {
            color: rgba(81, 141, 228, 0.5) !important;
        }

        .socials {
            @media (min-width: 768px) {
                margin-left: -10px;
            }
        }
    }
}