/*
 * Software by John Liddiard (aka JohntheFish)
 * www.c5magic.co.uk
 *
 * This package contains software copyright and proprietary to John Liddiard
 *
 */


/* =========================================================
   Container-query column overrides for Bootstrap grid

   Add .ccm-page .gum-css-container-columns to any parent of a .row
   to make Bootstrap col- breakpoints respond to the
   container width instead of the viewport width.

   Falls back silently to Bootstrap's normal viewport-based
   behaviour on browsers that don't support @container.

   Load this stylesheet after Bootstrap.
   ========================================================= */

@supports (container-type: inline-size) {
    .ccm-page .gum-css-container-columns.container,
    .ccm-page .gum-css-container-columns.container-fluid,
    .ccm-page .gum-css-container-columns.container-sm,
    .ccm-page .gum-css-container-columns.container-md,
    .ccm-page .gum-css-container-columns.container-lg,
    .ccm-page .gum-css-container-columns.container-xl,
    .ccm-page .gum-css-container-columns.container-xxl,
    .ccm-page .gum-css-container-columns .container,
    .ccm-page .gum-css-container-columns .container-fluid,
    .ccm-page .gum-css-container-columns .container-sm,
    .ccm-page .gum-css-container-columns .container-md,
    .ccm-page .gum-css-container-columns .container-lg,
    .ccm-page .gum-css-container-columns .container-xl,
    .ccm-page .gum-css-container-columns .container-xxl{
        container-type: inline-size;
    }

    .ccm-page .gum-css-container-columns .col-1 {
        flex: 0 0 auto;
        width: calc(1 / 12 * 100%);
    }

    .ccm-page .gum-css-container-columns .col-2 {
        flex: 0 0 auto;
        width: calc(2 / 12 * 100%);
    }

    .ccm-page .gum-css-container-columns .col-3 {
        flex: 0 0 auto;
        width: calc(3 / 12 * 100%);
    }

    .ccm-page .gum-css-container-columns .col-4 {
        flex: 0 0 auto;
        width: calc(4 / 12 * 100%);
    }

    .ccm-page .gum-css-container-columns .col-5 {
        flex: 0 0 auto;
        width: calc(5 / 12 * 100%);
    }

    .ccm-page .gum-css-container-columns .col-6 {
        flex: 0 0 auto;
        width: calc(6 / 12 * 100%);
    }

    .ccm-page .gum-css-container-columns .col-7 {
        flex: 0 0 auto;
        width: calc(7 / 12 * 100%);
    }

    .ccm-page .gum-css-container-columns .col-8 {
        flex: 0 0 auto;
        width: calc(8 / 12 * 100%);
    }

    .ccm-page .gum-css-container-columns .col-9 {
        flex: 0 0 auto;
        width: calc(9 / 12 * 100%);
    }

    .ccm-page .gum-css-container-columns .col-10 {
        flex: 0 0 auto;
        width: calc(10 / 12 * 100%);
    }

    .ccm-page .gum-css-container-columns .col-11 {
        flex: 0 0 auto;
        width: calc(11 / 12 * 100%);
    }

    .ccm-page .gum-css-container-columns .col-12 {
        flex: 0 0 auto;
        width: calc(12 / 12 * 100%);
    }


    /* --- sm: 576px+ --- */
    @container (min-width: 576px) {
        .ccm-page .gum-css-container-columns .col-sm-1 {
            flex: 0 0 auto;
            width: calc(1 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-sm-2 {
            flex: 0 0 auto;
            width: calc(2 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-sm-3 {
            flex: 0 0 auto;
            width: calc(3 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-sm-4 {
            flex: 0 0 auto;
            width: calc(4 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-sm-5 {
            flex: 0 0 auto;
            width: calc(5 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-sm-6 {
            flex: 0 0 auto;
            width: calc(6 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-sm-7 {
            flex: 0 0 auto;
            width: calc(7 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-sm-8 {
            flex: 0 0 auto;
            width: calc(8 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-sm-9 {
            flex: 0 0 auto;
            width: calc(9 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-sm-10 {
            flex: 0 0 auto;
            width: calc(10 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-sm-11 {
            flex: 0 0 auto;
            width: calc(11 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-sm-12 {
            flex: 0 0 auto;
            width: calc(12 / 12 * 100%);
        }
    }

    /* --- md: 768px+ --- */
    @container (min-width: 768px) {
        .ccm-page .gum-css-container-columns .col-md-1 {
            flex: 0 0 auto;
            width: calc(1 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-md-2 {
            flex: 0 0 auto;
            width: calc(2 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-md-3 {
            flex: 0 0 auto;
            width: calc(3 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-md-4 {
            flex: 0 0 auto;
            width: calc(4 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-md-5 {
            flex: 0 0 auto;
            width: calc(5 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-md-6 {
            flex: 0 0 auto;
            width: calc(6 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-md-7 {
            flex: 0 0 auto;
            width: calc(7 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-md-8 {
            flex: 0 0 auto;
            width: calc(8 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-md-9 {
            flex: 0 0 auto;
            width: calc(9 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-md-10 {
            flex: 0 0 auto;
            width: calc(10 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-md-11 {
            flex: 0 0 auto;
            width: calc(11 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-md-12 {
            flex: 0 0 auto;
            width: calc(12 / 12 * 100%);
        }
    }

    /* --- lg: 992px+ --- */
    @container (min-width: 992px) {
        .ccm-page .gum-css-container-columns .col-lg-1 {
            flex: 0 0 auto;
            width: calc(1 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-lg-2 {
            flex: 0 0 auto;
            width: calc(2 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-lg-3 {
            flex: 0 0 auto;
            width: calc(3 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-lg-4 {
            flex: 0 0 auto;
            width: calc(4 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-lg-5 {
            flex: 0 0 auto;
            width: calc(5 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-lg-6 {
            flex: 0 0 auto;
            width: calc(6 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-lg-7 {
            flex: 0 0 auto;
            width: calc(7 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-lg-8 {
            flex: 0 0 auto;
            width: calc(8 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-lg-9 {
            flex: 0 0 auto;
            width: calc(9 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-lg-10 {
            flex: 0 0 auto;
            width: calc(10 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-lg-11 {
            flex: 0 0 auto;
            width: calc(11 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-lg-12 {
            flex: 0 0 auto;
            width: calc(12 / 12 * 100%);
        }
    }

    /* --- xl: 1200px+ --- */
    @container (min-width: 1200px) {
        .ccm-page .gum-css-container-columns .col-xl-1 {
            flex: 0 0 auto;
            width: calc(1 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xl-2 {
            flex: 0 0 auto;
            width: calc(2 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xl-3 {
            flex: 0 0 auto;
            width: calc(3 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xl-4 {
            flex: 0 0 auto;
            width: calc(4 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xl-5 {
            flex: 0 0 auto;
            width: calc(5 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xl-6 {
            flex: 0 0 auto;
            width: calc(6 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xl-7 {
            flex: 0 0 auto;
            width: calc(7 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xl-8 {
            flex: 0 0 auto;
            width: calc(8 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xl-9 {
            flex: 0 0 auto;
            width: calc(9 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xl-10 {
            flex: 0 0 auto;
            width: calc(10 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xl-11 {
            flex: 0 0 auto;
            width: calc(11 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xl-12 {
            flex: 0 0 auto;
            width: calc(12 / 12 * 100%);
        }
    }

    /* --- xxl: 1400px+ --- */
    @container (min-width: 1400px) {
        .ccm-page .gum-css-container-columns .col-xxl-1 {
            flex: 0 0 auto;
            width: calc(1 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xxl-2 {
            flex: 0 0 auto;
            width: calc(2 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xxl-3 {
            flex: 0 0 auto;
            width: calc(3 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xxl-4 {
            flex: 0 0 auto;
            width: calc(4 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xxl-5 {
            flex: 0 0 auto;
            width: calc(5 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xxl-6 {
            flex: 0 0 auto;
            width: calc(6 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xxl-7 {
            flex: 0 0 auto;
            width: calc(7 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xxl-8 {
            flex: 0 0 auto;
            width: calc(8 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xxl-9 {
            flex: 0 0 auto;
            width: calc(9 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xxl-10 {
            flex: 0 0 auto;
            width: calc(10 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xxl-11 {
            flex: 0 0 auto;
            width: calc(11 / 12 * 100%);
        }

        .ccm-page .gum-css-container-columns .col-xxl-12 {
            flex: 0 0 auto;
            width: calc(12 / 12 * 100%);
        }
    }
}