/* ============================================================
   BFT GLOBAL SITE FOOTER
   ============================================================ */

.bft-site-footer,
.bft-site-footer *{
    box-sizing:border-box;
}

.bft-site-footer{
    width:100%;
    margin:0;
    padding:40px 0 0;

    background:#0f0f0f;
    color:#8d8d8d;

    border-top:
        1px solid
        rgba(255,255,255,.06);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Arial,
        sans-serif;
}


.bft-site-footer .bft-footer-container{
    width:min(calc(100% - 40px),1200px);
    max-width:1200px;

    margin:0 auto;
    padding:0;
}


.bft-site-footer .footer-content{
    display:grid !important;

    grid-template-columns:
        minmax(280px,1.35fr)
        minmax(120px,.7fr)
        minmax(180px,.95fr)
        auto !important;

    gap:34px 52px !important;

    align-items:start !important;

    margin:0 0 32px !important;
}


/* ------------------------------------------------------------
   LOGO
   ------------------------------------------------------------ */

.bft-site-footer .footer-brand{
    min-width:0;
    color:#fff !important;
}


.bft-site-footer .bft-logo-link{
    display:inline-flex !important;

    align-items:center !important;

    gap:10px !important;

    color:#fff !important;

    text-decoration:none !important;

    opacity:1 !important;
}


.bft-site-footer .bft-logo-link::before{
    width:54px !important;
    height:54px !important;

    flex:0 0 54px !important;

    background:
        url('/assets/img/logo/logo.svg')
        center / contain
        no-repeat !important;

    filter:invert(1) !important;
}


.bft-site-footer .bft-logo{
    display:flex !important;

    flex-direction:column !important;

    line-height:1 !important;
}


.bft-site-footer .bft-logo-main,
.bft-site-footer .bft-logo-word,
.bft-site-footer .bft-logo-accent{
    color:#fff !important;

    -webkit-text-fill-color:#fff !important;

    text-shadow:none !important;
}


.bft-site-footer .bft-logo-main{
    font-family:'BFTBrand',sans-serif !important;

    font-size:clamp(1.35rem,2vw,1.8rem) !important;

    font-weight:400 !important;

    line-height:.94 !important;

    white-space:nowrap !important;
}


.bft-site-footer .bft-logo-sub{
    display:block !important;

    margin-top:5px !important;

    color:rgba(255,255,255,.68) !important;

    -webkit-text-fill-color:
        rgba(255,255,255,.68) !important;

    font-size:.56rem !important;

    font-weight:700 !important;

    line-height:1 !important;

    letter-spacing:.07em !important;

    text-transform:uppercase !important;

    white-space:nowrap !important;
}


.bft-site-footer .footer-brand > p{
    max-width:330px;

    margin:14px 0 0 !important;

    color:#969696 !important;

    font-size:13px !important;

    line-height:1.6 !important;
}


/* ------------------------------------------------------------
   LINKS
   ------------------------------------------------------------ */

.bft-site-footer .footer-links{
    display:flex !important;

    flex-direction:column !important;

    align-items:flex-start !important;

    gap:12px !important;

    margin:0 !important;

    padding:0 !important;
}


.bft-site-footer .footer-links a{
    display:inline-block !important;

    margin:0 !important;

    padding:0 !important;

    color:#999 !important;

    background:transparent !important;

    border:0 !important;

    font-size:13px !important;

    font-weight:400 !important;

    line-height:1.3 !important;

    text-decoration:none !important;

    transition:color .18s ease !important;
}


.bft-site-footer .footer-links a:hover{
    color:#fff !important;
}


/* ------------------------------------------------------------
   MAP BUTTON
   ------------------------------------------------------------ */

.bft-site-footer .footer-map{
    display:flex !important;

    justify-content:flex-end !important;

    align-items:flex-start !important;

    min-width:0;
}


.bft-site-footer .footer-map-link{
    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    gap:9px !important;

    min-height:40px;

    padding:9px 15px !important;

    color:#eee !important;

    background:transparent !important;

    border:
        1px solid
        rgba(255,255,255,.32) !important;

    border-radius:9px !important;

    font-size:12px !important;

    font-weight:600 !important;

    line-height:1.2 !important;

    text-align:center !important;

    text-decoration:none !important;

    white-space:nowrap !important;
}


.bft-site-footer .footer-map-link:hover{
    color:#fff !important;

    border-color:
        rgba(255,255,255,.75) !important;
}


.bft-site-footer .bft-footer-map-icon{
    display:inline-flex;

    width:16px;
    height:16px;

    flex:0 0 16px;

    align-items:center;
    justify-content:center;
}


.bft-site-footer .bft-footer-map-icon svg{
    display:block;

    width:100%;
    height:100%;

    fill:currentColor;
}


/* ------------------------------------------------------------
   BOTTOM
   ------------------------------------------------------------ */

.bft-site-footer .footer-bottom{
    width:100%;

    margin:0 !important;

    padding:0 !important;

    border-top:
        1px solid
        rgba(255,255,255,.06) !important;

    background:#0f0f0f !important;
}


.bft-site-footer .footer-bottom-inner{
    box-sizing:border-box;

    width:min(calc(100% - 40px),1200px) !important;
    max-width:1200px !important;

    min-height:76px;

    margin:0 auto !important;

    padding:20px 0 !important;

    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    gap:22px 34px !important;

    flex-wrap:wrap !important;

    color:#858585 !important;

    text-align:center !important;
}


.bft-site-footer .footer-bottom-inner p{
    margin:0 !important;

    color:#858585 !important;

    font-size:13px !important;

    line-height:1.3 !important;
}


.bft-site-footer .footer-location{
    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    gap:10px !important;

    margin:0 !important;

    color:#aaa !important;

    font-size:15px !important;

    line-height:1.2 !important;
}


.bft-site-footer .bft-footer-flag{
    display:block;

    width:28px !important;
    height:auto !important;

    flex:0 0 auto;

    border:
        1px solid
        rgba(255,255,255,.18);

    border-radius:2px;
}


/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */

@media(max-width:1100px){

    .bft-site-footer .footer-content{
        grid-template-columns:
            1fr 1fr !important;
    }

    .bft-site-footer .footer-map{
        grid-column:1 / -1;

        justify-content:center !important;
    }

}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media(max-width:768px){

    .bft-site-footer{
        padding-top:34px;
    }

    .bft-site-footer .bft-footer-container{
        width:calc(100% - 32px);
    }

    .bft-site-footer .footer-content{
        grid-template-columns:1fr !important;

        gap:26px !important;

        text-align:center !important;
    }

    .bft-site-footer .footer-brand{
        display:flex;

        flex-direction:column;

        align-items:center;
    }

    .bft-site-footer .footer-brand > p{
        margin-left:auto !important;
        margin-right:auto !important;
    }

    .bft-site-footer .footer-links{
        align-items:center !important;
    }

    .bft-site-footer .footer-map{
        grid-column:auto;

        justify-content:center !important;
    }

    .bft-site-footer .footer-map-link{
        width:auto !important;

        max-width:100% !important;
    }

    .bft-site-footer .footer-bottom-inner{
        width:calc(100% - 32px) !important;

        min-height:0;

        padding:20px 0 22px !important;

        flex-direction:column !important;

        gap:10px !important;
    }

}


@media(max-width:390px){

    .bft-site-footer .bft-logo-link::before{
        width:46px !important;
        height:46px !important;

        flex-basis:46px !important;
    }

    .bft-site-footer .bft-logo-main{
        font-size:1.22rem !important;
    }

    .bft-site-footer .footer-map-link{
        width:100% !important;
    }

}
