footer{
    background-color:var(--BG_1);
    position:relative;
}
.footer_main{
    max-width:1200px;
    margin:0 auto;
    padding:60px 30px 40px;
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr 1fr;
    gap:30px;
}
.footer_col_title{
    font-size:.8rem;
    font-weight:600;
    letter-spacing:.12em;
    color:var(--primaryTextColor);
    margin:0 0 16px;
}
.footer_brand{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
}
.footer_logo img{
    max-width:180px;
    display:block;
}
.footer_tagline{
    font-size:1rem;
    line-height:1.6;
    color:var(--secondaryTextColor);
    margin:0;
}
.footer_address p,
.footer_contact p{
    font-size:1rem;
    line-height:1.7;
    color:var(--secondaryTextColor);
    margin:0;
}
.footer_contact a{
    color:var(--secondaryTextColor);
    text-decoration:none;
}
.footer_contact a:hover{
    text-decoration:underline;
}
.footer_route{
    display:inline-flex;
    align-items:center;
    gap:4px;
    margin-top:12px;
    font-size:.95rem;
    color:var(--primaryTextColor);
    text-decoration:none;
    transition:opacity .3s;
}
.footer_route:hover{
    opacity:.7;
}
.footer_route span{
    font-size:1.3em;
    line-height:1;
}
.footer_jameda{
    position:absolute;
    top:20px;
    right:20px;
}
.footer_jameda img{
    max-width:120px;
}
.footer_bottom{
    border-top:1px solid rgba(0,0,0,.1);
    max-width:1200px;
    margin:0 auto;
    padding:20px 30px;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:0;
}
.footer_bottom > span{
    font-size:.9rem;
    color:var(--secondaryTextColor);
    white-space:nowrap;
}
.footer_bottom_nav{
    display:flex;
    align-items:center;
}
.footer_bottom_nav .nav_entry{
    display:flex;
    align-items:center;
}
.footer_bottom_nav .nav_entry_line{
    display:flex;
    align-items:center;
}
.footer_bottom_nav .nav_entry:before{
    content:"|";
    margin:0 10px;
    font-size:.9rem;
    color:var(--secondaryTextColor);
}
.footer_bottom_nav a{
    font-size:.9rem;
    color:var(--secondaryTextColor);
    text-decoration:none;
    white-space:nowrap;
}
.footer_bottom_nav a:hover{
    text-decoration:underline;
}
.footer_bottom_nav a{
    text-decoration:none;
}
.footer_bottom_nav a:hover{
    text-decoration:underline;
}
.footer_sep{
    display:none;
}

@media screen and (max-width:960px){
    .footer_main{
        grid-template-columns:1fr 1fr;
        gap:30px 40px;
        padding:50px 30px 30px;
    }
    .footer_brand{
        grid-column:1 / -1;
    }
}
@media screen and (max-width:550px){
    .footer_main{
        grid-template-columns:1fr;
        gap:28px;
        padding:40px 20px 24px;
    }
    .footer_bottom{
        justify-content:center;
        padding:16px 20px;
    }
    .footer_jameda{
        position:static;
        text-align:center;
        padding:0 0 10px;
    }
    footer{
        padding-bottom:60px;
    }
}
