footer {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    padding: var(--gap);
    background-color: var(--footer-background-color);
    color: var(--footer-text-color);
    text-align: center;
    line-height: 120%;

    transition: height 1s ease-in-out;
    animation: none;
}

footer * {
    transition: none;
    animation: none;
}

footer a,
footer a:link,
footer a:visited {
    color: var(--footer-text-color);
}

footer a:hover,
footer a:active,
footer a:focus {
    color: var(--footer-hover-text-color);
}

.footer-main {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-areas: "L C R";
    gap: var(--gap);
    width: 100%;
    max-width: var(--page-width);
    margin: auto;
}

.footer-left {
    grid-area: L;
    text-align: left;
    display: inline-block;
    line-height: 150%;
    min-width: 190px;
    border-left: 20px solid var(--footer-text-color);
    padding-left: 20px;
}

.footer-center {
    grid-area: C;
    text-align: center;
    display: inline-block;
    line-height: 150%;
}

.footer-right {
    grid-area: R;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    gap: var(--gap);
    text-align: right;
}

.footer-right > div {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 5px;
}

.footer-right > div > a {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.footer-right .social-network-icon {
    width: 40px;
    aspect-ratio: 1;
    cursor: pointer;
}
