/* Bootstrap utility extensions for FCPress */

:root {
    --fc-bootstrap-gap-0: 0;
    --fc-bootstrap-gap-1: 0.25rem;
    --fc-bootstrap-gap-2: 0.5rem;
    --fc-bootstrap-gap-3: 1rem;
    --fc-bootstrap-gap-4: 1.5rem;
    --fc-bootstrap-gap-5: 3rem;
    /* Extends Bootstrap spacing scale (0..5) with sane large steps. */
    --fc-space-6: 4rem;
    --fc-space-7: 5rem;
    --fc-space-8: 6rem;
    --fc-bootstrap-gap-6: var(--fc-space-6);
    --fc-bootstrap-gap-7: var(--fc-space-7);
    --fc-bootstrap-gap-8: var(--fc-space-8);
    --fc-bootstrap-offset-1: 0.25rem;
    --fc-bootstrap-offset-2: 0.5rem;
    --fc-bootstrap-offset-3: 1rem;
    --fc-bootstrap-offset-4: 1.5rem;
    --fc-bootstrap-offset-5: 3rem;
    --fc-bootstrap-offset-6: var(--fc-space-6);
    --fc-bootstrap-offset-7: var(--fc-space-7);
    --fc-bootstrap-offset-8: var(--fc-space-8);
}

/* Let flex-based block layouts size Bootstrap columns without gap forcing an early wrap. */

:where(.wp-block-columns, .is-layout-flex, .row, .d-flex)
    > :is(
        .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
        .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
        .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12,
        .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12,
        .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12,
        .col-xxl-1, .col-xxl-2, .col-xxl-3, .col-xxl-4, .col-xxl-5, .col-xxl-6, .col-xxl-7, .col-xxl-8, .col-xxl-9, .col-xxl-10, .col-xxl-11, .col-xxl-12
    ) {
    box-sizing: border-box;
    flex: 0 0 auto;
    flex-basis: auto !important;
    min-width: 0;
    max-width: 100%;
    width: 100%;
}

:where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-1 { --fc-bootstrap-span: 1; }
:where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-2 { --fc-bootstrap-span: 2; }
:where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-3 { --fc-bootstrap-span: 3; }
:where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-4 { --fc-bootstrap-span: 4; }
:where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-5 { --fc-bootstrap-span: 5; }
:where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-6 { --fc-bootstrap-span: 6; }
:where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-7 { --fc-bootstrap-span: 7; }
:where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-8 { --fc-bootstrap-span: 8; }
:where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-9 { --fc-bootstrap-span: 9; }
:where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-10 { --fc-bootstrap-span: 10; }
:where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-11 { --fc-bootstrap-span: 11; }
:where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-12 { --fc-bootstrap-span: 12; }

:where(.wp-block-columns, .is-layout-flex, .row, .d-flex)
    > :is(.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12) {
    flex-basis: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12)))) !important;
    max-width: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12))));
    width: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12))));
}

@media (min-width: 576px) {
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-sm-0 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-0) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-sm-1 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-1) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-sm-2 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-2) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-sm-3 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-3) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-sm-4 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-4) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-sm-5 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-5) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-sm-6 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-6) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-sm-7 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-7) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-sm-8 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-8) !important; }

    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-sm-1 { --fc-bootstrap-span: 1; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-sm-2 { --fc-bootstrap-span: 2; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-sm-3 { --fc-bootstrap-span: 3; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-sm-4 { --fc-bootstrap-span: 4; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-sm-5 { --fc-bootstrap-span: 5; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-sm-6 { --fc-bootstrap-span: 6; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-sm-7 { --fc-bootstrap-span: 7; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-sm-8 { --fc-bootstrap-span: 8; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-sm-9 { --fc-bootstrap-span: 9; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-sm-10 { --fc-bootstrap-span: 10; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-sm-11 { --fc-bootstrap-span: 11; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-sm-12 { --fc-bootstrap-span: 12; }

    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex)
        > :is(.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12) {
        flex-basis: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12)))) !important;
        max-width: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12))));
        width: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12))));
    }
}

@media (min-width: 768px) {
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-md-0 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-0) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-md-1 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-1) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-md-2 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-2) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-md-3 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-3) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-md-4 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-4) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-md-5 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-5) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-md-6 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-6) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-md-7 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-7) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-md-8 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-8) !important; }

    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-md-1 { --fc-bootstrap-span: 1; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-md-2 { --fc-bootstrap-span: 2; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-md-3 { --fc-bootstrap-span: 3; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-md-4 { --fc-bootstrap-span: 4; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-md-5 { --fc-bootstrap-span: 5; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-md-6 { --fc-bootstrap-span: 6; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-md-7 { --fc-bootstrap-span: 7; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-md-8 { --fc-bootstrap-span: 8; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-md-9 { --fc-bootstrap-span: 9; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-md-10 { --fc-bootstrap-span: 10; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-md-11 { --fc-bootstrap-span: 11; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-md-12 { --fc-bootstrap-span: 12; }

    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex)
        > :is(.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12) {
        flex-basis: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12)))) !important;
        max-width: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12))));
        width: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12))));
    }
}

