Contao-Theme von Avando Labs

Ein Theme.
Jeder Look.
In Minuten.

Contao kann alles — nur beim Gestalten fängt jedes Projekt wieder von vorn an: Templates überschreiben, CSS schreiben, Layout-Sets pflegen, für jede Kundenmarke ein Theme von Hand. Und wer gestalten kann, aber nicht programmieren will, kommt gar nicht erst an die Schrauben.

Avando AVE gibt dir die Power von Contao mit der Leichtigkeit eines Pagebuilders.

Farben, Schriften, Abstände, Ecken, Header, Karten: alles Einstellungen, live im Frontend, ohne eine Zeile CSS. Aber ohne Div-Suppe, ohne Mammut-Framework und ohne Fremdmodule, die dir beim nächsten Contao-Update um die Ohren fliegen.

Standbild aus dem Film: Kundenseite mit geöffnetem Design Studio Film ansehen 1:04

Für Agenturen und Freiberufler · KI-ready ab Werk · 30 KB CSS gesamt · keine Fremdmodule · kein Build-Schritt · Schriften lokal

Startseite in der Vorlage „Gediegen“: warme dunkle Flächen, Serifenschrift, gedeckte Akzente. Dieselbe Startseite in der Vorlage „Plakat“: Lime-Kopfleiste, Versalien, harte Kanten. Plakat Gediegen
Ziehen. Gleiche Contao-Installation, gleiche Inhalte, gleiche Templates — zwei gespeicherte Design-Stände.
104
Einstellungen im Design Studio, in neun Gruppen sortiert
30 KB
CSS gesamt über die Leitung, gzip — Theme, Tokens und Reset zusammen
0
Contao-Fremdmodule. Und 0 Build-Schritte im Alltag
1
Datei pro Design. Herunterladen, ins nächste Projekt mitnehmen

Zum Anfassen

Zieh an vier von 104 Reglern.
Und sieh, wie weit das reicht.

Das hier ist kein Screenshot. Vier Regler genügen für den Ausschnitt links — im Design Studio sind es 104, in neun Gruppen. Sie steuern echte CSS-Variablen der Oberfläche rechts, und genau so funktioniert das ganze Theme: Du änderst einen benannten Wert, und alles, was sich darauf bezieht, zieht mit.

Interaktiv — leg los

Primärfarbe#3d7bff
Eckenradius1.00×
Dichte1.00×
Schatten-Tiefe1.00×
/* was du gerade änderst */
:root {
  --av-color-primary: #3d7bff;
  --av-radius-scale:  1;
  --av-space-scale:   1;
  --av-shadow-scale:  1;
}
StartLeistungenReferenzenKontakt
Farbverlauf aus Primär- und abgeleiteter Sekundärfarbe
Sekundär

Karte

Rahmen, Radius und Schatten hängen an denselben Reglern.

Abgeleitet

Zweite Karte

Die Sekundärfarbe entsteht per oklch() aus der Primärfarbe — du stellst sie nicht ein.

Ein Link im Fließtext
Eingabefeld

Das alles hängt an den vier Reglern:

ButtonsLinksAktiver MenüpunktKartenrahmen FarbverläufeSchattenAbständeSekundärfarbe EingabefelderBadges

Im echten Studio kommen 100 weitere Einstellungen dazu — Header und Navigation, Dropdowns, Footer-Flächen, Bildfilter, Glaseffekt, Übergangsdauer. Und alles wirkt sofort an der echten Kundenseite.


Warum AVE

Avando AVE für Entwickler.
Und Designer. Und alle anderen.

Dasselbe Theme sieht für jede Rolle anders aus — und nimmt jeder etwas anderes ab.

Für Entwickler

Du baust das Gerüst einmal, nicht pro Kunde

Keine Template-Overrides für jede Marke, keine Layout-Set-Wildwuchs. Ein dokumentierter Satz --av-*-Tokens, eine @layer-Kaskade, in der dein custom.css immer gewinnt. Kein Preprozessor, kein Bundler, kein Build in der Schleife — und jeder Design-Stand ist eine Textdatei, also diff- und versionierbar.

