Zorg Helder
Accessible healthcare theme: all text meets WCAG AAA (contrast 7:1 or higher), 18 px base size, large tap targets, a visible focus ring and messages that never rely on colour alone. Friendly and clear for GP practices, pharmacies and home care.
Gezondheidscentrum De LindeHuisartsen · Apotheek · Fysiotherapie · Zwolle-Zuid
Waar kunnen we u mee helpen?
Duidelijk, vriendelijk en voor iedereen te lezen. Grote letters, rustige kleuren en knoppen die u niet hoeft te zoeken.
| Maandag tot donderdag | 08:00 tot 17:00 |
|---|---|
| Vrijdag | 08:00 tot 16:30 |
| Weekend | Huisartsenpost Isala, 0900 333 1122 |
Griepprik 2026
Zaterdag 18 oktober, 09:00 tot 13:00 uur in sporthal De Pas. U krijgt een uitnodiging per post. Neem die en uw identiteitsbewijs mee.
Geplaatst 2 oktober 2026
Kleur en contrast
| Achtergrond | #FFFFFF | ||
|---|---|---|---|
| Oppervlak | #EEF4F6 | ||
| Tekst | #0E1E2E | 16,9 : 1 AAA | |
| Gedempt | #3A4A5A | 9,1 : 1 AAA | |
| Lijn | #6A7785 | 4,6 : 1 vlak | |
| Accent · zeegroen | #00585E | 8,2 : 1 AAA | |
| Accent 2 · focus | #FFD45C | 11,9 : 1 met tekst | |
| Signaal · spoed | #A3141E | 7,8 : 1 AAA |
Letter
Chillax 600
Plus Jakarta Sans, 18 px, regelafstand 1,6. Lopende tekst nooit kleiner dan 16 px.
40 · 28 · 22 · 18 · 16
Labels
Formulier en knoppen
Past bij huisartsen en gezondheidscentra · apotheken · thuiszorg en wijkteams · gemeenten · patiëntenverenigingen
How to use it
- Paste the HTML where the themes should appear.
- Add the CSS to your stylesheet. All classes are prefixed, so nothing clashes with your own styles.
- No JavaScript needed.
<!-- Zorg Helder · NedDev · eigen werk. -->
<div class="jouw-container">
<div class="tzh"><div class="tzh__in">
<div class="tzh__bar">
<span class="tzh__bar-l"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></svg>Spoed buiten kantoortijd: <b>0900 123 4567</b></span>
<span class="tzh__bar-r">Thema 12 · Zorg Helder · WCAG 2.2 AAA voor tekst</span>
</div>
<div class="tzh__grid">
<div class="tzh__site">
<p class="tzh__org"><span class="tzh__logo" aria-hidden="true"><svg viewBox="0 0 24 24"><path d="M12 21c-5-3-8-6.5-8-10.5A4.5 4.5 0 0 1 12 8a4.5 4.5 0 0 1 8 2.5c0 4-3 7.5-8 10.5z"/></svg></span>Gezondheidscentrum De Linde<small>Huisartsen · Apotheek · Fysiotherapie · Zwolle-Zuid</small></p>
<h3 class="tzh__name">Waar kunnen we u mee helpen?</h3>
<p class="tzh__mood">Duidelijk, vriendelijk en voor iedereen te lezen. Grote letters, rustige kleuren en knoppen die u niet hoeft te zoeken.</p>
<div class="tzh__tasks">
<button class="tzh__task" type="button"><svg viewBox="0 0 24 24" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2"/><path d="M3.5 10h17M8 3v4M16 3v4M8 14h3"/></svg><span><b>Afspraak maken</b><small>Online of bel 038 123 4500</small></span></button>
<button class="tzh__task" type="button"><svg viewBox="0 0 24 24" aria-hidden="true"><rect x="5" y="3.5" width="14" height="17" rx="2"/><path d="M9 8h6M9 12h6M9 16h3"/></svg><span><b>Herhaalrecept</b><small>Voor 11:00 aangevraagd, morgen klaar</small></span></button>
<button class="tzh__task tzh__task--sos" type="button"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3l9.5 17h-19z"/><path d="M12 10v4M12 17.2v.1"/></svg><span><b>Spoed</b><small>Bel direct 038 123 4599</small></span></button>
</div>
<table class="tzh__hours">
<caption>Openingstijden</caption>
<tr><th scope="row">Maandag tot donderdag</th><td>08:00 tot 17:00</td></tr>
<tr><th scope="row">Vrijdag</th><td>08:00 tot 16:30</td></tr>
<tr><th scope="row">Weekend</th><td>Huisartsenpost Isala, 0900 333 1122</td></tr>
</table>
<div class="tzh__news">
<svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="9"/><path d="M12 11v6M12 7.5v.1"/></svg>
<div><p class="tzh__news-t">Griepprik 2026</p><p class="tzh__news-b">Zaterdag 18 oktober, 09:00 tot 13:00 uur in sporthal De Pas. U krijgt een uitnodiging per post. Neem die en uw identiteitsbewijs mee.</p><p class="tzh__news-d">Geplaatst 2 oktober 2026</p></div>
</div>
</div>
<div class="tzh__sys">
<p class="tzh__lbl">Kleur en contrast</p>
<table class="tzh__pal">
<tr><td><i style="--c:#FFFFFF"></i></td><th scope="row">Achtergrond</th><td>#FFFFFF</td><td></td></tr>
<tr><td><i style="--c:#EEF4F6"></i></td><th scope="row">Oppervlak</th><td>#EEF4F6</td><td></td></tr>
<tr><td><i style="--c:#0E1E2E"></i></td><th scope="row">Tekst</th><td>#0E1E2E</td><td><span class="tzh__ratio">16,9 : 1 AAA</span></td></tr>
<tr><td><i style="--c:#3A4A5A"></i></td><th scope="row">Gedempt</th><td>#3A4A5A</td><td><span class="tzh__ratio">9,1 : 1 AAA</span></td></tr>
<tr><td><i style="--c:#6A7785"></i></td><th scope="row">Lijn</th><td>#6A7785</td><td><span class="tzh__ratio tzh__ratio--ui">4,6 : 1 vlak</span></td></tr>
<tr><td><i style="--c:#00585E"></i></td><th scope="row">Accent · zeegroen</th><td>#00585E</td><td><span class="tzh__ratio">8,2 : 1 AAA</span></td></tr>
<tr><td><i style="--c:#FFD45C"></i></td><th scope="row">Accent 2 · focus</th><td>#FFD45C</td><td><span class="tzh__ratio">11,9 : 1 met tekst</span></td></tr>
<tr><td><i style="--c:#A3141E"></i></td><th scope="row">Signaal · spoed</th><td>#A3141E</td><td><span class="tzh__ratio">7,8 : 1 AAA</span></td></tr>
</table>
<div class="tzh__two">
<div>
<p class="tzh__lbl">Letter</p>
<p class="tzh__t1">Chillax 600</p>
<p class="tzh__t2">Plus Jakarta Sans, 18 px, regelafstand 1,6. Lopende tekst nooit kleiner dan 16 px.</p>
<p class="tzh__t3">40 · 28 · 22 · 18 · 16</p>
</div>
<div>
<p class="tzh__lbl">Labels</p>
<div class="tzh__badges">
<span class="tzh__bdg tzh__bdg--ok"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg>Klaar</span>
<span class="tzh__bdg tzh__bdg--warn"><svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="8.5"/><path d="M12 7.5V12l3 2"/></svg>Wachtlijst</span>
<span class="tzh__bdg tzh__bdg--err"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M7 7l10 10M17 7L7 17"/></svg>Vervallen</span>
</div>
</div>
</div>
<p class="tzh__lbl">Formulier en knoppen</p>
<div class="tzh__form">
<label class="tzh__field"><span>Geboortedatum</span><input class="tzh__input" type="text" value="12-03-1951"></label>
<label class="tzh__field"><span>Uw huisarts</span><select class="tzh__sel"><option>Dokter A. el Amrani</option><option>Dokter M. de Groot</option></select></label>
<label class="tzh__field tzh__field--err"><span>BSN</span><input class="tzh__input" type="text" value="12345" aria-invalid="true"><em><svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="8.5"/><path d="M12 7.5v5M12 15.8v.1"/></svg>Een BSN heeft 9 cijfers.</em></label>
</div>
<div class="tzh__btns">
<button class="tzh__btn tzh__btn--p" type="button">Afspraak bevestigen</button>
<button class="tzh__btn tzh__btn--s" type="button">Wijzigen</button>
<button class="tzh__btn tzh__btn--g" type="button">Terug</button>
<button class="tzh__btn tzh__btn--p is-focus" type="button">Focus</button>
</div>
</div>
</div>
<p class="tzh__fit"><b>Past bij</b> huisartsen en gezondheidscentra · apotheken · thuiszorg en wijkteams · gemeenten · patiëntenverenigingen</p>
</div></div>
</div>/* Zorg Helder · NedDev · eigen werk. */
/* fonts (Fontshare): chillax@500,600 + plus-jakarta-sans@400,500,600,700 */
.tzh{--tzh-bg:#FFFFFF;--tzh-surface:#EEF4F6;--tzh-ink:#0E1E2E;--tzh-muted:#3A4A5A;--tzh-line:#6A7785;--tzh-accent:#00585E;--tzh-accent-2:#FFD45C;--tzh-signal:#A3141E;--tzh-r:12px;--tzh-focus:0 0 0 3px #FFFFFF,0 0 0 6px #0E1E2E,0 0 0 9px #FFD45C;--tzh-display:'Chillax',sans-serif;--tzh-text:'Plus Jakarta Sans',sans-serif;
container-type:inline-size;background:var(--tzh-bg);color:var(--tzh-ink);font:400 18px/1.6 var(--tzh-text);font-variant-numeric:tabular-nums}
.tzh *{box-sizing:border-box}
.tzh svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tzh__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 44px;background:var(--tzh-ink);color:#fff;font-size:16px}
.tzh__bar-l{display:inline-flex;align-items:center;gap:10px}.tzh__bar-l svg{width:20px;height:20px;color:var(--tzh-accent-2)}
.tzh__bar-l{flex-wrap:wrap}.tzh__bar-l b{color:var(--tzh-accent-2);font-weight:700;white-space:nowrap}
.tzh__bar-r{font-size:14px;color:#D5DEE6}
.tzh__in{max-width:1280px;margin:0 auto;padding-bottom:28px}
.tzh__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;padding:34px 44px 0}
.tzh__org{display:flex;flex-wrap:wrap;align-items:center;column-gap:12px;margin:0 0 24px;font:600 20px/1.2 var(--tzh-display)}
.tzh__org small{flex-basis:100%;padding-left:56px;margin-top:-6px;font:500 15px var(--tzh-text);color:var(--tzh-muted)}
.tzh__logo{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--tzh-r);background:var(--tzh-accent);color:#fff}.tzh__logo svg{width:26px;height:26px}
.tzh__name{margin:0;font:600 40px/1.12 var(--tzh-display);letter-spacing:-.01em;max-width:16ch}
.tzh__mood{margin:12px 0 22px;font-size:18px;color:var(--tzh-muted);max-width:44ch}
.tzh__tasks{display:grid;gap:10px;margin-bottom:22px}
.tzh__task{width:100%;text-align:left;font:inherit;cursor:pointer;display:flex;align-items:center;gap:16px;min-height:72px;padding:12px 18px;border:2px solid var(--tzh-line);border-radius:var(--tzh-r);color:var(--tzh-ink);text-decoration:none;background:#fff;transition:border-color .15s,background .15s}
.tzh__task svg{flex:none;width:32px;height:32px;color:var(--tzh-accent)}
.tzh__task b{display:block;font:600 20px/1.2 var(--tzh-display)}.tzh__task small{display:block;font-size:16px;color:var(--tzh-muted)}
.tzh__task:hover{border-color:var(--tzh-accent);background:var(--tzh-surface)}
.tzh__task:focus-visible{outline:none;box-shadow:var(--tzh-focus)}
.tzh__task--sos{border-color:var(--tzh-signal)}.tzh__task--sos svg{color:var(--tzh-signal)}.tzh__task--sos b{color:var(--tzh-signal)}
.tzh__task--sos:hover{background:#FBE9EA;border-color:var(--tzh-signal)}
.tzh__hours{width:100%;border-collapse:collapse;font-size:16px}
.tzh__hours caption{text-align:left;font:600 18px var(--tzh-display);margin-bottom:6px}
.tzh__hours th,.tzh__hours td{text-align:left;padding:8px 0;border-top:1px solid #C9D2DA;vertical-align:top}
.tzh__hours th{font-weight:600;padding-right:16px}
.tzh__news{display:flex;gap:14px;margin-top:22px;padding:16px 18px;border:2px solid var(--tzh-accent);border-radius:var(--tzh-r);background:#fff}
.tzh__news svg{flex:none;width:28px;height:28px;color:var(--tzh-accent)}
.tzh__news-t{margin:0;font:600 20px/1.2 var(--tzh-display)}.tzh__news-b{margin:4px 0 6px;font-size:17px;line-height:1.55}.tzh__news-d{margin:0;font-size:16px;color:var(--tzh-muted)}
.tzh__sys{background:var(--tzh-surface);border-radius:20px;padding:24px 26px}
.tzh__lbl{margin:0 0 10px;font:600 16px var(--tzh-display);color:var(--tzh-ink)}
.tzh__pal{width:100%;border-collapse:collapse;font-size:16px;margin-bottom:20px}
.tzh__pal td,.tzh__pal th{padding:5px 0;border-bottom:1px solid #C9D2DA;text-align:left}
.tzh__pal th{font-weight:600}
.tzh__pal td:first-child{width:44px}
.tzh__pal i{display:block;width:30px;height:22px;border-radius:6px;background:var(--c);box-shadow:inset 0 0 0 1.5px var(--tzh-line)}
.tzh__pal td:nth-child(3){color:var(--tzh-muted);font-size:15px}
.tzh__pal td:last-child{text-align:right}
.tzh__ratio{display:inline-block;font-size:14px;font-weight:700;padding:1px 8px;border-radius:999px;background:#fff;color:var(--tzh-accent);border:1.5px solid var(--tzh-accent);white-space:nowrap}
.tzh__ratio--ui{color:var(--tzh-muted);border-color:var(--tzh-line)}
.tzh__two{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px}
.tzh__t1{margin:0;font:600 28px/1.1 var(--tzh-display)}
.tzh__t2{margin:6px 0 4px;font-size:16px;line-height:1.5}
.tzh__t3{margin:0;font-size:15px;color:var(--tzh-muted)}
.tzh__badges{display:flex;flex-wrap:wrap;gap:8px}
.tzh__bdg{display:inline-flex;align-items:center;gap:6px;font-size:16px;font-weight:600;padding:5px 12px 5px 8px;border-radius:999px;border:1.5px solid currentColor}
.tzh__bdg svg{width:18px;height:18px}
.tzh__bdg--ok{color:#00474C;background:#E1F0EF}.tzh__bdg--warn{color:#5C3700;background:#FFF1C2}.tzh__bdg--err{color:#860F18;background:#FBE9EA}
.tzh__form{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin-bottom:16px}
.tzh__field span{display:block;font-size:16px;font-weight:600;margin-bottom:4px}
.tzh__input,.tzh__sel{width:100%;min-height:52px;font:500 18px var(--tzh-text);color:var(--tzh-ink);background:#fff;border:2px solid var(--tzh-line);border-radius:10px;padding:10px 14px;outline:none}
.tzh__sel{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#0E1E2E 50%),linear-gradient(135deg,#0E1E2E 50%,transparent 50%);background-position:calc(100% - 22px) 52%,calc(100% - 15px) 52%;background-size:7px 7px;background-repeat:no-repeat;padding-right:40px}
.tzh__input:focus,.tzh__sel:focus{border-color:var(--tzh-ink);box-shadow:0 0 0 4px var(--tzh-accent-2)}
.tzh__field--err{grid-column:1/-1}
.tzh__field--err .tzh__input{border-color:var(--tzh-signal);max-width:50%}
.tzh__field--err em{display:flex;align-items:center;gap:8px;margin-top:6px;font-style:normal;font-size:16px;font-weight:600;color:var(--tzh-signal)}
.tzh__field--err em svg{width:20px;height:20px}
.tzh__btns{display:flex;flex-wrap:wrap;gap:12px}
.tzh__btn{min-height:52px;font:600 18px/1 var(--tzh-text);padding:14px 22px;border-radius:10px;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s}
.tzh__btn--p{background:var(--tzh-accent);color:#fff}
.tzh__btn--p:hover{background:#00474C;text-decoration:underline;text-underline-offset:4px}
.tzh__btn--s{background:#fff;color:var(--tzh-accent);border-color:var(--tzh-accent)}.tzh__btn--s:hover{background:#E1F0EF}
.tzh__btn--g{background:transparent;color:var(--tzh-ink);text-decoration:underline;text-underline-offset:4px;padding-left:8px;padding-right:8px}.tzh__btn--g:hover{color:var(--tzh-accent)}
.tzh__btn:focus-visible,.tzh__btn.is-focus{outline:none;box-shadow:var(--tzh-focus)}
.tzh__fit{margin:24px 44px 0;padding-top:16px;border-top:2px solid var(--tzh-surface);font-size:16px;color:var(--tzh-muted)}.tzh__fit b{color:var(--tzh-ink);margin-right:8px}
@container (max-width:1000px){.tzh__grid{grid-template-columns:1fr}}
@container (max-width:620px){.tzh__bar{padding:10px 16px}.tzh__grid{padding:24px 16px 0;gap:26px}.tzh__name{font-size:30px}.tzh__org small{padding-left:0;margin-top:6px}.tzh__news{display:flex;gap:14px;margin-top:22px;padding:16px 18px;border:2px solid var(--tzh-accent);border-radius:var(--tzh-r);background:#fff}
.tzh__news svg{flex:none;width:28px;height:28px;color:var(--tzh-accent)}
.tzh__news-t{margin:0;font:600 20px/1.2 var(--tzh-display)}.tzh__news-b{margin:4px 0 6px;font-size:17px;line-height:1.55}.tzh__news-d{margin:0;font-size:16px;color:var(--tzh-muted)}
.tzh__sys{padding:20px 14px}.tzh__pal td:nth-child(3){display:none}.tzh__two,.tzh__form{grid-template-columns:1fr}.tzh__field--err .tzh__input{max-width:none}.tzh__fit{margin:22px 16px 0}.tzh__hours th,.tzh__hours td{display:block;border-top:0;padding:0}.tzh__hours tr{display:block;padding:8px 0;border-top:1px solid #C9D2DA}}
@media (prefers-reduced-motion:reduce){.tzh *{transition:none!important}}
More themes
Seen something you like?
Add it to your selection and send it over. We build your site around it, in your brand.
Get in touch →