/* ============================================ EASI Blog List - Card Grid Version (v6) Filters + Search in horizontal toolbar Changes in v6: - Column headers restored on each card (via data-th) - "View details" button added to each card (needs the companion Custom JavaScript snippet to render the link) ============================================ */ /* ── KILL BACKGROUND CARDS / PANELS ── */ .entitylist, .entity-list, .view-grid-container, .entitylist .panel, .entitylist .panel-default, .entitylist .panel-body, .entitylist .panel-heading, .entitylist .well, .entitylist .card, .entitylist .container, .entitylist .container-fluid, .entity-list-container, .view-container, .list-container { background: transparent !important; background-color: transparent !important; box-shadow: none !important; border: none !important; border-radius: 0 !important; } /* ── LIST CONTAINER ── */ .entitylist, .entity-list, .view-grid-container { max-width: 1200px !important; margin: 30px auto !important; padding: 10px !important; font-family: 'Segoe UI', Arial, Helvetica, sans-serif !important; } /* ── HORIZONTAL TOOLBAR (filters + search in one row) ── */ .entitylist .view-toolbar, .view-toolbar, .entitylist-controls { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 12px !important; margin-bottom: 18px !important; background: transparent !important; box-shadow: none !important; border: none !important; padding: 0 !important; } /* ── FILTER WRAPPER (left side) ── */ .entitylist .entitylist-filter, .entitylist-filter, .entitylist .filter-controls, .filter-controls, .entitylist .view-filter, .view-filter, .entitylist .filter-panel, .filter-panel, .facet-container, .entitylist .facet-container, .entitylist .filters, .filters { display: inline-flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 10px !important; background: transparent !important; box-shadow: none !important; border: none !important; padding: 0 !important; margin: 0 !important; } /* ── INDIVIDUAL FILTER DROPDOWNS / DATE PICKERS ── */ .entitylist .entitylist-filter select, .entitylist .entitylist-filter input, .entitylist-filter select, .entitylist-filter input[type="text"], .entitylist-filter input[type="date"], .entitylist-filter input[type="checkbox"], .view-filter select, .view-filter input, .facet-container select, .facet-container input, .filters select, .filters input, .filter-option, .filter-option select, .filter-option input, .entitylist .filter-toggle, .filter-toggle { background: #f6f8f9 !important; border: 1px solid #e1e5ec !important; border-radius: 8px !important; padding: 8px 12px !important; font-size: 13px !important; color: #1B3A6B !important; cursor: pointer !important; min-width: 120px !important; transition: border-color 0.2s, box-shadow 0.2s !important; } /* Checkbox sizing override */ .entitylist-filter input[type="checkbox"], .filters input[type="checkbox"], .filter-option input[type="checkbox"] { min-width: auto !important; width: 16px !important; height: 16px !important; accent-color: #1B3A6B !important; cursor: pointer !important; } /* Focus state */ .entitylist-filter select:focus, .entitylist-filter input:focus, .view-filter select:focus, .view-filter input:focus, .facet-container select:focus, .filters select:focus { border-color: #FFD700 !important; box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.25) !important; outline: none !important; } /* Filter labels */ .entitylist .entitylist-filter label, .entitylist-filter label, .filter-controls label, .facet-container label, .filters label, .filter-option label { color: #1B3A6B !important; font-weight: 600 !important; font-size: 12px !important; margin: 0 4px 0 0 !important; letter-spacing: 0.2px !important; white-space: nowrap !important; } /* Each filter group (label + control wrapper) */ .entitylist-filter .filter-option, .filters .filter-option, .facet-container .facet-option, .filter-group { display: inline-flex !important; align-items: center !important; gap: 6px !important; background: transparent !important; } /* "Apply" / "Clear" filter buttons */ .entitylist-filter button, .filters button, .filter-controls button, .facet-container button { background: #1B3A6B !important; color: #ffffff !important; border: none !important; border-radius: 8px !important; padding: 8px 14px !important; font-size: 12px !important; font-weight: 600 !important; cursor: pointer !important; transition: background 0.2s !important; } .entitylist-filter button:hover, .filters button:hover, .filter-controls button:hover { background: #FFD700 !important; color: #1B3A6B !important; } /* ── SEARCH (right side) ── */ .entitylist .entitylist-search, .entitylist-search { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; margin-left: auto !important; } .entitylist-search input[type="text"], .view-toolbar input[type="text"], .view-toolbar input[type="search"] { background: #f6f8f9 !important; border: 1px solid #e1e5ec !important; border-radius: 8px !important; padding: 8px 12px !important; font-size: 13px !important; color: #1B3A6B !important; width: 250px !important; max-width: 100% !important; } .entitylist-search input:focus { border-color: #FFD700 !important; box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.25) !important; outline: none !important; } .entitylist-search button, .view-toolbar button { background: #1B3A6B !important; color: #ffffff !important; border: none !important; border-radius: 8px !important; padding: 8px 16px !important; font-size: 13px !important; font-weight: 600 !important; cursor: pointer !important; } .entitylist-search button:hover { background: #FFD700 !important; color: #1B3A6B !important; } /* ── HIDE TABLE HEADER (single shared header row) ── */ .entitylist table thead, table.table thead, .view-grid table thead { display: none !important; } /* ── FORCE TABLE INTO GRID LAYOUT ── */ .entitylist table, table.table, .view-grid table { display: block !important; width: 100% !important; background: transparent !important; border: none !important; box-shadow: none !important; } /* ── SCROLLABLE GRID — ~12 cards visible ── */ .entitylist table tbody, table.table tbody, .view-grid table tbody { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important; gap: 16px !important; background: transparent !important; width: 100% !important; max-height: 720px !important; overflow-y: auto !important; overflow-x: hidden !important; padding: 4px 12px 4px 4px !important; } /* ── CUSTOM SCROLLBAR ── */ .entitylist table tbody::-webkit-scrollbar, table.table tbody::-webkit-scrollbar { width: 8px !important; } .entitylist table tbody::-webkit-scrollbar-track, table.table tbody::-webkit-scrollbar-track { background: #f0f2f5 !important; border-radius: 4px !important; } .entitylist table tbody::-webkit-scrollbar-thumb, table.table tbody::-webkit-scrollbar-thumb { background: #1B3A6B !important; border-radius: 4px !important; } .entitylist table tbody::-webkit-scrollbar-thumb:hover, table.table tbody::-webkit-scrollbar-thumb:hover { background: #FFD700 !important; } .entitylist table tbody, table.table tbody { scrollbar-width: thin !important; scrollbar-color: #1B3A6B #f0f2f5 !important; } /* ── EACH ROW = A CARD ── */ .entitylist table tbody tr, table.table tbody tr, .view-grid table tbody tr { display: flex !important; flex-direction: column !important; background: #ffffff !important; border-radius: 12px !important; box-shadow: 0 3px 14px rgba(27, 58, 107, 0.08) !important; border: 1px solid rgba(27, 58, 107, 0.06) !important; padding: 16px 18px !important; transition: transform 0.2s, box-shadow 0.2s !important; cursor: pointer !important; overflow: hidden !important; position: relative !important; min-height: 100px !important; } .entitylist table tbody tr::before, table.table tbody tr::before { content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 3px !important; background: linear-gradient(90deg, #FFD700, #e6c200) !important; opacity: 0 !important; transition: opacity 0.2s !important; } .entitylist table tbody tr:hover, table.table tbody tr:hover { transform: translateY(-3px) !important; box-shadow: 0 8px 24px rgba(27, 58, 107, 0.16) !important; } .entitylist table tbody tr:hover::before, table.table tbody tr:hover::before { opacity: 1 !important; } /* ── SHOW CARD CELLS WITH THEIR COLUMN HEADERS ── */ .entitylist table tbody td, table.table tbody td, .view-grid table tbody td { display: block !important; padding: 2px 0 !important; border: none !important; font-size: 13px !important; color: #334155 !important; line-height: 1.4 !important; } /* Pulls the old list-form header onto each field (from Power Pages' data-th attribute) */ .entitylist table tbody td::before, table.table tbody td::before, .view-grid table tbody td::before { content: attr(data-th) !important; display: block !important; font-size: 10px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; color: #1B3A6B !important; margin-bottom: 2px !important; } /* Title (first column) = card heading, no label above it */ .entitylist table tbody td:first-child, table.table tbody td:first-child, .view-grid table tbody td:first-child { font-size: 15px !important; font-weight: 700 !important; color: #1B3A6B !important; margin-bottom: 8px !important; line-height: 1.3 !important; } .entitylist table tbody td:first-child::before, table.table tbody td:first-child::before, .view-grid table tbody td:first-child::before { content: "" !important; display: none !important; } .entitylist table tbody td:first-child a, table.table tbody td:first-child a { color: #1B3A6B !important; text-decoration: none !important; font-weight: 700 !important; } /* To hide a column you don't want on the card, target its header text, e.g.: .entitylist table tbody td[data-th="Blog"] { display: none !important; } */ /* ── VIEW DETAILS BUTTON ── */ /* The .view-details-cell is injected into each card by the Custom JavaScript snippet */ .entitylist table tbody td.view-details-cell, table.table tbody td.view-details-cell, .view-grid table tbody td.view-details-cell { display: block !important; margin-top: auto !important; /* sticks the button to the bottom of the card */ padding-top: 12px !important; } .entitylist table tbody td.view-details-cell::before, table.table tbody td.view-details-cell::before, .view-grid table tbody td.view-details-cell::before { content: "" !important; display: none !important; } .view-details-btn { display: inline-block !important; padding: 8px 18px !important; background: #1B3A6B !important; color: #ffffff !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 600 !important; text-decoration: none !important; transition: background 0.2s !important; } .view-details-btn:hover { background: #FFD700 !important; color: #1B3A6B !important; } /* ── PAGINATION ── */ .entitylist .pagination, .pagination { display: flex !important; justify-content: center !important; gap: 6px !important; margin-top: 20px !important; padding: 0 !important; list-style: none !important; } .entitylist .pagination li a, .pagination li a { display: inline-block !important; padding: 6px 12px !important; background: #ffffff !important; color: #1B3A6B !important; border: 1px solid #e1e5ec !important; border-radius: 6px !important; font-weight: 600 !important; font-size: 12px !important; text-decoration: none !important; } .entitylist .pagination li a:hover, .pagination li a:hover { background: #FFD700 !important; color: #1B3A6B !important; border-color: #FFD700 !important; } .entitylist .pagination li.active a, .pagination li.active a { background: #1B3A6B !important; color: #ffffff !important; border-color: #1B3A6B !important; } /* ── EMPTY STATE ── */ .entitylist .no-records, .entitylist .view-empty { text-align: center !important; padding: 50px 20px !important; color: #6b7280 !important; font-size: 13px !important; font-style: italic !important; background: transparent !important; grid-column: 1 / -1 !important; } /* ── RESPONSIVE ── */ @media (max-width: 768px) { .entitylist, .entity-list, .view-grid-container { padding: 10px !important; margin: 20px 10px !important; } .entitylist .view-toolbar, .view-toolbar { flex-direction: column !important; align-items: stretch !important; } .entitylist-filter, .filters { flex-direction: column !important; align-items: stretch !important; width: 100% !important; } .entitylist-filter select, .filters select, .entitylist-search input[type="text"] { width: 100% !important; min-width: auto !important; } .entitylist-search { margin-left: 0 !important; width: 100% !important; } .entitylist table tbody, table.table tbody { grid-template-columns: 1fr !important; gap: 12px !important; max-height: 600px !important; } .entitylist table tbody tr { padding: 14px 16px !important; min-height: 90px !important; } }