:root {
  --sidebar-width: 18.75rem;
  --sidebar-collapsed-width: 3.5rem;
}

.layout-zf1-fixed-header .sidebar.sidebar-main {
  height: calc(100vh - var(--sidebar-offset, 0px));
  max-height: calc(100vh - var(--sidebar-offset, 0px));
} 

.layout-zf1-fixed-header .sidebar.sidebar-main .sidebar-content {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
} 

@media (min-width: 992px) {
  .layout-zf1-fixed-header .sidebar.sidebar-main {
    position: fixed !important;
    inset-inline-start: 0;
    inset-inline-end: auto;
    top: var(--sidebar-offset, 0px);
    bottom: 0;
    width: var(--sidebar-width);
    height: calc(100vh - var(--sidebar-offset, 0px));
    max-height: calc(100vh - var(--sidebar-offset, 0px));
    z-index: 1000;
    padding-top: 0;
  }

  [dir="rtl"] .layout-zf1-fixed-header .sidebar.sidebar-main {
    inset-inline-start: auto;
    inset-inline-end: 0;
  }

  .layout-zf1-fixed-header .sidebar.sidebar-main .sidebar-content {
    position: relative;
    height: 100%;
    width: 100%;
    overflow-y: auto !important;
    top: 0 !important;
  }

  .layout-zf1-fixed-header .page-content {
    padding-inline-start: var(--sidebar-width);
  }

  [dir="rtl"] .layout-zf1-fixed-header .page-content {
    padding-inline-start: 0;
    padding-inline-end: var(--sidebar-width);
  }

  body.layout-zf1-fixed-header.sidebar-xs .sidebar.sidebar-main {
    width: var(--sidebar-collapsed-width);
  }

  body.layout-zf1-fixed-header.sidebar-xs .sidebar.sidebar-main .sidebar-content {
    overflow-y: visible !important;
  }

  body.layout-zf1-fixed-header.sidebar-xs .page-content {
    padding-inline-start: var(--sidebar-collapsed-width);
  }

  [dir="rtl"] body.layout-zf1-fixed-header.sidebar-xs .page-content {
    padding-inline-start: 0;
    padding-inline-end: var(--sidebar-collapsed-width);
  }

  body.layout-zf1-fixed-header.sidebar-xs .sidebar.sidebar-main .nav-sidebar > .nav-item > .nav-link {
    justify-content: center;
    padding-inline: 0;
  }

  body.layout-zf1-fixed-header.sidebar-xs .sidebar.sidebar-main .nav-sidebar > .nav-item > .nav-link > span {
    display: none !important;
  }

  body.layout-zf1-fixed-header.sidebar-xs .sidebar.sidebar-main .nav-item-submenu > .nav-group-sub {
    display: none;
    position: absolute;
    top: 0;
    left: var(--sidebar-collapsed-width);
    min-width: var(--sidebar-width);
    z-index: 1050;
  }

  [dir="rtl"] body.layout-zf1-fixed-header.sidebar-xs .sidebar.sidebar-main .nav-item-submenu > .nav-group-sub {
    left: auto;
    right: var(--sidebar-collapsed-width);
  }

  body.layout-zf1-fixed-header.sidebar-xs .sidebar.sidebar-main .nav-item-submenu:hover > .nav-group-sub,
  body.layout-zf1-fixed-header.sidebar-xs .sidebar.sidebar-main .nav-item-submenu:focus-within > .nav-group-sub {
    display: block;
  }

  body.layout-zf1-fixed-header.no-sidebar .page-content {
    padding-inline-start: 0;
  }

  body.layout-zf1-fixed-header.no-sidebar[dir="rtl"] .page-content {
    padding-inline-end: 0;
  }
}

@media (max-width: 991.98px) {
  .layout-zf1-fixed-header .sidebar.sidebar-main {
    position: fixed;
    top: 0;
    left: 0;
    width: var(--sidebar-width);
    height: 100dvh;
    max-height: 100dvh;
    z-index: 1050;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
  }

  body.layout-zf1-fixed-header.sidebar-mobile-open .sidebar.sidebar-main {
    transform: translateX(0);
  }

  .layout-zf1-fixed-header .page-content {
    padding-inline-start: 0 !important;
  }

  body.layout-zf1-fixed-header.sidebar-mobile-open {
    overflow: hidden;
  }
}

body.layout-zf1-fixed-header.sidebar-scroll-hidden .sidebar.sidebar-main .sidebar-content {
  scrollbar-width: none;
}

body.layout-zf1-fixed-header.sidebar-scroll-hidden .sidebar.sidebar-main .sidebar-content::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.layout-zf1-fixed-header .sidebar.sidebar-main .sidebar-content {
  scrollbar-width: none;
}

.layout-zf1-fixed-header .sidebar.sidebar-main .sidebar-content::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.layout-zf1-fixed-header .navbar {
  position: sticky;
  top: 0;
  z-index: 1100;
}
