:root {
    /* WIDTH AND SPACINGS */
    --sidebar-width: min(90vw, 400px);
    --pad-m: 1.25rem;
    --pad-s: 0.75rem;
    --pad-xs: 0.5rem;
    --dropdown-links-indent: 10px;

    /* vertical & horizontal header padding */
    --header-pad-y: clamp(1rem, 0.716rem + 1.211vw, 1.75rem);
    --header-pad-x: var(--pad-m);

    /* links vertical & horizontal padding */
    --link-pad-y: 0.7rem;
    --link-pad-x: 0.5rem;

    /* panel top & bottom padding */
    --panel-block-pad: clamp(0.5rem, -1.375rem + 5vh, 2rem);

    /* GAPS */
    --link-gap: 1.125rem;
    --list-gap: 0;

    /* BACKGROUND COLORS */
    --nav-bg: white;
    --cta-bg: dimgray;
    --link-bg: transparent;
    --header-bg: gray;
    --dropdown-content-bg: rgb(0 0 0 / 5%);
    --dropdown-links-bg: transparent;
    --skip-link-background: black;
  	--hamburger-bg: transparent;
    --collapse-icon-bg:#3b3b3b;

    /* HOVER BACKGROUND */
    --cta-hover-bg: black;
    --link-hover-bg: rgb(0 0 0 / 5%);
    --dropdown-links-hover-bg: rgb(0 0 0 / 8%);

    /* TEXT COLORS */
    --panel-title-color: black;
    --panel-link-color: dimgray;
    --cta-color: white;
    --dropdown-links-color: dimgray;
    --label-color: orangered;
    --skip-link-color: white;
    --social-color: dimgray;

    /* HOVER TEXT COLORS */
    --cta-hover-color: white;
    --link-hover-color: black;
    --dropdown-links-hover-color: black;
    --social-hover-color: black;

    /* ICON COLORS */
    --panel-icon-color: dimgray;
    --social-icon-color: var(--social-color);
    --chevron-icon-color: var(--panel-icon-color);
    --mobile-menu-trigger-color: white;

    /* HOVER ICON COLORS */
    --social-icon-hover-color: var(--social-hover-color);
    --link-icon-hover-color: black;

    /* FONT SIZES */
    --panel-title-size: 1.125rem;
    --panel-back-size: 0.6rem;
    --link-txt-size: 0.875rem;
    --nav-icon-size: 1.2rem;
    --social-icon-size: var(--nav-icon-size);
    --chevron-size: 1rem;
    --collapse-icon-size: 30px;

    /* CSS TRANSITIONS */
    --sidebar-transition: 500ms;
    --sidebar-ttf: cubic-bezier(1, 0, 0.25, 1);
  	--collapse-ttf: cubic-bezier(0.1, 0.55, 0.35, 1);
    --opacity-transition: 500ms 200ms;
    --sidebar-link-transition: 500ms;

    /* BORDER */
    --link-border-radius: 0;
    --horizontal-line: 1px solid rgb(0 0 0 / 10%);
    --link-underline: var(--horizontal-line);
    --dropdown-links-underline: none;
    --sidebar-shadow: 0px 0px 3px rgba(0, 0, 0, 0.75), 0px 5px 15px rgba(0, 0, 0, 0.3);

    /* OVERLAY */
    --overlay-bg: black;
    --overlay-opacity: 0.5;

    /* FOCUS STYLES */
    --focus-outline-color: black;
    --focus-outline-offset: 4px;
    --focus-outline-width: 2px;

    /* EXTRAS */
    --current-link-bg: none;
    --current-link-underline: solid 3px #9f6aff;

    /* DROPDOWN LEVELS */

    /* Indents */
    --lvl-2-indent: var(--dropdown-links-indent);
    --lvl-3-indent: var(--dropdown-links-indent);

    /* Dropdown toggle background colors for expanded state */
    --lvl-1-toggle-bg-active: var(--link-hover-bg);
    --lvl-2-toggle-bg-active: var(--link-hover-bg);
    --lvl-3-toggle-bg-active: var(--link-hover-bg);

    /* Dropdown content background */
    --lvl-1-content-bg: var(--dropdown-content-bg);
    --lvl-2-content-bg: var(--dropdown-content-bg);
    --lvl-3-content-bg: var(--dropdown-content-bg);

    /* Text colors for expanded state */
    --lvl-1-toggle-color-active: var(--panel-link-color);
    --lvl-2-toggle-color-active: var(--panel-link-color);
    --lvl-3-toggle-color-active: var(--panel-link-color);

    /* Icon colors (normal) */
    --lvl-1-icon-color: var(--chevron-icon-color);
    --lvl-2-icon-color: var(--chevron-icon-color);
    --lvl-3-icon-color: var(--chevron-icon-color);

    /* Icon colors (hover) */
    --lvl-1-icon-hover-color: var(--link-icon-hover-color);
    --lvl-2-icon-hover-color: var(--link-icon-hover-color);
    --lvl-3-icon-hover-color: var(--link-icon-hover-color);

    /* Icon size */
  	--lvl-1-icon-size: 1.8rem;
    --lvl-2-icon-size: var(--nav-icon-size);
  	--lvl-3-icon-size: var(--nav-icon-size);
}



/* INSIDE BRICKS */
/* hide header/nav when not in main template */
[data-builder-mode].brx-header-left #brx-header:not(.postid-521 *),
[data-builder-mode].brx-header-right #brx-header:not(.postid-521 *) {
    display: none;
}

/* site normal width when not in main template */
[data-builder-mode].brx-header-left #brx-content:not(.postid-521 *),
[data-builder-mode].brx-header-right #brx-content:not(.postid-521 *),
[data-builder-mode].brx-header-left #brx-footer:not(.postid-521 *),
[data-builder-mode].brx-header-right #brx-footer:not(.postid-521 *) {
    margin: 0 !important;
}

.dwc-sidebar__nav:not(.show-nav .dwc-sidebar__nav, [data-builder-mode] .dwc-sidebar__nav){
  display: none;
  }
// Feature Toggles (1 = enabled, 0 = disabled)

// Automatically rename the text on the back button to show the panel name
// e.g., 'Back to Reviews' instead of the default 'Back'
const updateBackText = 1;

// Calculate header height for mobile menu top offset
const calcHeaderHeight = 1;

// Automatically open the current menu item's panel
const autoCurrentPosition = 1;

// Enable/disable the top bar and off-canvas menu
const enableTopBar = 0;
const enableOffCanvas = 0;

// Mobile and off-canvas breakpoints
const mq = window.matchMedia("(max-width: 1024px)");
const offCanvasBreakpoint = window.matchMedia("(max-width:10024px)");

// Off-canvas options
const offCanvasPushContent = 0; // Enable off-canvas content push (requires off-canvas to be enabled)
const fixedNavTrigger = 1; // Fix the toggle button when pushing content

// Dropdown behavior options
const openFirstDropDown = 0; // Open the first dropdown content on page load
const autoCloseDropdown = 1; // Automatically close the dropdown when it loses focus

// Sidebar and layout options
const overlaySidebar = 0; // Overlay the sidebar on a fullwidth page (requires off-canvas to be disabled)
const overlayTopBar = 0; // Overlay the top bar when using off-canvas

// RTL (Right-to-Left) layout support
const enableRTL = 0;

// Scrolling header reveal/hide effect
const enableHeadroom = 1; 
/*
  NOTES:
  - Off-canvas or top bar must be enabled for headroom to work
  - If you don't want off-canvas on desktop but want the headroom effect on mobile,
    enable off-canvas and set the off-canvas breakpoint to match `mq` (e.g., 1024px)
*/

// Padding and offset options
const calcTopPadding = 1; // Adjust top padding of the first container when headroom is enabled
const offsetHashLinkScroll = 0; // Add offset when scrolling to hash links (useful for sticky headers)

// Offcanvas/Mobile menu behavior
const mobileMenuAboveHeader = 0; // Offcanvas/Mobile menu will overlap the top bar instead of displaying underneath

// COLLAPSE SIDEBAR OPTIONS
const enableCollapsibleSidebar = 0;
const collapseOnPageLoad = 0;
const saveCollapseState = 1;  // Toggle whether to save the collapse state
const hoverToExpandSidebar = 1;
const collapseAutoWidth = 1;
const collapseWidth = 80; // manual width, when autowidth is off
const collapsecenterScrub = 0.85; // controls icons position on manual width
const offsetMultiplier = 3; //controls sidebar width on auto width



if (enableOffCanvas && offCanvasBreakpoint.matches) {
 document.body.classList.add('dwc-offcanvas');
  //console.log('offcanvas - 1')
}


  /* OVERLAY SIDEBAR */


  /*main and footer*/
  .dwc-overlay-sidebar.brx-header-left #brx-content,
  .dwc-overlay-sidebar.brx-header-left #brx-footer,
  .dwc-overlay-sidebar.brx-header-right #brx-content,
  .dwc-overlay-sidebar.brx-header-right #brx-footer,
  .dwc-offcanvas.brx-header-left #brx-content,
  .dwc-offcanvas.brx-header-left #brx-footer,
  .dwc-offcanvas.brx-header-right #brx-content,
  .dwc-offcanvas.brx-header-right #brx-footer {
      margin-inline-start: 0;
  }

  .dwc-overlay-sidebar:not(.dwc-mobile) {
      --header-bg: transparent;
      --nav-bg: transparent;
  }

  .dwc-overlay-topbar {
      --header-bg: transparent;
  }

  .dwc-overlay-topbar #dwc_header.dwc-sidebar {
      background: var(--header-bg);
      margin-block-end: calc(var(--dwc-header-height) * -1);
  }

  .brx-header-left.dwc-overlay-sidebar:not(.dwc-mobile) .swiper-slide {
      padding-inline-start: var(--sidebar-width);
  }

  .brx-header-right.dwc-overlay-sidebar:not(.dwc-mobile) .swiper-slide {
      padding-inline-end: var(--sidebar-width);
  }

 .dwc-mobile-menu-over.dwc-offcanvas .dwc-sidebar__nav, 
    .dwc-mobile-menu-over.dwc-topbar-enabled .dwc-sidebar__nav,
