/*
* demo.css
* File include item demo only specific css only
******************************************************************************/

.menu .app-brand.demo {
  height: 64px;
}

.app-brand-logo.demo svg {
  width: 34px;
  height: 24px;
}

.app-brand-text.demo {
  font-size: 1.375rem;
}

/* ! For .layout-navbar-fixed added fix padding top to .layout-page */
/* Default navbar */
.layout-navbar-fixed .layout-wrapper:not(.layout-without-menu) .layout-page {
  padding-top: 64px !important;
}
.layout-navbar-fixed .layout-wrapper:not(.layout-horizontal):not(.layout-without-menu) .layout-page {
  padding-top: 72px !important;
}
/* Navbar page z-index issue solution */
.content-wrapper .navbar {
  z-index: auto;
}

/*
* Content
******************************************************************************/

.demo-blocks > * {
  display: block !important;
}

.demo-inline-spacing > * {
  margin: 1rem 0.375rem 0 0 !important;
}

/* ? .demo-vertical-spacing class is used to have vertical margins between elements. To remove margin-top from the first-child, use .demo-only-element class with .demo-vertical-spacing class. For example, we have used this class in forms-input-groups.html file. */
.demo-vertical-spacing > * {
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-lg > * {
  margin-top: 1.875rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing-lg.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-xl > * {
  margin-top: 5rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing-xl.demo-only-element > :first-child {
  margin-top: 0 !important;
}

/* Dropdown buttons going out of small screens */
@media (max-width: 576px) {
  #dropdown-variation-demo .btn-group .text-truncate {
    width: 254px;
    position: relative;
  }
  #dropdown-variation-demo .btn-group .text-truncate::after {
    position: absolute;
    top: 45%;
    right: 0.65rem;
  }
}

/*
* Layout demo
******************************************************************************/

.layout-demo-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 1rem;
}
.layout-demo-placeholder img {
  width: 900px;
}
.layout-demo-info {
  text-align: center;
  margin-top: 1rem;
}

/* Sidebar icon tiles: keep the icon mask on the inner element. */
#layout-menu .menu-inner > .menu-item > .menu-link > .sidebar-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  color: var(--sidebar-icon-color, var(--bs-secondary));
  background: var(--sidebar-icon-bg, rgba(var(--bs-secondary-rgb), 0.1));
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

#layout-menu .sidebar-icon > .ti {
  width: 21px;
  height: 21px;
  font-size: 21px;
}

#layout-menu .sidebar-icon:has(.tabler-dashboard),
#layout-menu .sidebar-icon:has(.tabler-database) {
  --sidebar-icon-color: var(--bs-primary);
  --sidebar-icon-bg: rgba(var(--bs-primary-rgb), 0.12);
}

#layout-menu .sidebar-icon:has(.tabler-user-circle),
#layout-menu .sidebar-icon:has(.tabler-id-badge-2),
#layout-menu .sidebar-icon:has(.tabler-plant) {
  --sidebar-icon-color: var(--bs-success);
  --sidebar-icon-bg: rgba(var(--bs-success-rgb), 0.12);
}

#layout-menu .sidebar-icon:has(.tabler-users-group),
#layout-menu .sidebar-icon:has(.tabler-sitemap) {
  --sidebar-icon-color: var(--bs-info);
  --sidebar-icon-bg: rgba(var(--bs-info-rgb), 0.12);
}

#layout-menu .sidebar-icon:has(.tabler-building-community),
#layout-menu .sidebar-icon:has(.tabler-heart-handshake) {
  --sidebar-icon-color: var(--bs-warning);
  --sidebar-icon-bg: rgba(var(--bs-warning-rgb), 0.12);
}

#layout-menu .sidebar-icon:has(.tabler-map-2),
#layout-menu .sidebar-icon:has(.tabler-user-shield),
#layout-menu .sidebar-icon:has(.tabler-route) {
  --sidebar-icon-color: var(--bs-primary);
  --sidebar-icon-bg: rgba(var(--bs-primary-rgb), 0.12);
}

#layout-menu .menu-item > .menu-link:hover > .sidebar-icon,
#layout-menu .menu-item > .menu-link:focus-visible > .sidebar-icon {
  transform: translateY(-1px);
}

#layout-menu .menu-inner > .menu-item.active > .menu-link > .sidebar-icon {
  color: inherit;
  background: rgba(255, 255, 255, 0.18);
}

@media (prefers-reduced-motion: reduce) {
  #layout-menu .menu-inner > .menu-item > .menu-link > .sidebar-icon {
    transition: none;
    transform: none;
  }
}

/* Submenu icons replace the template's decorative bullets. */
#layout-menu .menu-sub > .menu-item > .menu-link::before { display: none; }
#layout-menu .menu-sub .sidebar-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  color: inherit;
}
#layout-menu .menu-sub .sidebar-icon > .ti { width: 19px; height: 19px; font-size: 19px; }