Für Designer

Gestalten am Regler, live an der echten Seite

Markenfarbe, Schrift, Rundung, Dichte, Schatten — direkt im Frontend, mit sofortiger Wirkung an echten Inhalten. Kein CSS, kein Ticket, kein Warten auf einen Deploy. Und es bleibt stimmig: Sekundärfarbe, Hover-Töne und die ganze Radius-Rampe leiten sich aus dem ab, was du einstellst.

Für Redaktion und Kunde

Auswahlfelder statt Klassennamen

Redakteure bauen weiter aus normalen Contao-Bausteinen und wählen „als Karte rahmen“ oder „Hintergrund mit Overlay“ aus einer Liste — nichts zum Auswendiglernen, nichts, was kaputtgehen kann. Und der Kunde bekommt seine Varianten als Link, statt sie sich vorstellen zu müssen.


Ebene 1 · Die ganze Website

Ein Panel. Vierzig Werte.
Der ganze Auftritt.

01 / 06  ·  Basis

Startseite mit den Theme-Vorgaben Dieselbe Startseite, nach Corporate umgestellt Dieselbe Startseite, nach Midnight umgestellt Dieselbe Startseite, nach Brutalist umgestellt Dieselbe Startseite, nach Plakat umgestellt Dieselbe Startseite, nach Pop umgestellt Basis

Kein Template-Wechsel, kein zweites Layout, kein Deploy. Was sich ändert, ist ein :root { … }-Block. Die sechs Stände hier unterscheiden sich um 33 bis 65 --av-*-Werte — im Mittel vierzig.


Das Design Studio

Design ist
Einstellungssache.
Und zwar im Frontend.

Als angemeldeter Administrator erscheint unten rechts ein Knopf. Ein Klick, und der Drawer fährt ein — die Kundenseite bleibt daneben sichtbar und bedienbar.

16 Vorlagen als StartpunktNicht als Endzustand gedacht: Du nimmst die, die grob in die Richtung geht, und stimmst darunter fein ab. Brutalist schaltet auf Monospace, Midnight dreht die Flächenordnung ins Dunkle. 🎲 Zufall würfelt eine stimmige Kombination, wenn keine passt.

Neun Regler-Gruppen, wenn du sie brauchstVon Grundfarben über Header, Navigation und Karten bis Footer und Effekten. Du musst da nicht hinein — aber wenn ein Kunde die Markenfarbe auf den Hexcode genau will, kommst du dran.

KI-Design mit deinem Schlüssel„Tischlerei, bodenständig, warmes Holz“ → ein vollständiger Look. Optional und standardmäßig aus: Ohne hinterlegten Schlüssel ist der Abschnitt unsichtbar und es geht kein Byte nach draußen. Mit Schlüssel gilt dein Anbieter, dein Vertrag — der Schlüssel wird verschlüsselt abgelegt und nie wieder im Formular angezeigt. „Verfeinern“ behält Marke und Schriften und schärft nur den Rest nach.

Rückgängig, Versionen, Export⌘Z gilt fürs ganze Design, nicht für den letzten Regler. Jeder Stand lässt sich benennen, anheften und als Datei herunterladen — und im nächsten Projekt wieder einspielen.

Live-Vorschau

KI-ready ab Werk

Die Kluft zwischen
CMS und KI?
Geschlossen.

Zwischen klassischem CMS und modernen KI-Workflows klafft eine Lücke. Theme-Logik steckt in Template-Overrides, eigenen Konventionen und Pagebuilder-Markup. Nichts davon kennt eine KI, und was sie dort ändert, prüft keiner.

AVE ist anders gebaut: auf Webstandards und benannten Variablen. Genau die Sprache, die eine KI fließend spricht.

CSS-Variablen sind die SchnittstelleDas ganze Aussehen hängt an 254 --av-*-Tokens mit dokumentierten Standardwerten. Eine KI schreibt einen :root-Block, und die Seite folgt. Kein Template, kein PHP, kein Build-Schritt.

