.contact-cover {
    width: 100%;
    padding-bottom: 300/1440 * 100%;

    img {
        position: fixed;
        object-fit: cover;
        width: 100vw;
        object-position: 50% 0%;
    }
}

.contact {
    background: var(--background-color);
    z-index: 1;
    @include container;

    &>section {
        display: grid;
        grid-template-columns: 1fr;

        @include media(">=md") {
            grid-template-columns: 4fr 6fr;
        }

        grid-column-gap: 20px;
        grid-row-gap: 20px;
    }

    aside {
        svg {
            width: 32px;
            height: 32px;
            vertical-align: middle;
            fill: var(--background-color);
            background: var(--theme-color);
            border-radius: 4px;
            margin: 4px 10px 4px 0;
            padding: 3px;
        }
        ul {
            padding: 0;
        }

        li {
            list-style: none;
            text-align: left;
            a {
                color: var(--text-color);
                &:hover {
                    color: var(--theme-color);
                }
            }
        }
        .social {
            a {
                font-size: 0;
            }
            li {
                display: inline-block;
            }
            svg {
                border-radius: 50%;
                padding: 7px;
                width: 40px;
                height: 40px;
            }
        }
    }


    form {
        padding: 20px 0;
        input, textarea {
            width: 100%;
            margin: 10px 0;
        }
    }
}

/////////////////////////////////////////
// Animations
/////////////////////////////////////////

@include media(">md") {
    .contact-cover img {
        animation: zoomIn 0.8s ease-in;
        will-change: opacity, transform;
    }
    .contact {
        h1 {
            animation: fade-up-item-1 2.0s ease-in-out;
        }

        .subtitle {
            animation: fade-up-item-2 2.0s ease-in-out;
        }
        form {
            transform-origin: center left;
            animation: bounceInRightNoDelay 1.1s ease-in-out;
            contain: content;
        }
        .email {
            position: absolute;
            opacity: 0;
            top: 0;
            z-index: -1;
        }
        aside {
            transform-origin: center right;
            animation: bounceInLeftNoDelay 1.1s ease-in-out;
            contain: content;
        }
    }
}

.contact-response {
    border: 2px double var(--text-color);
    background-color: $shade;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: larger;
    padding: 20px;
    text-align: center;
}


@media (prefers-reduced-motion) {

    .contact * {
        animation: none !important;
    }
}