@media (min-width: 992px) {
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-lg-0 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-0) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-lg-1 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-1) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-lg-2 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-2) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-lg-3 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-3) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-lg-4 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-4) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-lg-5 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-5) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-lg-6 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-6) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-lg-7 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-7) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-lg-8 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-8) !important; }

    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-lg-1 { --fc-bootstrap-span: 1; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-lg-2 { --fc-bootstrap-span: 2; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-lg-3 { --fc-bootstrap-span: 3; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-lg-4 { --fc-bootstrap-span: 4; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-lg-5 { --fc-bootstrap-span: 5; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-lg-6 { --fc-bootstrap-span: 6; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-lg-7 { --fc-bootstrap-span: 7; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-lg-8 { --fc-bootstrap-span: 8; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-lg-9 { --fc-bootstrap-span: 9; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-lg-10 { --fc-bootstrap-span: 10; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-lg-11 { --fc-bootstrap-span: 11; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-lg-12 { --fc-bootstrap-span: 12; }

    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex)
        > :is(.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12) {
        flex-basis: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12)))) !important;
        max-width: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12))));
        width: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12))));
    }
}

@media (min-width: 1200px) {
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xl-0 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-0) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xl-1 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-1) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xl-2 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-2) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xl-3 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-3) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xl-4 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-4) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xl-5 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-5) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xl-6 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-6) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xl-7 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-7) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xl-8 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-8) !important; }

    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xl-1 { --fc-bootstrap-span: 1; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xl-2 { --fc-bootstrap-span: 2; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xl-3 { --fc-bootstrap-span: 3; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xl-4 { --fc-bootstrap-span: 4; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xl-5 { --fc-bootstrap-span: 5; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xl-6 { --fc-bootstrap-span: 6; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xl-7 { --fc-bootstrap-span: 7; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xl-8 { --fc-bootstrap-span: 8; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xl-9 { --fc-bootstrap-span: 9; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xl-10 { --fc-bootstrap-span: 10; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xl-11 { --fc-bootstrap-span: 11; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xl-12 { --fc-bootstrap-span: 12; }

    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex)
        > :is(.col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12) {
        flex-basis: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12)))) !important;
        max-width: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12))));
        width: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12))));
    }
}

@media (min-width: 1400px) {
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xxl-0 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-0) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xxl-1 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-1) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xxl-2 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-2) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xxl-3 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-3) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xxl-4 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-4) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xxl-5 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-5) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xxl-6 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-6) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xxl-7 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-7) !important; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex).gap-xxl-8 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-8) !important; }

    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xxl-1 { --fc-bootstrap-span: 1; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xxl-2 { --fc-bootstrap-span: 2; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xxl-3 { --fc-bootstrap-span: 3; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xxl-4 { --fc-bootstrap-span: 4; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xxl-5 { --fc-bootstrap-span: 5; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xxl-6 { --fc-bootstrap-span: 6; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xxl-7 { --fc-bootstrap-span: 7; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xxl-8 { --fc-bootstrap-span: 8; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xxl-9 { --fc-bootstrap-span: 9; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xxl-10 { --fc-bootstrap-span: 10; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xxl-11 { --fc-bootstrap-span: 11; }
    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex) > .col-xxl-12 { --fc-bootstrap-span: 12; }

    :where(.wp-block-columns, .is-layout-flex, .row, .d-flex)
        > :is(.col-xxl-1, .col-xxl-2, .col-xxl-3, .col-xxl-4, .col-xxl-5, .col-xxl-6, .col-xxl-7, .col-xxl-8, .col-xxl-9, .col-xxl-10, .col-xxl-11, .col-xxl-12) {
        flex-basis: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12)))) !important;
        max-width: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12))));
        width: calc((100% * var(--fc-bootstrap-span) / 12) - (var(--fc-bootstrap-parent-gap, 0px) * (1 - (var(--fc-bootstrap-span) / 12))));
    }
}

/* Height utilities */
.h-10vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.10) !important; }
.h-20vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.20) !important; }
.h-25vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.25) !important; }
.h-30vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.30) !important; }
.h-33vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.33) !important; }
.h-40vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.40) !important; }
.h-45vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.45) !important; }
.h-50vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.50) !important; }
.h-55vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.55) !important; }
.h-60vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.60) !important; }
.h-65vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.65) !important; }
.h-70vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.70) !important; }
.h-75vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.75) !important; }
.h-80vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.80) !important; }
.h-85vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.85) !important; }
.h-90vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.90) !important; }
.h-95vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.95) !important; }
.h-100vh { min-height: var(--fcpress-viewport-height, 100svh) !important; }
.h-105vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 1.05) !important; }
.h-110vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 1.10) !important; }
.h-unset { height: unset !important; min-height: unset !important; }

.fc-height-managed {
    min-height: var(--fc-height-xs, unset);
}

.wp-block-image.fc-height-managed {
    overflow: hidden;
}

.wp-block-image.fc-height-managed > a,
.wp-block-image.fc-height-managed > picture,
.wp-block-image.fc-height-managed > a > picture {
    display: block;
    min-height: inherit;
}

.wp-block-image.fc-height-managed > img,
.wp-block-image.fc-height-managed > a > img,
.wp-block-image.fc-height-managed > picture > img,
.wp-block-image.fc-height-managed > a > picture > img {
    display: block;
    min-height: inherit;
    max-width: 100%;
    width: auto;
}

figure {
    margin: 0;
}

/* Preserve Gutenberg row/column layout direction when Bootstrap card is applied. */
.card.is-layout-flex:not(.is-vertical) {
    flex-direction: row;
}

