footer {
    padding: calc(40 * var(--size)) calc(45 * var(--size));
    font-size: var(--font-size-footer);
    line-height: var(--line-height-footer);
}

footer .row {
    -webkit-grid-column: span 12;
    grid-column: span 12;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

footer .row:first-child {
    margin-bottom: var(--grid-gap);
}

footer .row:nth-child(2) {
    margin-bottom: calc(12 * var(--size));
}

footer .row a.logo svg {
    width: calc(64 * var(--size));
    height: auto;
    display: block;
}

.footer-menu {
    width: calc(774 * var(--size));
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.footer-menu-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-menu-block span {
    display: block;
    font-weight: bold;
    letter-spacing: 0.05;
    text-transform: uppercase;
    margin-bottom: calc(15 * var(--size));
}

.footer-menu-block img {
    display: block;
    width: calc(18 * var(--size));
    height: auto;
}

footer a {
    color: var(--black);
}

footer a:hover {
    opacity: 0.5;
}

.footer-menu a.map {
    font-weight: bold;
    padding-right: calc(16 * var(--size));
    position: relative;
}

.footer-menu a.map:after {
    content: "";
    display: block;
    position: absolute;
    width: calc(8 * var(--size));
    height: calc(8 * var(--size));
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background-image: url(../../images/arrow-link.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

footer .legal {
    width: calc(774 * var(--size));
    display: flex;
    gap: calc(16 * var(--size));
}

footer .form {
    padding-bottom: calc(50 * var(--size));
    position: relative;
}

footer .form input {
    -webkit-appearance: none;
    appearance: none;
}

footer .form input[type="email"] {
    background: transparent;
    border: 0;
    color: var(--black);
    font-family: "Brandon Grotesque";
    font-size: var(--font-size-footer);
    line-height: var(--line-height-footer);
    padding: calc(12 * var(--size)) 0;
    border-bottom: 1px solid var(--black);
}

footer .form input[type="email"]::placeholder {
    color: var(--black);
    opacity: 0.5;
}

footer .form input[type="submit"] {
    color: var(--black);
    background-color: transparent;
    font-family: "Brandon Grotesque";
    font-size: var(--font-size-footer);
    line-height: var(--line-height-footer);
    padding: calc(12 * var(--size)) calc(20 * var(--size)) calc(9 * var(--size));
    border: 1px solid var(--black);
    text-transform: uppercase;
    cursor: pointer;
    -webkit-ttransition:
        color 0.25s ease,
        background-color 0.25s ease;
    transition:
        color 0.25s ease,
        background-color 0.25s ease;
}

footer .form input[type="submit"]:hover {
    color: var(--white);
    background-color: var(--black);
}

footer .form .wpcf7-not-valid-tip {
    font-size: var(--font-size-footer);
    line-height: var(--line-height-footer);
    color: var(--black);
    text-transform: initial;
    opacity: 0.65;
    font-weight: 400;
    position: absolute;
    bottom: calc(-24 * var(--size));
    margin: 0;
}

footer .form .wpcf7-spinner {
    display: none !important;
}

footer .form .wpcf7 form .wpcf7-response-output {
    border: 0 !important;
    font-weight: 400;
    margin: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 0;
    opacity: 0.65;
}

/* RESPONSIVE */
@media only screen and (max-width: 740px) {
    footer {
        padding: calc(40 * var(--size)) var(--gap);
    }

    footer .row {
        flex-direction: column;
    }

    footer .row:first-child,
    footer .row:nth-child(2) {
        margin-bottom: calc(30 * var(--size));
    }

    .footer-menu,
    footer .legal {
        width: 100%;
    }

    .footer-menu {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: calc(32 * var(--size));
    }

    footer .form {
        padding-bottom: calc(30 * var(--size));
        margin-bottom: calc(15 * var(--size));
    }
}
