/*
Theme Name: Kameleon Child Theme Master
Theme URI: https://www.kameleonagency.com/
Description: Kameleon Child Theme Master is a child theme of Kameleon Parent Theme
Author: Kameleon Group Ltd
Author URI: https://kameleonagency.com
Template: kameleon-parent-theme
Version: 1.0.1
Text Domain: kameleon-child-theme-master
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: Bare Bones, Boilerplate, Empty Theme
*/

@import "./assets/css/kcss-utils.css";
/*
    Add your custom styles here
*/

:root {
    color-scheme: light dark;
}


.kcss_hidden-ally {
    clip: rect(0 0 0 0);
    clip-path: inset(100%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.kcms7--frame--spinner {
    position: fixed;
    width: 100%;
    height: 100%;
    display: none;
    top: 0;
    z-index: 9999999;
}

.kcms7--loading {
    overflow: hidden;
    margin-right: 15px;
}

/*
************************************************************************************
************************************************************************************
    Site Header
************************************************************************************
************************************************************************************
 */

.kcss_site-header[navigation-state=open] {
    box-shadow: inset 0.1em 0.1em 0.75em -0.5em var( --e-global-color-7a97139 ),
    inset 0.1em 0.1em 0.75em -0.5em var( --e-global-color-7a97139 ),
    0 0 0.75em -0.25em rgba(0,0,0,0.1);
}


@media only screen and (max-width: 1024px) {
    .kcss_site-header {
        left: 1em!important;
        right: 1em!important;
        margin: auto;
        width: calc(100% - 2em);
        max-width: 100%;
    }
}

.kcss_site-header a {
    text-decoration: underline;
}

.kcss_site-header :not(*:hover) {
    text-decoration-color: transparent!important;
}

@media only screen and (max-width: 1024px) {
    .kcss_site-header .kcss_primary-navigation ul {
        padding: 1em;
        flex-direction: column;
    }

    .kcss_site-header .kcss_primary-navigation ul li {
        padding: 1em;
    }

    .kcss_site-header #primaryNavWrapper {
        grid-template-rows: 1fr;
    }

    .kcss_site-header[navigation-state=closed] #primaryNavWrapper {
        grid-template-rows: 0fr;
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-content {
        position: relative;
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] {
        gap: 0;
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-wrapper {

        animation: hide-scroll .3s backwards;
        background-color: transparent;
        border-block-end:var(--n-menu-dropdown-content-box-border-width-block-end);border-block-start: var(--n-menu-dropdown-content-box-border-width-block-start);
        border-inline-end:var(--n-menu-dropdown-content-box-border-width-inline-end);border-inline-start: var(--n-menu-dropdown-content-box-border-width-inline-start);
        border-color: var(--n-menu-dropdown-content-box-border-color);
        border-radius: var(--n-menu-dropdown-content-box-border-radius);
        border-style: var(--n-menu-dropdown-content-box-border-style);
        box-shadow: var(--n-menu-dropdown-content-box-shadow-horizontal) var(--n-menu-dropdown-content-box-shadow-vertical) var(--n-menu-dropdown-content-box-shadow-blur) var(--n-menu-dropdown-content-box-shadow-spread) var(--n-menu-dropdown-content-box-shadow-color) var(--n-menu-dropdown-content-box-shadow-position, );
        flex-direction: column;
        left: var(--stretch-left);
        margin-block-start:var(--n-menu-toggle-icon-distance-from-dropdown);
        max-height: auto;
        min-width: 0;
        overflow-x: hidden;
        overflow-y: auto;
        position: initial;
        right: var(--stretch-right);
        top: 100%;
        transition: max-height .3s;
        width: auto;
        z-index: 2147483640;
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-item {
        display: flex;
        flex-direction: column;
        width: auto;
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-title {
        /*background-color: #fff;*/
        flex-wrap: wrap;
        justify-content: var(--n-menu-title-justify-content-mobile);
        white-space: normal;
        width: auto;
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-title:not(.e-current) .e-n-menu-title-container .e-n-menu-title-text {
        color: var(--n-menu-title-normal-color-dropdown);
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-title:not(.e-current) .e-n-menu-dropdown-icon i {
        color: var(--n-menu-dropdown-indicator-color-normal,var(--n-menu-title-normal-color-dropdown));
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-title:not(.e-current) .e-n-menu-dropdown-icon svg {
        fill: var(--n-menu-dropdown-indicator-color-normal,var(--n-menu-title-normal-color-dropdown));
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-title.e-current,.elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-title.e-current a {
        color: var(--n-menu-title-active-color-dropdown);
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-title.e-current .e-n-menu-dropdown-icon i {
        color: var(--n-menu-dropdown-indicator-color-active,var(--n-menu-title-active-color-dropdown));
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-title.e-current .e-n-menu-dropdown-icon svg {
        fill: var(--n-menu-dropdown-indicator-color-active,var(--n-menu-title-active-color-dropdown));
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-content {
        overflow: hidden;
        width: auto;
        --n-menu-dropdown-content-max-width: initial;
        left: initial;
        right: initial;
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-content>.e-con {
        margin-block-start:var(--n-menu-title-distance-from-content);width: var(--width)
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-content>.e-con .elementor-empty-view {
        min-width: auto;
        width: 100%;
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-content>.e-con-inner {
        max-width: var(--content-width);
    }

    .elementor-widget-n-menu .e-n-menu[data-layout=horizontal] .e-n-menu-toggle[aria-expanded=true]+.e-n-menu-wrapper {
        --n-menu-wrapper-display: flex;
    }

}


@media only screen and (min-width: 1201px) {
    .kcss_site-header {
        max-width: 90vw;
    }
}

.kcss_site-header {
    --_nav-icon-rotate-deg: 225;
    z-index: calc(var(--_nav-zx, 9999) - 1);

    border-radius: 0.5em;
    margin: auto;
    /*backdrop-filter: var(--kcss-glass01-backdrop-filter);*/
    /*-webkit-backdrop-filter: var(--kcss-glass01-backdrop-filter);*/
    background: inherit;
    /*box-shadow: inset 1px 1px 2px -1px #ffffff75, 0px 5rem 2.5rem -5rem #0000005c;*/
}

.kcss .kcss_site-header:has(:hover,:focus-visible:focus-within) {
    --e-global-color-49ad183: var(--e-global-color-e1cda21);
}


.kcss[data-elementor-device-mode="mobile"] .kcss_site-header {
    --e-global-color-49ad183: var(--e-global-color-e1cda21);
}

.kcss_site-header .kcss_primary-nav-toggle {
    --_nav-icon-size: 24;
    --_multiplier: 0.1rem;
    --_nav-icon-color: var(--e-global-color-318f94e);
    width: calc(var(--_nav-icon-size) * var(--_multiplier));
    height: calc((var(--_nav-icon-size) * var(--_multiplier)) - (var(--_multiplier) * 6));
    cursor: pointer;
}

.kcss_site-header .kcss_primary-nav-toggle:before, .kcss_site-header .kcss_primary-nav-toggle:after {
    content: '';
    position: absolute;
    width: inherit;
    height: calc(var(--_nav-icon-size) / var(--_nav-icon-size) * var(--_multiplier));
    background-color: var(--_nav-icon-color);
    top: calc(50% - ((var(--_nav-icon-size) / var(--_nav-icon-size) * var(--_multiplier)) / 2));
    transition: transform 0.25s ease-in-out;
}

.kcss_site-header  .kcss_primary-nav-toggle {
    border: solid var(--_nav-icon-color) calc(var(--_nav-icon-size) / var(--_nav-icon-size) * var(--_multiplier));
    border-inline: none;
}

.kcss_site-header[navigation-state=open]  .kcss_primary-nav-toggle {
    border-color: transparent;
}

.kcss_site-header[navigation-state=open] .kcss_primary-nav-toggle:before {
    transform: rotate(calc(var(--_nav-icon-rotate-deg) * 1deg));
}

.kcss_site-header[navigation-state=open] .kcss_primary-nav-toggle:after {
    transform: rotate(calc(var(--_nav-icon-rotate-deg) * -1deg));
}

.kcss_site-header .elementor-widget-icon-list {
    transition: all 0.25s ease-in-out;
    transform-origin: left;
}

.kcss_site-header #primaryNavWrapper {
    transition: all 0.25s ease-in-out;
    grid-template-columns: 1fr;
}

.kcss_site-header  .kcss_primary-navigation {
    overflow: hidden;
    transition: all 0.5s ease-in-out;
    opacity: 1;
}


@media only screen and (min-width: 1025px) {
    .kcss_site-header[navigation-state=closed] #primaryNavWrapper {
        grid-template-columns: 0fr;
    }

    .kcss_site-header[navigation-state=closed] .kcss_primary-navigation {
        transform: translateX(-100%);
    }

    .kcss_site-header[navigation-state=closed] .kcss_primary-navigation li {
        transform: translateX(-200%);
    }


    /* Height fix for smooth transition */
    .kcss_site-header[navigation-state=closed] .kcss_primary-navigation {
        padding: 0em;
    }
}

.kcss_site-header .kcss_primary-navigation :is(ul, li) {
    flex-wrap: nowrap!important;
    white-space: nowrap!important;
}



/*
************************************************************************************
************************************************************************************
    Accordion
************************************************************************************
************************************************************************************
 */


.kcss_accordion-wrapper {
    --kcss-accordion-border-radius: var(--kcss-global-border-radius, 0.2rem);
    --kcss-accordion-items-gap: calc(var(--kcss-smd-max) * 1rem);

    --kcss-accordion-item-border-width: calc(var(--kcss-root-size, 1)* .1rem);
    --kcss-accordion-item-border-style: solid;
    --kcss-accordion-item-border-color: rgba(0,0,0,0.3);
    --kcss-accordion-item-hover-border-color: rgba(0,0,0,0.3);
    --kcss-accordion-item-active-border-color: rgba(0,0,0,0.2);
    --kcss-accordion-item-active-hover-border-color: rgba(0,0,0,0.2);

    --kcss-accordion-expand-icon-border-width: calc(var(--kcss-root-size, 1)* .1rem);
    --kcss-accordion-expand-icon-border-style: solid;
    --kcss-accordion-expand-icon-border-color: rgba(0,0,0,0.4);
    --kcss-accordion-expand-icon-border-color: currentColor;
    --kcss-accordion-expand-icon-border:
            var(--kcss-accordion-expand-icon-border-width)
            var(--kcss-accordion-expand-icon-border-style)
            var(--kcss-accordion-expand-icon-border-color);
    --kcss-accordion-expand-icon-size: calc(var(--kcss-xs-min, 0.8) * 1rem);
    --kcss-accordion-expand-icon-rotate: rotate(135deg);

    --kcss-accordion-item-pad-bs: 0rem;
    --kcss-accordion-item-pad-be: 0rem;
    --kcss-accordion-item-pad-is: 0rem;
    --kcss-accordion-item-pad-ie: 0rem;
    --kcss-accordion-item-bg-color: light-dark(var(--kcss-dark-trans), var(--kcss-light-trans));
    --kcss-accordion-item-active-bg-color: light-dark(var(--kcss-dark-trans), var(--kcss-light-trans));
    --kcss-accordion-item-border-radius-tl: var(--kcss-accordion-border-radius);
    --kcss-accordion-item-border-radius-tr: var(--kcss-accordion-border-radius);
    --kcss-accordion-item-border-radius-br: var(--kcss-accordion-border-radius);
    --kcss-accordion-item-border-radius-bl: var(--kcss-accordion-border-radius);

    /* if padding on the accordion item content is needed, don’t add it to the content-wrapper
    This is a requirement for smooth open and close animations
     Instead add padding to the content-inner below */
    --kcss-accordion-item-content-wrapper-pad-bs: 0rem;
    --kcss-accordion-item-content-wrapper-pad-be: 0rem;
    --kcss-accordion-item-content-wrapper-pad-is: 0rem;
    --kcss-accordion-item-content-wrapper-pad-ie: 0rem;
    --kcss-accordion-item-content-wrapper-bg-color: light-dark(var(--kcss-dark-trans), var(--kcss-light-trans));
    --kcss-accordion-item-active-content-wrapper-bg-color: light-dark(var(--kcss-dark-trans), var(--kcss-light-trans));
    --kcss-accordion-item-content-wrapper-border-radius-tl: var(--kcss-accordion-border-radius);
    --kcss-accordion-item-content-wrapper-border-radius-tr: var(--kcss-accordion-border-radius);
    --kcss-accordion-item-content-wrapper-border-radius-br: var(--kcss-accordion-border-radius);
    --kcss-accordion-item-content-wrapper-border-radius-bl: var(--kcss-accordion-border-radius);

    /* If padding on the accordion item content is needed, add it to content-inner below */
    --kcss-accordion-item-content-inner-pad-bs: calc(var(--kcss-smd-max) * 1rem);
    --kcss-accordion-item-content-inner-pad-be: calc(var(--kcss-smd-max) * 1rem);
    --kcss-accordion-item-content-inner-pad-is: calc(var(--kcss-smd-max) * 1rem);
    --kcss-accordion-item-content-inner-pad-ie: calc(var(--kcss-smd-max) * 1rem);
    --kcss-accordion-item-content-inner-border-radius-tl: 0;
    --kcss-accordion-item-content-inner-border-radius-tr: 0;
    --kcss-accordion-item-content-inner-border-radius-br: var(--kcss-accordion-border-radius);
    --kcss-accordion-item-content-inner-border-radius-bl: var(--kcss-accordion-border-radius);

    /* The heading acts as the button for the item, it should have interactive states */
    --kcss-accordion-item-heading-pad-bs: calc(var(--kcss-smd-max) * 1rem);
    --kcss-accordion-item-heading-pad-be: calc(var(--kcss-smd-max) * 1rem);
    --kcss-accordion-item-heading-pad-is: calc(var(--kcss-smd-max) * 1rem);
    --kcss-accordion-item-heading-pad-ie: calc(var(--kcss-smd-max) * 1rem);
    --kcss-accordion-item-heading-mar-bs: 0;
    --kcss-accordion-item-heading-mar-be: 0;
    --kcss-accordion-item-heading-mar-is: 0;
    --kcss-accordion-item-heading-mar-ie: 0;
    --kcss-accordion-item-heading-bg-color: light-dark(var(--kcss-dark-trans), var(--kcss-light-trans));
    --kcss-accordion-item-heading-text-color: var(--e-global-color-81cebea, inherit);
    --kcss-accordion-item-heading-hover-bg-color: light-dark(var(--kcss-dark-trans), var(--kcss-light-trans));
    --kcss-accordion-item-heading-hover-text-color: var(--e-global-color-0b8bee4, inherit);
    --kcss-accordion-item-active-heading-bg-color: light-dark(var(--kcss-dark-trans), var(--kcss-light-trans));
    --kcss-accordion-item-active-heading-text-color: var(--e-global-color-0b8bee4, inherit);
    --kcss-accordion-item-active-heading-hover-bg-color: light-dark(var(--kcss-dark-trans), var(--kcss-light-trans));
    --kcss-accordion-item-active-heading-hover-text-color: light-dark(var(--kcss-dark-trans), var(--kcss-light-trans));
    --kcss-accordion-item-heading-border-radius-tl: calc(var(--kcss-accordion-border-radius) - var(--kcss-accordion-item-border-width));
    --kcss-accordion-item-heading-border-radius-tr: calc(var(--kcss-accordion-border-radius) - var(--kcss-accordion-item-border-width));
    --kcss-accordion-item-heading-border-radius-br: calc(var(--kcss-accordion-border-radius) - var(--kcss-accordion-item-border-width));
    --kcss-accordion-item-heading-border-radius-bl: calc(var(--kcss-accordion-border-radius) - var(--kcss-accordion-item-border-width));
}

.kcss .kcss_accordion-wrapper .kcss_accordion-item-heading-text .elementor-heading-title  {
    line-height: 1;
    margin-block-end: calc(var(--kcss-global-line-height) * -0.2);
    /*color: var(--kcss-accordion-item-heading-text-color);*/
}

.kcss_accordion-wrapper .kcss_accordion-item-heading:after {
    content: '';
    position: initial;
    right: initial;
    top: initial;
    display: inline-block;
    aspect-ratio: 1;
    width: var(--kcss-accordion-expand-icon-size);
    height: var(--kcss-accordion-expand-icon-size);
    border-top: var(--kcss-accordion-expand-icon-border);
    border-right: var(--kcss-accordion-expand-icon-border);
    transform: var(--kcss-accordion-expand-icon-rotate);
    transition: all 0.25s ease-in-out;
    /*mix-blend-mode: difference;*/
    /*filter: invert(1) hue-rotate(45deg);*/
}

.kcss_accordion-wrapper .kcss_accordion-item {
    background-color: var(--kcss-accordion-item-bg-color);
    border-radius:  var(--kcss-accordion-item-border-radius-tl)
    var(--kcss-accordion-item-border-radius-tr)
    var(--kcss-accordion-item-border-radius-br)
    var(--kcss-accordion-item-border-radius-bl);
    border: var(--kcss-accordion-item-border-width)
    var(--kcss-accordion-item-border-style)
    var(--kcss-accordion-item-border-color, rgba(0,0,0,0));
}

.kcss_accordion-wrapper .kcss_accordion-item-content-wrapper {
    border-radius:
            var(--kcss-accordion-item-content-border-radius-tl)
            var(--kcss-accordion-item-content-border-radius-tr)
            var(--kcss-accordion-item-content-border-radius-br)
            var(--kcss-accordion-item-content-border-radius-bl);
}

.kcss_accordion-wrapper .kcss_accordion-item-content-inner {
    background-color: var(--kcss-accordion-item-content-wrapper-bg-color);
    will-change: height;
    border-radius:
            var(--kcss-accordion-item-content-inner-border-radius-tl)
            var(--kcss-accordion-item-content-inner-border-radius-tr)
            var(--kcss-accordion-item-content-inner-border-radius-br)
            var(--kcss-accordion-item-content-inner-border-radius-bl);
}

.kcss_accordion-wrapper .kcss_accordion-item-heading {
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    background-color: var(--kcss-accordion-item-heading-bg-color);
    transition: all 0.25s ease-in-out;
    cursor: pointer;
    border-radius:  var(--kcss-accordion-item-heading-border-radius-tl)
    var(--kcss-accordion-item-heading-border-radius-tr)
    var(--kcss-accordion-item-heading-border-radius-br)
    var(--kcss-accordion-item-heading-border-radius-bl);
}

.kcss_accordion-wrapper .kcss_accordion-item-heading:not(.is--active):is(:hover) {
    --kcss-accordion-item-heading-bg-color: var(--kcss-accordion-item-heading-hover-bg-color);
    --kcss-accordion-item-heading-text-color: var(--kcss-accordion-item-heading-hover-text-color);
}

.kcss_accordion-wrapper :where(.kcss_accordion-item-heading.is--active) {
    --kcss-accordion-expand-icon-rotate: rotate(-45deg);
    --kcss-accordion-item-pad-be: calc(var(--kcss-lg-max) * 1rem);
    --kcss-accordion-item-heading-pad-be: calc(var(--kcss-smd-max) * 1rem);
    --kcss-accordion-item-heading-text-color: var(--kcss-accordion-item-active-heading-text-color);
}

.kcss_accordion-wrapper .kcss_accordion-item:has(.is--active) {
    --kcss-accordion-item-border-color: var(--kcss-accordion-item-active-border-color);
}

.kcss_accordion-wrapper .kcss_accordion-item:has(.is--active):is(:hover,:focus-within) {
    --kcss-accordion-item-border-color: var(--kcss-accordion-item-active-hover-border-color);
}

.kcss_accordion-wrapper .kcss_accordion-item:not(:has(.is--active)):is(:hover,:focus-within) {
    --kcss-accordion-item-border-color: var(--kcss-accordion-item-hover-border-color);
}

.kcss_accordion-item:has(.is--active) .kcss_accordion-item-content-wrapper {
    background-color: var(--kcss-accordion-item-bg-color);
}

.kcss_toggle-all-accordion-panes {
    cursor: pointer;
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
}

.kcss_toggle-all-accordion-panes:hover {
    opacity: 0.5;
}



/*
************************************************************************************
************************************************************************************
    Cards
************************************************************************************
************************************************************************************
 */

.kcss_card-clickable {
    cursor: pointer;
}




/*
************************************************************************************
************************************************************************************
    Responsive "table"
    A simple 2 or 3 column table template is set up in the Website
    These rules position the cell psuedo titles for each cell
    The text that appear will be set in the custom CSS field for the
    cell following the classes as defined below.
************************************************************************************
************************************************************************************
 */
.kcss .kcss_info-table-row[row_highlight="1"]  {
    --e-global-color-secondary: var( --e-global-color-primary );
}

.kcss .kcss_info-table--cell:before {
    display: none;
}

.kcss .kcss_info-table--cell p {
    margin-bottom: 0;
}

/*@media only screen and (max-width: 767px) {*/
/*    .kcss .kcss_info-table--cell {*/
/*        position: relative;*/
/*    }*/

/*    .kcss .kcss_info-table--cell:before {*/
/*        !*content: '';*!*/
/*        position: relative;*/
/*        font-size: 90%;*/
/*        display: inline-flex;*/
/*        width: max-content;*/
/*        !*margin: auto;*!*/
/*        !*text-transform: uppercase;*!*/
/*        font-weight: bold;*/
/*        color: inherit;*/
/*        padding: 0.25em 0.5em 0 0;*/
/*    }*/
/*}*/

@media only screen and (max-width: 767px) {
    .kcss .kcss_info-table--cell {
        position: relative;
    }

    .kcss .kcss_info-table--cell:before {
        content: attr(data-col-title);
        position: relative;
        font-size: 70%;
        display: block;
        width: 100%;
        /*margin: auto;*/
        /*text-transform: uppercase;*/
        font-weight: bold;
        color: inherit;
        padding: 0.25em 0.5em 0 0;
    }

    .kcss .kcss_simple-responsive-table-head {
        display: none;
        visibility: hidden;
    }
}