.card.is-layout-flex.is-vertical {
    flex-direction: column;
}

/* Negative inset utilities for offsetting positioned elements. */
.top-n1 { top: calc(var(--fc-bootstrap-offset-1) * -1) !important; }
.top-n2 { top: calc(var(--fc-bootstrap-offset-2) * -1) !important; }
.top-n3 { top: calc(var(--fc-bootstrap-offset-3) * -1) !important; }
.top-n4 { top: calc(var(--fc-bootstrap-offset-4) * -1) !important; }
.top-n5 { top: calc(var(--fc-bootstrap-offset-5) * -1) !important; }
.top-n6 { top: calc(var(--fc-bootstrap-offset-6) * -1) !important; }
.top-n7 { top: calc(var(--fc-bootstrap-offset-7) * -1) !important; }
.top-n8 { top: calc(var(--fc-bootstrap-offset-8) * -1) !important; }

.bottom-n1 { bottom: calc(var(--fc-bootstrap-offset-1) * -1) !important; }
.bottom-n2 { bottom: calc(var(--fc-bootstrap-offset-2) * -1) !important; }
.bottom-n3 { bottom: calc(var(--fc-bootstrap-offset-3) * -1) !important; }
.bottom-n4 { bottom: calc(var(--fc-bootstrap-offset-4) * -1) !important; }
.bottom-n5 { bottom: calc(var(--fc-bootstrap-offset-5) * -1) !important; }
.bottom-n6 { bottom: calc(var(--fc-bootstrap-offset-6) * -1) !important; }
.bottom-n7 { bottom: calc(var(--fc-bootstrap-offset-7) * -1) !important; }
.bottom-n8 { bottom: calc(var(--fc-bootstrap-offset-8) * -1) !important; }

.start-n1,
.left-n1 { left: calc(var(--fc-bootstrap-offset-1) * -1) !important; }
.start-n2,
.left-n2 { left: calc(var(--fc-bootstrap-offset-2) * -1) !important; }
.start-n3,
.left-n3 { left: calc(var(--fc-bootstrap-offset-3) * -1) !important; }
.start-n4,
.left-n4 { left: calc(var(--fc-bootstrap-offset-4) * -1) !important; }
.start-n5,
.left-n5 { left: calc(var(--fc-bootstrap-offset-5) * -1) !important; }
.start-n6,
.left-n6 { left: calc(var(--fc-bootstrap-offset-6) * -1) !important; }
.start-n7,
.left-n7 { left: calc(var(--fc-bootstrap-offset-7) * -1) !important; }
.start-n8,
.left-n8 { left: calc(var(--fc-bootstrap-offset-8) * -1) !important; }

.end-n1,
.right-n1 { right: calc(var(--fc-bootstrap-offset-1) * -1) !important; }
.end-n2,
.right-n2 { right: calc(var(--fc-bootstrap-offset-2) * -1) !important; }
.end-n3,
.right-n3 { right: calc(var(--fc-bootstrap-offset-3) * -1) !important; }
.end-n4,
.right-n4 { right: calc(var(--fc-bootstrap-offset-4) * -1) !important; }
.end-n5,
.right-n5 { right: calc(var(--fc-bootstrap-offset-5) * -1) !important; }
.end-n6,
.right-n6 { right: calc(var(--fc-bootstrap-offset-6) * -1) !important; }
.end-n7,
.right-n7 { right: calc(var(--fc-bootstrap-offset-7) * -1) !important; }
.end-n8,
.right-n8 { right: calc(var(--fc-bootstrap-offset-8) * -1) !important; }

@media (min-width: 576px) {
    .fc-height-managed {
        min-height: var(--fc-height-sm, var(--fc-height-xs, unset));
    }
}

@media (min-width: 768px) {
    .fc-height-managed {
        min-height: var(--fc-height-md, var(--fc-height-sm, var(--fc-height-xs, unset)));
    }
}

@media (min-width: 992px) {
    .fc-height-managed {
        min-height: var(--fc-height-lg, var(--fc-height-md, var(--fc-height-sm, var(--fc-height-xs, unset))));
    }
}

@media (min-width: 1200px) {
    .fc-height-managed {
        min-height: var(--fc-height-xl, var(--fc-height-lg, var(--fc-height-md, var(--fc-height-sm, var(--fc-height-xs, unset)))));
    }
}

@media (min-width: 1400px) {
    .fc-height-managed {
        min-height: var(--fc-height-xxl, var(--fc-height-xl, var(--fc-height-lg, var(--fc-height-md, var(--fc-height-sm, var(--fc-height-xs, unset))))));
    }
}

/* Spacing utilities: 6 */
.p-6 { padding: var(--fc-space-6) !important; }
.pt-6 { padding-top: var(--fc-space-6) !important; }
.pb-6 { padding-bottom: var(--fc-space-6) !important; }
.ps-6 { padding-left: var(--fc-space-6) !important; }
.pe-6 { padding-right: var(--fc-space-6) !important; }
.pl-6 { padding-left: var(--fc-space-6) !important; }
.pr-6 { padding-right: var(--fc-space-6) !important; }
.px-6 { padding-left: var(--fc-space-6) !important; padding-right: var(--fc-space-6) !important; }
.py-6 { padding-top: var(--fc-space-6) !important; padding-bottom: var(--fc-space-6) !important; }