.dwc-mobile-menu-over.dwc-mobile .dwc-sidebar__nav{
             z-index: 9999;
    }

    .dwc-mobile-menu-over.dwc-mobile .dwc-sidebar__nav__panel {
        padding-block-start: 0 !important;
    }

    .dwc-offcanvas .dwc-sidebar__nav__panel:not(.dwc-mobile-menu-over *) {
        padding-block-start: var(--dwc-header-height);
        z-index: 0;
    }
    
    .dwc-offcanvas .dwc-header-inner-wrap:not(.dwc-mobile-menu-over *) {
        z-index:99999; 
    }



  /* OFFCANVAS */

  .dwc-offcanvas.brx-header-left #brx-header {
      bottom: auto;
      inline-size: 100%;
  }

  .dwc-offcanvas.brx-header-left #brx-header:not(.dwc-headroom *) {
      position: relative;
  }


  .dwc-push-content.dwc-slide-nav-open.dwc-nav-trigger-is-fixed .dwc-nav-trigger {
      transform: translateX(calc(var(--sidebar-width) * -1));
  }

  .dwc-rtl.dwc-push-content.dwc-slide-nav-open.dwc-nav-trigger-is-fixed .dwc-nav-trigger {
      transform: translateX(calc(var(--sidebar-width) * 1));
  }

  .dwc-nav-trigger {
      transition: transform var(--sidebar-transition) var(--sidebar-ttf), opacity var(--opacity-transition);
  }

  .dwc-offcanvas .dwc-sidebar__nav {
      transform: translateX(-100%);
      transition: transform var(--sidebar-transition) var(--sidebar-ttf), opacity var(--opacity-transition);
  }

  .dwc-offcanvas .dwc-sidebar__nav,
  .dwc-topbar-enabled .dwc-sidebar__nav {
      background: var(--nav-bg);
      inline-size: var(--sidebar-width);
      position: fixed !important;
      bottom: 0;
      inset-inline-start: 0;
      inset-block-start: 0;
      block-size: 100dvb;
      overflow: hidden;
      box-shadow: var(--sidebar-shadow);

  }

  .dwc-offcanvas.dwc-slide-nav-open .dwc-mobile-menu-overlay {
      pointer-events: auto;
      opacity: var(--overlay-opacity);
  }

  .dwc-offcanvas .dwc-mobile-menu-overlay {
      background: var(--overlay-bg);
      position: fixed !important;
      inset-block-start: 0;
      bottom: 0;
      inset-inline-start: 0;
      inset-inline-end: 0;
      pointer-events: none;
      opacity: 0;
      transition: 0.4s 0.2s;
      block-size: 100vh;
  }

  .dwc-slide-nav-open .dwc-sidebar__nav:not(.dwc-push-content *) {
      transform: translateX(0) !important;
  }


  .dwc-push-content .dwc-sidebar__nav__panel {
      padding-block: var(--panel-block-pad) !important;
  }



  .dwc-offcanvas .dwc-sidebar__nav:not(.dwc-mobile *),
  .dwc-topbar-enabled .dwc-sidebar__nav:not(.dwc-mobile *) {
      z-index: 1000;
  }


  .dwc-topbar-enabled .dwc-sidebar__nav__panel:not(.dwc-mobile *) {
      padding-block-start: calc(20px + var(--dwc-header-height));
  }

  /* body */

  body.dwc-no-scroll {
      overflow: hidden;
      block-size: 100vh;
  }


  body.dwc-offcanvas {
      --sidebar-transition: 700ms;
      transition: transform var(--sidebar-transition) var(--sidebar-ttf), opacity var(--opacity-transition);
  }


  /* OFFCANVAS ENDS */

  /* push content */

  .dwc-push-content.dwc-slide-nav-open .dwc-site-wrapper>header,
  .dwc-push-content.dwc-slide-nav-open .dwc-site-wrapper>footer,
  .dwc-push-content.dwc-slide-nav-open .dwc-site-wrapper>main {
      transform: translateX(var(--sidebar-width));
  }




  .dwc-mobile.dwc-push-content.dwc-slide-nav-open .dwc-site-wrapper {
      overflow: hidden;
      block-size: 100dvb;
  }

  .dwc-site-wrapper {
      block-size: 100%;
      display: flex;
      flex-direction: column;
  }

  header,
  footer,
  main {
      --sidebar-transition: 700ms;
      transition: transform var(--sidebar-transition) var(--sidebar-ttf), opacity var(--opacity-transition);
  }

  /*RTL*/

  .dwc-rtl .dwc-sidebar__nav__panel {
      direction: rtl;
  }


  .dwc-rtl #brx-footer:not(.dwc-mobile *, .dwc-overlay-sidebar *, .dwc-offcanvas *),
  .dwc-rtl #brx-content:not(.dwc-offcanvas *, .dwc-mobile *, .dwc-overlay-sidebar *, .dwc-offcanvas *) {
      margin-inline-start: unset;
      margin-inline-end: var(--sidebar-width);

  }

  .dwc-rtl header.dwc-sidebar {
      inset-inline-end: 0;
  }

  .dwc-rtl.dwc-mobile .dwc-sidebar__nav,
  .dwc-rtl.dwc-offcanvas .dwc-sidebar__nav,
  .dwc-rtl.dwc-topbar-enabled .dwc-sidebar__nav,
  .dwc-rtl #brx-header {
      inset-inline-start: auto;
      inset-inline-end: 0;
  }


  .dwc-rtl.dwc-mobile .dwc-sidebar__nav,
  .dwc-rtl.dwc-offcanvas .dwc-sidebar__nav {
      transform: translateX(100%);
  }

  .dwc-rtl.dwc-push-content.dwc-slide-nav-open header,
  .dwc-rtl.dwc-push-content.dwc-slide-nav-open main,
  .dwc-rtl.dwc-push-content.dwc-slide-nav-open footer {
      --rtl-translate: calc(var(--sidebar-width) * -1);
      transform: translateX(var(--rtl-translate));
  }

  /* RTL + OVERLAY SIDEBAR */
  .dwc-rtl.dwc-overlay-sidebar .brxe-section:not(.dwc-mobile *),
  .dwc-rtl.dwc-overlay-sidebar #brx-footer .brxe-section:not(.dwc-mobile *) {
      padding-inline-end: calc(var(--sidebar-width) + 20px);
  }

  .dwc-overlay-sidebar .brxe-section:not(.dwc-rtl *, .dwc-mobile *),
  .dwc-overlay-sidebar #brx-footer .brxe-section:not(.dwc-rtl *, .dwc-mobile *) {
      padding-inline-start: calc(var(--sidebar-width) + 20px)
  }


  /* TOP BAR*/
  .dwc-topbar-enabled .dwc-header-inner-wrap,
  .dwc-offcanvas .dwc-header-inner-wrap {
      box-shadow: var(--sidebar-shadow);
  }

  .dwc-topbar-enabled .dwc-header-inner-wrap {
      z-index: 9999;
  }

  .dwc-topbar-enabled #brx-header {
      inline-size: 100%;
      block-size: var(--dwc-header-height);
      background: transparent !important;
      /* position: relative;*/
  }

  .dwc-topbar-enabled .dwc-sidebar:not(.dwc-mobile *) {
      position: fixed;
      inline-size: 100%;
      max-inline-size: 100%;
      background: var(--header-bg);
      box-shadow: none;
  }



  /* TOP BAR ENDS */


  .dwc-current-menu-item {
      background-color: var(--current-link-bg);
      border-bottom: var(--current-link-underline);
  }


  #brx-header {
      background-color: var(--header-bg);
  }

  .dwc-mobile.brx-header-left #brx-header:not(.dwc-headroom *),
  .dwc-mobile.brx-header-right #brx-header:not(.dwc-headroom *) {
      position: relative;
      inline-size: 100%;
      block-size: auto;
  }

  /* MEDIA QUERY - DESKTOP */
  @media (min-width: 1025px) {

      .dwc-nav-trigger:not(.dwc-offcanvas *, .bricks-draggable-item),
      .dwc-mobile-menu-overlay:not(.dwc-offcanvas *),
      .mobile.dwc-nav__panel__header:not(.dwc-offcanvas *),
    .dwc-hamburger-wrap:not(.dwc-offcanvas *, .bricks-draggable-item){
          display: none !important;
      }
  }

  /* MEDIA QUERY - DESKTOP ENDS */
  html,
  body {
      block-size: 100%
  }

  main,
  footer {
      inline-size: 100%;
  }

  main {
      flex-grow: 1
  }

  .dwc-sidebar {
      box-shadow: var(--sidebar-shadow)
  }


  .dwc-sidebar__nav {
      block-size: 100%;
      z-index: 1;
      inline-size: var(--sidebar-width);
      position: relative;
      background-color: var(--nav-bg);
  }




  .dwc-sidebar__nav:not([data-builder-mode] *) {
      overflow: hidden;
  }

  .dwc-sidebar__nav__panel {
      background: var(--nav-bg);
      position: absolute;
      inline-size: 100%;
      block-size: 100%;
      display: flex;
      flex-direction: column;
      transition: transform var(--sidebar-transition) var(--sidebar-ttf), opacity var(--opacity-transition);
      transform: translateX(0);
      box-shadow: -5px -5px 40px rgb(0 0 0/10%);
      z-index: 1000;
      padding-block: var(--panel-block-pad);
      padding-block-start: 0;
      flex-wrap: nowrap;
  }

  .dwc-mobile .dwc-sidebar__nav__panel {
      padding-block-start: var(--dwc-header-height);
  }

  .dwc-sidebar__nav__panel:not([data-builder-mode] *) {
      overflow: hidden;
  }

  .dwc-sidebar__nav__panel:not([data-builder-mode] *)::after {
      content: '';
      position: absolute;
      bottom: 5px;
      inline-size: 100%;
      block-size: var(--panel-block-pad);
      background: var(--nav-bg);
      filter: blur(5px)
  }

  .dwc-nav__panel__header {
      inline-size: 100%;
      padding: 0.32rem var(--pad-m);
      gap: var(--list-gap);
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      z-index: 2;
      flex-wrap: nowrap;
  }

  .dwc-header-inner-wrap {
      inline-size: 100%;
      padding-block: var(--header-pad-y);
      padding-inline: var(--header-pad-x);
      gap: var(--list-gap);
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      z-index: 2;
      flex-wrap: nowrap;
      background: var(--header-bg);
      position: relative;
  }


  .dwc-nav__panel__inner {
      inline-size: 100%;
      flex-grow: 1;
      overflow-x: hidden;
      overflow-y: auto;
      overscroll-behavior: contain;
      flex-wrap: nowrap;
      padding-inline: var(--pad-m);
  }

  .dwc-nav__panel__title-wrap {
      padding: var(--pad-s) var(--pad-xs);
      inline-size: 100%;
      box-shadow: 0 -6px 10px 15px var(--nav-bg);
      position: -webkit-sticky;
      position: sticky;
      inset-block-start: -3px;
      background-color: var(--nav-bg);
      z-index: 1;
  }

  .dwc-nav__panel__title {
      color: var(--panel-title-color);
      font-size: var(--panel-title-size);
      font-weight: 500;
      letter-spacing: 1px;
  }

  .dwc-sidebar__nav__ul {
      display: flex;
      flex-direction: column;
      inline-size: 100%;
      margin: 0;
      padding-inline-start: 0;
      /* padding-block: var(--pad-m); */
      gap: var(--list-gap);
      flex-grow: 1;
  }

  .dwc-sidebar__nav__ul:not(.dwc-sidebar__dropdown-content .dwc-sidebar__nav__ul) {    
    padding-block: var(--pad-m);
 
}

  .dwc-sidebar__nav__li {
      list-style: none;
      inline-size: 100%;
      position: relative;
      border-radius: var(--link-border-radius)
  }

  .dwc-sidebar__nav__btn,
  .dwc-sidebar__nav__link {
      inline-size: 100%;
      display: flex !important;
      flex-direction: row;
      justify-content: flex-start;
      flex-wrap: nowrap;
      align-items: center;
      padding: var(--link-pad-y) var(--link-pad-x);
      gap: var(--link-gap);
      color: var(--panel-link-color);
      text-align: left;
      line-height: 1.3;
      transition: var(--sidebar-link-transition), outline 0s;
      border-radius: var(--link-border-radius);
  }

  .dwc-nav__back-btn {
      text-transform: uppercase;
      font-weight: bold;
      letter-spacing: 2px;
      font-size: var(--panel-back-size);
  }

  .dwc-nav__home-btn {
      inline-size: auto;
      padding: var(--pad-s);
      margin: auto;
      background: transparent;
      border: none;
      cursor: pointer;
      border-radius: var(--link-border-radius);
      position: relative;
  }

  .nav__home-btn__txt {
      position: absolute;
      clip: rect(0, 0, 0, 0);
      font-size: 12px;
  }

  .dwc-sidebar__nav__btn,
  .dwc-sidebar__dropdown-toggle button {
      outline-width: 0;
      outline: none;
      cursor: pointer;
      background: var(--link-bg);
      border: none;
  }

  /* mobile menu toggle button*/
  .dwc-nav-trigger {
      cursor: pointer;
      position: relative;
      min-inline-size: 26px !important;
      min-block-size: 0 !important;
  }

  .dwc-nav-trigger::before {
      inset-inline-start: 0;
      inset-inline-end: 0;
      transform: translateY(-5px);
  }

  .dwc-nav-trigger::after {
      inset-inline-start: 10px;
      inset-inline-end: 0;
      transform: translateY(5px);
  }

  .dwc-nav-trigger::before,
  .dwc-nav-trigger:after {
      content: '';
      position: absolute;
      transition: 0.4s 0.3s;
      block-size: 3px;
      background: var(--mobile-menu-trigger-color);
      inset-block-start: 50%;
      border-radius: 50vw
  }

  .dwc-slide-nav-open .dwc-nav-trigger::before {
      transform: translateY(0) rotate(45deg);
  }

  .dwc-slide-nav-open .dwc-nav-trigger::after {
      transform: translateY(0) rotate(-45deg);
      inset-inline-start: 0;
  }



  .dwc-sidebar__dropdown-toggle .dwc-nav__link__icon--chevron-right {
      transform: rotate(90deg);
      transition: 0.4s
  }

  .dwc-sidebar__dropdown-toggle [aria-expanded="true"] .dwc-nav__link__icon {
      transform: rotate(270deg)
  }

  .dwc-sidebar__dropdown-content {
      overflow: hidden;
      transition: var(--sidebar-transition) cubic-bezier(0.22, 0.61, 0.36, 1);
      padding-inline: var(--link-pad-x);
      padding-block: 0;
      background-color: var(--dropdown-content-bg)
  }


/*
  .dwc-sidebar__dropdown-content .dwc-sidebar__nav__ul {
      padding-block: calc(var(--link-pad-y) * 0.8);
  }
*/
  .dwc-sidebar__dropdown-content .dwc-sidebar__nav__li {
      border: var(--dropdown-links-underline);
  }


  .dwc-sidebar__dropdown-toggle {
      inline-size: 100%;
      display: flex !important;
      flex-direction: row;
      justify-content: flex-start;
      flex-wrap: nowrap;
      align-items: center;
      gap: var(--link-gap);
      text-align: left;
      line-height: 1.3;
      padding-inline-start: var(--link-pad-x);
      position: relative;
      transition: var(--sidebar-link-transition);
  }


  .dwc-sidebar__dropdown ul .dwc-nav__link__text,
  .dwc-sidebar__dropdown button {
      transition: var(--sidebar-link-transition), outline 0s;
      border-radius: var(--link-border-radius);
      inline-size: 100%;
  }

  .dwc-sidebar__dropdown button,
  .dwc-sidebar__dropdown-toggle .dwc-nav__link__text {
      padding: var(--link-pad-y) 0;
  }

  .dwc-sidebar__dropdown-content ul .dwc-nav__link__text {
      padding: var(--link-pad-y) var(--link-pad-x);
  }

  .dwc-sidebar__dropdown-content ul:not([class*="level-"]:not(.level-1)  ul){
    padding-inline-start: calc(var(--dropdown-links-indent) - var(--link-pad-x));
    padding-block: var(--link-pad-y);
}

  .dwc-sidebar__dropdown-toggle button {
      margin-inline-start: auto;
      flex-grow: 1;
      padding-inline-end: var(--link-pad-x);
      position: absolute;
      inset-block-start: 0;
      bottom: 0;
      inset-inline-start: 0;
      inset-inline-end: 0;
  }


/* LEVEL 1 STYLES */

/* Normal icon color for Level 1 */
.dwc-sidebar__dropdown-toggle.level-1 .dwc-nav__link__icon:not(.dwc-nav__link__icon--chevron-right),
.dwc-nav__link__icon:not(.dwc-nav__home-btn *, .dwc-nav__link__icon--chevron-right, .dwc-nav__link__icon--chevron-left) {
    color: var(--lvl-1-icon-color);
    font-size:var(--lvl-1-icon-size)
}