Standards statt EigenbauNatives HTML5 wie <details> und <dialog>, Contaos eigene Inhaltselemente, @layer, light-dark(), oklch(), dazu die Werte von Open Props. Nichts Proprietäres, das ein Modell erst lernen müsste.

Wenige Werte, ganzer LookSekundärfarbe, Hover-Töne, gedämpfter Text und Dunkelmodus rechnet der Browser selbst aus. Eine KI muss nur wenige Zahlen liefern. Kleine Ausgabe heißt kleine Fehlerfläche.

Änderungen, die sich nicht festfressencustom.css liegt außerhalb aller Layer: Sie gewinnt ohne !important und überlebt jedes Update. Was eine KI ändert, ist eine Textdatei. Du kannst sie diffen, prüfen und mit einem Löschen zurücknehmen.

/* Prompt: „Tischlerei, bodenständig, warmes Holz“ */
:root {
  --av-color-primary:  #8a5a2b;
  --av-color-surface:  light-dark(#f6efe6, #1d1712);
  --av-font-display:   var(--av-font-serif);
  --av-radius-scale:   .4;
  --av-space-scale:    1.05;
}

Fünf Zeilen, ein Look. Sekundärfarbe, Hover-Töne, Dunkelmodus, Radius- und Abstandsrampen leitet der Browser daraus ab.

  1. cheat-sheet.md

    Jedes Token mit Standardwert, jede der 136 Utility-Klassen. Das Nachschlagewerk für Mensch und Maschine.

  2. ai-instructions.md

    Die Bauregeln: Werte aus Open Props, natives HTML5, keine CDNs, das Klassenschema.

  3. tokens.css

    Die Ableitungen selbst, lesbar statt kompiliert. Auch eine KI sieht, was woraus folgt.

Was das für dich heißt

Für Agenturen

KI-Workflows, ohne Contao aufzugeben

Eure Kunden bleiben auf einem etablierten, updatesicheren CMS, und euer Team arbeitet trotzdem mit KI-Werkzeugen. Weil AVE nur auf Standards setzt, gibt es keinen Lock-in, weder an einen Pagebuilder noch an einen KI-Anbieter. Ein Kundendesign ist ein kurzer, lesbarer Variablenblock: übergebbar, prüfbar und schnell auf eine neue Richtung umgestellt.

Für Designer

Gestalten in Worten, Ergebnis in Werten

Beschreib einer KI die Marke, und sie antwortet in genau den Größen, in denen du denkst: Primärfarbe, Schrift, Rundung, Dichte, Schatten. Statt verschachteltem CSS bekommst du benannte Werte, die du liest und verstehst, ohne einen Entwickler zu fragen. Die Ableitungen halten den Look stimmig, auch wenn nur eine Handvoll Werte kommt.

Für Entwickler

Ein Agent, der das Theme versteht, bevor er es anfasst

Claude Code, Cursor oder Copilot finden im Bundle einen endlichen, dokumentierten Aktionsraum vor statt einer leeren Datei. Sie schreiben in custom.css und Contaos Klassenfelder, ohne das Framework anzufassen. Kein Build in der Schleife, jede Änderung ein Diff. So bleibt eure Review genauso streng wie bei Code von Menschen.

Und mit dem Design Studio? Dann geht es auch ohne Editor: Du tippst das Briefing in den Drawer, die KI deines Anbieters liefert die Werte, und der Server lässt nur bekannte Regler mit gültigen Werten durch. Das Ergebnis ist erst Vorschau, dann eine Version mit eigenem Link. Live wird es, wenn du speicherst. Ohne Schlüssel bleibt die KI aus.


Kundenfreigabe

Schick deinen Kunden Vorschläge
einfach als Links.

Die Designrunde kostet dich bisher entweder einen Staging-Klon, den du pflegen musst, oder ein Screenshot-PDF, an dem der Kunde nicht klicken kann. Beides fällt weg: Du speicherst jede Richtung als Version, und jede Version hat eine URL. Der Kunde öffnet sie und sieht seinen kompletten Auftritt in dieser Variante — auf jeder Seite, mit echten Inhalten, ohne Login. Am Live-Stand ändert sich dabei nichts.

Beispiel Drei Richtungen für denselben Kunden — drei Links aus einer Installation:

Entwerfen → als Version speichern → Link schicken → Freigabe abwarten → wiederherstellen & speichern

Zwischendurch geht nie etwas ungewollt live. Verworfene Richtungen bleiben als Version erhalten — falls der Kunde es sich anders überlegt.


Pflichtprogramm

Barrierefreiheit ist Pflicht geworden.
Kontrast ist die Stelle, an der es kippt.

Seit Mitte 2025 gilt das Barrierefreiheitsstärkungsgesetz für einen großen Teil gewerblicher Websites. Der häufigste Verstoß ist zugleich der am leichtesten messbare: zu wenig Kontrast. Und ausgerechnet der entsteht fast immer aus einer Vorgabe, die du nicht ändern darfst — der Markenfarbe des Kunden.

Von Hand ist das kaum zu prüfen: viele Seiten, hell und dunkel, jede Farbe gegen ihren Hintergrund. Die zweite Stelle, an der Agenturen regelmäßig haften, ist noch banaler — eine Schriftzeile, die die IP jedes Besuchers an einen Dritten schickt.

01 · Kontrast nach WCAG 2.1

Kontrast wird gemessen,
nicht geschätzt

Der Kunde gibt ein Markenrot vor. Als Fläche sieht es hervorragend aus. Als Linkfarbe auf Weiß hat es 3,1:1 und verfehlt den Standard — und das merkt niemand, bis jemand prüft. Ein Klick auf Kontraste im Design Studio misst den sichtbaren Text der geöffneten Seite im gerade aktiven Farbschema, mit den echten gerenderten Farben statt mit den Werten aus dem Stylesheet.

Der Kontrast-Prüfer markiert Textstellen direkt auf der Seite und listet daneben jede Fundstelle mit ihrem gemessenen Kontrastwert.
Jede Fundstelle mit Messwert und Soll — direkt auf der Seite markiert.

Nach der Regel, nicht nach GefühlFormel und Schwellen nach WCAG 1.4.3: 4,5:1 für Fließtext, 3:1 für große Schrift — „groß“ heißt ab 24 px, oder ab 18,66 px bei Schriftstärke 700.

Sortiert nach UnterschreitungNicht nach dem rohen Zahlenwert. Eine Überschrift mit 2,6:1 verfehlt ihr Soll von 3:1 knapp — ein Fließtext mit 3,0:1 verfehlt 4,5:1 deutlich. Oben steht, was wirklich schlimm ist.

Die Markenfarbe passt sich anDer Schalter Kontrast-Anpassung hellt die Markenfarbe als Text so weit auf oder dunkelt sie ab, bis sie gegen den Seitenhintergrund AA erreicht. Als Fläche bleibt sie exakt der Hexcode, den der Kunde vorgibt. Du musst dich nicht zwischen Marke und Lesbarkeit entscheiden.

Bewegung, Fokus, Hell/DunkelWer im System „Bewegung reduzieren“ aktiviert hat, bekommt keine Animationen — Hintergrundvideos zeigen dann nur ihr Standbild. Fokus-Rahmen und der Dunkelmodus kommen aus dem Framework, nicht aus dem Projekt.

Was ehrlicherweise bei dir bleibt: Alt-Texte, eine sinnvolle Überschriften-Reihenfolge und die Prüfung der fertigen Website. Der Kontrast-Check ist ein Werkzeug dafür, kein Konformitätsnachweis: Text auf Fotos misst er nur eingeschränkt, Hover- und Fokus-Zustände und Seiten, die du nicht geöffnet hast, gar nicht.

02 · DSGVO

Keine Schrift kommt
von einem fremden Server

Eingebundene Google Fonts übertragen die IP-Adresse jedes Besuchers an einen Dritten. Genau daran hängen die Abmahnwellen der letzten Jahre. AVE macht diesen Aufruf unnötig: Wählst du im Studio eine Schrift, wird sie einmalig beim Speichern heruntergeladen und liegt danach als Datei bei dir — ausgeliefert wird sie von deinem Server.

Netzwerk · diese Seite
space-grotesk.woff222 KBeigener Server
inter.woff248 KBeigener Server
spline-sans-mono.woff236 KBeigener Server
site.css · site.js—eigener Server
fonts.googleapis.com—
fonts.gstatic.com—
Auch diese Landingpage hält sich daran. 0 externe Anfragen

32 Variable Fonts, alle lokalSie liegen unter files/theme/fonts/<slug>/variable.woff2 in deiner Installation. Eine Variable Font deckt alle Schnitte ab — eine Datei statt sechs.

Kein CDN, nirgendsCSS und JavaScript des Themes kommen aus dem Bundle deiner Installation. Kein jQuery von einem fremden Host, kein Icon-Font aus der Cloud, kein Analytics-Schnipsel.

Nichts, was ein Banner brauchtDas Theme setzt keine Cookies und lädt nichts von Dritten nach. Was auf deiner Seite einwilligungspflichtig ist, hast du selbst eingebaut — es kommt nicht aus dem Theme.

Nebenbei: schnellerSelbst gehostete Schriften sparen den DNS-Lookup und den Verbindungsaufbau zu einem zweiten Host. Datenschutz und Ladezeit zeigen hier ausnahmsweise in dieselbe Richtung.

Kein Rechtsrat: Ob und wie die Vorgaben für dein Projekt gelten, klärt deine Rechts- oder Datenschutzberatung. AVE sorgt dafür, dass die technische Seite nichts zu klären übrig lässt.

Schriften lokal Keine CDNs Kein Tracking Kontrast-Check nach WCAG AA prefers-reduced-motion Fokus-Rahmen im Framework Hell & Dunkel automatisch KI optional & BYOK

Das Register „Design“ an einem Contao-Artikel: Layout, Hintergrund, Mindesthöhe, Textfarbe und Ausrichtung als Auswahlfelder. Das Register „Element-Stil“ an einem einzelnen Inhaltselement.

Ebene 2 und 3

Auch deine Redaktion
braucht keine
CSS-Klassen mehr.

Gebaut wird weiter aus ganz normalen Contao-Bausteinen — Text, Bild, Überschrift, Akkordeon, Slider. Das Theme legt sich darüber und gibt jedem Baustein zusätzliche Design-Felder. Niemand muss eine Klasse auswendig lernen oder ins CSS-Feld tippen.

Sektionen — Register „Design“Am Artikel oder an der Elementgruppe: Spaltenlayout, Hintergrund samt Bild und Overlay, Hero-Mindesthöhe, Textfarbe, Ausrichtung. Spalten stapeln auf schmalen Bildschirmen von selbst.

Inhaltselemente — Register „Element-Stil“Am einzelnen Baustein: als Karte rahmen, Hintergrund geben, über mehrere Spalten ziehen, Bildform wählen, Hyperlink zum Primär-Button machen.

Rollen sauber getrenntSektionen und Elemente pflegt jede Redakteurin. Das Design Studio sehen nur angemeldete Administratoren — weil eine Änderung dort die ganze Website betrifft.


Der Unterbau

Kein Bootstrap. Kein jQuery.
Keine Fremdmodule.

Ein Theme, das auf einem Mammut-Framework sitzt, erbt dessen Gewicht und dessen Update-Zyklus gleich mit. Und jedes Fremdmodul, das du für ein einzelnes Feature nachrüstest, ist eine Wette darauf, dass es beim nächsten Contao-Release noch gepflegt wird. AVE geht beide Wetten nicht ein.

30,4 KB CSS gesamt über die Leitung, gzip: 20,6 Theme + 7,5 Open Props + 2,3 Reset
8,4 KB eigenes JavaScript, gzip. Sechs kleine Dateien, kein Bundler
0 zusätzliche Pakete: Die drei, die das Theme-Bundle verlangt, bringt Contao selbst schon mit
0 Fremd-Abhängigkeiten im Design Studio

Eine Bibliothek — und die schreibt dir nichts vor

Kein Bootstrap, kein Tailwind, kein Foundation, kein jQuery. Darunter liegt Open Props (7,5 KB gzip): 607 benannte Werte und ein paar Keyframes — keine einzige Komponenten- oder Utility-Klasse. Es liefert Zahlen, kein Markup. Dazu ein Reset von 2,3 KB, der ganz unten in der Kaskade liegt.

Keine Contao-Fremdmodule

Kein Slider-Plugin, kein Layout-Builder, kein Formular-Addon. Alles, was AVE gestaltet, sind Contaos eigene Inhaltselemente. avando/ave verlangt PHP 8.3 und Contao 5.7 oder 6 — sonst nur drei Pakete, die Contao ohnehin mitbringt. Open Props liegt als feste Kopie im Bundle, nicht als lebende Abhängigkeit: Es kann sich unter dir nicht ändern.

Nachgeladen wird nur, was gebraucht wird

Die Lightbox (55 KB) kommt erst auf Seiten, die wirklich eine Galerie haben. Contaos eigenen Swiper liefert AVE nicht mit — er wird nur auf die Theme-Tokens eingefärbt.

Updates ohne Reue

Das Framework liegt im Bundle, deine Projekt-Anpassungen getrennt davon in custom.css und theme.css. Ein Update überschreibt sie nicht. Weniger Abhängigkeiten heißt weniger, das brechen kann.

Kein Build im Alltag

Native CSS Custom Properties, kein Sass, kein Preprozessor. Der Browser löst zur Laufzeit auf. ave:css:build fasst nur die neun Quelldateien zusammen — das brauchst du beim Gestalten nie.

Das Studio ist optional

Ein separates Zusatz-Bundle. Ohne es setzt du dieselben --av-*-Werte von Hand in theme-vars.css oder custom.css. Das Theme läuft auch dann vollständig.

Die @layer-Kaskade

Einmal in tokens.css deklariert. Projekt-Overrides stehen ohne Layer und gewinnen gegen alles — unabhängig von der Selektor-Spezifität. Du musst dich nie gegen das Theme kämpfen.

custom.cssohne Layer — gewinnt immer
theme-vars.cssdie Deltas aus dem Studio
av.animations
av.layout
av.theme
av.components
av.typography
av.base
av.tokensalle --av-* Vorgaben
av.normalize

Werte, die sich gegenseitig ergeben

/* Sekundärfarbe: aus der Primärfarbe, über zwei Dials */
--av-color-secondary: oklch(from var(--av-color-primary) l
    calc(c * var(--av-sec-chroma))
    calc(h + var(--av-sec-hue-shift)));

/* Gedämpfter Text: Mischung aus Text und Fläche */
--av-color-text-muted: color-mix(in oklch,
    var(--av-color-text) var(--av-muted-fraction),
    var(--av-color-surface));

/* Ganze Radius-Rampe bewegen — nicht vier Stufen pflegen */
--av-radius-scale: 1.4;

Wer die Primärfarbe ändert, bekommt Sekundärfarbe, Hover-Varianten, gedämpften Text und die Dunkelmodus-Werte automatisch mit. Das ist auch der Grund, warum ein Sprachmodell hier nur wenige Zahlen ausgeben muss, um ein stimmiges Design zu treffen — 254 benannte Tokens, 136 Utility-Klassen, ein endlicher Aktionsraum statt frei erfundenem CSS.

Avando AVE für Contao

Design als Einstellung,
nicht als Umbau.

Für Agenturen und Freiberufler, die Contao-Seiten für Kunden bauen — und die Designrunde nicht mehr über Staging-Kopien und Screenshot-PDFs drehen wollen. Und die KI-Werkzeuge nutzen möchten, ohne Contao dafür aufzugeben.

Contao 5.7 und 6 · PHP 8.3+ · Design Studio als optionales Zusatz-Bundle