.m-6 { margin: var(--fc-space-6) !important; }
.mt-6 { margin-top: var(--fc-space-6) !important; }
.mb-6 { margin-bottom: var(--fc-space-6) !important; }
.ms-6 { margin-left: var(--fc-space-6) !important; }
.me-6 { margin-right: var(--fc-space-6) !important; }
.ml-6 { margin-left: var(--fc-space-6) !important; }
.mr-6 { margin-right: var(--fc-space-6) !important; }
.mx-6 { margin-left: var(--fc-space-6) !important; margin-right: var(--fc-space-6) !important; }
.my-6 { margin-top: var(--fc-space-6) !important; margin-bottom: var(--fc-space-6) !important; }

/* Spacing utilities: 7 */
.p-7 { padding: var(--fc-space-7) !important; }
.pt-7 { padding-top: var(--fc-space-7) !important; }
.pb-7 { padding-bottom: var(--fc-space-7) !important; }
.ps-7 { padding-left: var(--fc-space-7) !important; }
.pe-7 { padding-right: var(--fc-space-7) !important; }
.pl-7 { padding-left: var(--fc-space-7) !important; }
.pr-7 { padding-right: var(--fc-space-7) !important; }
.px-7 { padding-left: var(--fc-space-7) !important; padding-right: var(--fc-space-7) !important; }
.py-7 { padding-top: var(--fc-space-7) !important; padding-bottom: var(--fc-space-7) !important; }

.m-7 { margin: var(--fc-space-7) !important; }
.mt-7 { margin-top: var(--fc-space-7) !important; }
.mb-7 { margin-bottom: var(--fc-space-7) !important; }
.ms-7 { margin-left: var(--fc-space-7) !important; }
.me-7 { margin-right: var(--fc-space-7) !important; }
.ml-7 { margin-left: var(--fc-space-7) !important; }
.mr-7 { margin-right: var(--fc-space-7) !important; }
.mx-7 { margin-left: var(--fc-space-7) !important; margin-right: var(--fc-space-7) !important; }
.my-7 { margin-top: var(--fc-space-7) !important; margin-bottom: var(--fc-space-7) !important; }

/* Spacing utilities: 8 */
.p-8 { padding: var(--fc-space-8) !important; }
.pt-8 { padding-top: var(--fc-space-8) !important; }
.pb-8 { padding-bottom: var(--fc-space-8) !important; }
.ps-8 { padding-left: var(--fc-space-8) !important; }
.pe-8 { padding-right: var(--fc-space-8) !important; }
.pl-8 { padding-left: var(--fc-space-8) !important; }
.pr-8 { padding-right: var(--fc-space-8) !important; }
.px-8 { padding-left: var(--fc-space-8) !important; padding-right: var(--fc-space-8) !important; }
.py-8 { padding-top: var(--fc-space-8) !important; padding-bottom: var(--fc-space-8) !important; }

.m-8 { margin: var(--fc-space-8) !important; }
.mt-8 { margin-top: var(--fc-space-8) !important; }
.mb-8 { margin-bottom: var(--fc-space-8) !important; }
.ms-8 { margin-left: var(--fc-space-8) !important; }
.me-8 { margin-right: var(--fc-space-8) !important; }
.ml-8 { margin-left: var(--fc-space-8) !important; }
.mr-8 { margin-right: var(--fc-space-8) !important; }
.mx-8 { margin-left: var(--fc-space-8) !important; margin-right: var(--fc-space-8) !important; }
.my-8 { margin-top: var(--fc-space-8) !important; margin-bottom: var(--fc-space-8) !important; }

/* Gap utilities: 0..8 */
.gap-0 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-0) !important; gap: var(--fc-bootstrap-gap-0) !important; }
.gap-1 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-1) !important; gap: var(--fc-bootstrap-gap-1) !important; }
.gap-2 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-2) !important; gap: var(--fc-bootstrap-gap-2) !important; }
.gap-3 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-3) !important; gap: var(--fc-bootstrap-gap-3) !important; }
.gap-4 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-4) !important; gap: var(--fc-bootstrap-gap-4) !important; }
.gap-5 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-5) !important; gap: var(--fc-bootstrap-gap-5) !important; }
.gap-6 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-6) !important; gap: var(--fc-bootstrap-gap-6) !important; }
.gap-7 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-7) !important; gap: var(--fc-bootstrap-gap-7) !important; }
.gap-8 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-8) !important; gap: var(--fc-bootstrap-gap-8) !important; }