/* Expanded background color for Level 1 */
.dwc-sidebar__dropdown-toggle.level-1:has([aria-expanded='true']) {
    background-color: var(--lvl-1-toggle-bg-active);
}

/* Dropdown content background for Level 1 */
.dwc-sidebar__dropdown-content.level-1 {
    background-color: var(--lvl-1-content-bg);  
}

/* LEVEL 2 STYLES */

/* Expanded background color for Level 2 */
.dwc-sidebar__dropdown-toggle.level-2:has([aria-expanded='true']) {
    background-color: var(--lvl-2-toggle-bg-active);
}

/* Expanded text color for Level 2 */
.dwc-sidebar__dropdown-toggle.level-2:has([aria-expanded='true']) .dwc-nav__link__text {
    color: var(--lvl-2-toggle-color-active);
}

/* Dropdown content background for Level 2 */
.dwc-sidebar__dropdown-content.level-2 {
    background-color: var(--lvl-2-content-bg);
    padding-inline-start: var(--lvl-2-indent);
}

/* Normal icon color and size for Level 2 */
.dwc-sidebar__dropdown-toggle.level-2 .dwc-nav__link__icon:not(.dwc-nav__link__icon--chevron-right) {
    font-size:var(--lvl-2-icon-size)
}

.dwc-sidebar__dropdown-toggle.level-2 .dwc-nav__link__icon {
    color: var(--lvl-2-icon-color);
}

/* Icon color for Level 2 when expanded */
.level-2:has([aria-expanded='true']) .dwc-nav__link__icon {
    color: var(--lvl-2-icon-color);
}

/* Hover icon color for Level 2 when expanded */
li>.level-2:has([aria-expanded='true']):hover .dwc-nav__link__icon {
    color: var(--lvl-2-icon-hover-color) !important;
}

/* LEVEL 3 STYLES */

/* Expanded background color for Level 3 */
.dwc-sidebar__dropdown-toggle.level-3:has([aria-expanded='true']) {
    background-color: var(--lvl-3-toggle-bg-active);
}

/* Expanded text color for Level 3 */
.dwc-sidebar__dropdown-toggle.level-3:has([aria-expanded='true']) .dwc-nav__link__text {
    color: var(--lvl-3-toggle-color-active);
}

/* Dropdown content background for Level 3 */
.dwc-sidebar__dropdown-content.level-3 {
    background-color: var(--lvl-3-content-bg);
    padding-inline-start: var(--lvl-3-indent);
}

/* Normal icon color and size for Level 3 */
.dwc-sidebar__dropdown-toggle.level-3 .dwc-nav__link__icon {
    color: var(--lvl-3-icon-color);
}

.dwc-sidebar__dropdown-toggle.level-3 .dwc-nav__link__icon:not(.dwc-nav__link__icon--chevron-right) {   
    font-size:var(--lvl-3-icon-size)
}

/* Icon color for Level 3 when expanded */
.level-3:has([aria-expanded='true']) .dwc-nav__link__icon {
    color: var(--lvl-3-icon-color);
}

/* Hover icon color for Level 3 when expanded */
li>.level-3:has([aria-expanded='true']):hover .dwc-nav__link__icon {
    color: var(--lvl-3-icon-hover-color) !important;
}

  .dwc-sidebar__nav__li {
      border-bottom: var(--link-underline);
  }


  .dwc-sidebar__nav__link:hover,
  .dwc-nav__home-btn:hover,
  button.dwc-sidebar__nav__btn:hover,
  .dwc-sidebar__dropdown-toggle:hover {
      background: var(--link-hover-bg);
  }


  .dwc-sidebar__dropdown-content a {
      background: var(--dropdown-links-bg);
      color: var(--dropdown-links-color)
  }

  .dwc-sidebar__dropdown-content a:hover {
      background: var(--dropdown-links-hover-bg);
      color: var(--dropdown-links-hover-color)
  }

  button:hover .dwc-nav__link__text,
  .dwc-sidebar__dropdown-toggle:hover .dwc-nav__link__text,
  button:hover .dwc-nav__back__text,
  .dwc-sidebar__dropdown-toggle:hover .dwc-nav__link__text {
      color: var(--link-hover-color);
  }



  .dwc-nav__link__text {
      color: var(--panel-link-color);
      font-size: var(--link-txt-size);
  }

  .dwc-sidebar__nav__link::before {
      content: '';
      inset-block-start: 0;
      bottom: 0;
      inset-inline-start: 0;
      inset-inline-end: 0;
      position: absolute;
  }

  /* button:hover .dwc-nav__link__icon,
  li:hover .dwc-nav__link__icon {
      color: var(--link-icon-hover-color) !important;
  } */

  button:hover .dwc-nav__link__icon:not(.level-2:has([aria-expanded='true']) *, .level-3 *), 
  li:hover > .dwc-sidebar__dropdown-toggle .dwc-nav__link__icon:not(.level-2:has([aria-expanded='true']) *, .level-3:has([aria-expanded='true']) *),
li:hover > a .dwc-nav__link__icon{
    color: var(--link-icon-hover-color) !important;
}

  .dwc-nav__link__icon {
      font-size: var(--nav-icon-size);
      color: var(--panel-icon-color)
  }

  .dwc-nav__link__icon--chevron-right {
      margin-inline-start: auto;
  }

  
  .dwc-nav__link__icon--chevron-right,
  .dwc-nav__link__icon--chevron-left  {
    font-size: var(--chevron-size);
    color: var(--chevron-icon-color);
}

svg.dwc-nav__link__icon{
    width: var(--nav-icon-size);
    height: auto;
}

svg.dwc-nav__link__icon path {
    stroke: var(--panel-icon-color);
}

.dwc-sidebar__nav__link:hover > svg.dwc-nav__link__icon path {
    stroke:var(--link-icon-hover-color) !important;
  }

button:hover svg.dwc-nav__link__icon path:not(.level-2:has([aria-expanded='true']) *, .level-3 *), 
li:hover > .dwc-sidebar__dropdown-toggle svg.dwc-nav__link__icon path:not(.level-2:has([aria-expanded='true']) *, .level-3:has([aria-expanded='true']) *), 
li:hover > a svg.dwc-nav__link__icon path {
    color: var(--link-icon-hover-color) !important;
}


  .dwc-sidebar__nav__list-img {
      inline-size: 100%;
      aspect-ratio: 16/9;
      object-fit: cover;
      object-position: top center;
      border-radius: var(--link-border-radius);
  }

  .dwc-sidebar__nav__panel-footer {
      inline-size: 100%;
      padding-block: var(--pad-m);
      gap: var(--link-gap);
      z-index: 5;
      padding-inline: var(--pad-m);
      border-top: var(--horizontal-line);
  }

  .dwc-sidebar__nav__panel-footer:not([data-builder-mode] *) {
      box-shadow: 0 6px 24px 32px var(--nav-bg);
  }

  .dwc-social-wrapper a {
      color: var(--social-color);
  }

  .dwc-social-wrapper a:hover {
      color: var(--social-hover-color)
  }

  .dwc-social-wrapper li {
      background: var(--social-bg);
      border-radius: var(--link-border-radius);
  }

  .dwc-social-wrapper li:hover {
      background: var(--social-hover-bg);

  }

  .dwc-social-wrapper i {
      color: var(--social-icon-color);
      font-size: var(--social-icon-size);
  }

  .dwc-social-wrapper li:hover i {
      color: var(--social-icon-hover-color)
  }

  .dwc-cta {
      justify-content: center;
      background: var(--cta-bg);
      inline-size: 100%;
      color: var(--cta-color);
      border-radius: var(--link-border-radius);
  }

  .dwc-cta:hover {
      background: var(--cta-hover-bg);
  }


  /*FOCUS STYLES*/

  .dwc-sidebar *:not(.dwc-sidebar .dwc-sidebar__nav__panel):focus-visible {
      outline: solid var(--focus-outline-width) var(--focus-outline-color) !important;
      outline-offset: var(--focus-outline-offset);
      transition: 0s;
  }

  .dwc-sidebar li:not(.dwc-sidebar__dropdown):focus-within {
      outline: solid var(--focus-outline-width) var(--focus-outline-color) !important;
  }

  .dwc-sidebar li:focus-within:has(:focus:not(:focus-visible)),
  #brx-header .dwc-sidebar li a:not(.dwc-sidebar__dropdown-toggle *):focus-visible,
  #brx-header .dwc-sidebar__nav__btn:not(.dwc-nav__back-btn):focus-visible,
  .dwc-sidebar__nav__panel:focus,
  .dwc-sidebar__nav__panel:focus-visible,
  .dwc-sidebar *:focus:not(:focus-visible),
  header:focus-visible {
      outline: none !important;
  }

  /*FOCUS STYLES END*/


  .dwc-slide-left {
      transform: translateX(-100%);
      z-index: 0;
  }

  .dwc-slide-right {
      transform: translateX(75%);
      z-index: 0;
      opacity: 0;
  }

  /* mobile menu toggle */
  .dwc-nav-trigger {
      border: none;
      background: none;
      padding: var(--pad-m)
  }

  /*MEDIA QUERY - MOBILE*/
  @media (max-width:1024px) {

      /*header and menu on mobile*/
      .brx-header-left #brx-header:not([data-builder-mode] *, .dwc-headroom.dwc-mobile *),
      .brx-header-right #brx-header:not([data-builder-mode] *) {
          position: relative;
          inline-size: 100%;
          block-size: auto;
      }

      /*main and footer*/
      .brx-header-left #brx-content,
      .brx-header-left #brx-footer,
      .brx-header-right #brx-content,
      .brx-header-right #brx-footer {
          margin: 0 !important;
      }

      .dwc-sidebar__nav {
          background: var(--nav-bg);
          inline-size: var(--sidebar-width);
          position: fixed;
          bottom: 0;
          inset-inline-start: 0;
          inset-block-start: 0;
          transform: translateX(-100%);
          transition: transform var(--sidebar-transition) var(--sidebar-ttf), opacity var(--opacity-transition);
          min-block-size: 100vh;
          min-block-size: 100dvb;
      }

      .dwc-sidebar__nav__panel:not([data-builder-mode] *) {
          background: transparent;
      }

      .dwc-sidebar__nav__panel>div {
          background: var(--nav-bg);
      }

      .dwc-slide-nav-open .dwc-sidebar__nav:not(.dwc-push-content *) {
          transform: translateX(0);
      }

      .dwc-nav__link__text {
          font-weight: 500;
      }

      .dwc-sidebar__logo-wrapper {
          inline-size: auto;
      }

      body.dwc-slide-nav-open {
          overflow: hidden;
          block-size: 100vh
      }

      .dwc-mobile-menu-overlay {
          background: var(--overlay-bg);
          position: fixed;
          inset-block-start: 0;
          bottom: 0;
          inset-inline-start: 0;
          inset-inline-end: 0;
          pointer-events: none;
          opacity: 0;
          transition: 0.4s 0.2s;
      }

      .dwc-slide-nav-open .dwc-mobile-menu-overlay {
          pointer-events: auto;
          opacity: var(--overlay-opacity);
      }

      /* RIGHT MENU ON MOBILE*/

      .brx-header-right .dwc-sidebar__nav {
          transform: translateX(100%);
          inset-inline-start: auto;
          inset-inline-end: 0;
      }

      .dwc-slide-nav-open.brx-header-right .dwc-sidebar__nav {
          transform: translateX(0%);
      }

      /* inside Bricks start*/
      [data-builder-mode] .dwc-sidebar__nav {
          inset-block-start: 120px;
          transform: translateX(0);
          border-top: dashed 1px gray;
          position: static;
          overflow: visible;
      }

      [data-builder-mode].brx-header-left #brx-header,
      [data-builder-mode].brx-header-right #brx-header {
          background: transparent;
      }

      /* inside Bricks end */




  }

  /*MEDIA QUERY - MOBILE ENDS */

  /* headroom*/

  .dwc-headroom.dwc-offcanvas .dwc-sidebar,
  .dwc-headroom.dwc-topbar-enabled .dwc-sidebar,
  .dwc-headroom.dwc-offcanvas .dwc-header-inner-wrap,
  .dwc-headroom.dwc-topbar-enabled .dwc-header-inner-wrap {
      position: fixed;
      inset-block-start: 0;
      inset-inline-start: 0;
      inset-inline-end: 0;
      transition: transform 1s ease;
  }


  /*.dwc-headroom.scroll-down .dwc-sidebar:not(.dwc-topbar-enabled *),*/
  .dwc-headroom.dwc-offcanvas.scroll-down .dwc-header-inner-wrap,
  .dwc-headroom.dwc-topbar-enabled.scroll-down .dwc-header-inner-wrap {
      transform: translateY(-100%);
  }


  @media (max-height: 667px) {

      .dwc-sidebar__nav__panel:not(.ng-scope .dwc-sidebar__nav__panel) {
    overflow-y:scroll;
    overscroll-behavior: contain;
     /*  min-block-size: 100vh;
  min-block-size: 100dvb;*/
} 

      .dwc-nav__panel__inner {
          overflow: hidden;
          flex-shrink: 0;
      }


  }


  /* MEDIA QUERY - MOBILE ENDS */



  /*SCROLLBARS*/
  .dwc-nav__panel__inner::-webkit-scrollbar-track {
      border-radius: 5px;
      background-color: transparent;
  }

  .dwc-nav__panel__inner::-webkit-scrollbar {
      inline-size: 0;
      background-color: transparent;
  }

  .dwc-nav__panel__inner::-webkit-scrollbar-thumb {
      border-radius: 5px;
      background-color: var(--nav-bg);
  }

  /* SCROLLBARS END */

  /* FADE IN OFFCANVS */

  .dwc-offcanvas-header{
      animation: dwc-header-fade-in 0.25s cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.2s both;
  }

 .dwc-offcanvas-header nav{
      animation: dwc-header-fade-in 0.25s cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.6s both;
  }

  body:has(.dwc-offcanvas-header) {
      animation: dwc-header-fade-in 0.25s cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.2s both;
  }

  @keyframes dwc-header-fade-in {
      0% {
          opacity: 0;
      }

      100% {

          opacity: 1;
      }
  }


  /* INSIDE BRICKS */
  [data-builder-mode] .dwc-sidebar__nav__panel,
  [data-builder-mode].brx-header-left #brx-header,
  [data-builder-mode].brx-header-right #brx-header {
      position: static !important;
      outline: gray dashed 3px;
      padding-block-end: 20px;
      min-block-size: min(100vh, 600px);
      block-size: unset;
  }

  #brx-header.bricks-area {
      inline-size: 100% !important;
      min-block-size: unset !important;
      padding-block-end: 0 !important;
  }

  .bricks-draggable-item.dwc-sidebar {
      position: relative
  }

  .bricks-draggable-item.dwc-sidebar__nav {
      position: absolute;
      inset-block-start: 100%;
      flex-wrap: nowrap;
  }


  [data-builder-mode] .dwc-slide-right {
      opacity: 1 !important;
      transform: translateX(0) !important;
  }

  [data-builder-mode] .dwc-sidebar__nav {
      overflow: visible !important;
  }

  [data-builder-mode] .dwc-sidebar__nav__panel:hover {
      outline: yellow solid 3px;
      z-index: 100000
  }

  [data-builder-mode] .dwc-slide-right {
      opacity: 1;
      transform: translateX(0);
  }

  [data-builder-mode] button.dwc-sidebar__nav__btn,
  [data-builder-mode] .dwc-sidebar__nav__link,
  [data-builder-mode] .dwc-sidebar__nav__panel {
      position: relative;
  }

  [data-builder-mode] button.dwc-sidebar__nav__btn::after {
      content: 'TO ' '"'attr(data-title)'"' ' PANEL';
      position: absolute;
      bottom: 1px;
      left: 40px;
      font-size: 8px;
      font-weight: bold;      
      color: var(--label-color);
      letter-spacing: 1px;
    font-family: poppins, roboto;
  }

  [data-builder-mode] button.dwc-nav__back-btn::after {
      content: 'To previous panel';
      inset-inline-start: 32px;
  }

  [data-builder-mode] button.dwc-nav__home-btn::after {
      content: 'HOME';
      position: absolute;
      top: 80%;
      left: 48%;
      right: auto;
      transform: translateX(-50%);
      white-space: nowrap;
      opacity: 0.8;
      font-size: 8px;
      font-weight: bold;
      color: var(--label-color);
      letter-spacing: 1px;
    font-family: poppins, roboto;
  }

  [data-builder-mode] .dwc-sidebar__nav__panel::after {
      content: '"'attr(data-title)'"' ' Panel';
      position: absolute;
      top: 0;
      left: 100%;
      font-size: 18px;
      font-weight: bold;
      color: black;
      background: white;
      padding-inline: 2rem;
      letter-spacing: 1px;
      white-space: nowrap;
      writing-mode: vertical-lr;
  }


