template
Explore creation
A slate-blue platform map that connects visitors, an edge layer, services and storage with readable labe…
An elegant concert booklet with dramatic serif typography, original musical line art and program details on demand.
<!-- Original layout, SVG/CSS artwork and JavaScript © 2026 XXC Templates. MIT License.
Visual pattern references (original code, names and content; no affiliation):
HTML5 UP Massively: https://html5up.net/uploads/demos/massively/index.html
Large typographic opening, strong date hierarchy and a long-form publication grid.
HTML5 UP Editorial: https://html5up.net/uploads/demos/editorial/
A publication masthead, sidebar index and split article introduction.
Illustrative sample content and data; no real accounts, payments, reservations or messages. -->
<main>
<header><b>AURELIA</b><span>CHAMBER ORCHESTRA</span><small>SEASON 26—27</small></header>
<section class="concert">
<div>
<small>AN EVENING IN THREE MOVEMENTS</small>
<h1>The space<br />between<br /><i>the notes.</i></h1>
<p>A program of imagined works for<br />strings, silence and a little surprise.</p>
<button id="change">Explore the program →</button>
</div>
<figure aria-label="Original abstract musical lines">
<svg viewBox="0 0 270 340">
<g fill="none" stroke="#c4a271" stroke-width="1">
<path d="M30 15C280 70 -70 245 205 325" />
<path d="M37 15C276 70 -60 245 207 325" />
<path d="M44 15C272 70 -50 245 209 325" />
<path d="M51 15C268 70 -40 245 211 325" />
<path d="M58 15C264 70 -30 245 213 325" />
<path d="M65 15C260 70 -20 245 215 325" />
<path d="M72 15C256 70 -10 245 217 325" />
<path d="M79 15C252 70 0 245 219 325" />
<path d="M86 15C248 70 10 245 221 325" />
<path d="M93 15C244 70 20 245 223 325" />
<path d="M100 15C240 70 30 245 225 325" />
<path d="M107 15C236 70 40 245 227 325" />
<path d="M114 15C232 70 50 245 229 325" />
<path d="M121 15C228 70 60 245 231 325" />
</g>
<circle cx="192" cy="99" r="35" fill="#d8bf9255" />
<circle cx="80" cy="227" r="20" fill="#d8bf9233" />
</svg>
</figure>
</section>
<section class="program" id="program" hidden>
<h2>Three imagined movements</h2>
<ol>
<li><b>I. The first light</b><span>A study in beginning / 12 min</span></li>
<li><b>II. A quiet conversation</b><span>For four strings / 18 min</span></li>
<li><b>III. Almost home</b><span>A return with variations / 14 min</span></li>
</ol>
</section>
<div class="concert-meta">
<span>24 OCTOBER / 19:30</span><span>THE OLD ASSEMBLY HALL</span
><span>FICTIONAL CONCERT PROGRAM</span>
</div>
<output data-status aria-live="polite"></output>
<footer class="demo-note">Fictional brand · local interface demo · no information is sent</footer>
</main>
* {
box-sizing: border-box;
}
html {
scrollbar-gutter: stable;
}
body {
margin: 0;
font:
14px/1.5 Arial,
Helvetica,
sans-serif;
background: #fff;
color: #202622;
}
h1,
h2,
h3,
p,
figure {
margin: 0;
}
main,
section,
article,
aside,
header,
nav {
min-width: 0;
}
button,
input,
select,
textarea {
font: inherit;
max-width: 100%;
min-width: 0;
}
button,
a,
input,
select,
summary {
touch-action: manipulation;
}
button {
cursor: pointer;
}
a {
color: inherit;
}
img {
display: block;
max-width: 100%;
object-fit: cover;
}
svg {
display: block;
max-width: 100%;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
outline: 3px solid #2781da;
outline-offset: 3px;
}
[hidden] {
display: none !important;
}
[data-status] {
display: block;
min-height: 24px;
font-size: 12px;
margin-top: 14px;
}
.demo-note {
font:
9px/1.6 ui-monospace,
monospace;
padding: 16px 0;
opacity: 0.75;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip-path: inset(50%);
}
dialog {
max-width: calc(100vw - 32px);
width: 480px;
border: 1px solid #666;
padding: 25px;
background: #fff;
color: #202622;
}
dialog::backdrop {
background: #0008;
}
dialog h2 {
margin-bottom: 15px;
}
dialog p {
margin: 12px 0;
}
dialog button {
margin-top: 16px;
}
@media (prefers-reduced-motion: reduce) {
*,
*:before,
*:after {
animation: none !important;
transition: none !important;
scroll-behavior: auto !important;
}
}
body {
background: #292c32;
color: #e6d9bf;
}
main {
max-width: 1100px;
margin: auto;
padding: 25px 40px;
}
header {
display: flex;
align-items: center;
gap: 30px;
border-bottom: 1px solid #756b59;
padding-bottom: 20px;
}
header > b {
font:
29px Georgia,
serif;
letter-spacing: 5px;
}
header > span {
font: 6px monospace;
letter-spacing: 2px;
color: #af9a78;
}
header > small {
margin-left: auto;
font: 7px monospace;
color: #af9a78;
}
.concert {
display: grid;
grid-template-columns: 1.4fr 1fr;
gap: 25px;
align-items: center;
margin: 30px 0;
}
.concert small {
font: 6px monospace;
letter-spacing: 2px;
color: #a48b65;
}
h1 {
font:
clamp(46px, 8vw, 75px)/0.91 Georgia,
serif;
letter-spacing: -2px;
margin: 25px 0;
}
h1 i {
color: #c8aa7b;
}
.concert p {
font:
12px/1.8 Georgia,
serif;
color: #b39e7d;
}
button {
background: transparent;
border: 0;
border-bottom: 1px solid #957b54;
padding: 8px 0;
color: #cdb087;
font:
11px Georgia,
serif;
margin-top: 20px;
}
figure svg {
height: 325px;
width: 100%;
}
.concert-meta {
display: flex;
justify-content: space-between;
gap: 20px;
border-block: 1px solid #756b59;
padding: 17px 0;
font: 6px monospace;
letter-spacing: 1px;
color: #a38b66;
}
.program {
border-top: 1px solid #756b59;
padding: 22px 0;
}
h2 {
font:
24px Georgia,
serif;
}
ol {
list-style: none;
padding: 0;
margin: 18px 0 0;
}
li {
display: flex;
justify-content: space-between;
gap: 20px;
border-bottom: 1px solid #524e45;
padding: 10px 0;
}
li b {
font:
16px Georgia,
serif;
}
li span {
font-size: 9px;
color: #9b8768;
}
.demo-note {
color: #9b8768;
}
@media (max-width: 520px) {
main {
padding: 22px;
}
header {
gap: 20px;
}
header > span {
font-size: 5px;
max-width: 85px;
line-height: 1.8;
}
header > small {
display: none;
}
.concert {
grid-template-columns: 1fr;
}
.concert figure {
display: none;
}
h1 {
font-size: 61px;
}
.concert-meta {
flex-wrap: wrap;
font-size: 6px;
}
.concert-meta > span:last-child {
width: 100%;
}
li {
flex-wrap: wrap;
gap: 8px;
}
li span {
width: 100%;
}
}
(() => {
"use strict";
const $ = (s) => document.querySelector(s),
$$ = (s) => [...document.querySelectorAll(s)];
const status = (text) => {
const el = $("[data-status]");
if (el) el.textContent = text;
};
const escapeText = (s) =>
String(s).replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">");
function choose(selector, fn) {
$$(selector).forEach((b) =>
b.addEventListener("click", () => {
$$(selector).forEach((x) => x.setAttribute("aria-pressed", String(x === b)));
fn(b);
}),
);
}
function filter(selector, items, key) {
choose(selector, (b) => {
$$(items).forEach(
(el) => (el.hidden = b.dataset[key] !== "all" && el.dataset.kind !== b.dataset[key]),
);
status($$(items).filter((el) => !el.hidden).length + " results shown.");
});
}
function textList(target, values) {
$(target).replaceChildren(
...values.map((text) => {
const p = document.createElement("p");
p.textContent = text;
return p;
}),
);
}
$("#change").addEventListener("click", () => {
const p = $("#program");
p.hidden = !p.hidden;
$("#change").textContent = p.hidden ? "Explore the program →" : "Close the program ↑";
status(p.hidden ? "Program collapsed." : "Three original fictional movements revealed.");
});
})();
A slate-blue platform map that connects visitors, an edge layer, services and storage with readable labe…
A warm paper diagram explaining sender, recipient and message relationships with key and envelope glyphs…
A pale violet delivery pipeline with branch and merge relationships, distinct gates and a selectable pro…