body.friso-signature footer .footer__wrapper--top,
body.friso-signature .footer__wrapper--bottom{
    background-color: var(--text-chocolate-brown);
    color: var(--text-gold);
}
body.friso-signature .footer__wrapper--bottom .footer__bottom--right p{
    color: var(--text-gold);
}
body.friso-signature footer hr,
body.friso-signature footer .arrow-right::after{
    border-color: var(--text-gold);
}
body.friso-signature footer a,
body.friso-signature footer p{ color: var(--text-gold); }
body.friso-signature footer svg path{ stroke: var(--text-gold); }

footer{ color: var(--text-white); position: relative; z-index: 1;}
footer .footer__wrapper--top{
    color: var(--text-white);
    background-color: var(--friso-blue);
}
footer a{ color: var(--text-white); text-decoration: none; transition: opacity 300ms ease-in-out; opacity: 1;}
footer a:hover{ opacity: .7; }
footer a.text-underline{ text-decoration: underline; }
footer ul{
    list-style: none;
    padding: 0;
    margin: 0;
}
footer ul li{
    font-size: 0.875rem;
    display: inline-block;
    margin-right: 1.5rem;
}
footer hr{ border-color: var(--text-white); border-width: 0.063rem;}
footer .footer__wrapper{
    width: 100%;
    max-width: 56.25rem;
    margin: 0 auto;
    padding: 1.5rem 0;
}
footer .footer__region--top{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 1rem;
}
footer .footer__region--right{
    display: flex;
    gap: 1.25rem;
    font-size: 0.875rem;
    align-items: center;
}
footer .footer__region--right ul{ line-height: 0;}
footer .footer__region--right ul li{ margin-right: 1rem;}
footer .footer__region--right ul li:last-child{ margin-right: 0; }
footer .footer__region--right ul li img{ height: 1.125rem; width: 100%; padding: 0;}
footer .footer__region--bottom{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 1rem;
}

footer .arrow-right::after{
    border-color: var(--text-white);
    width: 0.5rem;
    height: 0.5rem;
}
#footer__scroll-top-btn{
    background: none;
    border: none;
    outline: none;
    box-shadow: none;
    cursor: pointer;
}
.footer__wrapper--bottom{
    background: var(--text-white);
}
.footer__wrapper--bottom .footer__wrapper{
    padding: 1.5rem 0 2.5rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.footer__wrapper--bottom img{
    padding: 0;
    height: 3rem;
}
.footer__wrapper--bottom .footer__bottom--right p{
    color: #000000;
}
.footer__socmed__header {
    font-size: 0.875rem;
}

@media screen and (max-width: 768px) {
    footer hr{ display: none; }
    footer .footer__wrapper{
        padding: 1.5rem 1.25rem;
    }
    footer .footer__region--top,
    footer .footer__region--bottom{
        padding: 0;
        display: block;
    }
    footer .footer__region--top{ padding-bottom: 0; }
    footer .footer__region--left{
        padding: 1rem 0;
        border-bottom: 0.063rem solid rgba(255,255,255,.5);
    }
    footer .footer__region--left ul,
    footer .footer__region--right{
        display: flex;
        justify-content: space-between!important;
        align-items: center;
    }
    footer .footer__region--right{
        padding: 1rem 0;
        border-bottom: 0.063rem solid rgba(255,255,255,.5);
    }
    footer .footer__region--bottom{ text-align: right; }
    footer .footer__region--bottom ul{ text-align: left; }
    footer .footer__region--bottom ul li{
        display: block;
        padding: 1rem 0;
        margin: 0;
        border-bottom: 0.063rem solid rgba(255,255,255,.5);
    }
    footer #footer__scroll-top-btn{
        padding: 1rem 0;
    }
    .footer__wrapper--bottom .footer__wrapper{
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }
    footer ul li:last-child{ margin-right: 0; }
    .footer__wrapper--bottom img{
        height: 5rem;
    }
}

/* -- custom -- */

footer .ft-content {
    padding: 65px 120px 65px 120px;
}

@media only screen and (max-width: 991.98px) {
    footer .ft-content {
        padding: 65px 70px 65px 70px;
    }
}

@media only screen and (max-width: 767.98px) {
    footer .ft-content {
        padding: 65px 20px 65px 20px;
    }
}

@media screen and (max-width: 768px) {
    .footer__bottom--right p {
        padding-left: 1.875rem;
        padding-right: 1.875rem;
    }
}

/* -- custom -- */
.footer__wrapper--top sup,
.footer__wrapper--bottom sup {
    font-size: 50%;
    top: 0;
    vertical-align: revert;
}