Card skeleton
A grid of cards that holds each photo, title, detail and price in place while it loads.
quartely report
No results for this search.
We searched file names and contents in Finance, from the last 7 days.
Live preview: try it.
<!-- Icons: Lucide (lucide.dev), ISC licence -->
<style>
.odl-empty-no-results { box-sizing: border-box; inline-size: 100%; max-inline-size: 40rem; margin-inline: auto; container-type: inline-size; font: var(--ds-text-body-md); color: var(--ds-color-text-primary); text-wrap: pretty; }
.odl-empty-no-results *, .odl-empty-no-results *::before, .odl-empty-no-results *::after { box-sizing: border-box; }
.odl-empty-no-results svg { flex: none; inline-size: var(--ds-size-icon-sm); block-size: var(--ds-size-icon-sm); fill: none; stroke: currentColor; stroke-width: var(--ds-icon-stroke-md); }
.odl-empty-no-results h2, .odl-empty-no-results h3, .odl-empty-no-results p, .odl-empty-no-results ul, .odl-empty-no-results ol, .odl-empty-no-results dl, .odl-empty-no-results dd { margin: 0; }
.odl-empty-no-results h2, .odl-empty-no-results h3 { text-wrap: balance; }
.odl-empty-no-results .odl-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--ds-space-inline-sm); min-block-size: max(var(--ds-size-control-md), var(--ds-size-target-min)); padding: 0 var(--ds-space-inset-md);
border: var(--ds-border-width-default) solid transparent; border-radius: var(--ds-radius-control); background: var(--ds-color-bg-action-primary); color: var(--ds-color-text-on-action);
font: var(--ds-text-label-lg); font-weight: var(--ds-font-weight-label); text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color var(--ds-motion-duration-short) var(--ds-motion-easing-standard); }
.odl-empty-no-results .odl-btn:hover { background: var(--ds-color-bg-action-primary-hover); }
.odl-empty-no-results .odl-btn:active { background: var(--ds-color-bg-action-primary-pressed); }
.odl-empty-no-results .odl-btn.is-quiet { border-color: var(--ds-color-border-default); background: var(--ds-color-surface-raised); color: var(--ds-color-text-primary); }
.odl-empty-no-results .odl-btn.is-quiet:hover { background: var(--ds-color-bg-neutral-subtle); }
.odl-empty-no-results .odl-btn.is-text { padding-inline: var(--ds-space-inset-sm); background: transparent; color: var(--ds-color-text-link); }
.odl-empty-no-results .odl-btn.is-text:hover { background: var(--ds-color-bg-neutral-subtle); }
.odl-empty-no-results .odl-btn[disabled], .odl-empty-no-results .odl-btn[aria-disabled="true"] { opacity: var(--ds-opacity-disabled-container); cursor: not-allowed; }
.odl-empty-no-results button:focus-visible, .odl-empty-no-results a:focus-visible, .odl-empty-no-results input:focus-visible, .odl-empty-no-results textarea:focus-visible, .odl-empty-no-results [tabindex]:focus-visible { outline: var(--ds-focus-ring-width) solid var(--ds-color-border-focus); outline-offset: var(--ds-focus-ring-offset); }
.odl-empty-no-results .odl-sr { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.odl-empty-no-results { display: grid; justify-items: center; padding: var(--ds-space-section-sm) var(--ds-space-inset-xl); text-align: center;
border: var(--ds-border-width-default) solid var(--ds-color-border-subtle); border-radius: var(--ds-radius-container); background: var(--ds-color-surface-raised); }
.odl-empty-no-results .odl-art { display: grid; place-items: center; inline-size: calc(var(--ds-size-control-lg) * 1.25); aspect-ratio: 1; margin-block-end: var(--ds-state-empty-gap, var(--ds-space-stack-md));
border-radius: var(--ds-radius-full); background: var(--ds-color-surface-sunken); color: var(--ds-color-icon-default); }
.odl-empty-no-results .odl-art svg { inline-size: var(--ds-state-empty-media, var(--ds-size-icon-lg)); block-size: var(--ds-state-empty-media, var(--ds-size-icon-lg)); stroke-width: var(--ds-icon-stroke-sm); }
.odl-empty-no-results h2 { font: var(--ds-text-title-md); font-weight: var(--ds-font-weight-heading); }
.odl-empty-no-results .odl-lead { max-inline-size: var(--ds-state-empty-measure, var(--ds-layout-measure-lead)); margin-block-start: var(--ds-space-stack-sm); color: var(--ds-color-text-secondary); }
.odl-empty-no-results .odl-acts { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--ds-space-inline-sm); margin-block-start: var(--ds-space-stack-xl); }
@container (max-width: 26rem) {
.odl-empty-no-results { padding: var(--ds-space-section-sm) var(--ds-space-inset-lg); }
.odl-empty-no-results .odl-acts { flex-direction: column; align-self: stretch; }
}
.odl-empty-no-results .odl-ways { display: grid; gap: var(--ds-space-stack-sm); inline-size: 100%; max-inline-size: 26rem; margin-block-start: var(--ds-space-stack-lg); padding: 0; list-style: none; text-align: start; }
.odl-empty-no-results .odl-ways button { display: flex; align-items: center; gap: var(--ds-space-inline-md); inline-size: 100%; min-block-size: max(var(--ds-size-control-md), var(--ds-size-target-min)); padding: 0 var(--ds-space-inset-md);
border: var(--ds-border-width-default) solid var(--ds-color-border-subtle); border-radius: var(--ds-radius-control); background: var(--ds-color-surface-raised); color: var(--ds-color-text-primary); font: var(--ds-text-body-md); text-align: start; cursor: pointer;
transition: background-color var(--ds-motion-duration-short) var(--ds-motion-easing-standard); }
.odl-empty-no-results .odl-ways button:hover { background: var(--ds-color-bg-neutral-subtle); }
.odl-empty-no-results .odl-ways svg { color: var(--ds-color-icon-subtle); }
.odl-empty-no-results .odl-ways b { font-weight: var(--ds-font-weight-label); }
.odl-empty-no-results q { font-weight: var(--ds-font-weight-label); color: var(--ds-color-text-primary); }
@media (prefers-reduced-motion: reduce) { .odl-empty-no-results, .odl-empty-no-results *, .odl-empty-no-results *::before, .odl-empty-no-results *::after { transition: none !important; animation: none !important; } }
</style>
<section class="odl-empty-no-results" aria-label="Search results">
<span class="odl-art" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m13.5 8.5-5 5"/><path d="m8.5 8.5 5 5"/><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg></span>
<h2>No results for <q data-od-slot="query">quartely report</q></h2>
<p class="odl-sr" role="status">No results for this search.</p>
<p class="odl-lead" data-od-slot="message">We searched file names and contents in Finance, from the last 7 days.</p>
<ul class="odl-ways" aria-label="Ways to widen the search">
<li><button type="button" data-od-action="spelling"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg><span data-od-slot="label">Search for “quarterly report” instead</span></button></li>
<li><button type="button" data-od-action="all_folders"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 10v6"/><path d="M9 13h6"/><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"/></svg><span data-od-slot="label">Search all folders, not only Finance</span></button></li>
<li><button type="button" data-od-action="any_date"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"/><path d="M16 2v4"/><path d="M8 2v4"/><path d="M3 10h5"/><path d="M17.5 17.5 16 16.3V14"/><circle cx="16" cy="16" r="6"/></svg><span data-od-slot="label">Search any date</span></button></li>
</ul>
</section>
A grid of cards that holds each photo, title, detail and price in place while it loads.
A planned-downtime page that says what is paused.
A 403 page that says who owns the page and lets the person ask for access with an.