﻿footer {
    font-size: 16px;
    line-height: 22px;
}

.footer {
    color: var(--color-footer-text);
    display: flex;
    justify-content: center;
    background-color: var(--color-dark);
}

/* Contact */
.footer__contact {
    line-height: 24px;
    display: grid;
    gap: 25px var(--grid-gap);
    grid-template-columns: repeat(var(--grid-columns), 1fr);
}

    .footer__contact p {
        --paragraph-spacing: 0;
    }

    .footer__contact strong {
        color: var(--color-white);
    }

    .footer__contact a {
        color: var(--color-footer-text);
    }

        .footer__contact a:hover,
        .footer__contact a:focus {
            color: var(--color-footer-text-hover);
        }

    /* Spacers to add borders as grid */
    .footer__contact::before,
    .footer__contact::after {
        content: '';
        height: 1px;
        grid-column: 1 / -1;
        background-color: rgb(159, 106, 115);
    }

    .footer__contact::before {
        grid-row: 2;
    }

    .footer__contact::after {
        grid-row: 4;
    }

.footer__contact-item {
    padding-left: 35px;
    position: relative;
    grid-column: span 3;
}

    .footer__contact-item::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 30px;
        height: 30px;
        background: no-repeat left 3px / auto 17px;
    }

.footer__contact-item--icon-phone::before {
    background-image: url('/gfx/icons/phone_footer.svg');
}

.footer__contact-item--icon-linkedin::before {
    background-image: url('/gfx/icons/linkedin_footer.svg');
}

/* Only remove spacing on tablet */
@media (min-width: 768px) and (max-width: 1023px) {
    .footer__contact-item--no-icon {
        padding-left: 0;
    }
}

/* Links */
.footer__links {
    --padding: 7px;
    --padding-minus: calc(calc(var(--padding) * -1));
    font-size: 12px;
    line-height: 20px;
    display: grid;
    gap: var(--grid-gap);
    grid-template-columns: repeat(var(--grid-columns), 1fr);
}

.footer__links-list {
    margin: 0;
    list-style: none;
    grid-column: span 3;
}

.footer__links-list-item {
    padding: var(--padding) 0 var(--padding);
    border-bottom: 1px solid rgb(159, 106, 115);
}

.footer__links-link {
    display: block;
    margin: var(--padding-minus) 0 var(--padding-minus);
    padding: var(--padding) 0 var(--padding);
    color: var(--color-white);
}

    .footer__links-link:hover,
    .footer__links-link:focus {
        color: var(--color-footer-text-hover);
    }

/* Address */
.footer__address {
    font-size: 12px;
    line-height: 20px;
}

.footer__address {
    --paragraph-spacing: 12px;
    display: grid;
    gap: 0 var(--grid-gap);
    grid-template-columns: repeat(var(--grid-columns), 1fr);
}

.footer__address-item {
    grid-column: span 3;
}

/* Logo */
.footer__logo-img {
    width: 85px;
    height: auto;
    max-width: 100%;
    margin: 0;
}

.footer__logo-link {
    display: inline-block;
}

/* Grid controller */
.footer__inner {
    display: grid;
    gap: 35px var(--grid-gap);
    flex-grow: 1;
    padding: 35px 0;
}

/* Tablet */
@media (min-width: 768px) {
    .footer__inner {
        grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
    }

    .footer__logo {
        grid-column: 1 / span 3;
        grid-row: 1;
    }

    .footer__contact,
    .footer__links,
    .footer__address {
        grid-column: 4 / span 9;
    }

    .footer__links,
    .footer__contact,
    .footer__address {
        grid-template-columns: repeat(9, minmax(0, 1fr));
    }

    .footer__contact-item {
        grid-column: span 4;
    }

    .footer__address-item:nth-child(1) {
        grid-column: span 3;
    }

    .footer__address-item:nth-child(2),
    .footer__links-list:last-child {
        grid-column: 5 / span 3;
    }
}

/* Desktop */
@media (min-width: 1024px) {
    .footer__inner {
        padding: 80px 0;
    }

    .footer__logo {
        grid-column: 1;
    }

    .footer__links {
        --padding: 8px;
        grid-template-columns: repeat(7, minmax(0, 1fr));
        grid-column: 8 / span 5;
        font-size: 16px;
        line-height: 24px;
        margin-top: -7px;
    }

    .footer__links-list {
        grid-column: span 3;
        max-width: 200px;
    }

        .footer__links-list:last-child {
            grid-column: 5 / span 3;
        }

    .footer__contact {
        grid-template-columns: none;
        grid-column: 5 / span 2;
        align-content: start;
    }

    .footer__contact-item {
        grid-column: span 1;
        margin-bottom: 5px;
    }

    .footer__contact::before {
        display: none;
    }

    .footer__contact::after {
        grid-row: 3;
    }

    .footer__address {
        grid-template-columns: none;
        grid-column: 2 / span 3;
        grid-row: 1;
        gap: 10px var(--grid-gap);
        font-size: 16px;
        line-height: 24px;
        align-content: start;
    }

    .footer__address-item,
    .footer__address-item:nth-child(1),
    .footer__address-item:nth-child(2) {
        grid-column: span 3;
        width: 70%;
        justify-self: center;
    }

    .footer__address .footer__address-item:first-child p:first-child {
        margin-top: 0;
    }
}
