* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: 'Manrope', sans-serif;

}

body {
    margin: 0;
    min-width: 320px;
}

div.map iframe {
    width: 100%;
    height: 300px;
}


div.caption {
    text-align: center;
    margin: 50px;
}

div.contacts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: beige;
}

div.contacts div.image img {
    max-width: 100%;
}

div.contacts div.left-block {
    -webkit-box-flex: 1;
    -ms-flex: 1 1;
    flex: 1 1;
    margin-left: 80px;
    padding-top: 12%;
}

div.contacts div.left-block p:first-of-type {
    font-weight: bold;
    font-size: 18px;
}

div.contacts div.left-block p.name {
    text-decoration: underline;
    font-weight: bold;
}

div.contacts div.left-block a {
    color: black;
    text-decoration: none;
}

div.contacts div.left-block a.social {
    color: black;
    font-size: 40px;
    text-decoration: none;
}

div.contacts div.left-block a.social:hover {
    color: grey;
}

div.contacts div.form {
    -webkit-box-flex: 2;
    -ms-flex: 2 1;
    flex: 2 1;
    margin: 20% 100px auto 50px;
}

@media only all and (max-width: 1024px) {
    div.contacts {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 30% 70%;
        grid-template-columns: 30% 70%;
        -ms-grid-rows: auto;
        grid-template-rows: auto;
    }

    div.contacts>*:nth-child(1) {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }

    div.contacts>*:nth-child(2) {
        -ms-grid-row: 1;
        -ms-grid-column: 2;
    }

    div.contacts div.image {
        -ms-grid-column: 1;
        grid-column: 1;
        -ms-grid-row: 1;
        -ms-grid-row-span: 2;
        grid-row: 1 / span 2;
    }

    div.contacts div.left-block {
        margin-left: 20px;
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 50% 50%;
        grid-template-columns: 50% 50%;
        -ms-grid-rows: auto;
        grid-template-rows: auto;
    }

    div.contacts div.left-block>*:nth-child(1) {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }

    div.contacts div.left-block>*:nth-child(2) {
        -ms-grid-row: 1;
        -ms-grid-column: 2;
    }

    div.contacts div.left-block div.group1 {
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
        grid-column: 1 / span 2;
    }

    div.contacts div.left-block div.group4 p {
        margin-bottom: 0;
    }

    div.contacts div.form {
        margin-top: 20px;
    }
}

@media only all and (max-width: 576px) {
    div.contacts {
        display: block;
    }

    div.contacts div.image {
        display: none;
    }

    div.contacts div.form {
        width: 75%;
        padding-bottom: 10px;
    }
}