/* BLOCK: Contact */

.block-contact {
    --mt: 0px !important;
    background-color: var(--c-primary);
    background-image: linear-gradient(180deg, rgb(from var(--c-secondary) r g b / 0.4) 0%, transparent 100%);
    background-size: 100% 500px;
    background-repeat: no-repeat;
    isolation: isolate;
}

.block-contact .content-wrapper {
    display: grid;
    grid-template-columns: 0.37fr 0.63fr;
    grid-template-rows: auto 1fr;
    gap: 3.125rem 8.125rem;
    position: relative;
}

.block-contact:first-child .content-wrapper {
    padding-top: var(--header-height);
}

.block-contact .bg-design-item {
    position: absolute;
    top: calc(-1 * var(--pt, 0px));
    right: calc(-1 * var(--offset, 0px) - 5rem);
    width: 50%;
    height: auto;
    z-index: -1;
    pointer-events: none;
    user-select: none;
}

.block-contact .text-wrapper,
.block-contact .link-wrapper {
    grid-column: 1;
}

.block-contact .form-wrapper {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: flex-start;
    padding: 3.75rem;
    background-color: #F1EEFF;
    border-radius: 2.5rem;
}

.block-contact .text-content:not(:last-child) {
    margin-bottom: 2.5rem;
}

.block-contact .text-content > * {
    margin: 0;
}

.block-contact .text-content > :not(:last-child) {
    margin-bottom: 2.5rem;
}

.block-contact .text-content > :is(h1, h2, h3, .h1, .h2, .h3):not(:last-child) {
    margin-bottom: 3.75rem;
}

.block-contact .text-content .h7 {
    color: var(--c-light-purple);
}

.block-contact .cta-buttons:not(:last-child) {
    margin-bottom: 5rem;
}

.block-contact .cta-buttons {
    gap: 0.9375rem;
    display: flex;
    flex-wrap: wrap;
}

.block-contact .social-links {
    display: flex;
    gap: 1.563rem;
    align-items: center;
    flex-wrap: wrap;
}

.block-contact .social-links:not(:last-child) {
    margin-bottom: 3.75rem;
}

.block-contact .social-links a svg {
    color: var(--c-text-light);
}

.block-contact .cta-section {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    padding: 1.5rem;
    background-color: rgb(from var(--c-text-light) r g b / 0.07);
    border: 1px solid rgb(from var(--c-text-light) r g b / 0.3);
    border-radius: 1.125rem;
}

.block-contact .cta-section:not(:last-child) {
    margin-bottom: 1.25rem;
}

.block-contact .cta-section .main {
    flex-grow: 1;
}

.block-contact .cta-section__tag {
    margin-bottom: 0.875rem;
    color: var(--c-light-purple);
    font-family: var(--ff-radio-canada-big);
    font-size: var(--font-12-10);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.01em;
}

.block-contact .cta-section__link {
    display: inline-block;
    color: currentColor;
    text-decoration: none;
    font-size: var(--font-17-14);
    font-weight: 600;
    line-height: 1.1;
}

.block-contact .cta-section__link svg {
    display: inline-block;
    margin-left: 0.625rem;
    vertical-align: middle;
}

.block-contact .cta-section__icon {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}

@media screen and (width <= 1020px) {
    .block-contact .content-wrapper {
        grid-template-columns: 0.4fr 0.6fr;
        column-gap: 3.125rem;
    }
    .block-contact .form-wrapper {
        padding: 1.875rem 1.5rem;
        border-radius: 1.5rem;
    }
    .block-contact .form-wrapper .gform_fields {
        gap: 1.125rem !important;
    }
    .block-contact .form-wrapper .gfield--type-section {
        margin-block: 0.37rem;
    }
}

@media screen and (width < 640px) {
    .block-contact .content-wrapper {
        display: flex;
        flex-direction: column;
    }
    .block-contact .text-wrapper {
        order: 1;
    }
    .block-contact .text-wrapper .text-content {
        text-align: center;
    }
    .block-contact .text-content > :not(:last-child) {
        margin-bottom: 1.875rem;
    }
    .block-contact .text-content > :is(h1, h2, h3, .h1, .h2, .h3):not(:last-child) {
        margin-bottom: 2.5rem;
    }
    .block-contact .cta-buttons {
        flex-direction: column;
        gap: 0.75rem;
        align-items: stretch;
        width: min(100vw - 3rem, 15.875rem);
        margin-inline: auto;
    }
    .block-contact .form-wrapper {
        order: 2;
    }
    .block-contact .links-wrapper {
        order: 3;
    }
    .block-contact .social-links {
        align-items: center;
    }
    .block-contact .social-links:not(:last-child) {
        margin-bottom: 3.125rem;
    }
    .block-contact .cta-section:not(:last-child) {
        margin-bottom: 0.75rem;
    }
    .block-contact .cta-section__tag {
        margin-bottom: 0.75rem;
    }
    .block-contact .cta-section__link {
        max-width: 13rem;
    }
}