/* @group contact-form
------------------------------------ */

.contact-form.show .form {
    opacity: 0;
    pointer-events: none;
}

.contact-form .form-message {
    position: relative;
}

.contact-form .message {

    background: var(--red);
    color: var(--white);
    transition: 0.5s;

    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;


}

:where(#wrapper) .contact-form .message {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    inset: 0;
}

:where(.editor-styles-wrapper) :is(.message) {
    height: 40.5rem;
}

.contact-form.show .message {
    opacity: 1;
    pointer-events: all;
}

.contact-form.show .message::before {
    content: '';
    position: absolute;
    inset: 0;
    border: 5px solid #FFF;
    display: block;
    margin: auto;
}

.contact-form.show .message p {
    font-weight: var(--fw-700);
    letter-spacing: 0.133em;
}

.contact-form .fsLabel {
    padding: 0;
}

.contact-form .fsLabel span {
    font-family: var(--font-adobe);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: var(--fw-700);
    line-height: normal;
    letter-spacing: 0.1333em;
    color: var(--black);
    text-transform: uppercase;
    margin: 0 0 .5rem;
}

.contact-form .fsValidationError {
    font-family: var(--font-proxima);
}

.contact-form .fsValidationError div {
    font-size: 1.1rem;
}

.contact-form .fsValidationError {
    display: none;
}

.contact-form :is(input, select, #important):not([type="submit"]) {
    appearance: none;
    -webkit-appearance: none;
    outline: none !important;
    border-color: var(--red);
    border-left: none;
    border-top: none;
    border-right: none;
    border-width: 1px;
    font-size: 1.6rem !important;
    line-height: 1.5em !important;
    font-weight: var(--fw-400);
    font-family: var(--font-proxima) !important;
    height: unset;
    padding: 0 0 .9rem;
}

.contact-form label {
    font-size: 1.6rem;
    line-height: 1.5em;
    font-family: var(--font-proxima);
}

.contact-form select option {
    padding: 1.5rem;
    color: var(--white);
    background-color: var(--red);
    text-transform: uppercase;
    font-size: 1.5rem;
    font-weight: var(--fw-700);
    line-height: normal;
    letter-spacing: .13em;
    font-family: var(--font-adobe);
}
.contact-form select option:not(:last-of-type) {
    border-bottom: 1px solid var(--white);
}

.contact-form .fsSubmit {
    margin: 0;
    padding: 0;
}

.contact-form :is([type="submit"], #important) {
    width: 100%;
    background: var(--red);
    font-family: var(--font-adobe);
    text-transform: uppercase;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: var(--fw-700);
    line-height: normal;
    letter-spacing: 0.1333em;
    color: var(--white);
    padding-block: 0.6rem 0;
    margin-block: 0;
}

.contact-form form {
    padding: 0;
    margin-block: 0;
    overflow: hidden;
}

.contact-form .wp-block-heading span {
    font: inherit;
}

@media only screen and (min-width : 961px) {

    .contact-form {
        padding-block: 11.9rem 12rem;
    }

    .contact-form .content {
        margin-bottom: 7.5rem;
    }

    .contact-form.show .message::before {
        width: calc(100% - 3.7rem);
        height: calc(100% - 4.6rem);
    }

    .contact-form.show .message p {
        font-size: 1.4rem;
        max-width: 59%;
    }

    .contact-form .fsSection {
        --_gap: 3rem;
        display: flex;
        flex-wrap: wrap;
        gap: var(--_gap);
    }

    .contact-form .fsFieldCell {
        flex: 0 1 calc(50% - var(--_gap));
    }

}

@media only screen and (min-width : 0) and (max-width : 960px) {

    .contact-form .wp-block-heading span {
        display: block;
        margin-left: auto;
        text-align: right;
    }

    .contact-form {
        padding-block: 13.3rem 9.5rem;
    }

    .contact-form .content {
        margin-bottom: 4.1rem;
    }

    :where(#wrapper) .contact-form .message {
        inset: unset;
        top: 0;
        left: 0;
        right: 0;
        padding-block: 10rem;
    }

    .contact-form.show .message::before {
        width: calc(100% - 2.9rem);
        height: calc(100% - 2.7rem);
    }

    .contact-form.show .message p {
        font-size: 1.5rem;
        max-width: 80%;
    }

    .contact-form .fsSection {
        gap: 3rem;
    }
}

/* @end */


/* Animations */

:where(#wrapper) .contact-form :is(.content .wp-block-heading, .content p, .form-message) {
	opacity: 0;
	--duration: 1s;
}

:where(#wrapper) .contact-form.animateActive :is(.content .wp-block-heading, .content p, .form-message) {
	animation: fade var(--duration) forwards;
	animation-delay: var(--delay, 0);
}

:where(#wrapper) .contact-form.animateActive .content .wp-block-heading {
    --delay: 0.3s;
}
:where(#wrapper) .contact-form.animateActive .content p {
    --delay: 0.5s;
}
:where(#wrapper) .contact-form.animateActive .form-message {
    --delay: 0.7s;
}