.page__contacts {
    display: grid;
    grid-template-columns: 420px 1fr;
    grid-gap: 48px;
    margin-top: 40px;
}

.page__contacts .info {
    background-color: var(--clr-1-25);
    border-radius: 16px
}

.page__contacts .info .title {
    margin-bottom: 16px
}

.page__contacts .info .text {
    margin-bottom: 40px
}

.page__contacts .info ul {
    display: grid;
    grid-gap: 32px
}

.page__contacts .info ul li {
    display: flex;
    justify-content: flex-start;
    align-items: center
}

.page__contacts .info ul li img {
    width: 40px;
    height: 40px;
    margin-right: 24px
}

.page__contacts .form .fields {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-column-gap: 16px
}

.form .fields>p:last-child {
    grid-column-start: 1;
    grid-column-end: -1
}

.page__contacts .form button {
    float: right
}

@media(max-width: 960px) {
    .page__contacts {
        grid-template-columns:1fr
    }
}

@media(max-width: 640px) {
    .page__contacts .form .fields {
        grid-template-columns:1fr
    }
}

.contact-form {
    display: grid;
    grid-auto-columns: auto;
    grid-gap: var(--px16);
    max-width: var(--px1140);
    height: calc(100% - 160px);
    grid-template-columns: repeat(1,1fr)
}

.fields {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-column-gap: 16px
}

.fields p {
    position: relative;
    display: block;
    margin-bottom: 16px
}

.fields p input,.fields p textarea {
    width: 100%;
    padding: 16px;
    border: none;
    border-radius: 4px;
    box-shadow: inset 0 0 0 1px var(--second-theme-color);
    font-size: var(--h5);
    transition: box-shadow .2s ease-in-out;
    outline: none
}
.fields p input,.fields p textarea:hover {
    box-shadow: inset 0 0 0 1px var(--theme-color);
}

.fields p.invalid input,.fields p.invalid textarea {
    box-shadow: inset 0 0 0 1px red
}

.fields p:last-of-type {
    grid-column: 1/-1
}

.fields p textarea {
    resize: vertical;
    font-family: inherit
}

.contact-form button {
    cursor: pointer;
    padding: 16px;
    border: 0;
    border-radius: 4px;
    background-color: var(--theme-color);
    width: 100%!important;
    color: #fff;
    margin-top: 24px;
    transition: all .2s ease-in-out;
    float: right
}

.contact-form button:hover {
    background-color: var(--second-theme-color)
}

.invalid {
    border-color: red
}
.page__contacts {
    display: grid;
    grid-template-columns: 420px 1fr;
    grid-gap: 48px
}

.page__contacts .info {
    background-color: var(--clr-1-25);
    border-radius: 16px
}

.page__contacts .info .title {
    margin-bottom: 16px
}

.page__contacts .info .text {
    margin-bottom: 40px
}

.page__contacts .info ul {
    display: grid;
    grid-gap: 32px
}

.page__contacts .info ul li {
    display: flex;
    justify-content: flex-start;
    align-items: center
}

.page__contacts .info ul li img {
    width: 40px;
    height: 40px;
    margin-right: 24px
}

.page__contacts .form .fields {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-column-gap: 16px
}

.form .fields>p:last-child {
    grid-column-start: 1;
    grid-column-end: -1
}

.page__contacts .form button {
    float: right
}

@media(max-width: 960px) {
    .page__contacts {
        grid-template-columns:1fr
    }
}

@media(max-width: 640px) {
    .page__contacts .form .fields {
        grid-template-columns:1fr
    }
    .info a,
    .info p,
    .info span {
        font-size: 1rem !important;
    }
}
.content ul:not([class]) li::before {
    content: none;
}
.map-section {
    margin: 20px 0;
    height: 400px;
}