/* Site footer (staging Elementor footer template, post 669). */

.site-footer {
    --align: center;
    --row-gap: 0px;
    --col-gap: 0px;
    --pt: 20px;
    --pr: 20px;
    --pb: 20px;
    --pl: 20px;
    background-color: var(--color-secondary);
}

.footer-row {
    --row-gap: 20px;
    --col-gap: 20px;
}

.footer-logo {
    display: block;
    align-self: flex-start;
    padding: 10px;
}

.footer-logo img {
    display: inline-block;
    width: 100%;
    vertical-align: middle;
}

.footer-social {
    width: 100%;
    padding: 10px;
}

.footer-social .social-links {
    gap: 15px;
}

.footer-social .social-links a {
    color: var(--color-primary);
}

.footer-address {
    --row-gap: 10px;
    --col-gap: 0px;
}

.footer-heading {
    padding: 0 10px;
    font-size: 32px;
    font-weight: 600;
    color: var(--nd-white);
}

.footer-text {
    margin: 0 10px;
    font-size: var(--fs-text);
    color: var(--nd-white);
}

.footer-icon-list {
    margin: 0 10px;
    list-style: none;
}

.footer-icon-list a {
    display: flex;
    align-items: center;
    font-size: var(--fs-text);
    color: var(--nd-white);
}

.footer-icon-list svg {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    margin-right: 8px;
    color: var(--color-primary);
}

.footer-menu {
    list-style: none;
}

/* Hover fills the row blue (Elementor "background" pointer). */
.footer-menu a {
    display: block;
    padding: 5px 12px;
    font-size: var(--fs-text);
    line-height: 20px;
    color: var(--nd-white);
    transition: background-color 0.3s, color 0.3s;
}

.footer-menu a:hover {
    color: var(--nd-white);
    background-color: var(--color-primary);
}

.footer-menu a[aria-current="page"] {
    color: var(--color-primary);
}

@media (min-width: 768px) {
    .footer-row { --width: 70%; }
    .footer-col { --width: 33%; }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .footer-row { --width: 90%; }
}

@media (max-width: 767px) {
    .site-footer {
        --pt: 0px;
        --pr: 0px;
        --pb: 0px;
        --pl: 0px;
    }

    .footer-row {
        --width: 90%;
        --justify: flex-start;
        --col-gap: 10px;
    }

    .footer-logo { align-self: center; }
    .footer-social .social-links { justify-content: center; }
    .footer-address { --width: 55%; --row-gap: 0px; }
    .footer-work { --width: 40%; --row-gap: 0px; --col-gap: 0px; }
    .footer-heading { padding: 0; font-size: 24px; line-height: 1.2em; }
    .footer-text, .footer-icon-list { margin: 0; }
    .footer-menu a { padding-inline: 5px; }
}