/* Select2 sizes the floating dropdown itself; its body wrapper must not span the viewport. */
body > .select2-container--open {
    inline-size: auto !important;
}

/* Tipografi profil Kelompok Tani dan BUMDes */
.kelompok-tani-page,
.bumdes-page {
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
}

.kelompok-tani-page :is(.form-control, .form-select, .form-check-label, .select2-container),
.bumdes-page :is(.form-control, .form-select, .form-check-label, .select2-container) {
    font-family: var(--bs-body-font-family);
}

.bumdes-page form :is(.form-control, .form-select, .form-check-label, .select2-container) {
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
}

#bumdes-notifications,
.bumdes-page #section-kepengurusan {
    scroll-margin-top: 7rem;
}

.bumdes-page .pengurus-status-switch-row {
    display: flex;
    align-items: center;
    gap: 12px;
    white-space: nowrap;
}

.bumdes-page .pengurus-status-switch-row .switch {
    width: 52px;
    min-width: 52px;
    max-width: 52px;
    padding-left: 0;
    margin: 0;
    position: relative;
    display: inline-block;
    flex: 0 0 52px;
}

.bumdes-page .pengurus-status-switch-row .switch-toggle-slider {
    left: 0;
}

.bumdes-page select.is-invalid + .select2-container .select2-selection {
    border-color: var(--bs-form-invalid-border-color);
}

.kelompok-tani-page select.is-invalid + .select2-container .select2-selection {
    border-color: var(--bs-form-invalid-border-color);
}

.kelompok-tani-page .kelompok-tani-help {
    margin-top: -.75rem;
}

.kelompok-tani-page #section-kas[hidden],
.kelompok-tani-page #section-bantuan[hidden] {
    display: none !important;
}

.kelompok-tani-page #kelompok-tani-notifications,
.kelompok-tani-page [id^="section-"] {
    scroll-margin-top: 7rem;
}

.kelompok-tani-page .select2-selection {
    position: relative;
}

.kelompok-tani-page .select2-selection::after {
    content: '';
    position: absolute;
    top: 50%;
    inset-inline-end: 1rem;
    width: .5rem;
    height: .5rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    color: var(--bs-body-color);
    transform: translateY(-75%) rotate(45deg);
    pointer-events: none;
}

.kelompok-tani-page .select2-selection__arrow {
    display: none;
}

.kelompok-tani-page .select2-container .select2-selection--multiple .select2-selection__rendered {
    padding-inline-end: 2.5rem;
}

.kelompok-tani-page .select2-container--disabled .select2-selection::after {
    color: var(--bs-secondary-color);
}