/* sm (>= 576px) */
@media (min-width: 576px) {
    .p-sm-6 { padding: var(--fc-space-6) !important; }
    .p-sm-7 { padding: var(--fc-space-7) !important; }
    .p-sm-8 { padding: var(--fc-space-8) !important; }
    .px-sm-6 { padding-left: var(--fc-space-6) !important; padding-right: var(--fc-space-6) !important; }
    .px-sm-7 { padding-left: var(--fc-space-7) !important; padding-right: var(--fc-space-7) !important; }
    .px-sm-8 { padding-left: var(--fc-space-8) !important; padding-right: var(--fc-space-8) !important; }
    .py-sm-6 { padding-top: var(--fc-space-6) !important; padding-bottom: var(--fc-space-6) !important; }
    .py-sm-7 { padding-top: var(--fc-space-7) !important; padding-bottom: var(--fc-space-7) !important; }
    .py-sm-8 { padding-top: var(--fc-space-8) !important; padding-bottom: var(--fc-space-8) !important; }

    .gap-sm-0 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-0) !important; gap: var(--fc-bootstrap-gap-0) !important; }
    .gap-sm-1 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-1) !important; gap: var(--fc-bootstrap-gap-1) !important; }
    .gap-sm-2 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-2) !important; gap: var(--fc-bootstrap-gap-2) !important; }
    .gap-sm-3 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-3) !important; gap: var(--fc-bootstrap-gap-3) !important; }
    .gap-sm-4 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-4) !important; gap: var(--fc-bootstrap-gap-4) !important; }
    .gap-sm-5 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-5) !important; gap: var(--fc-bootstrap-gap-5) !important; }
    .gap-sm-6 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-6) !important; gap: var(--fc-bootstrap-gap-6) !important; }
    .gap-sm-7 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-7) !important; gap: var(--fc-bootstrap-gap-7) !important; }
    .gap-sm-8 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-8) !important; gap: var(--fc-bootstrap-gap-8) !important; }
}

/* md (>= 768px) */
@media (min-width: 768px) {
    .p-md-6 { padding: var(--fc-space-6) !important; }
    .p-md-7 { padding: var(--fc-space-7) !important; }
    .p-md-8 { padding: var(--fc-space-8) !important; }
    .px-md-6 { padding-left: var(--fc-space-6) !important; padding-right: var(--fc-space-6) !important; }
    .px-md-7 { padding-left: var(--fc-space-7) !important; padding-right: var(--fc-space-7) !important; }
    .px-md-8 { padding-left: var(--fc-space-8) !important; padding-right: var(--fc-space-8) !important; }
    .py-md-6 { padding-top: var(--fc-space-6) !important; padding-bottom: var(--fc-space-6) !important; }
    .py-md-7 { padding-top: var(--fc-space-7) !important; padding-bottom: var(--fc-space-7) !important; }
    .py-md-8 { padding-top: var(--fc-space-8) !important; padding-bottom: var(--fc-space-8) !important; }

    .gap-md-0 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-0) !important; gap: var(--fc-bootstrap-gap-0) !important; }
    .gap-md-1 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-1) !important; gap: var(--fc-bootstrap-gap-1) !important; }
    .gap-md-2 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-2) !important; gap: var(--fc-bootstrap-gap-2) !important; }
    .gap-md-3 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-3) !important; gap: var(--fc-bootstrap-gap-3) !important; }
    .gap-md-4 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-4) !important; gap: var(--fc-bootstrap-gap-4) !important; }
    .gap-md-5 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-5) !important; gap: var(--fc-bootstrap-gap-5) !important; }
    .gap-md-6 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-6) !important; gap: var(--fc-bootstrap-gap-6) !important; }
    .gap-md-7 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-7) !important; gap: var(--fc-bootstrap-gap-7) !important; }
    .gap-md-8 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-8) !important; gap: var(--fc-bootstrap-gap-8) !important; }
}