[data-builder-mode] .dwc-sidebar__dropdown-toggle >  button::before
{
    position: absolute;
    right: 100%; 
    color: var(--label-color);
    background-color: #ebebeb;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: bold;
    font-family: poppins, roboto;
    padding: 4px;
    border-radius: 5px;    
}

[data-builder-mode] .dwc-sidebar__dropdown-content{
  overflow: visible;
}

[data-builder-mode] .dwc-nav__panel__inner > ul > .dwc-sidebar__dropdown >  .dwc-sidebar__dropdown-toggle   >  button::before{
    content: 'L1';
}

[data-builder-mode] .dwc-sidebar__dropdown-toggle:not(.dwc-nav__panel__inner > ul > .dwc-sidebar__dropdown > *,.dwc-sidebar__dropdown .dwc-sidebar__dropdown .dwc-sidebar__dropdown > *)  >  button::before{
    content: 'L2';
}

[data-builder-mode] .dwc-sidebar__dropdown-toggle >  button::before{
    content: 'L3';
    } 

/*
[data-builder-mode] .dwc-sidebar__dropdown-content:not(.dwc-sidebar__nav__li.is-active-element *, .is-active-element, :has(.is-active-element), .is-active-element + .dwc-sidebar__dropdown-content, :has(.is-active-element) + .dwc-sidebar__dropdown-content) {
    height: 0;
    overflow: hidden;
}*/



/* COLLAPSE SIDEBAR*/

.dwc-collapse-enabled #brx-header,
.dwc-nav__link__icon,
.dwc-social-wrapper li .icon,
.dwc-nav__link__text,
.dwc-nav__link__icon--chevron-right,
.dwc-social__text,
.dwc-show,
.dwc-hide,
.dwc-toggle-collapse .brxe-icon,
footer:not(.dwc-offcanvas, .dwc-mobile *, .dwc-overlay-sidebar *, [data-builder-mode] *),
.dwc-collapse-enabled .dwc-site-wrapper>:not(header, .dwc-offcanvas, .dwc-mobile *, .dwc-overlay-sidebar *),
.dwc-collapse-enabled main:not(.dwc-mobile *) {
    --sidebar-transition: 700ms;
    transition:
        transform var(--sidebar-transition) var(--collapse-ttf),
        opacity var(--opacity-transition),
        inline-size var(--sidebar-transition) var(--collapse-ttf) !important;
}

.dwc-collapse-sidebar .dwc-nav__link__icon:not(.dwc-nav__link__icon--chevron-right, .dwc-rtl *),
.dwc-collapse-sidebar .dwc-social-wrapper li .icon:not(.dwc-rtl *) {
    transform: translateX(calc(var(--sidebar-width) - var(--collapse-offset)));
}

.dwc-rtl.dwc-collapse-sidebar .dwc-nav__link__icon:not(.dwc-nav__link__icon--chevron-right),
.dwc-rtl.dwc-collapse-sidebar .dwc-social-wrapper li .icon{
    transform: translateX(calc((var(--sidebar-width) * -1) + var(--collapse-offset)));
}

.dwc-collapse-sidebar .dwc-show:not(.dwc-rtl *) {
    transform: translateX(calc(var(--sidebar-width) - (var(--collapse-offset) + var(--collapse-pad))));  
}

.dwc-collapse-sidebar .dwc-show {   
    opacity: 1;
}




.dwc-collapse-sidebar .dwc-nav__link__text,
.dwc-collapse-sidebar .dwc-nav__link__icon--chevron-right,
.dwc-collapse-sidebar .dwc-social-wrapper li span,
.dwc-collapse-sidebar .dwc-hide {
    opacity: 0;
}

.dwc-collapse-sidebar #brx-header:not(.dwc-rtl *) {
    transform: translateX(calc(-100% + var(--collapse-offset)))
}

.dwc-rtl.dwc-collapse-sidebar #brx-header {
    transform: translateX(calc(100% - var(--collapse-offset)))
}

.dwc-collapse-sidebar footer:not(.dwc-offcanvas, .dwc-mobile *, .dwc-overlay-sidebar *, [data-builder-mode] *),
.dwc-collapse-sidebar .dwc-site-wrapper>:not(header, .dwc-offcanvas, .dwc-mobile *, .dwc-overlay-sidebar *, [data-builder-mode] *),
.dwc-collapse-sidebar>main:not(.dwc-mobile *) {
    --sidebar-transition: 350ms;  
    inline-size: calc(100% - var(--collapse-offset)) !important;
    margin-inline-start: auto !important;
}

.dwc-collapse-enabled.brx-header-left #brx-content:not(.dwc-collapse-sidebar *, .dwc-mobile *), 
.dwc-collapse-enabled.brx-header-left #brx-footer:not(.dwc-collapse-sidebar *, .dwc-mobile *) {
    margin-inline-start: auto;
    inline-size: calc((100% + 15px) - var(--sidebar-width));
}


.dwc-toggle-collapse:not([data-builder-mode] *, .dwc-collapse-enabled .dwc-toggle-collapse) {
    display: none;
}



.dwc-collapse-sidebar .dwc-toggle-collapse .brxe-icon:not(.dwc-rtl *) {
    transform: rotate(180deg);
}

.dwc-rtl.dwc-collapse-sidebar .dwc-toggle-collapse .brxe-icon {
    transform: rotate(0deg) !important;
}

.dwc-rtl .dwc-toggle-collapse .brxe-icon {
    transform: rotate(180deg) !important;
}


.dwc-show:not(.dwc-collapse-sidebar *, [data-builder-mode] *),
.dwc-collapse-sidebar .dwc-hide:not(.dwc-fade) {    
    opacity: 0;
    position: absolute;
}



/* WITH TOBAR ENABLED */
.dwc-topbar-enabled .dwc-toggle-collapse {
    position: absolute;
    inset-inline-start: var(--sidebar-width);
    inset-block-start: 100%;
    block-size: 100%;
    transition: left var(--sidebar-transition) var(--collapse-ttf);
    display: flex;
}

.dwc-topbar-enabled.dwc-mobile .dwc-toggle-collapse{
    display: none;
}

.dwc-topbar-enabled.dwc-collapse-sidebar .dwc-toggle-collapse {

    inset-inline-start: var(--collapse-offset);

}

.dwc-collapse-sidebar.dwc-topbar-enabled .dwc-header-inner-wrap.dwc-show {
    transform: translateX(0);
}


.dwc-collapse-sidebar.dwc-topbar-enabled .dwc-nav__link__icon:not(.dwc-nav__link__icon--chevron-right, .dwc-auto-width *), 
.dwc-collapse-sidebar.dwc-topbar-enabled .dwc-social-wrapper li .icon:not(.dwc-auto-width *) {
    transform: translateX(calc(var(--sidebar-width) - ((var(--center-scrub) * var(--collapse-w)) + var(--icon-width-offset))));
}

.dwc-collapse-sidebar.dwc-topbar-enabled #brx-header {
    transform: unset !important;
}

.dwc-topbar-enabled.dwc-collapse-sidebar .dwc-sidebar__nav {
    transform: translateX(calc(-100% + var(--collapse-offset)));
}

.dwc-topbar-enabled .dwc-sidebar__nav {
    transition:
        transform var(--sidebar-transition) var(--collapse-ttf),
        opacity var(--opacity-transition),
        width var(--sidebar-transition) var(--collapse-ttf) !important;
}


/*  MANUAL WIDTH*/

.dwc-collapse-sidebar #brx-header:not(.dwc-auto-width *, .dwc-rtl *) {
    transform: translateX(calc(-100% + var(--collapse-w)));
} 

.dwc-rtl.dwc-collapse-sidebar #brx-header:not(.dwc-auto-width *) {
    transform: translateX(calc(100% - var(--collapse-w)));
} 

.dwc-collapse-sidebar .dwc-nav__link__icon:not(.dwc-nav__link__icon--chevron-right, .dwc-auto-width *),
.dwc-collapse-sidebar .dwc-social-wrapper li .icon:not(.dwc-auto-width *) {
    transform: translateX(calc(var(--sidebar-width) - ((var(--center-scrub) * var(--collapse-w)) + var(--icon-width-offset))));
} 

.dwc-collapse-sidebar .dwc-show:not(.dwc-auto-width *) {
    opacity: 1;
    transform: translateX(calc(var(--sidebar-width) - ((var(--center-scrub) * var(--collapse-w)) + var(--icon-width-offset))));
}

   
.dwc-topbar-enabled.dwc-collapse-sidebar .dwc-sidebar__nav:not(.dwc-auto-width *)  {
    transform: translateX(calc(-100% + var(--collapse-w))) ;
}

.dwc-topbar-enabled.dwc-collapse-sidebar .dwc-toggle-collapse:not(.dwc-auto-width *)  {
    inset-inline-start: var(--collapse-w);
}
if (enableTopBar && !enableOffCanvas) {
    document.body.classList.add('dwc-topbar-enabled')
}


if (enableRTL) {
    document.body.classList.add('dwc-rtl')
}

// we can remove !enableOffCanvas if on mobile only to have overlay on desktop + headroom on mobile.
if (overlaySidebar && !enableOffCanvas) {
    document.body.classList.add('dwc-overlay-sidebar')
}

if (overlayTopBar && enableOffCanvas) {
    document.body.classList.add('dwc-overlay-topbar')
}

if (mobileMenuAboveHeader == 1) {
    document.body.classList.add('dwc-mobile-menu-over')
}

document.body.classList.add('show-nav')
//console.log('show nav')


