footer {
    position: relative;
    display: block;
    width: 100%;
    height: fit-content;
    overflow: hidden;
}

footer a:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .220vw;
}

footer .rows {
    position: relative;
    display: flex;
    flex-flow: column;
    width: 100%;
    row-gap: 6.041vw; /*116px*/
    padding: 8.2vw var(--lateralMargin) 4.20vw;
	transition: background .5s cubic-bezier(0.9, 0, 0.1, 1);
}

footer .rows.negative {
    background-color: var(--black);
}

footer .rows.negative,
footer .rows.negative a {
    color: var(--white);
}

footer .rows.positive {
    background-color: var(--darkWhite);
}

footer .rows.positive,
footer .rows.positive a {
    color: var(--black);
}

footer .columns {
    position: relative;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    width: 100%;
    height: fit-content;
    column-gap: var(--columnGap);
}

footer .columns .column {
    position: relative;
    display: inline-block;
    width: 100%;
}

footer .columns.top .column {
    line-height: 1.6;
}

footer .columns.top .column:nth-child(1) {
    grid-column: span 5;
}

footer .columns.top .column:nth-child(1) svg {
    position: relative;
    height: 3.645vw; /*70px*/
    width: auto;
}

footer .rows.positive .columns.top .column:nth-child(1) svg {
    fill: var(--black);
}

footer .rows.negative .columns.top .column:nth-child(1) svg {
    fill: var(--white);
}

footer .columns.top .column:nth-child(2),
footer .columns.top .column:nth-child(3) {
    grid-column: span 3;
}

footer .columns.top .column:nth-child(4) {
    grid-column: span 1;    
}

footer .columns.bottom .column:nth-child(1) {
    grid-column: span 8;
}

footer .columns.bottom .column:nth-child(2) {
    grid-column: span 4;
}

footer .columns .column.column-links a {
    display: block;
}

footer .columns .legal-nav {
    position: relative;
    display: flex;
    justify-content: space-between;
}

footer .columns .legal-nav a {
    position: relative;
    display: inline-flex;
    justify-content: space-between;
}

footer .columns .legal-nav a:last-child {
    min-width: calc(25% - (var(--columnGap) * .68) );
}

footer .columns.bottom-sm {
    display: none;
}


@media only screen and (max-width: 980px) {
    footer .p4,
    footer .p2 {
        font-size: 14px;
        line-height: 1.1;
    }

    footer .rows {
        row-gap: 52px;
        padding: 56px var(--lateralMargin) 72px;
    }

    footer .columns {
        grid-template-columns: repeat(6, 1fr);
    }

    footer .columns.top .column:nth-child(1) {
        grid-column: span 1;    
    }

    footer .columns.top .column:nth-child(2) {
        grid-column: span 2;
    }

    footer .columns.top .column:nth-child(3) {
        grid-column: span 2;
    }

    footer .columns.top .column:nth-child(4) {
        grid-column: span 1;
    }

    footer .columns.top .column:nth-child(1) svg {
        height: 38px;
    }

    footer .columns.bottom .column:nth-child(1) {
        grid-column: span 3;
        align-items: flex-end;
        display: inline-flex;
    }

    footer .columns.bottom .column:nth-child(2) {
        grid-column: span 3;
    }

    footer .columns .legal-nav {
        flex-flow: column;
        row-gap: 10px;
        justify-content: flex-start;
    }
}

@media only screen and (max-width: 740px) {
    footer .rows {
        padding: 56px var(--lateralMargin) 42px
    }

    footer .columns.top {
        row-gap: 62px;
    }

    footer .columns.top .column:nth-child(1) {
        grid-column: span 6;
        display: none;
    }

    footer .columns.top .column:nth-child(2) {
        display: none;
    }

    footer .columns.top .column:nth-child(3),
    footer .columns.top .column:nth-child(4) {
        grid-column: span 3;
    }

    footer .columns.bottom {
        row-gap: 40px;
    }

	footer .columns.bottom .column:nth-child(1),
    footer .columns.bottom .column:nth-child(2) {
        grid-column: span 6;
    }

    footer .columns.bottom .column:nth-child(1)  {
        order: 2;
    }

    footer .columns.bottom .column:nth-child(2) {
        order: 1;
    }

    footer .columns.bottom-sm {
        display: block;
    }
    
    footer .columns.bottom-sm svg {
        position: relative;
        display: block;
        height: auto;
        width: 120px;
        margin-top: 12px;
    }

    footer .positive .columns.bottom-sm svg {
        fill: var(--black);
    }

     footer .negative .columns.bottom-sm svg {
        fill: var(--white);
    }

    footer .columns.bottom-sm svg .move {
        opacity: 0;
    }
}


@media only screen and (max-width: 550px) {
    footer .columns.top .column:nth-child(1) .logo {
        display: none;
    }

    footer .columns.top {
        row-gap: 46px;
    }

    footer .columns.top .column:nth-child(3),
    footer .columns.top .column:nth-child(4) {
        grid-column: span 6;
    }

    footer .rows {
        row-gap: 28px;
    }
}