

/* General */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
	width: 100%;
    border: 0 none;
    border-top: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    border-radius: 0;
    background: transparent;
    font-family: "Resonate";
    font-size: var(--fs-20);
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: .03em;
    padding: .8em 0 .5em;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form textarea:focus {
    outline: 0 none;
    border-top-color: var(--orange);
    border-bottom-color: var(--orange);
}

.wpcf7-form textarea {
    border-top: 0 none;
    min-height: 6.25em;
    resize: none;
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
    color: var(--blue);
    opacity: 1;
}

.wpcf7-form .wpcf7-list-item {
	margin: 0;
}

.wpcf7-form  .wpcf7-acceptance {
    display: flex;
}

.wpcf7-form .wpcf7-form-control-wrap[data-name="privacy"] label {
    display: flex;
    align-items: center;
}

.wpcf7-form input[type="checkbox"] {
    width: 1em;
    height: 1em;
    border: 1px solid currentColor;
    appearance: none;
    margin-right: 1em;
    transition: var(--def-trans);
}

.wpcf7-form input[type="checkbox"]:checked {
    background: var(--blue);
}

.wpcf7-form .wpcf7-not-valid-tip {
	display: block;
	margin: .5em 0 1em;
}

/* Block styles */
.contact .box {
    grid-area: 1/3/span 3/span 10;
}

.contact .box .site-badge {
	grid-area: 1/9/1/span 2;
	max-width: max(64px, 8.75vw);
	justify-self: flex-end;
    margin: max(24px, 1.875vw) max(24px, 1.875vw) 0 0;
}

.contact .box .headline {
	grid-area: 1/2/1/span 8;
	max-width: 20ch;
	margin-top: max(96px, 6.09375vw);
}

.contact .box .text-container {
	grid-area: 2/2/2/span 8;
	max-width: 52ch;
}

.contact .box .form-container {
    grid-area: 3/2/3/span 8;
}

.contact .box .form-container .wpcf7-form {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: var(--grid-gap);
}

.contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap {
	width: 100%;
}

.contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="privacy"] {
    align-self: center;
    grid-row: 3;
}

.contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="message"] {
    grid-column: span 2;
    grid-row: 2/span 2;
}

.contact .box .form-container .wpcf7-form .default-btn {
	grid-row: 3;
	text-wrap: balance;
	hyphens: none;
}

.contact .box .form-container .wpcf7 form .wpcf7-response-output {
	grid-column: span 4;
	text-align: center;
	padding: 1em;
	margin: 0;
	margin-top: var(--m-sm);
}

@media (max-width: 1499.98px) {
    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="given-name"],
    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="family-name"],
    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="email"],
    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="phone"] {
        grid-column: span 2;
    }
    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="given-name"] input,
    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="family-name"] input {
        border-bottom: 0 none;
    }

    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="message"] {
        grid-column: span 4;
        grid-row: 3;
        margin-bottom: var(--m-sm);
    }

    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="privacy"] {
        grid-row: unset;
        grid-column: span 2;
    }

    .contact .box .form-container .wpcf7-form .default-btn {
        grid-row: unset;
        grid-column: span 2;
    }
}

@media (max-width: 991.98px) {
    .contact .box {
        grid-area: 1/2/span 3/span 12;
    }

    .contact .box .site-badge {
        grid-area: 1/10/1/span 3;
    }

    .contact .box .headline {
        grid-area: 1/2/1/span 10;
    }

    .contact .box .text-container {
        grid-area: 2/2/2/span 10;
    }

    .contact .box .form-container {
        grid-area: 3/2/3/span 10;
    }
}

@media (max-width: 767.98px) {
    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="given-name"],
    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="family-name"],
    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="email"],
    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="phone"] {  
        grid-column: span 4;
    }

    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="message"] {
        grid-row: unset;
    }

    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="phone"] input,
    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="email"] input {
        border-bottom: 0 none;
    }

    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="message"] textarea {
        border-top: 1px solid;
    }
}

@media (max-width: 575.98px) {
    .contact .box {
        grid-area: 1/1/1/span 14;
        margin: 0 12px;
        padding: var(--grid-gap);
        grid-template-columns: unset;
    }

    .contact .box .site-badge {
        grid-area: 1/1/1/span 14;
    }

    .contact .box .headline {
        grid-area: 2/2/2/span 12;
        margin-top: var(--m-md);
    }

    .contact .box .text-container {
        grid-area: 3/2/3/span 12;
    }

    .contact .box .form-container {
        grid-area: 4/2/4/span 12;
    }

    .contact .box .form-container .wpcf7-form .wpcf7-form-control-wrap[data-name="privacy"] {
        grid-column: span 4;
    }

    .contact .box .form-container .wpcf7-form .default-btn {
        grid-column: span 4;
        margin-top: var(--m-sm);
    }
}