//document.addEventListener('DOMContentLoaded', () => {
// COLLAPSE SIDEBAR startes
if (enableCollapsibleSidebar && !enableOffCanvas && !mq.matches) {
    const collapseToggle = document.querySelector('.dwc-toggle-collapse');
    const sidebarNav = document.querySelector('.dwc-sidebar__nav');
    let removedByMouseEnter = false; // Track if class was removed by hover

    document.body.classList.add('dwc-collapse-enabled');
    if (collapseAutoWidth) {
        document.body.classList.add('dwc-auto-width');
    } else {
        document.body.style.setProperty('--collapse-w', `${collapseWidth}px`);
        document.body.style.setProperty('--center-scrub', `${collapsecenterScrub}`);
    }

    // Toggle collapse on button click
    collapseToggle.addEventListener('click', function () {
        document.body.classList.toggle('dwc-collapse-sidebar');
        initCollapseContent(); goHome();
        saveCollapseStatus();  // Save the updated state after toggling
    });

    // Hover functionality
    if (hoverToExpandSidebar) {
        sidebarNav.addEventListener('mouseenter', function () {
            if (document.body.classList.contains('dwc-collapse-sidebar')) {
                document.body.classList.remove('dwc-collapse-sidebar');
                removedByMouseEnter = true;  // Mark that we explicitly removed it
            }
        });

        sidebarNav.addEventListener('mouseleave', function () {
            if (removedByMouseEnter) {
                document.body.classList.add('dwc-collapse-sidebar');
                initCollapseContent(); goHome()
                removedByMouseEnter = false;  // Reset the flag after re-adding
            }
        });
    }

    // expand when links are focused   

    let removedByFocus = false;
    let keepOpenOnEnter = false;
    const focusableElements = sidebarNav.querySelectorAll('a, button, input, [tabindex]:not([tabindex="-1"])');
    
    // Listen for 'keydown' on buttons within sidebarNav to detect Enter key presses
    sidebarNav.addEventListener('keydown', function (event) {
        if (event.key === 'Enter' && event.target.tagName === 'BUTTON') {
            keepOpenOnEnter = true;
        }
    });
    
    sidebarNav.addEventListener('focusin', function (event) {
        if (document.body.classList.contains('dwc-collapse-sidebar')) {
            document.body.classList.remove('dwc-collapse-sidebar');
            removedByFocus = true;  // Mark that we explicitly removed it
        }
    });
    
    sidebarNav.addEventListener('focusout', function () {
        setTimeout(function () {
            const isFocusOutsideSidebar = [...focusableElements].every(el => !el.contains(document.activeElement));
    
            if (isFocusOutsideSidebar && removedByFocus && !keepOpenOnEnter) {
                document.body.classList.add('dwc-collapse-sidebar');
                initCollapseContent();
                goHome();
                removedByFocus = false;  // Reset the flag after re-adding
            }
    
            // Reset the Enter key flag after the check
            keepOpenOnEnter = false;
        }, 50);
    });
    
    

    
    // Run once on page load to apply the saved state
    loadCollapseStatus();


    //----- COLLAPSE ON PAGE LOAD

    if (collapseOnPageLoad) {
        document.body.classList.add('dwc-collapse-sidebar');
        saveCollapseStatus();  // Save the updated state after toggling
    }

    // Call the function when needed
    setCollapseOffset();
}

// COLLAPSE SIDEBAR FUNCTIONS


// // set offset variable
// function setCollapseOffset() {
//     // Get the padding values of .dwc-nav__panel__inner
//     const panelInner = document.querySelector('.dwc-nav__panel__inner');
//     if (!panelInner) return;  // Check if element exists

//     const panelStyles = getComputedStyle(panelInner);
//     const paddingLeft = parseFloat(panelStyles.paddingLeft);

//     // Get the width of .dwc-nav__link__icon
//     const iconElement = document.querySelector('.dwc-nav__link__icon');
//     if (!iconElement) return;  // Check if element exists

//     const iconWidth = iconElement.offsetWidth;
//     const iconWidthOffset = iconWidth / 2;

//     // Sum the paddings and icon width
//     const collapseOffset = (paddingLeft * offsetMultiplier) + iconWidth;

//     // Set the CSS variables on the body
//     document.body.style.setProperty('--collapse-offset', `${collapseOffset}px`);
//     document.body.style.setProperty('--icon-width-offset', `${iconWidthOffset}px`);
//     document.body.style.setProperty('--collapse-pad', `${paddingLeft}px`)
// }

// set offset variable
function setCollapseOffset() {
    // Get the padding values of .dwc-nav__panel__inner
    const panelInner = document.querySelector('.dwc-nav__panel__inner');
    if (!panelInner) return;  // Check if element exists

    const panelStyles = getComputedStyle(panelInner);
    const paddingLeft = parseFloat(panelStyles.paddingLeft);

    // Get the width of .dwc-nav__link__icon
    const iconElement = document.querySelector('.dwc-nav__link__icon');
    if (!iconElement) return;  // Check if element exists

    // Use getBoundingClientRect() which works for both HTML and SVG elements
    const iconRect = iconElement.getBoundingClientRect();
    const iconWidth = iconRect.width;
    const iconWidthOffset = iconWidth / 2;

    // Sum the paddings and icon width
    const collapseOffset = (paddingLeft * offsetMultiplier) + iconWidth;

    // Set the CSS variables on the body
    document.body.style.setProperty('--collapse-offset', `${collapseOffset}px`);
    document.body.style.setProperty('--icon-width-offset', `${iconWidthOffset}px`);
    document.body.style.setProperty('--collapse-pad', `${paddingLeft}px`);
}



//------ SAVE COLLAPASE STATE

function saveCollapseStatus() {
    if (saveCollapseState === 1) {
        const isCollapsed = document.body.classList.contains('dwc-collapse-sidebar');
        // Save the current state to localStorage
        localStorage.setItem('sidebarCollapsed', isCollapsed ? 'true' : 'false');
    }
}

// RESTORE COLLAPSE STATE
function loadCollapseStatus() {
    if (saveCollapseState === 1) {
        const savedState = localStorage.getItem('sidebarCollapsed');

        // If the state exists, apply the correct class to the body
        if (savedState === 'true') {
            document.body.classList.add('dwc-collapse-sidebar');
            // initCollapseContent();
        } else if (savedState === 'false') {
            document.body.classList.remove('dwc-collapse-sidebar');
        }
    }
}

// FUNCTIONS END

// IF COLLAPSE SIDEBAR ENDS


// COLLAPSE SIDEBAR ENDS

// Select the element
const listItem = document.querySelector('.dwc-sidebar__nav__li');

