footer {background-color:var(--primary-400); color:var(--neutral-100); position:relative;}
footer .container {position:relative; padding-bottom:100px; padding-top: 100px;}
footer::before {content:''; opacity:0.1; background:url(/images/line-graphic.svg) no-repeat 90% -100px; position:absolute; top:0; left:0; width:100%; height:100%;}
footer .footer-columns {display:grid; margin-bottom:3rem; row-gap:2rem; position:relative; z-index:1;}
footer ul {list-style:none;}
footer a {color:var(--neutral-100); text-decoration:none;}
footer a img {transition:var(--transition-default);}
footer a:has(img) {display:inline-block;}
footer a:hover {opacity:0.7;}
footer a:hover img {opacity:0.7;}
footer .footer-columns .column:nth-child(3) img {max-width:240px;}
footer .author {font-size:0.75rem; position:relative; z-index:1;}
footer .logo {width:100%; max-width:270px; height:auto;}

@media (min-width:576px) {
    footer .container {padding-top:0;}
    footer .footer-columns .column {padding-top:100px;}
    footer .footer-columns .column:nth-child(2) {border-left:1px solid var(--neutral-100); padding-left:2rem;}
    footer .footer-columns .column:last-child {padding-top:40px; grid-area:2 / 2;}
    footer .footer-columns {grid-template-columns:1fr 1fr; column-gap:2rem;}
}

@media (min-width:992px) {
    footer .footer-columns {grid-template-columns:1fr 1fr 2fr;}
    footer .footer-columns .column:last-child {padding-top:100px; grid-area:unset; text-align:right;}
}