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

/*
 * Defaults to the same as any menu background.
 */
.ccm-page .atomic-gum-navbar-transparency-enable .atomic-gum-mega-dropdown-container{
    --atomic-gum-navbar-bg-opacity: var(--atomic-gum-navbar-bg-opacity-max);
    --bs-bg-opacity:var(--atomic-gum-navbar-bg-opacity);
}

.ccm-page .atomic-gum-mega-dropdown-container{
    background-color: var(--bs-dropdown-bg);
    color: var(--bs-dropdown-color);
    border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
    background-clip: padding-box;
    font-size: var(--bs-dropdown-font-size);
    z-index: var(--bs-dropdown-zindex);
    border-radius: var(--bs-dropdown-border-radius);
}
@media (min-width: 992px) {
    .ccm-page .atomic-gum-mega-dropdown-container {
        box-shadow: var(--bs-dropdown-box-shadow);
    }
}
@media (max-width: 991.98px) {
    .ccm-page .atomic-gum-mega-dropdown-container {
        box-shadow: none;
    }
}

.ccm-page .atomic-gum-mega-dropdown{
    --atomic-gum-mega-list-item-width: 320px;
}

.ccm-page .atomic-gum-mega-list .atomic-gum-cards-list-item{
    height: 100%;
}


.ccm-page .atomic-gum-mega-list:not(.atomic-gum-mega-nested-lists),
.ccm-page .atomic-gum-mega-nested-lists ul.atomic-gum-mega-nested-lists-items{
    display: grid;
    gap: 10px;
    padding-left: 5px;
    padding-right: 5px;
    grid-auto-flow: row;
    grid-template-columns: repeat( auto-fill, minmax(min(var(--atomic-gum-mega-list-item-width), 90%), 1fr));
}

/* special cse for meg dropdown */
.ccm-page .atomic-gum-navbar-transparency-enable .atomic-gum-mega-dropdown-container [class*="bg-"]{
    --atomic-gum-navbar-bg-opacity:1.0;
    --bs-bg-opacity:var(--atomic-gum-navbar-bg-opacity);
}

.ccm-page .atomic-gum-mega-list-item,
.ccm-page .atomic-gum-mega-nested-lists .atomic-gum-mega-nested-lists-items>li
{
    position: relative;
    transition: all .1s ease-in-out;
    float: left;
    height: auto;
}
.ccm-page .atomic-gum-mega-nested-lists .atomic-gum-mega-nested-lists-items>li{
    margin-bottom:1.5em;
}
.ccm-page .atomic-gum-mega-nested-lists .atomic-gum-mega-nested-lists-items li{
    list-style-type: none;
}

/*
 * Mega dropdown
 */
.ccm-page .atomic-gum-navlist .atomic-gum-mega-dropdown {
    --bs-background-opacity: 0;
    border: none;
    box-shadow: none;
    border-radius: 0;
    background-color: transparent;
    transition: none; /* no animation when hiding mega */
}

.ccm-page .atomic-gum-navlist .atomic-gum-mega-dropdown.show {
    box-sizing: border-box;
    left: 0;
    padding-left: 0;
    padding-right: 0;
    overflow-x: clip;
}

.ccm-page .atomic-gum-mega-dropdown-container{
    padding:2em;
    /*max-height: 100vh;*/
}

.ccm-page .atomic-gum-mega-dropdown-container .atomic-gum-mega-list-vertical {
    column-width: var(--atomic-gum-mega-list-item-width);
    column-gap: 1.5rem;
}

.ccm-page .atomic-gum-mega-dropdown-container .atomic-gum-mega-list-vertical .atomic-gum-mega-list-item {
    display: block;
    width: 100%;
    break-inside: avoid;
    margin-bottom: 0.25rem;
}


@media (max-width: 991.98px) {

    .ccm-page .dropdown-menu.atomic-gum-mega-dropdown{
        width: 100%;
        box-shadow: none;
        border: none;
        z-index: 0;
        border-radius: 0;
    }

    .ccm-page .atomic-gum-navlist .atomic-gum-no-mega-on-mobile>.nav-toggle{
        display:none;
    }
    .ccm-page .atomic-gum-navlist .atomic-gum-mega-dropdown.atomic-gum-no-mega-on-mobile.show{
        display:none;
        visibility: hidden;
    }
}
@media (min-width: 992px) {
    .ccm-page .dropdown-menu.atomic-gum-mega-dropdown.show {
        position: fixed!important;
        z-index:1000;
    }
}




/*
 * 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%);
        }
    }
}