/* lg (>= 992px) */
@media (min-width: 992px) {
    .p-lg-6 { padding: var(--fc-space-6) !important; }
    .pt-lg-6 { padding-top: var(--fc-space-6) !important; }
    .pb-lg-6 { padding-bottom: var(--fc-space-6) !important; }
    .ps-lg-6 { padding-left: var(--fc-space-6) !important; }
    .pe-lg-6 { padding-right: var(--fc-space-6) !important; }
    .pl-lg-6 { padding-left: var(--fc-space-6) !important; }
    .pr-lg-6 { padding-right: var(--fc-space-6) !important; }
    .px-lg-6 { padding-left: var(--fc-space-6) !important; padding-right: var(--fc-space-6) !important; }
    .py-lg-6 { padding-top: var(--fc-space-6) !important; padding-bottom: var(--fc-space-6) !important; }

    .m-lg-6 { margin: var(--fc-space-6) !important; }
    .mt-lg-6 { margin-top: var(--fc-space-6) !important; }
    .mb-lg-6 { margin-bottom: var(--fc-space-6) !important; }
    .ms-lg-6 { margin-left: var(--fc-space-6) !important; }
    .me-lg-6 { margin-right: var(--fc-space-6) !important; }
    .ml-lg-6 { margin-left: var(--fc-space-6) !important; }
    .mr-lg-6 { margin-right: var(--fc-space-6) !important; }
    .mx-lg-6 { margin-left: var(--fc-space-6) !important; margin-right: var(--fc-space-6) !important; }
    .my-lg-6 { margin-top: var(--fc-space-6) !important; margin-bottom: var(--fc-space-6) !important; }

    .p-lg-7 { padding: var(--fc-space-7) !important; }
    .pt-lg-7 { padding-top: var(--fc-space-7) !important; }
    .pb-lg-7 { padding-bottom: var(--fc-space-7) !important; }
    .ps-lg-7 { padding-left: var(--fc-space-7) !important; }
    .pe-lg-7 { padding-right: var(--fc-space-7) !important; }
    .pl-lg-7 { padding-left: var(--fc-space-7) !important; }
    .pr-lg-7 { padding-right: var(--fc-space-7) !important; }
    .px-lg-7 { padding-left: var(--fc-space-7) !important; padding-right: var(--fc-space-7) !important; }
    .py-lg-7 { padding-top: var(--fc-space-7) !important; padding-bottom: var(--fc-space-7) !important; }

    .m-lg-7 { margin: var(--fc-space-7) !important; }
    .mt-lg-7 { margin-top: var(--fc-space-7) !important; }
    .mb-lg-7 { margin-bottom: var(--fc-space-7) !important; }
    .ms-lg-7 { margin-left: var(--fc-space-7) !important; }
    .me-lg-7 { margin-right: var(--fc-space-7) !important; }
    .ml-lg-7 { margin-left: var(--fc-space-7) !important; }
    .mr-lg-7 { margin-right: var(--fc-space-7) !important; }
    .mx-lg-7 { margin-left: var(--fc-space-7) !important; margin-right: var(--fc-space-7) !important; }
    .my-lg-7 { margin-top: var(--fc-space-7) !important; margin-bottom: var(--fc-space-7) !important; }

    .p-lg-8 { padding: var(--fc-space-8) !important; }
    .pt-lg-8 { padding-top: var(--fc-space-8) !important; }
    .pb-lg-8 { padding-bottom: var(--fc-space-8) !important; }
    .ps-lg-8 { padding-left: var(--fc-space-8) !important; }
    .pe-lg-8 { padding-right: var(--fc-space-8) !important; }
    .pl-lg-8 { padding-left: var(--fc-space-8) !important; }
    .pr-lg-8 { padding-right: var(--fc-space-8) !important; }
    .px-lg-8 { padding-left: var(--fc-space-8) !important; padding-right: var(--fc-space-8) !important; }
    .py-lg-8 { padding-top: var(--fc-space-8) !important; padding-bottom: var(--fc-space-8) !important; }

    .m-lg-8 { margin: var(--fc-space-8) !important; }
    .mt-lg-8 { margin-top: var(--fc-space-8) !important; }
    .mb-lg-8 { margin-bottom: var(--fc-space-8) !important; }
    .ms-lg-8 { margin-left: var(--fc-space-8) !important; }
    .me-lg-8 { margin-right: var(--fc-space-8) !important; }
    .ml-lg-8 { margin-left: var(--fc-space-8) !important; }
    .mr-lg-8 { margin-right: var(--fc-space-8) !important; }
    .mx-lg-8 { margin-left: var(--fc-space-8) !important; margin-right: var(--fc-space-8) !important; }
    .my-lg-8 { margin-top: var(--fc-space-8) !important; margin-bottom: var(--fc-space-8) !important; }

    .gap-lg-0 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-0) !important; gap: var(--fc-bootstrap-gap-0) !important; }
    .gap-lg-1 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-1) !important; gap: var(--fc-bootstrap-gap-1) !important; }
    .gap-lg-2 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-2) !important; gap: var(--fc-bootstrap-gap-2) !important; }
    .gap-lg-3 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-3) !important; gap: var(--fc-bootstrap-gap-3) !important; }
    .gap-lg-4 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-4) !important; gap: var(--fc-bootstrap-gap-4) !important; }
    .gap-lg-5 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-5) !important; gap: var(--fc-bootstrap-gap-5) !important; }
    .gap-lg-6 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-6) !important; gap: var(--fc-bootstrap-gap-6) !important; }
    .gap-lg-7 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-7) !important; gap: var(--fc-bootstrap-gap-7) !important; }
    .gap-lg-8 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-8) !important; gap: var(--fc-bootstrap-gap-8) !important; }
}

/* xl (>= 1200px) */
@media (min-width: 1200px) {
    .p-xl-6 { padding: var(--fc-space-6) !important; }
    .p-xl-7 { padding: var(--fc-space-7) !important; }
    .p-xl-8 { padding: var(--fc-space-8) !important; }
    .px-xl-6 { padding-left: var(--fc-space-6) !important; padding-right: var(--fc-space-6) !important; }
    .px-xl-7 { padding-left: var(--fc-space-7) !important; padding-right: var(--fc-space-7) !important; }
    .px-xl-8 { padding-left: var(--fc-space-8) !important; padding-right: var(--fc-space-8) !important; }
    .py-xl-6 { padding-top: var(--fc-space-6) !important; padding-bottom: var(--fc-space-6) !important; }
    .py-xl-7 { padding-top: var(--fc-space-7) !important; padding-bottom: var(--fc-space-7) !important; }
    .py-xl-8 { padding-top: var(--fc-space-8) !important; padding-bottom: var(--fc-space-8) !important; }

    .gap-xl-0 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-0) !important; gap: var(--fc-bootstrap-gap-0) !important; }
    .gap-xl-1 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-1) !important; gap: var(--fc-bootstrap-gap-1) !important; }
    .gap-xl-2 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-2) !important; gap: var(--fc-bootstrap-gap-2) !important; }
    .gap-xl-3 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-3) !important; gap: var(--fc-bootstrap-gap-3) !important; }
    .gap-xl-4 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-4) !important; gap: var(--fc-bootstrap-gap-4) !important; }
    .gap-xl-5 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-5) !important; gap: var(--fc-bootstrap-gap-5) !important; }
    .gap-xl-6 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-6) !important; gap: var(--fc-bootstrap-gap-6) !important; }
    .gap-xl-7 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-7) !important; gap: var(--fc-bootstrap-gap-7) !important; }
    .gap-xl-8 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-8) !important; gap: var(--fc-bootstrap-gap-8) !important; }
}