if (listItem) {
    // Get the computed height of the element
    const listItemHeight = listItem.offsetHeight;

    // Set the height as a CSS variable on the body
    document.body.style.setProperty('--list-item-height', `${listItemHeight}px`);
}




    const header = document.querySelector("header");
    const sidebar = document.querySelector('.dwc-sidebar');
    const navTrigger = document.querySelector(".dwc-nav-trigger");
    const closeBtn = document.querySelector(".dwc-sidebar__nav-close-btn");
    const mobileMenuOverlay = document.querySelector(".dwc-mobile-menu-overlay");
    const body = document.body;
    const nav = document.querySelector('.dwc-sidebar__nav');
    const homePanel = document.querySelector('.dwc-sidebar__nav__panel--home');
    const sidebarNavPanels = document.querySelectorAll(".dwc-sidebar__nav__panel");
    const dropdownToggles = document.querySelectorAll('.dwc-sidebar__dropdown-toggle button');
    const dropdownContents = document.querySelectorAll('.dwc-sidebar__dropdown-content');
    const menuLinks = document.querySelectorAll('.dwc-sidebar__nav__li a');
    const offCanvasMobileOnly = offCanvasBreakpoint.matches;
		const savedState = localStorage.getItem('sidebarCollapsed');

    const select = selector => document.querySelectorAll(selector);

    const initInert = () => select('.dwc-sidebar__nav__panel').forEach(nPanel => {

        if (!nPanel.classList.contains('dwc-sidebar__nav__panel--home')) {
            nPanel.inert = true;
        } else if (enableOffCanvas && offCanvasMobileOnly) {
            nPanel.inert = true;
        } else {
            nPanel.inert = false;
        }
    });






    //OPEN FIRST DROP DOWN
    if (openFirstDropDown) {
        setTimeout(function () {
            dropdownToggles[0].click();
        }, 600);
    }

    // Get DROPWDOWN LEVELS
    if(dropdownContents){
    dropdownContents.forEach(function (element) {
        let level = 1;
        let parent = element.parentElement.closest('.dwc-sidebar__dropdown-content');

        // Calculate the level by checking the number of ancestors
        while (parent) {
            level++;
            parent = parent.parentElement.closest('.dwc-sidebar__dropdown-content');
        }

        // Assign the appropriate level class to the dropdown content
        element.classList.add(`level-${level}`);

        // Find the previous sibling with the class .dwc-sidebar__dropdown-toggle
        const previousToggle = element.previousElementSibling;

        // Check if the previous sibling is a dropdown toggle and assign the level class
        if (previousToggle && previousToggle.classList.contains('dwc-sidebar__dropdown-toggle')) {
            previousToggle.classList.add(`level-${level}`);
        }
    });
}



    // CURRENT MENU ITEM ****************


    // Get the current page address without trailing slash
    var currentPage = window.location.pathname.replace(/\/$/, '');

    for (var i = 0; i < menuLinks.length; i++) {
        var link = menuLinks[i];

        // Extract the pathname from the link's href attribute without trailing slash
        var linkPathname = link.href.replace(window.location.origin, '').replace(/\/$/, '');

        // Check if the pathname matches the current page
        if (linkPathname === currentPage) {
            // Add the class 'dwc-current-menu-item' to the matching link
            link.classList.add("dwc-current-menu-item");

            // Break out of the loop since we found the matching link
            break;
        } else {
            // Skip to the next iteration if the link doesn't match
            continue;
        }
    }

    setTimeout(function () {

        if (enableCollapsibleSidebar && (collapseOnPageLoad || savedState === 'true')) { return }

        const currentDropDownLink = document.querySelector('.dwc-current-menu-item.dwc-nav__link__text');
        if (currentDropDownLink) {
            const parent = currentDropDownLink.closest('.dwc-sidebar__dropdown-content');
            if (parent) {
                const toggle = parent.previousElementSibling.querySelector('button');
                if (toggle) {
                    toggle.click();
                }
            }
            setTimeout(function () {
                currentDropDownLink.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
                //console.log(currentDropDownLink);
            }, 500);
        }
    }, 2000);


    // CURRENT MENU ENDS **********

    // CURRENT MENU CHECK - we'll be using this to determine if to reset panels on navTrigger click or not
    var hasCurrentMenu = Array.from(document.querySelectorAll(".dwc-sidebar__nav__link.dwc-current-menu-item")).some(function (link) {
        var parentPanel = link.closest(".dwc-sidebar__nav__panel");
        return !parentPanel || !parentPanel.classList.contains("dwc-sidebar__nav__panel--home");
    });

    // CURRENT CHECK ENDS *********************


    const goHome = () => select('.dwc-sidebar__nav__panel').forEach(nPanel => {
        nPanel.classList.remove('dwc-slide-left');

        if (!nPanel.classList.contains('dwc-sidebar__nav__panel--home')) {
            nPanel.classList.add('dwc-slide-right');
            nPanel.inert = true;
        } else {
            nPanel.inert = false;
            if (header && !mq.matches) {
                header.setAttribute('tabindex', 0);
                header.focus()
            }
        }
        select('.dwc-sidebar__nav__btn:not(.dwc-nav__back-btn)').forEach(sbtn => {
            sbtn.setAttribute('aria-expanded', 'false');
        })
        mobileMenuIsClosed()
        window.addEventListener("resize", mobileMenuIsClosed);
    });
    select('.dwc-nav__home-btn').forEach(hbtn => hbtn.addEventListener('click', goHome));


    nav.addEventListener('keydown', event => {
        if (nav.contains(event.target)) {
            if (event.key === 'Escape') {
                if (body.classList.contains('dwc-slide-nav-open')) {

                    if (navTrigger) {
                        navTrigger.click()
                        navTrigger.focus()
                    }
                    goHome();

                } else {
                    goHome();
                }
            }
        }
    });

    // for Bricks

    const offCanvasBackdrop = document.querySelector('.brx-offcanvas-backdrop');
    isBricks = body.classList.contains('bricks-is-frontend')

    if (isBricks) {

        if (offCanvasBackdrop) {
            offCanvasBackdrop.addEventListener('click', event => {
                if (body.classList.contains('dwc-slide-nav-open')) {
                    navTrigger.click()
                    goHome();
                    if (navTrigger) {
                        navTrigger.focus()
                    }
                } else {
                    goHome();
                }
            });
        }
    }

    //   bricks end



    select('.dwc-sidebar__nav__btn:not(.dwc-nav__back-btn)').forEach(sbtn => {
        sbtn.setAttribute('aria-expanded', 'false');
        sbtn.addEventListener('click', function (e) {
            initCollapseContent();
            dropdownToggles.forEach((togglebtn) => {
                togglebtn.setAttribute('aria-expanded', 'false');
            });
            e.preventDefault();
            e.stopPropagation();
            const targetId = this.getAttribute('data-title');
            const targetElement = document.querySelector(`.dwc-sidebar__nav__panel[data-title="${targetId}"]`);
            const parentPanel = this.closest('.dwc-sidebar__nav__panel');
            targetElement.classList.remove('dwc-slide-right');
            targetElement.inert = false;
            targetElement.setAttribute('tabindex', 0);
            targetElement.focus();
            ariaExpanded = !targetElement.classList.contains('dwc-slide-right');
            sbtn.setAttribute('aria-expanded', ariaExpanded);
            select('.dwc-nav__back-btn').forEach(bbtn => {
                bbtn.addEventListener('click', function (e) {
                    ariaExpanded = !targetElement.classList.contains('dwc-slide-right');
                    sbtn.setAttribute('aria-expanded', ariaExpanded);
                })
            })
            if (!parentPanel.classList.contains('dwc-slide-right')) {
                parentPanel.classList.add('dwc-slide-left');
                parentPanel.inert = true;
            }

            //handle back button data-title and back to feature
            let bbtn = targetElement.querySelector('.dwc-nav__back-btn');
            bbtnTitle = parentPanel.getAttribute('data-title');
            bbtn.setAttribute('data-title', bbtnTitle);
            bbtn.setAttribute('aria-label', 'Go back to ' + bbtnTitle + ' menu');
            //console.log(bbtnTitle)

            if (updateBackText) {
                bbtn.querySelector('.dwc-nav__back__text').textContent = 'back to ' + bbtnTitle;
            }

        });
    })
    select('.dwc-nav__back-btn').forEach(bbtn => {
        const btnTitle = bbtn.getAttribute('data-title');
        bbtn.addEventListener('click', function (e) {
            e.preventDefault();
            e.stopPropagation();
            const returnBtnAttr = this.getAttribute('data-title');
            select('[data-title].dwc-sidebar__nav__panel').forEach(returnTarget => {
                if (returnTarget.getAttribute('data-title') === returnBtnAttr) {
                    returnTarget.classList.remove('dwc-slide-left');
                    returnTarget.inert = false;
                    if (returnTarget.classList.contains('dwc-sidebar__nav__panel--home')) {

                        if (header) {
                            header.setAttribute('tabindex', 0);
                            header.focus()
                        }
                    } else {
                        returnTarget.setAttribute('tabindex', 0);
                        returnTarget.focus();
                    }
                    if (returnTarget.classList.contains('dwc-slide-right')) {
                        returnTarget.classList.remove('dwc-slide-right');
                    }
                }
            });
            const parentPanel = this.closest('.dwc-sidebar__nav__panel');
            parentPanel.classList.add('dwc-slide-right');
            parentPanel.inert = true;
        });

    });
    select('.dwc-sidebar__nav__panel').forEach(panel => {
        const panelTitle = panel.getAttribute('data-title');
        panel.setAttribute('aria-label', panelTitle + ' menu');
    });

    // mobile trigger
    function mobileMenuIsClosed() {
        const offCanvasMobileOnly = offCanvasBreakpoint.matches;

        if (mq.matches || enableOffCanvas) {
            const isNavOpen = body.classList.contains("dwc-slide-nav-open");
            navTrigger.setAttribute("aria-expanded", isNavOpen);

            //  console.log(isNavOpen);

            if (isNavOpen) {
                if (!homePanel.classList.contains('dwc-slide-left')) {
                    homePanel.inert = false;
                }
            } else if (offCanvasMobileOnly && mq.matches) {
                homePanel.inert = true;  // Direct assignment for closed state
            } else {
                homePanel.inert = false;
            }
        } else {
            homePanel.inert = false;
        }
    }



    function setNoScroll() {

        let noScrollTimeout;
        let clickCount = 1;
        let isNavOpen = body.classList.contains('dwc-slide-nav-open');

        // Check if 'dwc-slide-nav-open' class is applied
        if (isNavOpen) {
            body.classList.add('dwc-no-scroll');
            clickCount++;
        } else {
            clickCount = 0;
        }
        //console.log(clickCount)


        // Toggle 'dwc-no-scroll' class on the body if clickCount is odd
        if (clickCount == 0) {

            // Set a timer to remove 'dwc-no-scroll' class after 0.8 seconds

            noScrollTimeout = setTimeout(() => {
                isNavOpen = body.classList.contains('dwc-slide-nav-open');
                // console.log(isNavOpen)
                if (!isNavOpen) {
                    body.classList.remove('dwc-no-scroll');
                }
            }, 900);

        } else {
            // If 'dwc-no-scroll' class is removed by clicking again, clear the timeout
            clearTimeout(noScrollTimeout);
        }
    }


    if (navTrigger) {
        navTrigger.addEventListener("click", function () {
            body.classList.toggle("dwc-slide-nav-open");
            setNoScroll()
            mobileMenuIsClosed()
            if (!hasCurrentMenu && !autoCurrentPosition) {
                initCollapseContent()
                goHome();// watch out for this, could be problematic  
            }
            dropdownToggles.forEach((togglebtn) => {
                // togglebtn.setAttribute('aria-expanded', 'false');
            });
        });
    }
    if (mobileMenuOverlay) {
        mobileMenuOverlay.addEventListener("click", function () {
            body.classList.remove("dwc-slide-nav-open");
            mobileMenuIsClosed()
            setNoScroll()
            if (!hasCurrentMenu && !autoCurrentPosition) {
                initCollapseContent()
                goHome()
            }
        });
    }

    if (closeBtn) {
        closeBtn.addEventListener("click", function () {
            body.classList.remove("dwc-slide-nav-open");
            mobileMenuIsClosed()
            setNoScroll()
            navTrigger.focus();
            if (!hasCurrentMenu && !autoCurrentPosition) {
                initCollapseContent()
                goHome()
            }
        });
    }

    //focus on mobile trigger when menu loses focus
    mobileMenuOverlay.addEventListener('focusin', (event) => {
        if (event.relatedTarget !== navTrigger) {
            navTrigger.focus();
        }
    });



    function updateSidebarPadding() {
        if (!enableOffCanvas) {
            // const headerHeight = header.clientHeight + 20;
            setTimeout(() => {
                const headerHeight = document.querySelector('.dwc-header-inner-wrap').clientHeight + 20;
                // Your code to use headerHeight goes here


                sidebarNavPanels.forEach(function (sidebarNavPanel) {
                    sidebarNavPanel.style.paddingTop = headerHeight + "px";
                });
                mobileMenuOverlay.style.marginTop = headerHeight - 20 + "px";
            }, 50);
        }

    }

    function resetPadding() {
        setTimeout(() => {
            sidebarNavPanels.forEach(function (sidebarNavPanel) {
                sidebarNavPanel.style.paddingTop = null;
                mobileMenuOverlay.style.marginTop = null;
            });
        }, 50);
    }

    function checkScreenSize() {
        if (mq.matches) {
            body.classList.add('dwc-mobile');
            updateSidebarPadding();
            //updateTopPadding()          
        } else {
            body.classList.remove('dwc-mobile');
            resetPadding();
            // resetTopPadding()
        }
    }

    // updateTopPadding()

    if (calcHeaderHeight) {
        checkScreenSize();
        window.addEventListener("resize", function () {
            resetTopPadding(); // Reset the top padding on resize
            updateTopPadding()
            checkScreenSize();
            mobileMenuIsClosed();
        });
    }


    initInert()



    //  *********  DROPDOWN TOGGLE FUNCNTIONALITY *******************


    function eCollapseContent(el, btn) {

        // Find the closest common ancestor, such as the <li> element
        const btnParentLi = btn.closest('li');

        dropdownContents.forEach((content) => {
            // Find the closest <li> ancestor for the dropdown content
            const contentParentLi = content.closest('li');

            // Check if the content and the button are at the same level
            const isSameLevel = btnParentLi && contentParentLi && btnParentLi.parentElement === contentParentLi.parentElement;

            // Check if the content is an ancestor of the dropdown toggle being clicked
            const isAncestor = btn && content.contains(btn);

            // Collapse the dropdown if it's not an ancestor of the toggle and is on the same level
            if (!isAncestor && isSameLevel) {
                content.style.maxHeight = '0';
                content.setAttribute('inert', 'true');

                // Update the aria-expanded attribute of the corresponding toggle button
                const correspondingToggle = content.previousElementSibling.querySelector('button');

                if (correspondingToggle) {
                    correspondingToggle.setAttribute('aria-expanded', 'false');
                }

            }
        });

    }


    function initCollapseContent(el, btn) {
        dropdownContents.forEach((content) => {
            content.style.maxHeight = '0';
            content.setAttribute('inert', 'true');
        });
      
       dropdownToggles.forEach((toggle) => {
            toggle.setAttribute('aria-expanded', 'false');
        });

    }



    function collapseContent(el, btn) {

        // Find the closest common ancestor, such as the <li> element
        const btnParentLi = btn.closest('li');

        dropdownContents.forEach((content) => {
            // Find the closest <li> ancestor for the dropdown content
            const contentParentLi = content.closest('li');

            // Check if the content and the button are at the same level
            const isSameLevel = btnParentLi && contentParentLi && btnParentLi.parentElement === contentParentLi.parentElement;

            // Check if the content is an ancestor of the dropdown toggle being clicked
            const isAncestor = btn && content.contains(btn);

            // Collapse the dropdown if it's not an ancestor of the toggle and is on the same level
            if (!isAncestor && isSameLevel) {
                content.style.maxHeight = '0';
                content.setAttribute('inert', 'true');

            }
        });

    }


    // Toggle the ARIA attributes for dropdown buttons
    function toggleAriaExpanded(activeToggle) {

        // If activeToggle is null, reset all buttons to 'false'
        if (activeToggle === null) {
            dropdownToggles.forEach((toggle) => {
                toggle.setAttribute('aria-expanded', 'false');
            });
            return; // Exit the function early since there's nothing else to do
        }

        dropdownToggles.forEach((toggle) => {
            if (toggle === activeToggle) {
                // Toggle the aria-expanded attribute for the clicked button
                const isOpen = toggle.getAttribute('aria-expanded') === 'true';
                toggle.setAttribute('aria-expanded', isOpen ? 'false' : 'true');
            } else {
                // Check if the toggle's parent is a sibling to the activeToggle's parent
                const toggleParent = toggle.closest('li');
                const activeToggleParent = activeToggle.closest('li');
                //  console.log('toggle parent', toggleParent)
                // console.log('active toggle parent', activeToggleParent)

                if (toggleParent && activeToggleParent && toggleParent.parentElement === activeToggleParent.parentElement) {
                    // Set all other buttons' aria-expanded to false if their parent is a sibling to the activeToggle's parent
                    toggle.setAttribute('aria-expanded', 'false');
                }
            }
        });
    }


    // Function to adjust the max-height of parent dropdowns when a nested dropdown is opened
    function adjustDropdownHeight(dropdownContent) {
        // Start with the nearest ancestor that is a dropdown content
        let parent = dropdownContent.closest('.dwc-sidebar__dropdown-content');


        while (parent) {
            // Calculate the cumulative height of all open children
            let totalHeight = Array.from(parent.children).reduce((total, child) => {
                // Add the child scrollHeight to the total if it's open
                total += child.scrollHeight;
                return total;
            }, 0);

            // Move to the next ancestor that is a dropdown content
            parent = parent.parentElement.closest('.dwc-sidebar__dropdown-content');
            if (parent) {
                parentHeight = parent.scrollHeight;
                // Set the parent's max-height to the total calculated height
                parent.style.maxHeight = `${totalHeight + parentHeight}px`;
                //   console.log('child: ', dropdownContent)
                //   	console.log('parent: ', parent)
                //   console.log(`${totalHeight}px`)
                parent.inert = false;

                // console.log('parent new: ', parent)

                const parentParent = parent.closest('li')
                const toggle = parentParent.querySelector('.dwc-sidebar__dropdown-toggle button')
                toggle.setAttribute('aria-expanded', 'true');
            }
        }
    }

    // Initialize dropdowns
    function initializeDropdowns() {
        if(dropdownToggles){
        initCollapseContent();

        dropdownToggles.forEach((toggle, index) => {
            toggle.setAttribute('aria-expanded', 'false');

            const dropdownContent = dropdownContents[index];
            const parentDropdown = toggle.closest('.dwc-sidebar__dropdown');
            const dropdownLink = parentDropdown.querySelector('.dwc-nav__link__text');
            
            if(dropdownLink){
            toggle.setAttribute('aria-label', `Toggle ${dropdownLink.textContent} dropdown`);
            }

            toggle.addEventListener('click', function () {
                const isOpen = dropdownContent.style.maxHeight !== '0px';

                collapseContent(dropdownContent, this);

                if (!isOpen) {
                    dropdownContent.inert = false;
                }

                toggleAriaExpanded(this);

                if (parentDropdown.contains(this)) {
                    dropdownContent.style.maxHeight = isOpen ? '0' : `${dropdownContent.scrollHeight}px`;

                    // Only adjust if opening the dropdown
                    if (!isOpen) {
                        adjustDropdownHeight(dropdownContent);
                        //console.log('other child', dropdownContent)
                    }
                }
            });

            toggle.addEventListener('keydown', (event) => {
                closeDropdownOnEscape(event, toggle);
            });
        });
    }
    }


    // Close dropdowns on Escape key press
    function closeDropdownOnEscape(event, el) {
        if (event.key === 'Escape' && el.contains(event.target)) {
            event.stopPropagation();

            if (el.style.maxHeight !== '0px') {
                const button = el.previousElementSibling.querySelector('button');

                if (button) {
                    el.style.maxHeight = '0';
                    el.inert = true;
                    button.focus();
                } else {
                    initCollapseContent();
                    el.focus();
                }

                toggleAriaExpanded(null); // Reset all buttons to 'false'
            }
        }
    }

    // Initialize dropdowns
    initializeDropdowns();


    dropdownContents.forEach((dropdownContent) => {
        // Add event listeners for closing dropdowns on Escape key press
        dropdownContent.addEventListener('keydown', (event) => {
            closeDropdownOnEscape(event, dropdownContent);
        });

        // close dropdown on focus lost

        if (autoCloseDropdown) {
            const links = dropdownContent.querySelectorAll('a.dwc-nav__link__text');

            links.forEach(link => {
                const linkParent = link.closest('.dwc-sidebar__dropdown-content');
                const dropDownButton = linkParent.previousElementSibling.querySelector('button')

                link.addEventListener('blur', () => {


                    setTimeout(function () {
                        if ([...links].every(link => !document.activeElement.isSameNode(link))) {

                            eCollapseContent(dropdownContent, dropDownButton)

                        }
                    }, 50);
                });
            });
        }
    });



    // AUTOMATIC MENU POSITION

    function autoMenuPosition() {
      
      if (enableCollapsibleSidebar && (collapseOnPageLoad || savedState === 'true')) { return }
      
        // Select the current menu item
        const currentMenuItem = document.querySelector('.dwc-current-menu-item');

        // Select the parent panel of the current menu item
        if (currentMenuItem) {
            const parentPanel = currentMenuItem.closest('.dwc-sidebar__nav__panel');
            const parentIsHome = parentPanel.classList.contains('dwc-sidebar__nav__panel--home')

            // Check if the parent panel has the 'dwc-sidebar__nav__panel--home' class
            if (!parentIsHome) {
                // Select the back button in the current menu's parent panel
                const backButton = parentPanel.querySelector('.dwc-nav__back-btn');

                // Remove the class 'dwc-slide-right' from the current menu's parent panel
                parentPanel.classList.remove('dwc-slide-right');

                // Get the data-title attribute of the current menu's parent panel

                // Loop through all panels with class .dwc-sidebar__nav__panel
                const allPanels = document.querySelectorAll('.dwc-sidebar__nav__panel');

                // Select all slide buttons .dwc-sidebar__nav__btn of each panel
                const slideButtons = document.querySelectorAll('.dwc-sidebar__nav__btn:not(.dwc-nav__back-btn)');

                slideButtons.forEach((slideButton) => {

                    allPanels.forEach((panel) => {

                        // Get the data-title attribute of the panel
                        const eachPanelTitle = panel.getAttribute('data-title');
                        // Get the back button in each of the panels
                        const panelBackButton = panel.querySelector('.dwc-nav__back-btn');

                        const slideTitle = slideButton.getAttribute('data-title')


                        if (slideTitle === eachPanelTitle) {
                            //get slide button parent
                            const slideParentPanel = slideButton.closest('.dwc-sidebar__nav__panel');
                            //get slide parent titlte attribute
                            const slideParentTitle = slideParentPanel.getAttribute('data-title')
                            // Set the back button data-title attribute to be equal to the data-title attribute of the slide parent panel
                            panelBackButton.setAttribute('data-title', slideParentTitle);
                            if(updateBackText){
                                panelBackButton.querySelector('.dwc-nav__back__text').textContent = 'back to ' + slideParentTitle
                            }
                            
                        }
                    });

                });

                homePanel.classList.add('dwc-slide-left');
            }
            if (!parentIsHome) {
                parentPanel.inert = false;
                homePanel.inert = true;
            }

            repositionReturnTargets()

        }
    }

    if (autoCurrentPosition) {
        setTimeout(function () {
            autoMenuPosition()
        }, 1000);
    }


    //function to reposition the hidden slides after automatically moving to current menu item panel
    // to put them in the right position to slide back to
    function repositionReturnTargets() {

        const panels = document.querySelectorAll('.dwc-sidebar__nav__panel:not(.dwc-sidebar__nav__panel--home)');
        let activePanel;

        // Find the first panel without 'dwc-slide-right' and 'dwc-slide-left' classes
        for (const panel of panels) {
            if (!panel.classList.contains('dwc-slide-right') && !panel.classList.contains('dwc-slide-left')) {
                activePanel = panel;
                break;
            }
        }

        let returnTarget;

        while (activePanel) {
            //  Get the data-title attribute of each panel
            const panelTitles = Array.from(panels).map(panel => panel.getAttribute('data-title'));

            //  Select the active back button in the active panel
            const activeBackButton = activePanel.querySelector('.dwc-nav__back-btn');

            // Find the returnTarget panel
            returnTarget = Array.from(panels).find(panel => panel.getAttribute('data-title') === activeBackButton.getAttribute('data-title'));

            // Remove and add classes to the returnTarget
            if (returnTarget) {
                returnTarget.classList.remove('dwc-slide-right');
                returnTarget.classList.add('dwc-slide-left');
            }

            // Update activePanel for the next iteration
            activePanel = returnTarget;
        }
    }

    // *********AUTOMATIC ENDS************





    // **************OFFCANVAS *****************

    document.addEventListener('DOMContentLoaded', () => {
    if (offCanvasPushContent) {

        // Create a new div element with the class "site-wrapper"
        var siteWrapper = document.createElement('div');
        siteWrapper.className = 'dwc-site-wrapper';
        // Move everything within the body tag into the "site-wrapper" div
        while (document.body.firstChild) {
            siteWrapper.appendChild(document.body.firstChild);
        }
        // Add the "site-wrapper" div back to the body
        document.body.appendChild(siteWrapper);
    }
})

    function offCanvasInit() {

        if (enableOffCanvas && offCanvasBreakpoint.matches) {
            document.body.classList.add('dwc-offcanvas');
            // console.log('offcanvas - 2')

            if (offCanvasPushContent) {
                document.body.classList.add('dwc-push-content');
                if (fixedNavTrigger && !mq.matches) {
                    document.body.classList.add('dwc-nav-trigger-is-fixed');
                } else {
                    document.body.classList.remove('dwc-nav-trigger-is-fixed');
                }

            }

            // Function to check if header element is focusable
            function isFocusable(element) {
                const focusableTags = ['A', 'BUTTON', 'INPUT', 'SELECT', 'TEXTAREA', 'AREA'];
                return (
                    focusableTags.includes(element.tagName) ||
                    element.hasAttribute('tabindex') ||
                    element.hasAttribute('contenteditable')
                );
            }


            // Function to set inert attribute for focusable elements
            function setInertForFocusableElements(inertValue) {
                const allElements = document.querySelectorAll('.dwc-header-inner-wrap *');
                const focusableElements = Array.from(allElements).filter(element => {
                    return isFocusable(element) && !element.classList.contains('dwc-nav-trigger');
                });

                focusableElements.forEach(element => {
                    if (element) {
                        element.inert = inertValue;
                    }
                });
            }

            // Click event listener for the 'nav-trigger'

            header.addEventListener('click', function () {
                const isNavOpen = document.body.classList.contains('dwc-slide-nav-open');

                // Check if the body contains the class 'dwc-slide-nav-open'
                if (isNavOpen) {
                    // Condition is true, set inert=true
                    setInertForFocusableElements(isNavOpen);
                } else {
                    // Condition is false, set inert=false
                    setInertForFocusableElements(isNavOpen);
                }
            });

        } else {
            document.body.classList.remove('dwc-push-content');
            document.body.classList.remove('dwc-offcanvas');
        }

    }
    offCanvasInit()
    window.addEventListener("resize", offCanvasInit);


    //close offcanvas when haslink is clicked



    if (enableOffCanvas) {
        const sidebarLinks = document.querySelectorAll('a.dwc-sidebar__nav__link');

        // Filter links with hash in the href attribute
        const hashLinks = Array.from(sidebarLinks).filter(link => link.getAttribute('href').includes('#'));

        // Add click event listener to each hash link
        hashLinks.forEach(link => {
            link.addEventListener('click', function (event) {
                //   event.preventDefault(); // Prevent the default behavior of the link (e.g., navigating to the hash)

                // Perform a click action on the navTrigger button

                if (navTrigger) {
                    navTrigger.click();
                }
            });
        });
    }




    // headroom:
    // headroom:
