/* Contact. */

.contact {
    position: relative;

    margin-top: var(--i1);
}

.contact-decoration img {
    position: absolute;
    top: calc(var(--section-gap) * -.1);
    left: calc(var(--section-gap) * -.275);

    width: calc(var(--section-gap) * .85);
}

.contact-net {
    position: relative;

    grid-gap: var(--i3);
    justify-content: space-between;
    z-index: 1;
}

.contact-info {
    justify-content: space-between;
    grid-gap: var(--i2);

    max-width: 532px;
    padding-block: var(--i3);
}

.contact-content {
    text-wrap: balance;
}

.contact-content .richText {
    opacity: .75;
}

.contact-list {
    display: flex;
    flex-direction: column;
    gap: var(--i5);
}

.contact-li {
    display: flex;
    align-items: center;
    grid-gap: var(--i5);
}

.contact-li-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;

    width: 48px;
    aspect-ratio: 1/1;
    color: var(--white);
    background-color: var(--green);
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.contact-li-icon {
    width: 24px;
    aspect-ratio: 1/1;
    color: inherit;
    background-color: currentColor;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
}

.contact-li-info {
    display: flex;
    flex-direction: column;
    grid-gap: 12px;

    font-weight: 700;
}

.contact-li-label {
    --color-text: var(--green);

    color: var(--color-text);
    font-size: var(--thin);
    line-height: 1;
}

.contact-li-text {
    font-size: var(--h6);
    color: inherit;
    line-height: 1.3;
}


.contact-form {
    display: flex;
    align-items: center;
    position: relative;

    width: 100%;
    max-width: 636px;
}

.contact-decoration-two {
    position: absolute;
    top: -55px;
    right: -68px;

    width: 288px;
    z-index: -1;
}

.contact-form .wpcf7 {
    --btn-min-width: 100%;

    width: 100%;
    padding: var(--i3);
    background-color: var(--white);
    border: 1px solid rgba(0, 0, 0, .1);
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    border-radius: 25px;
}

@media (hover: hover) {
    .contact-li a:hover {
        --color-text: var(--color-hover);

        color: var(--color-text);
    }

    .contact-li-text a {
        -webkit-transition: color var(--transition-duration);
        -moz-transition: color var(--transition-duration);
        -ms-transition: color var(--transition-duration);
        -o-transition: color var(--transition-duration);
        transition: color var(--transition-duration);
    }
}

/* Contact. */

@media only screen and (max-width: 1200px) {

    /* Contact. */
    .contact-net {
        flex-direction: column;
        align-items: center;
    }

    .contact-info {
        max-width: 636px;
    }

    /* Contact. */

}

@media only screen and (min-width: 600px) {

    /* Contact. */
    .contact-form .wpcf7 p {
        display: grid;
        grid-template-columns: repeat(2, 1fr);

        grid-gap: 24px;
    }

    .contact-form .wpcf7 p *:not(label:nth-child(-n + 3)) {
        grid-column: 1 / -1;
    }

    /* Contact. */

}