/* xxl (>= 1400px) */
@media (min-width: 1400px) {
    .h-xxl-65vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.65) !important; }
    .h-xxl-75vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.75) !important; }
    .h-xxl-unset { height: unset !important; min-height: unset !important; }

    .p-xxl-6 { padding: var(--fc-space-6) !important; }
    .p-xxl-7 { padding: var(--fc-space-7) !important; }
    .p-xxl-8 { padding: var(--fc-space-8) !important; }
    .px-xxl-6 { padding-left: var(--fc-space-6) !important; padding-right: var(--fc-space-6) !important; }
    .px-xxl-7 { padding-left: var(--fc-space-7) !important; padding-right: var(--fc-space-7) !important; }
    .px-xxl-8 { padding-left: var(--fc-space-8) !important; padding-right: var(--fc-space-8) !important; }
    .py-xxl-6 { padding-top: var(--fc-space-6) !important; padding-bottom: var(--fc-space-6) !important; }
    .py-xxl-7 { padding-top: var(--fc-space-7) !important; padding-bottom: var(--fc-space-7) !important; }
    .py-xxl-8 { padding-top: var(--fc-space-8) !important; padding-bottom: var(--fc-space-8) !important; }
    .gap-xxl-0 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-0) !important; gap: var(--fc-bootstrap-gap-0) !important; }
    .gap-xxl-1 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-1) !important; gap: var(--fc-bootstrap-gap-1) !important; }
    .gap-xxl-2 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-2) !important; gap: var(--fc-bootstrap-gap-2) !important; }
    .gap-xxl-3 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-3) !important; gap: var(--fc-bootstrap-gap-3) !important; }
    .gap-xxl-4 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-4) !important; gap: var(--fc-bootstrap-gap-4) !important; }
    .gap-xxl-5 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-5) !important; gap: var(--fc-bootstrap-gap-5) !important; }
    .gap-xxl-6 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-6) !important; gap: var(--fc-bootstrap-gap-6) !important; }
    .gap-xxl-7 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-7) !important; gap: var(--fc-bootstrap-gap-7) !important; }
    .gap-xxl-8 { --fc-bootstrap-layout-gap: var(--fc-bootstrap-gap-8) !important; gap: var(--fc-bootstrap-gap-8) !important; }
    .m-xxl-6 { margin: var(--fc-space-6) !important; }
    .m-xxl-7 { margin: var(--fc-space-7) !important; }
    .m-xxl-8 { margin: var(--fc-space-8) !important; }
}