function initializeHeadroom() {
    if (enableHeadroom && (enableOffCanvas || enableTopBar)) {

        if (offCanvasPushContent) return; // Early exit if offCanvasPushContent is true

        document.body.classList.add('dwc-headroom');
        const scrollUp = "scroll-up";
        const scrollDown = "scroll-down";
        let lastScroll = 0;

        // Check for scroll action
        window.addEventListener('scroll', () => {
            // Hide and reveal header
            const currentScroll = window.pageYOffset;
            if (currentScroll <= 200) {
                document.body.classList.remove(scrollUp);
                return;
            }

            if (currentScroll > lastScroll && !document.body.classList.contains(scrollDown)) {
                // Down
                document.body.classList.remove(scrollUp);
                document.body.classList.add(scrollDown);
            } else if (currentScroll < lastScroll && document.body.classList.contains(scrollDown)) {
                // Up
                document.body.classList.remove(scrollDown);
                document.body.classList.add(scrollUp);
            }
            lastScroll = currentScroll;
        });
    }
}

// Call the function to initialize headroom functionality
initializeHeadroom();

    // End scroll action


    //top Padding on first containers

    function updateTopPadding() {

        // Run the function if offCanvas is enabled or both topBar and headroom are enabled
        if (!enableOffCanvas && !(enableTopBar && enableHeadroom)) {
            return; // Exit early if neither condition is met
        }

        // Check if the media query strings for mq and offCanvasBreakpoint are the same
        if (mq.media === offCanvasBreakpoint.media) {
            // If the breakpoints are the same, run the function only if we're within the breakpoint
            if (mq.matches) {
                // Ensure the feature should run based on the configuration flags
                if (calcTopPadding && (enableHeadroom || enableTopBar)) {
                    // Check if the sidebar exists
                    if (sidebar) {
                        const header = document.querySelector('.dwc-header-inner-wrap');
                        if (header) {
                            const offsetPadding = header.clientHeight;

                            // Update padding for each sidebar panel
                            sidebarNavPanels.forEach(function (sidebarNavPanel) {
                                sidebarNavPanel.style.paddingTop = offsetPadding + "px";
                            });

                            // Adjust the top padding for the first child of the main container
                            const mainFirstChild = document.querySelector('main')?.firstElementChild;
                            if (mainFirstChild) {
                                const initialPadding = parseInt(window.getComputedStyle(mainFirstChild).paddingBottom) || 0;
                                if(!offCanvasPushContent){
                                    mainFirstChild.style.paddingTop = (offsetPadding + initialPadding) + 'px'; 
                                 }
                            }
                        } else {
                            console.warn('.dwc-header-inner-wrap not found.');
                        }
                    } else {
                        console.warn('Sidebar not found.');
                    }
                }
            }
        } else {
            // If the breakpoints are different, run the function as originally intended
            if (calcTopPadding && (enableHeadroom || enableTopBar)) {
                // Check if the sidebar exists
                if (sidebar) {
                    const header = document.querySelector('.dwc-header-inner-wrap');
                    if (header) {
                        const offsetPadding = header.clientHeight;

                        // Update padding for each sidebar panel
                        sidebarNavPanels.forEach(function (sidebarNavPanel) {
                            sidebarNavPanel.style.paddingTop = offsetPadding + "px";
                        });

                        // Adjust the top padding for the first child of the main container
                        const mainFirstChild = document.querySelector('main')?.firstElementChild;
                        if (mainFirstChild) {
                            const initialPadding = parseInt(window.getComputedStyle(mainFirstChild).paddingBottom) || 0;
                            if(!offCanvasPushContent){
                               mainFirstChild.style.paddingTop = (offsetPadding + initialPadding) + 'px'; 
                            }
                            
                        }
                    } else {
                        console.warn('.dwc-header-inner-wrap not found.');
                    }
                } else {
                    console.warn('Sidebar not found.');
                }
            }
        }
    }




    function resetTopPadding() {
        if (calcTopPadding && enableHeadroom) {
            sidebarNavPanels.forEach(function (sidebarNavPanel) {
                sidebarNavPanel.style.paddingTop = null;
            });

            const mainFirstChild = document.querySelector('main').firstElementChild;
            if (mainFirstChild) {
                mainFirstChild.style.paddingTop = null;
                // Reset the paddingTop using the stored initialPadding
                const initialPadding = parseInt(window.getComputedStyle(mainFirstChild).paddingBottom);

                mainFirstChild.style.paddingTop = null;
            }
        }
    }

    //---top padding end

// Disable / Enable collapse on screen size change
let removedByMQ = false;  // Track if the class was removed by the media query

function updateCollapseStatus() {
    const currentlyCollapsed = document.body.classList.contains('dwc-collapse-sidebar');  // Check the current state

    if (mq.matches) {
        // If media query matches (max-width: 1024px), remove the class
        if (currentlyCollapsed) {
            document.body.classList.remove('dwc-collapse-sidebar');
            removedByMQ = true;  // Remember that MQ logic removed the class
            saveCollapseStatus();  // Save the updated state after toggling
        }
    } else {
        // If media query doesn't match, only add back if it was removed by this MQ logic
        if (removedByMQ) {
            document.body.classList.add('dwc-collapse-sidebar');
            removedByMQ = false;  // Reset the flag after re-adding
            saveCollapseStatus();  // Save the updated state after toggling
        }
    }
}

    //Document loaded end


//});


// --- ADD HEADER HEIGHT VARIABLE TO BODY ----

function debounce(func, delay) {
    let timeoutId;

    return function (...args) {
        clearTimeout(timeoutId);
        timeoutId = setTimeout(() => {
            func.apply(this, args);
        }, delay);
    };
}

// Your existing code for adding the 'hasHeaderHeight' class
function addHeaderHeightClass() {


    if (!document.body) {
        // Body doesn't exist, keep checking 
        setTimeout(addHeaderHeightClass, 0);
        return;
    }

    let hasHeaderHeight = document.body.classList.contains('hasHeaderHeight');
    let header = document.querySelector('header');

    if (!hasHeaderHeight && header) {
        // Header exists, add the 'hasHeaderHeight' class
        document.body.classList.add('hasHeaderHeight');

        // Get the initial header height
        updateHeaderHeight();
    } else if (!hasHeaderHeight && !header) {
        // Header doesn't exist, keep checking 
        setTimeout(addHeaderHeightClass, 0);
    }
}

