footer.site-footer {
    background-color: var(--color-footer-bg);
}

footer.site-footer .footer-top,
footer.site-footer .footer-mid,
footer.site-footer .footer-bottom {
    padding-block: 36px;
}

footer.site-footer .footer-top,
footer.site-footer .footer-mid {
    border-bottom: 1px solid var(--color-border);
}

footer.site-footer h3 {
    font-size: 18px;
    font-weight: 500;
    display: block;
    width: 100%;
}

footer.site-footer .footer-top h3 {
    margin-bottom: 13.5px;
}

footer.site-footer .footer-mid h3 {
    margin-bottom: 27px;
}

footer.site-footer .footer-top .nav-menu {
    display: flex;
    flex-direction: column;
    gap: var(--margin-1);
}

footer.site-footer .nav-menu li a {
    padding-block: 0;
    line-height: 31.5px;
}

footer.site-footer .footer-top .col {
    flex: 100%;
}

footer.site-footer .footer-top {
    flex-wrap: wrap;
}

.footer-col-1 li a:before {
    font-family: "hansa-flex-icons";
    font-size: 18px;
    margin-right: var(--margin-3);
}

.footer-col-1 li:first-child a:before {
    content: "\f1c1";
}

.footer-col-1 li:nth-child(2) a:before {
    content: "\f1a8";
}

.footer-col-1 li:nth-child(3) a:before {
    content: "\f1c4";
}

footer.site-footer ul.social-icons-list{
    display: flex;
    justify-content: center;
    gap: var(--margin-2);
}

footer.site-footer .social-item {
    width: 54px;
    height: 54px;
    display: block;
}

footer.site-footer .social-item .social-link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color: var(--color-grey-section);
    border-radius: 50%;
}

footer.site-footer .social-item .social-link img {
    width: 36px;
    height: auto;
}

footer.site-footer .footer-bottom .nav-menu {
    width: 100%;
    justify-content: center;
    gap: var(--margin-3);
    flex-wrap: wrap;
}

.menu-footer-legal-container {
    width: 100%;
}

footer.site-footer .footer-bottom .nav-menu li a{
    font-size: 14px;
}

@media (min-width: 768px) {
    footer.site-footer .footer-top .col {
        flex: 1 auto;
    }

    footer.site-footer .footer-top,
    footer.site-footer .footer-bottom .nav-menu {
        flex-wrap: nowrap;
    }
}

footer.site-footer .footer-bottom .nav-menu li:not(:last-child) a:after {
    margin-left: var(--margin-3);
    content: "|";
    color: var(--color-headings);
}


@media (max-width: 767px) {
    .footer-top .nav-menu {
        overflow: hidden;
        height: 0;
        transition: height 0.3s ease;
    }
    
    .footer-top .nav-menu.open {
        margin-bottom: 32px;
    }
}