/* xxxl (>= 1600px) */
@media (min-width: 1600px) {
    .h-xxxl-65vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.65) !important; }
    .h-xxxl-75vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.75) !important; }
    .h-xxxl-85vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 0.85) !important; }
    .h-xxxl-100vh { min-height: var(--fcpress-viewport-height, 100svh) !important; }
    .h-xxxl-110vh { min-height: calc(var(--fcpress-viewport-height, 100svh) * 1.10) !important; }
    .h-xxxl-unset { height: unset !important; min-height: unset !important; }

    .p-xxxl-6 { padding: var(--fc-space-6) !important; }
    .pt-xxxl-6 { padding-top: var(--fc-space-6) !important; }
    .pb-xxxl-6 { padding-bottom: var(--fc-space-6) !important; }
    .ps-xxxl-6 { padding-left: var(--fc-space-6) !important; }
    .pe-xxxl-6 { padding-right: var(--fc-space-6) !important; }
    .pl-xxxl-6 { padding-left: var(--fc-space-6) !important; }
    .pr-xxxl-6 { padding-right: var(--fc-space-6) !important; }
    .px-xxxl-6 { padding-left: var(--fc-space-6) !important; padding-right: var(--fc-space-6) !important; }
    .py-xxxl-6 { padding-top: var(--fc-space-6) !important; padding-bottom: var(--fc-space-6) !important; }

    .m-xxxl-6 { margin: var(--fc-space-6) !important; }
    .mt-xxxl-6 { margin-top: var(--fc-space-6) !important; }
    .mb-xxxl-6 { margin-bottom: var(--fc-space-6) !important; }
    .ms-xxxl-6 { margin-left: var(--fc-space-6) !important; }
    .me-xxxl-6 { margin-right: var(--fc-space-6) !important; }
    .ml-xxxl-6 { margin-left: var(--fc-space-6) !important; }
    .mr-xxxl-6 { margin-right: var(--fc-space-6) !important; }
    .mx-xxxl-6 { margin-left: var(--fc-space-6) !important; margin-right: var(--fc-space-6) !important; }
    .my-xxxl-6 { margin-top: var(--fc-space-6) !important; margin-bottom: var(--fc-space-6) !important; }

    .p-xxxl-7 { padding: var(--fc-space-7) !important; }
    .pt-xxxl-7 { padding-top: var(--fc-space-7) !important; }
    .pb-xxxl-7 { padding-bottom: var(--fc-space-7) !important; }
    .ps-xxxl-7 { padding-left: var(--fc-space-7) !important; }
    .pe-xxxl-7 { padding-right: var(--fc-space-7) !important; }
    .pl-xxxl-7 { padding-left: var(--fc-space-7) !important; }
    .pr-xxxl-7 { padding-right: var(--fc-space-7) !important; }
    .px-xxxl-7 { padding-left: var(--fc-space-7) !important; padding-right: var(--fc-space-7) !important; }
    .py-xxxl-7 { padding-top: var(--fc-space-7) !important; padding-bottom: var(--fc-space-7) !important; }

    .m-xxxl-7 { margin: var(--fc-space-7) !important; }
    .mt-xxxl-7 { margin-top: var(--fc-space-7) !important; }
    .mb-xxxl-7 { margin-bottom: var(--fc-space-7) !important; }
    .ms-xxxl-7 { margin-left: var(--fc-space-7) !important; }
    .me-xxxl-7 { margin-right: var(--fc-space-7) !important; }
    .ml-xxxl-7 { margin-left: var(--fc-space-7) !important; }
    .mr-xxxl-7 { margin-right: var(--fc-space-7) !important; }
    .mx-xxxl-7 { margin-left: var(--fc-space-7) !important; margin-right: var(--fc-space-7) !important; }
    .my-xxxl-7 { margin-top: var(--fc-space-7) !important; margin-bottom: var(--fc-space-7) !important; }

    .p-xxxl-8 { padding: var(--fc-space-8) !important; }
    .pt-xxxl-8 { padding-top: var(--fc-space-8) !important; }
    .pb-xxxl-8 { padding-bottom: var(--fc-space-8) !important; }
    .ps-xxxl-8 { padding-left: var(--fc-space-8) !important; }
    .pe-xxxl-8 { padding-right: var(--fc-space-8) !important; }
    .pl-xxxl-8 { padding-left: var(--fc-space-8) !important; }
    .pr-xxxl-8 { padding-right: var(--fc-space-8) !important; }
    .px-xxxl-8 { padding-left: var(--fc-space-8) !important; padding-right: var(--fc-space-8) !important; }
    .py-xxxl-8 { padding-top: var(--fc-space-8) !important; padding-bottom: var(--fc-space-8) !important; }

    .m-xxxl-8 { margin: var(--fc-space-8) !important; }
    .mt-xxxl-8 { margin-top: var(--fc-space-8) !important; }
    .mb-xxxl-8 { margin-bottom: var(--fc-space-8) !important; }
    .ms-xxxl-8 { margin-left: var(--fc-space-8) !important; }
    .me-xxxl-8 { margin-right: var(--fc-space-8) !important; }
    .ml-xxxl-8 { margin-left: var(--fc-space-8) !important; }
    .mr-xxxl-8 { margin-right: var(--fc-space-8) !important; }
    .mx-xxxl-8 { margin-left: var(--fc-space-8) !important; margin-right: var(--fc-space-8) !important; }
    .my-xxxl-8 { margin-top: var(--fc-space-8) !important; margin-bottom: var(--fc-space-8) !important; }

    .col-xxxl { flex: 1 0 0%; }
    .col-xxxl-auto { flex: 0 0 auto; width: auto; }
    .col-xxxl-1 { flex: 0 0 auto; width: 8.33333333%; }
    .col-xxxl-2 { flex: 0 0 auto; width: 16.66666667%; }
    .col-xxxl-3 { flex: 0 0 auto; width: 25%; }
    .col-xxxl-4 { flex: 0 0 auto; width: 33.33333333%; }
    .col-xxxl-5 { flex: 0 0 auto; width: 41.66666667%; }
    .col-xxxl-6 { flex: 0 0 auto; width: 50%; }
    .col-xxxl-7 { flex: 0 0 auto; width: 58.33333333%; }
    .col-xxxl-8 { flex: 0 0 auto; width: 66.66666667%; }
    .col-xxxl-9 { flex: 0 0 auto; width: 75%; }
    .col-xxxl-10 { flex: 0 0 auto; width: 83.33333333%; }
    .col-xxxl-11 { flex: 0 0 auto; width: 91.66666667%; }
    .col-xxxl-12 { flex: 0 0 auto; width: 100%; }

    .row-cols-xxxl-auto > * { flex: 0 0 auto; width: auto; }
    .row-cols-xxxl-1 > * { flex: 0 0 auto; width: 100%; }
    .row-cols-xxxl-2 > * { flex: 0 0 auto; width: 50%; }
    .row-cols-xxxl-3 > * { flex: 0 0 auto; width: 33.33333333%; }
    .row-cols-xxxl-4 > * { flex: 0 0 auto; width: 25%; }
    .row-cols-xxxl-5 > * { flex: 0 0 auto; width: 20%; }
    .row-cols-xxxl-6 > * { flex: 0 0 auto; width: 16.66666667%; }

    .offset-xxxl-0 { margin-left: 0; }
    .offset-xxxl-1 { margin-left: 8.33333333%; }
    .offset-xxxl-2 { margin-left: 16.66666667%; }
    .offset-xxxl-3 { margin-left: 25%; }
    .offset-xxxl-4 { margin-left: 33.33333333%; }
    .offset-xxxl-5 { margin-left: 41.66666667%; }
    .offset-xxxl-6 { margin-left: 50%; }
    .offset-xxxl-7 { margin-left: 58.33333333%; }
    .offset-xxxl-8 { margin-left: 66.66666667%; }
    .offset-xxxl-9 { margin-left: 75%; }
    .offset-xxxl-10 { margin-left: 83.33333333%; }
    .offset-xxxl-11 { margin-left: 91.66666667%; }
}