/* Daftar dan navigasi profil BUMDes. */

    .bumdes-row { cursor: pointer; }
    .bumdes-filter-row { padding-block: 1.5rem; }
    .bumdes-filter-line { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
    .bumdes-filter-label { display: flex; align-items: center; font-weight: 500; margin-right: .5rem; white-space: nowrap; }
    .bumdes-filter-line .form-select,
    .bumdes-filter-line .btn { min-height: 31px; }
    .bumdes-filter-line .form-select {
        background-color: var(--bs-paper-bg);
        border-color: var(--bs-border-color);
        border-radius: var(--bs-border-radius);
        color: var(--bs-body-color);
    }
    .bumdes-filter-line .form-select:focus {
        border-color: rgba(40, 167, 69, .55);
        box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .12);
    }
    .bumdes-filter-line .btn { white-space: nowrap; }
    .bumdes-filter-static {
        display: flex; align-items: center; min-height: 31px;
        padding: .25rem .75rem; font-size: .8125rem;
        background-color: var(--bs-paper-bg);
        border: 1px solid var(--bs-border-color);
        border-radius: var(--bs-border-radius);
        color: var(--bs-body-color);
    }
    .bumdes-filter-line .input-group-sm { width: 240px; }
    .bumdes-data-filters > div:not(.bumdes-filter-label) {
        flex: 1 1 11rem;
        min-inline-size: 0;
    }
    .bumdes-data-filters .form-select { text-overflow: ellipsis; }
    .bumdes-data-filters .input-group-sm { width: 100%; }
    @media (max-width: 767.98px) {
        .bumdes-filter-line { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
        .bumdes-filter-label { margin-right: 0; }
        .bumdes-filter-line .btn { justify-content: center; width: 100%; }
        .bumdes-filter-line .input-group-sm { width: 100%; }
        .bumdes-filter-line .input-group .btn { width: auto; }
    }


    @media (min-width: 768px) {
        .bumdes-page .nav-pills-custom-spacing {
            display: flex;
            width: 100%;
            gap: 0.5rem;
            flex-wrap: nowrap !important;
            overflow-x: auto;
        }

        .bumdes-page .nav-pills-custom-spacing::-webkit-scrollbar {
            display: none;
        }

        .bumdes-page .nav-pills-custom-spacing .nav-item {
            margin-right: 0 !important;
            flex: 1;
        }

        .bumdes-page .nav-pills-custom-spacing .nav-link {
            display: flex;
            justify-content: center;
            align-items: center;
            padding-left: 0.5rem !important;
            padding-right: 0.5rem !important;
            width: 100%;
            white-space: nowrap;
            font-size: var(--bs-body-font-size) !important;
        }

        .bumdes-page .nav-pills-custom-spacing .nav-link i {
            margin-right: 0.4rem !important;
        }
    }

/* Tabel dan ringkasan profil BUMDes. */
.bumdes-list-table .bumdes-list-identity {
    min-inline-size: 12rem;
    max-inline-size: 16rem;
}

.bumdes-list-table .bumdes-list-status {
    min-inline-size: 10rem;
    max-inline-size: 16rem;
}

.bumdes-list-table .bumdes-list-units {
    min-inline-size: 12rem;
    max-inline-size: 18rem;
}

.bumdes-profile-summary .bumdes-summary-content,
.kelompok-profile-summary .kelompok-summary-content {
    min-inline-size: 0;
}

.bumdes-profile-summary .bumdes-summary-label,
.kelompok-profile-summary .kelompok-summary-label {
    color: var(--bs-secondary-color);
    font-size: 0.8125rem;
    font-weight: 500;
}

.bumdes-profile-summary .badge,
.kelompok-profile-summary .badge {
    max-inline-size: 100%;
    line-height: 1.45;
    white-space: normal;
    text-align: start;
    overflow-wrap: anywhere;
}

.bumdes-profile-summary .bumdes-summary-more,
.kelompok-profile-summary .kelompok-summary-more {
    min-block-size: 1.5rem;
    font-size: 0.8125rem;
}

/* Daftar kelompok tani. */
@media (min-width: 768px) {
    .kelompok-tani-page .nav-pills-custom-spacing { display: flex; width: 100%; gap: .5rem; flex-wrap: nowrap !important; overflow-x: auto; }
    .kelompok-tani-page .nav-pills-custom-spacing::-webkit-scrollbar { display: none; }
    .kelompok-tani-page .nav-pills-custom-spacing .nav-item { margin-right: 0 !important; flex: 1; }
    .kelompok-tani-page .nav-pills-custom-spacing .nav-link { display: flex; justify-content: center; align-items: center; padding-left: .5rem !important; padding-right: .5rem !important; width: 100%; white-space: nowrap; font-size: var(--bs-body-font-size) !important; }
    .kelompok-tani-page .nav-pills-custom-spacing .nav-link i { margin-right: .4rem !important; }
}
.kelompok-tani-row { cursor: pointer; }
    .kelompok-filter-row { padding-block: 1.5rem; }
    .kelompok-filter-line { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
    .kelompok-filter-label { display: flex; align-items: center; font-weight: 500; margin-right: .5rem; white-space: nowrap; }
    .kelompok-filter-line .form-select,
    .kelompok-filter-line .btn { min-height: 31px; }
    .kelompok-filter-line .form-select {
        background-color: var(--bs-paper-bg);
        border-color: var(--bs-border-color);
        border-radius: var(--bs-border-radius);
        color: var(--bs-body-color);
    }
    .kelompok-filter-line .form-select:focus {
        border-color: rgba(40, 167, 69, .55);
        box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .12);
    }
    .kelompok-filter-line .btn { white-space: nowrap; }
    .kelompok-filter-static {
        display: flex; align-items: center; min-height: 31px;
        padding: .25rem .75rem; font-size: .8125rem;
        background-color: var(--bs-paper-bg);
        border: 1px solid var(--bs-border-color);
        border-radius: var(--bs-border-radius);
        color: var(--bs-body-color);
    }
    .kelompok-filter-line .input-group-sm { width: 240px; }
    .kelompok-data-filters > div:not(.kelompok-filter-label) { flex: 1 1 12rem; min-inline-size: 0; }
    .kelompok-data-filters .form-select { text-overflow: ellipsis; }
    .kelompok-data-filters .input-group-sm { width: 100%; }
    .kelompok-list-table .kelompok-list-identity { min-inline-size: 15rem; max-inline-size: 21rem; }
    .kelompok-list-table .kelompok-list-commodities { min-inline-size: 10rem; max-inline-size: 15rem; }
    .kelompok-list-table .kelompok-list-status { min-inline-size: 10rem; max-inline-size: 15rem; }
    @media (max-width: 767.98px) {
        .kelompok-filter-line { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
        .kelompok-filter-label { margin-right: 0; }
        .kelompok-filter-line .btn { justify-content: center; width: 100%; }
        .kelompok-filter-line .input-group-sm { width: 100%; }
        .kelompok-filter-line .input-group .btn { width: auto; }
    }
