UNPKG

create-nexaui-electron

Version:

Create Nexa App - Tool untuk membuat aplikasi Nexa Electron

2,507 lines (2,106 loc) 432 kB
/*! * Ngorei NesxaUI v1.1.5 (https://ngorei.com/) * Copyright 2024-2025 The Ngorei NesxaUI Authors * Licensed under MIT (https://github.com/ngorei/main/LICENSE) */ /*AND Grid*/ /*AND btn-group*/ /*AND Accordion*/ /*AND Alert*/ /*AND Badge*/ /*AND Media Object*/ /*AND breadcrumb*/ /*AND Card*/ /*AND Collapse*/ /*AND Dropdown*/ /*AND offcanvas*/ /*AND toast*/ /*AND tooltip*/ /*AND spinner*/ /*AND scrollspy*/ /*AND progress*/ /*AND nav-tabs*/ /*AND Form*/ /*AND Modal*/ /*AND Button*/ /*AND Navbar*/ /*AND Footer*/ /*AND Tabel*/ /*AND Lightbox*/ /*AND video*/ /*AND thumbnav*/ /*AND sticky*/ /*AND Stats*/ /*AND sortable*/ /*AND search*/ /*AND Images*/ /*AND Avatar*/ /*AND List Group*/ /*AND Menu*/ /*AND popover*/ /*AND Modal*/ :root { --nx-card-border-radius: 0.375rem; --nx-card-border-color: #dee2e6; --nx-card-bg: #fff; --nx-card-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); --nx-card-hover-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); --nx-card-spacing: 1.25rem; --nx-white: #ffffff; --nx-tabel-25: #f8f9fa; --nx-tabel-50: #f3f4f6; --nx-tabel-75: #e5e7eb; --nx-tabel-600: #4b5563; --nx-tabel-700: #374151; --nx-text-primary: #00d1b2; --nx-primary-dark: #242526; } .container { width: 100%; padding-right: 1rem; padding-left: 1rem; margin-right: auto; margin-left: auto; } .nx-container { width: 100%; padding-right: 1rem; padding-left: 1rem; margin-right: auto; margin-left: auto; } /* Styling untuk grid demo */ .nx-row { margin-bottom: 0.5rem; display: flex; gap: 2px; /* Menggunakan gap sebagai pengganti margin */ } /* Row Small */ .row-sm { margin-left: -10px; margin-right: -10px; } .row-sm > div { padding-left: 10px; padding-right: 10px; } /* Row Extra Small */ .row-xs { margin-left: -5px; margin-right: -5px; } .row-xs > div { padding-left: 5px; padding-right: 5px; } /* Row Extra Extra Small */ .row-xxs { margin-left: -1px; margin-right: -1px; } .row-xxs > div { padding-left: 1px; padding-right: 1px; } /* Small Devices (≥576px) */ @media (min-width: 576px) { .row-xs--sm { margin-left: -5px; margin-right: -5px; } .row-xs--sm > div { padding-left: 5px; padding-right: 5px; } .row-sm--sm { margin-left: -10px; margin-right: -10px; } .row-sm--sm > div { padding-left: 10px; padding-right: 10px; } .row--sm { margin-left: -15px; margin-right: -15px; } .row--sm > div { padding-left: 15px; padding-right: 15px; } } /* Medium Devices (≥768px) */ @media (min-width: 768px) { .row-xs--md { margin-left: -5px; margin-right: -5px; } .row-xs--md > div { padding-left: 5px; padding-right: 5px; } .row-sm--md { margin-left: -10px; margin-right: -10px; } .row-sm--md > div { padding-left: 10px; padding-right: 10px; } .row--md { margin-left: -15px; margin-right: -15px; } .row--md > div { padding-left: 15px; padding-right: 15px; } } /* Large Devices (≥992px) */ @media (min-width: 992px) { .row-xs--lg { margin-left: -5px; margin-right: -5px; } .row-xs--lg > div { padding-left: 5px; padding-right: 5px; } .row-sm--lg { margin-left: -10px; margin-right: -10px; } .row-sm--lg > div { padding-left: 10px; padding-right: 10px; } .row--lg { margin-left: -15px; margin-right: -15px; } .row--lg > div { padding-left: 15px; padding-right: 15px; } } /* Extra Large Devices (≥1200px) */ @media (min-width: 1200px) { .row-xs--xl { margin-left: -5px; margin-right: -5px; } .row-xs--xl > div { padding-left: 5px; padding-right: 5px; } .row-sm--xl { margin-left: -10px; margin-right: -10px; } .row-sm--xl > div { padding-left: 10px; padding-right: 10px; } .row--xl { margin-left: -15px; margin-right: -15px; } .row--xl > div { padding-left: 15px; padding-right: 15px; } } .nx-row > [class*="nx-col"] { padding: 0.1rem; /* margin dihapus karena sudah menggunakan gap */ } /* Responsive container */ @media (min-width: 576px) { .nx-container { max-width: 540px; } } @media (min-width: 768px) { .nx-container { max-width: 720px; } } @media (min-width: 992px) { .nx-container { max-width: 960px; } } @media (min-width: 1200px) { .nx-container { max-width: 1140px; } } /* Tambahkan style untuk offset */ .nx-offset-4 { margin-left: 33.333333%; } /* Tambahkan breakpoint untuk responsif */ @media (min-width: 768px) { .nx-md-6 { flex: 0 0 50%; max-width: 50%; } .nx-md-12 { flex: 0 0 100%; max-width: 100%; } } @media (min-width: 992px) { .nx-lg-4 { flex: 0 0 33.333333%; max-width: 33.333333%; } } /* Grid System */ .nx-row { display: flex; flex-wrap: wrap; margin-bottom: 0.5rem; gap: 2px; } .nx-col { flex: 1 0 0%; min-width: 0; } /* Grid System Columns untuk Desktop */ @media (min-width: 576px) { .nx-col-1 { width: calc(8.33333333% - 2px); } .nx-col-2 { width: calc(16.66666667% - 2px); } .nx-col-3 { width: calc(25% - 2px); } .nx-col-4 { width: calc(33.33333333% - 2px); } .nx-col-5 { width: calc(41.66666667% - 2px); } .nx-col-6 { width: calc(50% - 2px); } .nx-col-7 { width: calc(58.33333333% - 2px); } .nx-col-8 { width: calc(66.66666667% - 2px); } .nx-col-9 { width: calc(75% - 2px); } .nx-col-10 { width: calc(83.33333333% - 2px); } .nx-col-11 { width: calc(91.66666667% - 2px); } .nx-col-12 { width: calc(100% - 2px); } } /* Grid System Columns untuk Mobile */ @media (max-width: 575.98px) { [class*="nx-col-"] { width: calc(100% - 2px) !important; /* Memaksa full width di mobile */ flex: 0 0 100% !important; } /* Pengecualian untuk kolom yang lebih kecil di mobile */ .nx-col-6[class*="nx-col-sm"], .nx-col-4[class*="nx-col-sm"], .nx-col-3[class*="nx-col-sm"] { width: calc(50% - 2px) !important; /* Membuat kolom setengah layar */ flex: 0 0 50% !important; } } [class*="nx-col-"] { flex: 0 0 auto; width: var(--col-width); } .nx-col-1 { --col-width: calc(8.33333333% - 2px); } .nx-col-2 { --col-width: calc(16.66666667% - 2px); } .nx-col-3 { --col-width: calc(25% - 2px); } .nx-col-4 { --col-width: calc(33.33333333% - 2px); } .nx-col-5 { --col-width: calc(41.66666667% - 2px); } .nx-col-6 { --col-width: calc(50% - 2px); } .nx-col-7 { --col-width: calc(58.33333333% - 2px); } .nx-col-8 { --col-width: calc(66.66666667% - 2px); } .nx-col-9 { --col-width: calc(75% - 2px); } .nx-col-10 { --col-width: calc(83.33333333% - 2px); } .nx-col-11 { --col-width: calc(91.66666667% - 2px); } .nx-col-12 { --col-width: calc(100% - 2px); } /* Grid System untuk Mobile */ @media (max-width: 576px) { .nx-col-1, .nx-col-2, .nx-col-3, .nx-col-4, .nx-col-5, .nx-col-6, .nx-col-7, .nx-col-8, .nx-col-9, .nx-col-10, .nx-col-11, .nx-col-12 { padding: 0.5rem; } /* Kolom spesifik untuk mobile */ .nx-col-1 { width: calc(8.33333333% - 1rem); } .nx-col-2 { width: calc(16.66666667% - 1rem); } .nx-col-3 { width: calc(25% - 1rem); } .nx-col-4 { width: calc(33.33333333% - 1rem); } .nx-col-5 { width: calc(41.66666667% - 1rem); } .nx-col-6 { width: calc(50% - 1rem); } .nx-col-7 { width: calc(58.33333333% - 1rem); } .nx-col-8 { width: calc(66.66666667% - 1rem); } .nx-col-9 { width: calc(75% - 1rem); } .nx-col-10 { width: calc(83.33333333% - 1rem); } .nx-col-11 { width: calc(91.66666667% - 1rem); } .nx-col-12 { width: calc(100% - 1rem); } /* Mengatur gap yang lebih kecil untuk mobile */ .nx-row { gap: 0.5rem; margin-bottom: 0.5rem; } /* Utility classes untuk mobile */ .nx-hide-mobile { display: none !important; } .nx-show-mobile { display: block !important; } /* Mengatur margin dan padding yang lebih kecil */ .nx-container { padding-right: 0.5rem; padding-left: 0.5rem; } .doc-section { margin-bottom: 1.5rem; } } /* Breakpoint untuk tablet */ @media (min-width: 577px) and (max-width: 768px) { .nx-sm-1 { width: calc(8.33333333% - 1rem); } .nx-sm-2 { width: calc(16.66666667% - 1rem); } .nx-sm-3 { width: calc(25% - 1rem); } .nx-sm-4 { width: calc(33.33333333% - 1rem); } .nx-sm-5 { width: calc(41.66666667% - 1rem); } .nx-sm-6 { width: calc(50% - 1rem); } .nx-sm-7 { width: calc(58.33333333% - 1rem); } .nx-sm-8 { width: calc(66.66666667% - 1rem); } .nx-sm-9 { width: calc(75% - 1rem); } .nx-sm-10 { width: calc(83.33333333% - 1rem); } .nx-sm-11 { width: calc(91.66666667% - 1rem); } .nx-sm-12 { width: calc(100% - 1rem); } } /* Spacing untuk form groups */ .nx-row + .nx-row { margin-top: 1.5rem; } /* Form dalam grid */ .nx-col-12 .form-nexa, .nx-col-md-6 .form-nexa, .nx-col-md-4 .form-nexa { height: 100%; } /* Grid System untuk Medium Devices (md) */ @media (min-width: 768px) { .nx-md-1 { width: calc(8.33333333% - 2px); } .nx-md-2 { width: calc(16.66666667% - 2px); } .nx-md-3 { width: calc(25% - 2px); } .nx-md-4 { width: calc(33.33333333% - 2px); } .nx-md-5 { width: calc(41.66666667% - 2px); } .nx-md-6 { width: calc(50% - 2px); } .nx-md-7 { width: calc(58.33333333% - 2px); } .nx-md-8 { width: calc(66.66666667% - 2px); } .nx-md-9 { width: calc(75% - 2px); } .nx-md-10 { width: calc(83.33333333% - 2px); } .nx-md-11 { width: calc(91.66666667% - 2px); } .nx-md-12 { width: calc(100% - 2px); } } /* Grid System untuk Large Devices (lg) */ @media (min-width: 992px) { .nx-lg-1 { width: calc(8.33333333% - 2px); } .nx-lg-2 { width: calc(16.66666667% - 2px); } .nx-lg-3 { width: calc(25% - 2px); } .nx-lg-4 { width: calc(33.33333333% - 2px); } .nx-lg-5 { width: calc(41.66666667% - 2px); } .nx-lg-6 { width: calc(50% - 2px); } .nx-lg-7 { width: calc(58.33333333% - 2px); } .nx-lg-8 { width: calc(66.66666667% - 2px); } .nx-lg-9 { width: calc(75% - 2px); } .nx-lg-10 { width: calc(83.33333333% - 2px); } .nx-lg-11 { width: calc(91.66666667% - 2px); } .nx-lg-12 { width: calc(100% - 2px); } } /* Grid System untuk Extra Large Devices (xl) */ @media (min-width: 1200px) { .nx-xl-1 { width: calc(8.33333333% - 2px); } .nx-xl-2 { width: calc(16.66666667% - 2px); } .nx-xl-3 { width: calc(25% - 2px); } .nx-xl-4 { width: calc(33.33333333% - 2px); } .nx-xl-5 { width: calc(41.66666667% - 2px); } .nx-xl-6 { width: calc(50% - 2px); } .nx-xl-7 { width: calc(58.33333333% - 2px); } .nx-xl-8 { width: calc(66.66666667% - 2px); } .nx-xl-9 { width: calc(75% - 2px); } .nx-xl-10 { width: calc(83.33333333% - 2px); } .nx-xl-11 { width: calc(91.66666667% - 2px); } .nx-xl-12 { width: calc(100% - 2px); } } /* Flex properties untuk mendukung flexbox layout */ @media (min-width: 768px) { .nx-md-1 { flex: 0 0 8.33333333%; } .nx-md-2 { flex: 0 0 16.66666667%; } .nx-md-3 { flex: 0 0 25%; } .nx-md-4 { flex: 0 0 33.33333333%; } .nx-md-5 { flex: 0 0 41.66666667%; } .nx-md-6 { flex: 0 0 50%; } .nx-md-7 { flex: 0 0 58.33333333%; } .nx-md-8 { flex: 0 0 66.66666667%; } .nx-md-9 { flex: 0 0 75%; } .nx-md-10 { flex: 0 0 83.33333333%; } .nx-md-11 { flex: 0 0 91.66666667%; } .nx-md-12 { flex: 0 0 100%; } } @media (min-width: 992px) { .nx-lg-1 { flex: 0 0 8.33333333%; } .nx-lg-2 { flex: 0 0 16.66666667%; } .nx-lg-3 { flex: 0 0 25%; } .nx-lg-4 { flex: 0 0 33.33333333%; } .nx-lg-5 { flex: 0 0 41.66666667%; } .nx-lg-6 { flex: 0 0 50%; } .nx-lg-7 { flex: 0 0 58.33333333%; } .nx-lg-8 { flex: 0 0 66.66666667%; } .nx-lg-9 { flex: 0 0 75%; } .nx-lg-10 { flex: 0 0 83.33333333%; } .nx-lg-11 { flex: 0 0 91.66666667%; } .nx-lg-12 { flex: 0 0 100%; } } @media (min-width: 1200px) { .nx-xl-1 { flex: 0 0 8.33333333%; } .nx-xl-2 { flex: 0 0 16.66666667%; } .nx-xl-3 { flex: 0 0 25%; } .nx-xl-4 { flex: 0 0 33.33333333%; } .nx-xl-5 { flex: 0 0 41.66666667%; } .nx-xl-6 { flex: 0 0 50%; } .nx-xl-7 { flex: 0 0 58.33333333%; } .nx-xl-8 { flex: 0 0 66.66666667%; } .nx-xl-9 { flex: 0 0 75%; } .nx-xl-10 { flex: 0 0 83.33333333%; } .nx-xl-11 { flex: 0 0 91.66666667%; } .nx-xl-12 { flex: 0 0 100%; } } /*AND GRID*/ /* Base button group styling */ .nx-btn-group { position: relative; display: inline-flex; } .nx-btn-group > .nx-btn { position: relative; flex: 1 1 auto; margin-left: -1px; } .nx-btn-group > .nx-btn:first-child { margin-left: 0; } /* Border radius untuk button yang berdekatan */ .nx-btn-group > .nx-btn:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .nx-btn-group > .nx-btn:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .nx-btn-group-vertical { position: relative; display: inline-flex; flex-direction: column; align-items: flex-start; vertical-align: middle; } .nx-btn-group-vertical > .nx-btn { width: 100%; } .nx-btn-group-vertical > .nx-btn:not(:first-child) { margin-top: -1px; } .nx-btn-group-vertical > .nx-btn:not(:last-child) { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .nx-btn-group-vertical > .nx-btn:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; } /* Sizing */ .nx-btn-group-lg > .nx-btn { padding: 0.5rem 1rem; font-size: 1.25rem; } .nx-btn-group-sm > .nx-btn { padding: 0.25rem 0.5rem; font-size: 0.875rem; } /* Toolbar */ .nx-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; } .nx-toolbar .nx-btn-group:last-child { margin-right: 0; } .nx-toolbar .nx-btn-group { display: inline-flex; } .nx-toolbar .nx-btn-group > .nx-btn { position: relative; margin-left: -1px; } .nx-toolbar .nx-btn-group > .nx-btn:first-child { margin-left: 0; } /* Color variations */ .nx-btn-group > .nx-btn-primary { background-color: #00d1b2; color: white; border-color: #00d1b2; } .nx-btn-group > .nx-btn-secondary { background-color: #475569; color: white; border-color: #475569; } /* Tambahkan style untuk dropdown */ .nx-dropdown { position: relative; display: inline-flex; } .nx-dropdown-toggle { position: relative; display: inline-flex; align-items: center; padding-right: 2.5rem !important; white-space: nowrap; } .nx-dropdown-toggle i { position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%); transition: transform 0.2s; pointer-events: none; /* Penting: mencegah ikon mengganggu klik */ } .nx-dropdown-toggle.active i { transform: translateY(-50%) rotate(180deg); } .nx-dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 9999; display: none; min-width: 200px; /* Sedikit lebih lebar */ padding: 0.5rem 0; margin-top: 2px; background-color: #fff; border: 1px solid rgba(0,0,0,.15); border-radius: 0.25rem; box-shadow: 0 3px 10px rgba(0,0,0,.15); } .nx-dropdown-menu.show { display: block; } .nx-dropdown-item { display: block; width: 100%; padding: 0.75rem 1.25rem; color: #212529; text-decoration: none; white-space: nowrap; background: none; border: 0; cursor: pointer; transition: all 0.2s; text-align: left; } .nx-dropdown-item:hover { background-color: #f8f9fa; color: #16181b; text-decoration: none; } /* Button group dengan dropdown */ .nx-btn-group .nx-dropdown { position: relative; display: inline-flex; margin-left: -1px; } .nx-btn-group .nx-dropdown .nx-btn { border-radius: 0; margin-left: 0; flex: 1 1 auto; } .nx-btn-group .nx-dropdown:last-child .nx-btn { border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem; } .nx-btn-group .nx-dropdown .nx-dropdown-menu { border-radius: 0.25rem; margin-top: 2px; } .nx-btn-group > .nx-btn:not(:last-child):not(.nx-dropdown-toggle), .nx-btn-group > .nx-dropdown:not(:last-child) .nx-btn { border-top-right-radius: 0; border-bottom-right-radius: 0; } .nx-btn-group > .nx-btn:not(:first-child), .nx-btn-group > .nx-dropdown:not(:first-child) .nx-btn { border-top-left-radius: 0; border-bottom-left-radius: 0; } .nx-btn-group .nx-dropdown .nx-btn { border-color: #dee2e6; } .nx-btn-group .nx-dropdown .nx-btn:hover { z-index: 1; } .nx-btn-group .nx-dropdown .nx-btn.active { z-index: 2; } /* Pastikan container tidak memotong dropdown */ .nx-btn-group, .nx-dropdown { overflow: visible !important; } /*AND btn-group*/ /* Accordion Base */ .nx-accordion { width: 100%; margin-bottom: 1rem; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); background: #fff; } .nx-accordion-item { border: 1px solid rgba(0,0,0,0.08); margin-bottom: -1px; transition: all 0.3s ease; } .nx-accordion-item:first-child { border-top-left-radius: 8px; border-top-right-radius: 8px; } .nx-accordion-item:last-child { border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; } .nx-accordion-header { padding: 1.25rem; background: transparent; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-weight: 500; color: #2c3e50; transition: all 0.3s ease; } .nx-accordion-header:hover { background: rgba(0,0,0,0.02); } .nx-accordion-header .icon, .nx-accordion-header .custom-icon { width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(0,0,0,0.04); transition: all 0.3s ease; font-size: 20px !important; } .nx-accordion-content { padding: 0; max-height: 0; overflow: hidden; opacity: 0; transition: all 0.3s ease; background: rgba(0,0,0,0.01); } .nx-accordion-content.active { padding: 1.25rem; max-height: 500px; opacity: 1; } /* Tema */ .nx-accordion.theme-primary .nx-accordion-header { color: var(--primary-color); } .nx-accordion.theme-primary .nx-accordion-item.active { border-color: var(--primary-color); } .nx-accordion.theme-primary .nx-accordion-header .icon, .nx-accordion.theme-primary .nx-accordion-header .custom-icon { background: var(--primary-color); color: white; } /* Multiple Accordion */ .nx-accordion.multiple .nx-accordion-item.active { margin: 0.5rem 0; border-radius: 6px; box-shadow: 0 2px 12px rgba(0,0,0,0.08); } /* Nested Accordion */ .nx-accordion-content .nx-accordion { margin-top: 1rem; box-shadow: none; border-left: 2px solid rgba(0,0,0,0.08); border-radius: 0; margin-left: 1rem; } /* Custom Icon */ .nx-accordion-header .custom-icon { font-size: 1.25rem; transition: transform 0.3s ease; } .nx-accordion-header .custom-icon.active { transform: rotate(45deg); background: var(--primary-color); color: white; } /* Animated Accordion */ .nx-accordion.animated .nx-accordion-item.active { background: #fff; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.08); } /* Disabled Accordion */ .nx-accordion-item.disabled { opacity: 0.5; cursor: not-allowed; background: rgba(0,0,0,0.02); } .nx-accordion-item.disabled .nx-accordion-header { cursor: not-allowed; color: #999; } /* Sizes */ .nx-accordion.sm .nx-accordion-header { padding: 0.75rem 1rem; font-size: 0.875rem; } .nx-accordion.sm .nx-accordion-content.active { padding: 0.75rem 1rem; font-size: 0.875rem; } .nx-accordion.lg .nx-accordion-header { padding: 1.5rem; font-size: 1.125rem; } .nx-accordion.lg .nx-accordion-content.active { padding: 1.5rem; font-size: 1rem; } /* Hover Effects */ .nx-accordion-item:hover:not(.disabled) { background: rgba(0,0,0,0.01); } .nx-accordion-header:hover .icon, .nx-accordion-header:hover .custom-icon { transform: scale(1.1); } /* Active State */ .nx-accordion-item.active .nx-accordion-header { font-weight: 600; } .nx-accordion-item.active .icon, .nx-accordion-item.active .custom-icon { transform: rotate(180deg); background: var(--primary-color); color: white; } /* Custom icons variations */ .nx-accordion-header .material-icons.custom-icon.add { font-size: 18px !important; } /* Active state untuk Material Icons */ .nx-accordion-item.active .material-icons.icon { transform: rotate(180deg); background: var(--primary-color); color: white; } /* Hover effect untuk Material Icons */ .nx-accordion-header:hover .material-icons.icon { transform: scale(1.1); background: rgba(0,0,0,0.08); } /* Icon variations */ .nx-accordion.theme-primary .material-icons.icon { color: var(--primary-color); } .nx-accordion-item.active .material-icons.icon { background: var(--primary-color); color: white; } /*AND Accordion*/ /* Alert Dasar */ .nx-alert { position: relative; padding: 1rem; margin-bottom: 1rem; border: 1px solid transparent; border-radius: 0.375rem; } .nx-alert-primary { color: #084298; background-color: #cfe2ff; border-color: #b6d4fe; } .nx-alert-success { color: #0f5132; background-color: #d1e7dd; border-color: #badbcc; } .nx-alert-warning { color: #664d03; background-color: #fff3cd; border-color: #ffecb5; } .nx-alert-danger { color: #842029; background-color: #f8d7da; border-color: #f5c2c7; } .nx-alert-info { color: #055160; background-color: #cff4fc; border-color: #b6effb; } /* Alert dengan Judul */ .nx-alert-title { margin-top: 0; margin-bottom: 0.5rem; font-size: 1.1rem; font-weight: 600; } /* Alert yang Dapat Ditutup */ .nx-alert-dismissible { padding-right: 3rem; } .nx-alert-close { position: absolute; top: 0; right: 0; padding: 1rem; background: transparent; border: 0; font-size: 1.25rem; cursor: pointer; } /* Alert dengan Ikon */ .nx-alert-icon { padding-left: 2.5rem; } .nx-alert-icon i { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); } /* Alert dengan Link */ .nx-alert a { font-weight: 600; color: inherit; text-decoration: underline; } /* Alert dengan Tombol Aksi */ .nx-alert-actions { display: flex; justify-content: space-between; align-items: center; } .nx-alert-buttons { display: flex; gap: 0.5rem; } /* Alert dengan List */ .nx-alert-list { margin: 0.5rem 0 0; padding-left: 1.5rem; } /* Alert dengan Progress */ .nx-alert-progress { padding-bottom: 2.5rem; border-width: 2px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); } .nx-alert-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.5rem; } .nx-alert-title i { margin-right: 0.5rem; opacity: 0.8; } /* Badge in Progress */ .nx-badge { padding: 0.25rem 0.5rem; border-radius: 1rem; font-size: 0.85rem; font-weight: bold; } .nx-badge-warning { background: #fff3cd; color: #664d03; } /* Alert Dark Mode */ .nx-dark { color: #fff; } .nx-dark.nx-alert-primary { background-color: #084298; border-color: #0a58ca; } .nx-dark.nx-alert-success { background-color: #0f5132; border-color: #146c43; } .nx-dark.nx-alert-warning { background-color: #664d03; border-color: #997404; } .nx-dark.nx-alert-danger { background-color: #842029; border-color: #b02a37; } .nx-dark.nx-alert-info { background-color: #055160; border-color: #087990; } /* Alert dengan Prioritas */ .nx-priority-indicator { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: rgba(0,0,0,0.1); margin-right: 0.75rem; } .nx-priority-high .nx-priority-indicator { background: #dc3545; color: white; } .nx-priority-medium .nx-priority-indicator { background: #ffc107; color: #000; } .nx-priority-low .nx-priority-indicator { background: #0dcaf0; color: #000; } /* Alert dengan Timer */ .nx-alert-timer { overflow: hidden; } .nx-timer-bar { position: absolute; bottom: 0; left: 0; height: 3px; background-color: currentColor; opacity: 0.5; animation: timer-countdown 5s linear forwards; } @keyframes timer-countdown { from { width: 100%; } to { width: 0%; } } /* Responsive */ @media (max-width: 768px) { .nx-alert-actions { flex-direction: column; align-items: stretch; } .nx-alert-buttons { margin-top: 1rem; } } /* Alert dengan Progress */ .nx-alert-progress { padding-bottom: 2.5rem; } .nx-alert-progress .nx-progress { position: absolute; bottom: 0; left: 0; right: 0; margin: 0; border-radius: 0 0 0.375rem 0.375rem; } .nx-alert-progress .nx-progress-bar { height: 0.5rem; font-size: 0.75rem; line-height: 0.5rem; } .nx-alert-progress .nx-progress-striped { background-image: linear-gradient( 45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent ); background-size: 1rem 1rem; } .nx-alert-progress .nx-progress-animated { animation: progress-bar-stripes 1s linear infinite; } .nx-alert-progress .nx-progress-icon { margin-right: 0.5rem; } /*AND Alert*/ /* Style untuk Badge */ .nx-badge { display: inline-block; padding: 0.25em 0.6em; font-size: 75%; font-weight: 700; line-height: 1; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: 0.25rem; background-color: #e9ecef; color: #212529; margin: 0 5px; } /* Variasi Warna */ .nx-badge.nx-primary { background-color: #007bff; color: #fff; } .nx-badge.nx-success { background-color: #28a745; color: #fff; } .nx-badge.nx-warning { background-color: #ffc107; color: #212529; } .nx-badge.nx-danger { background-color: #dc3545; color: #fff; } .nx-badge.nx-info { background-color: #17a2b8; color: #fff; } /* Badge Pill */ .nx-badge.nx-pill { border-radius: 10rem; padding-right: 0.8em; padding-left: 0.8em; } /* Badge dalam Button */ .nx-btn .nx-badge { position: relative; top: -1px; } /* Badge Notifikasi Icon */ .nx-icon-badge { position: relative; display: inline-flex; /*align-items: center;*/ justify-content: center; margin: 0 20px; padding: 8px; } .nx-icon-badge i { font-size: 24px; color: #495057; } /* Badge Dot (untuk notifikasi bell) */ .nx-badge.nx-badge-dot { position: absolute; top: -5px; right: -5px; min-width: 18px; height: 18px; padding: 0 5px; font-size: 11px; line-height: 18px; border-radius: 10px; border: 2px solid #fff; display: flex; /*align-items: center;*/ justify-content: center; } /* Badge Count (untuk email dan cart) */ .nx-badge.nx-badge-count { position: absolute; top: -5px; right: -5px; min-width: 18px; height: 18px; padding: 0 5px; font-size: 11px; line-height: 18px; border-radius: 10px; border: 2px solid #fff; } /* Hover effect */ .nx-icon-badge:hover { cursor: pointer; } .nx-icon-badge:hover i { color: #000; } /* Badge Positioned */ .nx-position-relative { position: relative; display: block; margin-bottom: 15px; } .nx-box { background: #fff; border: 1px solid #dee2e6; padding: 15px; text-align: left; border-radius: 4px; } /* Posisi Badge */ .nx-badge.nx-positioned { position: absolute; min-width: 20px; height: 20px; padding: 0 6px; font-size: 12px; line-height: 20px; text-align: center; white-space: nowrap; } /* Top Right */ .nx-badge.nx-top-right { top: -10px; right: -10px; } /* Top Left */ .nx-badge.nx-top-left { top: -10px; left: -10px; } /* Bottom Right */ .nx-badge.nx-bottom-right { bottom: -10px; right: -10px; } /* Bottom Left */ .nx-badge.nx-bottom-left { bottom: -10px; left: -10px; } /* Warna khusus untuk badge positioned */ .nx-badge.nx-positioned.nx-danger { background-color: #dc3545; } .nx-badge.nx-positioned.nx-primary { background-color: #007bff; } .nx-badge.nx-positioned.nx-success { background-color: #28a745; } .nx-badge.nx-positioned.nx-warning { background-color: #ffc107; color: #000; } .demo-box .nx-box { min-width: 200px; margin-bottom: 20px; } /* Animasi Counter */ .nx-badge.nx-animate { transition: all 0.3s ease; } .nx-badge.nx-animate:hover { transform: scale(1.1); } /* Status Indicator */ .nx-badge.nx-status { display: inline-flex; /*align-items: center;*/ gap: 5px; padding: 0.4em 0.8em; } .nx-status-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; } .nx-status-online { background: #28a745; } .nx-status-offline { background: #dc3545; } .nx-status-away { background: #ffc107; } /* Gradient Badges */ .nx-badge.nx-gradient-primary { background: linear-gradient(45deg, #007bff, #00c6ff); color: white; } .nx-badge.nx-gradient-success { background: linear-gradient(45deg, #28a745, #84cc16); color: white; } .nx-badge.nx-pattern { background-image: repeating-linear-gradient(45deg, #6c757d 0, #6c757d 3px, transparent 0, transparent 6px); background-color: #f8f9fa; color: #212529; } /* Badge Group */ .nx-badge-group { display: inline-flex; gap: 5px; } /* Badge Framework Inspired */ .nx-badge-framework { margin-top: 20px; } /* Soft Style (Terinspirasi Bootstrap) */ .nx-badge-framework h5 { margin-bottom: 10px; } /* Gradient Style (Terinspirasi Tailwind) */ .nx-badge-framework .nx-gradient-ocean { background: linear-gradient(45deg, #007bff, #00c6ff); color: white; } .nx-badge-framework .nx-gradient-sunset { background: linear-gradient(45deg, #ffc107, #ffa500); color: white; } .nx-badge-framework .nx-gradient-forest { background: linear-gradient(45deg, #28a745, #84cc16); color: white; } .nx-badge-framework .nx-gradient-aurora { background: linear-gradient(45deg, #ff6b6b, #ffa500); color: white; } .nx-badge-framework .nx-gradient-cosmic { background: linear-gradient(45deg, #dc3545, #ff6b6b); color: white; } /* Bordered Style (Terinspirasi UIkit) */ .nx-badge-framework .nx-border-blue { border: 1px solid #007bff; background-color: #007bff; color: white; } .nx-badge-framework .nx-border-green { border: 1px solid #28a745; background-color: #28a745; color: white; } .nx-badge-framework .nx-border-red { border: 1px solid #dc3545; background-color: #dc3545; color: white; } .nx-badge-framework .nx-border-orange { border: 1px solid #ffc107; background-color: #ffc107; color: white; } .nx-badge-framework .nx-border-purple { border: 1px solid #9a00ff; background-color: #9a00ff; color: white; } /* Modern Style (Terinspirasi Bulma) */ .nx-badge-framework .nx-modern-dark { background-color: #333; color: white; } .nx-badge-framework .nx-modern-success { background-color: #28a745; color: white; } .nx-badge-framework .nx-modern-info { background-color: #17a2b8; color: white; } .nx-badge-framework .nx-modern-warning { background-color: #ffc107; color: white; } /* Framework Inspired Badges */ /* Soft Style */ .nx-badge[class*="nx-soft-"] { font-weight: 500; padding: 0.35em 0.8em; border-radius: 6px; } .nx-badge.nx-soft-blue { background: rgba(59, 130, 246, 0.1); color: #2563eb; } .nx-badge.nx-soft-green { background: rgba(34, 197, 94, 0.1); color: #16a34a; } .nx-badge.nx-soft-red { background: rgba(239, 68, 68, 0.1); color: #dc2626; } .nx-badge.nx-soft-yellow { background: rgba(234, 179, 8, 0.1); color: #ca8a04; } .nx-badge.nx-soft-purple { background: rgba(168, 85, 247, 0.1); color: #9333ea; } /* Gradient Style */ .nx-badge[class*="nx-gradient-"] { color: white; padding: 0.4em 1em; border-radius: 20px; font-weight: 600; } .nx-badge.nx-gradient-ocean { background: linear-gradient(135deg, #0ea5e9, #2563eb); } .nx-badge.nx-gradient-sunset { background: linear-gradient(135deg, #f97316, #dc2626); } .nx-badge.nx-gradient-forest { background: linear-gradient(135deg, #22c55e, #15803d); } .nx-badge.nx-gradient-aurora { background: linear-gradient(135deg, #6366f1, #a855f7); } .nx-badge.nx-gradient-cosmic { background: linear-gradient(135deg, #3b82f6, #ec4899); } /* Bordered Style */ .nx-badge[class*="nx-border-"] { background: white; padding: 0.35em 0.8em; border: 2px solid; border-radius: 4px; font-weight: 600; } .nx-badge.nx-border-blue { border-color: #3b82f6; color: #2563eb; } .nx-badge.nx-border-green { border-color: #22c55e; color: #16a34a; } .nx-badge.nx-border-red { border-color: #ef4444; color: #dc2626; } .nx-badge.nx-border-orange { border-color: #f97316; color: #ea580c; } .nx-badge.nx-border-purple { border-color: #a855f7; color: #9333ea; } /* Modern Style */ .nx-badge[class*="nx-modern-"] { padding: 0.4em 0.8em; border-radius: 8px; font-weight: 600; display: inline-flex; /*align-items: center;*/ gap: 4px; } .nx-badge[class*="nx-modern-"] i { font-size: 0.85em; } .nx-badge.nx-modern-dark { background: #1f2937; color: white; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .nx-badge.nx-modern-success { background: #059669; color: white; box-shadow: 0 2px 4px rgba(5,150,105,0.2); } .nx-badge.nx-modern-info { background: #0284c7; color: white; box-shadow: 0 2px 4px rgba(2,132,199,0.2); } .nx-badge.nx-modern-warning { background: #d97706; color: white; box-shadow: 0 2px 4px rgba(217,119,6,0.2); } /* Hover Effects */ .nx-badge[class*="nx-soft-"]:hover, .nx-badge[class*="nx-border-"]:hover { transform: translateY(-1px); transition: transform 0.2s ease; } .nx-badge[class*="nx-gradient-"]:hover { filter: brightness(1.1); transition: filter 0.2s ease; } .nx-badge[class*="nx-modern-"]:hover { transform: translateY(-1px); box-shadow: 0 4px 6px rgba(0,0,0,0.1); transition: all 0.2s ease; } /* Badge Sizes */ .nx-badge-sm { font-size: 65%; padding: 0.2em 0.5em; } .nx-badge { font-size: 75%; padding: 0.25em 0.6em; } .nx-badge-lg { font-size: 85%; padding: 0.3em 0.7em; } /* Pill badge sizes */ .nx-badge.nx-pill.nx-badge-sm { padding-right: 0.6em; padding-left: 0.6em; } .nx-badge.nx-pill { padding-right: 0.8em; padding-left: 0.8em; } .nx-badge.nx-pill.nx-badge-lg { padding-right: 1em; padding-left: 1em; } /*AND Badge*/ /* Media Object Base */ .nx-media { display: flex; align-items: flex-start; margin-bottom: 1rem; } .nx-media-img { margin-right: 1rem; width: 64px; height: 64px; object-fit: cover; border-radius: 4px; } .nx-media-body { flex: 1; } .nx-media-body h5 { margin: 0 0 0.5rem 0; font-size: 1.1rem; font-weight: 600; } .nx-media-body p { margin: 0; color: #666; line-height: 1.5; } /* Media Object Alignment */ .nx-media-center { align-items: center; } .nx-media-bottom { align-items: flex-end; } /* Media Object Sizes */ .nx-media-sm .nx-media-img { width: 48px; height: 48px; } .nx-media-lg .nx-media-img { width: 96px; height: 96px; } /* Media Object Responsive */ @media (max-width: 576px) { .nx-media { flex-direction: column; align-items: center; text-align: center; } .nx-media-img { margin-right: 0; margin-bottom: 1rem; } } /* Media Object Border */ .nx-media-bordered { padding: 1rem; border: 1px solid #e0e0e0; border-radius: 6px; } /* Media Object Hover Effect */ .nx-media-hover:hover { background-color: #f8f9fa; transition: background-color 0.2s ease; } /* Media Object Right Position */ .nx-media.nx-media-right { flex-direction: row-reverse !important; } .nx-media.nx-media-right .nx-media-img { margin-right: 0; margin-left: 1rem; } /* Responsive untuk media-right */ @media (max-width: 576px) { .nx-media.nx-media-right { flex-direction: column !important; text-align: center; } .nx-media.nx-media-right .nx-media-img { margin-left: 0; margin-top: 1rem; margin-bottom: 0; } } /* Media Object Position */ .nx-media-right { justify-content: flex-end; text-align: right; } .nx-media-right .nx-media-body { margin-right: 1rem; margin-left: 0; order: -1; } /* Responsive untuk media position */ @media (max-width: 576px) { .nx-media-right { justify-content: center; text-align: center; } .nx-media-right .nx-media-body { margin-right: 0; margin-bottom: 1rem; } } /* Media Object Position */ .nx-media-text-right { text-align: right; } .nx-media-text-right .nx-media-body { text-align: right; } /* Responsive untuk text alignment */ @media (max-width: 576px) { .nx-media-text-right { text-align: center; } .nx-media-text-right .nx-media-body { text-align: center; } } /* Media Object Text Position with Image Position */ .nx-media-text-left { text-align: left; } .nx-media-text-left .nx-media-body { text-align: left; } .nx-media-reverse { flex-direction: row-reverse; } .nx-media-reverse .nx-media-img { margin-right: 0; margin-left: 1rem; } /* Responsive untuk text-left dengan reverse */ @media (max-width: 576px) { .nx-media-text-left { text-align: center; } .nx-media-text-left .nx-media-body { text-align: center; } .nx-media-reverse .nx-media-img { margin-left: 0; margin-top: 1rem; } } /* Media Object Nesting */ .nx-media .nx-media { margin-top: 1rem; margin-left: 3rem; } /* Media Object Badge */ .nx-media-img-wrapper { position: relative; } .nx-media-badge { position: absolute; top: -8px; right: -8px; padding: 0.25rem 0.5rem; background-color: #dc3545; color: white; border-radius: 0.25rem; font-size: 0.75rem; } /*AND Media Object*/ .nx-breadcrumb { display: flex; align-items: center; padding: 8px 16px; background-color: #f8f9fa; border-radius: 4px; margin: 10px 0; } .nx-breadcrumb-item { display: flex; align-items: center; color: #6c757d; } .nx-breadcrumb-item:not(:last-child)::after { content: "/"; margin: 0 8px; color: #6c757d; } .nx-breadcrumb-item a { color: #0d6efd; text-decoration: none; } .nx-breadcrumb-item a:hover { text-decoration: underline; } .nx-breadcrumb-item.active { color: #212529; } /* Variasi Warna */ .nx-breadcrumb.dark { background-color: #343a40; } .nx-breadcrumb.dark .nx-breadcrumb-item { color: #fff; } .nx-breadcrumb.dark .nx-breadcrumb-item a { color: #9ec5fe; } /* Custom Separator */ .nx-breadcrumb.separator-arrow .nx-breadcrumb-item:not(:last-child)::after { content: "→"; margin: 0 8px; } /* Ukuran */ .nx-breadcrumb.small { font-size: 0.875rem; padding: 4px 12px; } .nx-breadcrumb.large { font-size: 1.25rem; padding: 12px 20px; } /* Variasi Warna */ .nx-breadcrumb.primary { background-color: #0d6efd; } .nx-breadcrumb.primary .nx-breadcrumb-item, .nx-breadcrumb.primary .nx-breadcrumb-item a { color: #fff; } .nx-breadcrumb.success { background-color: #198754; } .nx-breadcrumb.success .nx-breadcrumb-item, .nx-breadcrumb.success .nx-breadcrumb-item a { color: #fff; } /* Breadcrumb dengan Icon */ .nx-breadcrumb-item i { margin-right: 5px; } /* Breadcrumb dengan Background Gradient */ .nx-breadcrumb.gradient { background: linear-gradient(45deg, #0d6efd, #0dcaf0); } .nx-breadcrumb.gradient .nx-breadcrumb-item, .nx-breadcrumb.gradient .nx-breadcrumb-item a { color: #fff; } /* Breadcrumb dengan Border */ .nx-breadcrumb.bordered { border: 1px solid #dee2e6; background-color: transparent; } /* Breadcrumb dengan Shadow */ .nx-breadcrumb.shadow { box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); } /* Breadcrumb Rounded */ .nx-breadcrumb.rounded-pill { border-radius: 50rem; } /* Breadcrumb dengan Hover Effect */ .nx-breadcrumb.hover-effect .nx-breadcrumb-item a:hover { color: #0a58ca; transform: translateY(-1px); transition: all 0.2s ease; } /* Breadcrumb Responsive */ @media (max-width: 576px) { .nx-breadcrumb.responsive { flex-wrap: wrap; } .nx-breadcrumb.responsive .nx-breadcrumb-item { margin: 2px 0; } } /* Modern Breadcrumb Styles */ .nx-breadcrumb.modern { background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(8px); border: 1px solid rgba(231, 231, 231, 0.8); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); } .nx-breadcrumb.modern .nx-breadcrumb-item:not(:last-child)::after { content: "›"; font-size: 1.2em; margin: 0 10px; color: #9ca3af; } /* Floating Style */ .nx-breadcrumb.floating { position: relative; background: white; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); border-radius: 8px; transition: transform 0.2s, box-shadow 0.2s; } .nx-breadcrumb.floating:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12); } /* Minimal Style */ .nx-breadcrumb.minimal { background: none; padding: 8px 0; } .nx-breadcrumb.minimal .nx-breadcrumb-item:not(:last-child)::after { content: "•"; font-weight: bold; color: #d1d5db; } /* Neumorphism Style */ .nx-breadcrumb.neumorphic { background: #f0f0f0; box-shadow: 5px 5px 10px #d9d9d9, -5px -5px 10px #ffffff; border: none; } /* Animated Separator */ .nx-breadcrumb.animated .nx-breadcrumb-item:not(:last-child)::after { content: "→"; transition: transform 0.2s; } .nx-breadcrumb.animated:hover .nx-breadcrumb-item:not(:last-child)::after { transform: translateX(3px); } /* Card Style */ .nx-breadcrumb.card-style { background: white; border-radius: 10px; padding: 12px 20px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06); } .nx-breadcrumb.card-style .nx-breadcrumb-item a { padding: 4px 8px; border-radius: 4px; transition: background-color 0.2s; } .nx-breadcrumb.card-style .nx-breadcrumb-item a:hover { background-color: #f3f4f6; text-decoration: none; } /*AND breadcrumb*/ /* Base Card Styles */ .nx-card { position: relative; display: flex; flex-direction: column; background-color: var(--nx-card-bg); border: 1px solid var(--nx-card-border-color); border-radius: var(--nx-card-border-radius); margin-bottom: 1rem; } .nx-card-header { padding: var(--nx-card-spacing); border-bottom: 1px solid var(--nx-card-border-color); background-color: rgb(0 0 0 / 0%); } .nx-card-body { padding: var(--nx-card-spacing); flex: 1 1 auto; } .nx-card-footer { padding: var(--nx-card-spacing); border-top: 1px solid var(--nx-card-border-color); background-color: rgb(0 0 0 / 0%); } .nx-card-title { margin-bottom: 0.75rem; font-size: 1.25rem; font-weight: 500; color: #1a202c; line-height: 1.2; letter-spacing: -0.025em; } .nx-card-text { margin-bottom: 1rem; color: #374151; font-size: 0.95rem; line-height: 1.5; font-weight: 400; } /* Card Variants */ .nx-card-gradient { background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%); border: none; color: white; } .nx-card-gradient .nx-card-title, .nx-card-gradient .nx-card-text { color: white; opacity: 0.9; } .nx-card-floating { border: none; box-shadow: var(--nx-card-shadow); transition: transform 0.3s ease, box-shadow 0.3s ease; } .nx-card-floating:hover { transform: translateY(-5px); box-shadow: var(--nx-card-hover-shadow); } .nx-card-borderless { border: none; background: #f8fafc; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); } .nx-card-borderless .nx-card-icon { font-size: 2rem; margin-bottom: 1rem; text-align: center; } .nx-card-glass { background: rgba(255, 255, 255, 0.7); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.3); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); } /* Card Groups */ .nx-card-group { display: flex; gap: 1rem; } .nx-card-group .nx-card { flex: 1; margin-bottom: 0; } /* Card dengan Image */ .nx-card-img-top { width: 100%; height: auto; border-top-left-radius: calc(var(--nx-card-border-radius) - 1px); border-top-right-radius: calc(var(--nx-card-border-radius) - 1px); } /* Horizontal Card */ .nx-card-horizontal { flex-direction: row; } .nx-card-horizontal .nx-card-side { flex: 0 0 33.333333%; } .nx-card-horizontal .nx-card-side img { width: 100%; height: 100%; object-fit: cover; border-top-right-radius: 0; border-bottom-left-radius: calc(var(--nx-card-border-radius) - 1px); } /* Interactive Cards */ .nx-card-flip { perspective: 1000px; height: 200px; } .nx-card-inner { position: relative; width: 100%; height: 100%; transition: transform 0.6s; transform-style: preserve-3d; } .nx-card-flip:hover .nx-card-inner { transform: rotateY(180deg); } .nx-card-front, .nx-card-back { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; border-radius: var(--nx-card-border-radius); } .nx-card-back { transform: rotateY(180deg); background-color: #4f46e5; color: white; } /* Style untuk teks dalam card interaktif */ .nx-card-back .nx-card-title, .nx-card-back .nx-card-text { color: white; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); } .nx-card-back .nx-card-title { font-weight: 600; margin-bottom: 0.5rem; } .nx-card-back .nx-card-text { opacity: 0.95; } /* Style untuk card front */ .nx-card-front { background-color: var(--nx-card-bg); } /* Style untuk card back */ .nx-card-back { transform: rotateY(180deg); background-color: #4f46e5; } .nx-card-back .nx-card-title, .nx-card-back .nx-card-text, .nx-card-back .nx-card-body { color: white !important; } .nx-card-back .nx-card-title { font-size: 1.25rem; font-weight: 600; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); } /* Card dengan Overlay */ .nx-card-overlay { position: relative; overflow: hidden; } .nx-card-img-overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; padding: var(--nx-card-spacing); background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.7) 50%, rgba(0, 0, 0, 0.95) 100% ); color: white; display: flex; flex-direction: column; justify-content: flex-end; z-index: 1; } /* Style khusus untuk teks dalam overlay */ .nx-card-overlay .nx-card-title { color: #ffffff !important; font-weight: 600; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); margin-bottom: 0.5rem; font-size: 1.5rem; position: relative; z-index: 2; } .nx-card-overlay .nx-card-text { color: rgba(255, 255, 255, 0.95) !important; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); margin-bottom: 0; font-size: 1rem; position: relative; z-index: 2; } /* Efek hover untuk card overlay */ .nx-card-overlay:hover .nx-card-img-overlay { background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.7) 50%, rgba(0, 0, 0, 0.95) 100% ); } /* Card List Style */ .nx-card-list .nx-card-number { font-size: 2rem; font-weight: bold; color: var(--nx-primary); padding: 1rem; } /* Card Expandable */ .nx-card-expandable .nx-card-header { display: flex; justify-content: space-between; align-items: center; } .nx-card-toggle { background: none; border: none; font-size: 1.5rem; cursor: pointer; padding: 0.5rem; } /* Card Grid */ .nx-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1rem; margin-top: 1rem; } /* Untuk card dengan background gelap */ .nx-card-gradient .nx-card-text, .nx-card-overlay .nx-card-text { color: rgba(255, 255, 255, 0.95); text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } /* Untuk card dengan background terang */ .nx-card-floating .nx-card-text, .nx-card-borderless .nx-card-text, .nx-card-glass .nx-card-text { color: #1f2937; } /* Untuk card dengan list style */ .nx-card-list .nx-card-text { color: #4b5563; margin-bottom: 0.5rem; } /* Untuk card dengan hover effect */ .nx-card-floating:hover .nx-card-text { color: #111827; } /* Untuk card dengan background gelap */ .nx-card-gradient .nx-card-title, .nx-card-overlay .nx-card-title { color: white; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); font-weight: 600; } /* Untuk card dengan background terang */ .nx-card-floating .nx-card-title, .nx-card-borderless .nx-card-title, .nx-card-glass .nx-card-title { color: #111827; font-weight: 600; } /* Untuk card dengan list style */ .nx-card-list .nx-card-title { font-size: 1.1rem; margin-bottom: 0.5rem; color: #2d3748; } /* Untuk card dengan hover effect */ .nx-card-floating:hover .nx-card-title { color: #000; transform: translateY(-1px); transition: all 0.3s ease; } /* Untuk card dengan expandable */ .nx-card-expandable .nx-card-title { margin-bottom: 0; font-siz