// Function to update header height and set the CSS variable
function updateHeaderHeight() {
    let sidebar = document.querySelector('.dwc-header-inner-wrap');


    if (document.body) {
        let headerHeight = sidebar.offsetHeight;
        document.body.style.setProperty('--dwc-header-height', `${headerHeight}px`);
    }
}

// Add the 'hasHeaderHeight' class and set initial header height
addHeaderHeightClass();

// Attach the debounced update function to the window resize event

function onResize() {
    updateHeaderHeight();
    updateCollapseStatus();
    // Add more functions here
}

window.addEventListener('resize', debounce(onResize, 50));
document.addEventListener('DOMContentLoaded', () => {
    updateHeaderHeight();
    updateTopPadding()
})



// -------HEADER HEIGHT ENDS -------------

// Smooth scroll to hashlink with an offset
function smoothScroll(target, offset) {
    const targetElement = document.querySelector(target);
    if (targetElement) {

        const targetPosition = targetElement.getBoundingClientRect().top -
            document.body.getBoundingClientRect().top -
            offset;
        window.scrollTo({
            top: targetPosition,
            behavior: 'smooth'
        });

    }
}

// Listen for hash link clicks
if (offsetHashLinkScroll) {
    document.querySelectorAll('a[href^="#"]').forEach(anchor => {
        anchor.addEventListener('click', function (e) {
            var headerElement = document.querySelector('.dwc-header-inner-wrap');
            var offset = headerElement.offsetHeight;
            e.preventDefault();
            event.stopPropagation();
            const href = this.getAttribute('href');
            smoothScroll(href, offset);
        });
    });
}




Symposium – Re-membering Gregory Bateson

Dit symposium is bedoeld voor iedereen die interesse heeft in het systemisch denken, en in het bijzonder het systemisch gedachtegoed van Gregory Bateson. Zoals therapeuten/systeemtherapeuten, zorgprofessionals, leerkrachten & bestuurders in organisaties en het maatschappelijk domein.

We hebben Nora Bateson, dochter van Gregory Bateson en maakster van de documentaire ‘An ecology of Mind’ bereid gevonden om als keynote spreker een inleiding in het systemisch denken van haar vader te geven. Ook zal ze in haar lezing vertellen over haar eigen ontwikkeling en de transformatie van het systemisch denken naar de huidige tijd, onder andere over haar ‘warm data labs’.

We zijn blij met een team van sprekers die verschillende ingangen tot het systemisch denken van Bateson zullen nemen, zoals de antropologie, de cybernetica, de filosofie, de ecosystemische benadering en de systeemtherapie.

Sprekers
Nora Bateson, Frans Boeckhorst, Gerrit Loots, Ton Maas, Ellen Reijmers, Dirck van Bekkum, Robert van Hennik & Caroline Wiedenhof

Dagvoorzitters
Jan Olthof & Jasmina Sermijn

Muzikale, beeldende en poëtische intermezzo’s
Gumba New Orleans Jazz Band & Thomas Eyskens

Dagprogramma
9.00 uur: Aanmelding/koffie/thee
9.30 uur: Intrede met muziek van de Gumba New Orleans Jazz Band
9.30-9.45 uur: Welkom en introductie door Jan Olthof & Jasmina Sermijn
9.45- 10.00 uur: interview Nora Bateson door Jan Olthof
10.00- 10.45 uur: Keynote lezing door Nora Bateson
10.45 -11.20 uur: Pauze
11.20-12.00 uur: Introductie Jan Olthof & lezing Frans Boeckhorst
12.00 -12.10 uur: Poëtisch en beeldend intermezzo door Thomas Eyskens
12.10-12.50 uur: Introductie Jasmina Sermijn & lezing Ellen Reijmers
12.50 -13.45 uur: Lunchpauze
13.45-14.30 uur: Introductie Jan Olthof & lezing Robert van Hennik & Caroline Wiedenhof
14.30 -14.40 uur: Poëtisch en beeldend intermezzo door Thomas Eyskens
14.40-15.20 uur: Introductie Jasmina Sermijn & lezing Dirck van Bekkum
15.20-15.45 uur: Pauze
15.45-16.25 uur: Introductie Jan Olthof & lezing Ton Maas
16.25-16.45 uur: Samenvatting van de dag en reflectie door Gerrit Loots
16.45-17.00 uur: Gezamenlijke afsluiting

Nora Bateson, Een ode aan complexiteit.

Nora Bateson is de dochter van Gregory Bateson, directeur van het internationeel Bateson Instituut in Zweden en maakster van o.m. de documentaire ‘An ecology of Mind’. Zij geeft een inleiding in het systemisch denken van haar vader en vertelt in haar lezing over haar eigen ontwikkeling en de transformatie van het systemisch denken naar de huidige tijd, onder andere via haar ‘warm data labs’. Haar werk vertrekt vanuit de basisvraag: ‘Hoe kunnen we de perceptie van de complexiteit waarin we leven verbeteren, zodat we onze interactie met de wereld waarin we leven verbeteren?’

Frans Boeckhorst, Reflexieve Spiegelingen van de Tijd.

Veel cybernetisch-systemische inzichten zijn op ruimtelijke metaforen gebaseerd, zoals patroon, structuur, afgrenzing, omgeving. In deze lezing richt ik de aandacht op tijd en temporaliteit (tijdstructuren, ritmes, tempo’s, routines), op de spiegelingen van de tijd waarin rechtlijnigheid en kringlopen reflexief met elkaar samen spelen. Ons alledaagse leven speelt zich af in een niet-systemische tijd. Het is de rechtlijnige kloktijd, die ons leven reguleert en stuurt. Kloktijd is rechtlijnig, onomkeerbaar, beweegt zich voorwaarts en is op de toekomst gericht. De systemisch-cybernetische opvatting van tijd is een kringloop. Kringlooptijd is circulair, omkeerbaar, herhalend en zonder doel. Rechtlijnige (lineaire) tijd en kringloop (circulaire) tijd worden door systemische therapeuten vaak als tegenstellingen gezien. Bateson laat in zijn werk zien dat daar een denkfout inzit en dat voortbestaan een continue proces is van interactie met en aanpassing aan de omgeving waarin continuïteit (stabiliteit) en discontinuïteit (verstoring, nieuws, ruis) samenspelen. Daardoor kunnen individuen, mensen, groepen, organisaties zowel zichzelf blijven als veranderen. Het is de klassieke paradox van ‘sameness-in-change’.

Frans Boeckhorst is psycholoog, systeempsychotherapeut en opleider en supervisor in de systeemtherapie.

Thomas Eyskens, Poëtisch en beeldend intermezzo.

We can give to each other in poetry the access to a set of relationships in the other person and in the world that we’re not usually conscious of in ourselves.” (Gregory Bateson)

Als intermezzo brengt Thomas Eyskens een aantal gedichten en beelden die je op een Batesoniaanse wijze anders naar de werkelijkheid laten kijken. Poëzie leert ons anders kijken, opnieuw zien, zien alsof je voor het eerst kijkt. Doordat poëzie gebeurtenissen, situaties, objecten en subjecten in een andere context plaatst, krijgen ze een nieuwe en vaak verrassende betekenis. Door middel van metaforen, vergelijkingen, paradoxen en ritme biedt zij ons een toegang tot een ruimte die vaak door het bewustzijn niet wordt belicht.

Thomas Eyskens (1976) studeerde filosofie en journalistiek in Brussel en werkt als researcher en archivaris voor de Vlaamse openbare omroep VRT. Hij organiseert  literaire wandelingen in Mechelen,  schreef  de biografie van de Vlaamse dichter Herman de Coninck en  schrijft zelf gedichten. 

Ellen Reijmers, Spelen is als spreken.

Wat hebben spelende dolfijnen en chimpansees met therapie te maken? Voor Bateson was het antwoord kort en bondig: “Veel”! In deze lezing zal ik dieper ingaan op zijn ideeën over de betekenis van spel en welke betekenis deze visie kan hebben voor therapie. Zijn “out of the box” benadering is niet alleen verrassend, ze zorgt er ook voor dat de betekenis van spel uit het keurslijf van ‘het moeten weten’ wordt gehaald. Spelen is immers net als spreken: relationeel, beweeglijk, meerduidig en verbonden met verschillende contexten. Met deze visie in gedachten kunnen systeemtherapeuten zich comfortabel voelen als ze spel therapeutisch inzetten.

Ellen Reijmers is directeur van de Interactie Academie in Antwerpen. Ze is klinisch psycholoog, systeempsychotherapeut, opleider en supervisor in de systeemtherapie.

Robert van Hennik & Caroline Wiedenhof, Ecosystemische benaderingen bij complexe maatschappelijke opgaven.

Complexiteit ontstaat wanneer interacties tussen deelnemers verstrikt raken onder invloed van meerdere, elkaar versterkende invloeden. Het ontbreken van een duidelijk verband tussen oorzaak en gevolg verwart en het maakt dat eenduidige, voor de hand liggende oplossingen tekort schieten. Ecologie betekent leer (logos) van de huishouding (oikos) van de natuur. Gregory Bateson (1972) sprak in zijn werk over drie niet te scheiden ecologieën: het mentale, het sociale en de leefomgeving. Bij een ecosystemische benadering wordt een opgave of vraagstuk losjes onderzocht in en tussen verschillende contexten, met meerdere professioneel en sociaal betrokkenen, vanuit diverse kennisdomeinen en ervaringen. In multi-logen wordt er collectief adaptief, stapje voor stapje, feedback gestuurd geleerd en samengewerkt. Robert en Caroline vertellen hoe een ecosystemische benadering passend kan zijn bij opgaven en vraagstukken in hun beroepspraktijk. Daarbij reflecteren ze ook samen op hun ervaringen met een warm-data-lab dat, onder leiding van Nora Bateson, gehouden werd met ambtenaren die werkzaam zijn bij de rijksoverheid.

Dirck van Bekkum, Samen transformeren in communitas. Uiteenvallen en weer samenkomen van beschadigde families.

Re-membering Bateson … Hoe kunnen we Batesons denken her-inneren en actualiseren in ons werken met families? Centraal daarbij staat de idee dat complexiteit van leven op aarde, waaronder ook het leven van families en gemeenschappen, nooit volledig rationeel vatbaar is. In deze lezing focus ik op mijn decennialange onderzoek naar verbanden tussen werkzame ingrediënten in inheemse rituelen en succesvolle systeemtherapeutische trajecten. Daarbij begeven we ons op de grensgebieden tussen antropologie en systeemtherapie waarin Bateson werkte en leren we hoe transculturele bevindingen ons kunnen helpen in het begrijpen van het on-taalbare, non-verbale en collectief helende centraal. Humor, zelfironie, kunst, poëzie, zang, dans zijn daarbij belangrijke metaforen en een abductieve vergelijking van Bateson’s denken met dat van antropoloog Victor Turner maakt processen van des-integratie en re-integratie van families én zichtbaar én toepasbaar in systeemtherapeutische contexten.

Dirck van Bekkum is klinisch antropoloog en werkte jarenlang in de klinische psychiatrie met jonge mannen en hun families. Daarnaast is hij opleider in Jeugdzorg en GGZ-contexten.

Ton Maas, Ideale fouten en foute Idealen.

Complexiteit ontstaat wanneer interacties tussen deelnemers verstrikt raken onder invloed van meerdere, elkaar versterkende invloeden. Het ontbreken van een duidelijk verband tussen oorzaak en gevolg verwart en het maakt dat eenduidige, voor de hand liggende oplossingen tekort schieten. Ecologie betekent leer (logos) van de huishouding (oikos) van de natuur. Gregory Bateson (1972) sprak in zijn werk over drie niet te scheiden ecologieën: het mentale, het sociale en de leefomgeving. Bij een ecosystemische benadering wordt een opgave of vraagstuk losjes onderzocht in en tussen verschillende contexten, met meerdere professioneel en sociaal betrokkenen, vanuit diverse kennisdomeinen en ervaringen. In multi-logen wordt er collectief adaptief, stapje voor stapje, feedback gestuurd geleerd en samengewerkt. Robert en Caroline vertellen hoe een ecosystemische benadering passend kan zijn bij opgaven en vraagstukken in hun beroepspraktijk. Daarbij reflecteren ze ook samen op hun ervaringen met een warm-data-lab dat, onder leiding van Nora Bateson, gehouden werd met ambtenaren die werkzaam zijn bij de rijksoverheid.

Gerrit Loots, Jan Olthof en Jasmina Sermijn

Reflecteren samen in dialoog op deze dag en denken na over de invloed op de praktijk van de systeemtherapie.

Gerrit Loots is professor emeritus aan de Vrije Universiteit Brussel. Hij is klinisch psycholoog, systeempsychotherapeut en opleider in de systeemtherapie.

Jan Olthof is samen met Marielle Gelissen oprichter van de School voor Systemische Opleidingen te Bunde. Hij is psychotherapeut en systeemtherapeut, opleider, supervisor en leertherapeut.

Jasmina Sermijn is dr. in de klinische psychologie, systeempsychotherapeut, opleider en supervisor in de systeemtherapie.

De Gumba New Orleans Jazzband

brengt ons muzikaal gezelschap doorheen de dag.